adjust CMakeLists.txt, to prepare for win32 and macos builds

This commit is contained in:
shunf4 2021-10-05 12:49:06 +08:00
parent ef1a9846bf
commit 5fbb96618f
6 changed files with 132 additions and 9 deletions

View file

@ -8,6 +8,19 @@ find_package(Qt5Gui CONFIG REQUIRED)
find_package(Qt5Network CONFIG REQUIRED)
find_package(Qt5Xml CONFIG REQUIRED)
# 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(LMDB_LIBRARIES NAMES liblmdb.a 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)
set(squawkCORE_SRC
squawk.cpp
account.cpp
@ -27,6 +40,7 @@ add_subdirectory(passwordStorageEngines)
# 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)
@ -39,7 +53,13 @@ target_link_libraries(squawkCORE Qt5::Network)
target_link_libraries(squawkCORE Qt5::Gui)
target_link_libraries(squawkCORE Qt5::Xml)
target_link_libraries(squawkCORE qxmpp)
target_link_libraries(squawkCORE lmdb)
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)