squawk/core/CMakeLists.txt

67 lines
1.9 KiB
CMake
Raw Normal View History

2019-03-29 14:54:34 +00:00
cmake_minimum_required(VERSION 3.0)
project(squawkCORE)
set(CMAKE_AUTOMOC ON)
find_package(Qt5Core CONFIG REQUIRED)
find_package(Qt5Gui CONFIG REQUIRED)
2019-03-29 14:54:34 +00:00
find_package(Qt5Network CONFIG REQUIRED)
find_package(Qt5Xml CONFIG REQUIRED)
2019-03-29 14:54:34 +00:00
# Find LMDB from system or ${LMDB_DIR}
find_path(LMDB_INCLUDE_DIR NAMES lmdb.h PATHS "${LMDB_DIR}/include")
if (UNIX AND NOT APPLE)
# Linux
find_library(sudo rLMDB_LIBRARIES NAMES liblmdb.a liblmdb.so PATHS ${LMDB_DIR})
set(THREADS_PREFER_PTHREAD_FLAG ON)
find_package(Threads REQUIRED)
else (UNIX AND NOT APPLE)
# Windows / macOS: LMDB_DIR has to be specified
set(LMDB_LIBRARIES "${LMDB_DIR}/lib/liblmdb.a")
endif (UNIX AND NOT APPLE)
2019-03-29 14:54:34 +00:00
set(squawkCORE_SRC
squawk.cpp
account.cpp
2019-04-15 22:35:09 +00:00
archive.cpp
rosteritem.cpp
contact.cpp
2019-08-21 09:35:07 +00:00
conference.cpp
storage.cpp
networkaccess.cpp
2019-11-05 18:55:21 +00:00
adapterFuctions.cpp
2020-04-28 20:35:52 +00:00
handlers/messagehandler.cpp
2020-06-14 21:23:43 +00:00
handlers/rosterhandler.cpp
2019-03-29 14:54:34 +00:00
)
add_subdirectory(passwordStorageEngines)
2019-03-29 14:54:34 +00:00
# Tell CMake to create the helloworld executable
add_library(squawkCORE ${squawkCORE_SRC})
target_include_directories(squawkCORE PUBLIC ${LMDB_INCLUDE_DIR})
if(SYSTEM_QXMPP)
get_target_property(QXMPP_INTERFACE_INCLUDE_DIRECTORIES QXmpp::QXmpp INTERFACE_INCLUDE_DIRECTORIES)
target_include_directories(squawkCORE PUBLIC ${QXMPP_INTERFACE_INCLUDE_DIRECTORIES})
endif()
2019-03-29 14:54:34 +00:00
# Use the Widgets module from Qt 5.
target_link_libraries(squawkCORE Qt5::Core)
target_link_libraries(squawkCORE Qt5::Network)
target_link_libraries(squawkCORE Qt5::Gui)
target_link_libraries(squawkCORE Qt5::Xml)
2019-03-29 14:54:34 +00:00
target_link_libraries(squawkCORE qxmpp)
target_link_libraries(squawkCORE ${LMDB_LIBRARIES})
if (UNIX AND NOT APPLE)
# Linux
target_link_libraries(squawkCORE Threads::Threads)
endif (UNIX AND NOT APPLE)
target_link_libraries(squawkCORE simpleCrypt)
if (WITH_KWALLET)
target_link_libraries(squawkCORE kwalletPSE)
endif()