diff options
author | ouwou <26526779+ouwou@users.noreply.github.com> | 2022-04-08 14:50:11 -0400 |
---|---|---|
committer | ouwou <26526779+ouwou@users.noreply.github.com> | 2022-04-08 14:50:11 -0400 |
commit | 5a13c7fef71662ca5c829a80ef57d42741e23f3a (patch) | |
tree | 1240238369187044e36376dbf57e388a21947b1d /CMakeLists.txt | |
parent | c22a49f64e24b660112707b1e125c442282e3db8 (diff) | |
download | abaddon-portaudio-5a13c7fef71662ca5c829a80ef57d42741e23f3a.tar.gz abaddon-portaudio-5a13c7fef71662ca5c829a80ef57d42741e23f3a.zip |
pull in libhandy optionally
Diffstat (limited to 'CMakeLists.txt')
-rw-r--r-- | CMakeLists.txt | 92 |
1 files changed, 53 insertions, 39 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt index fa56d6c..ab6eb5b 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -7,6 +7,8 @@ set(ABADDON_RESOURCE_DIR "/usr/share/abaddon" CACHE PATH "Fallback directory for set(CMAKE_CXX_STANDARD 17) set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} "${CMAKE_SOURCE_DIR}/cmake/") +option(USE_LIBHANDY "Enable features that require libhandy (default)" ON) + find_package(nlohmann_json REQUIRED) find_package(CURL) find_package(ZLIB REQUIRED) @@ -17,30 +19,30 @@ set(USE_TLS TRUE) set(USE_OPEN_SSL TRUE) find_package(IXWebSocket QUIET) if (NOT IXWebSocket_FOUND) - message("ixwebsocket was not found and will be included as a submodule") - add_subdirectory(subprojects/ixwebsocket) - include_directories(IXWEBSOCKET_INCLUDE_DIRS) -endif() + message("ixwebsocket was not found and will be included as a submodule") + add_subdirectory(subprojects/ixwebsocket) + include_directories(IXWEBSOCKET_INCLUDE_DIRS) +endif () -if(MINGW OR WIN32) - link_libraries(ws2_32) -endif() +if (MINGW OR WIN32) + link_libraries(ws2_32) +endif () -if(WIN32) - add_compile_definitions(_CRT_SECURE_NO_WARNINGS) - add_compile_definitions(NOMINMAX) +if (WIN32) + add_compile_definitions(_CRT_SECURE_NO_WARNINGS) + add_compile_definitions(NOMINMAX) - find_package(Fontconfig REQUIRED) - link_libraries(${Fontconfig_LIBRARIES}) -endif() + find_package(Fontconfig REQUIRED) + link_libraries(${Fontconfig_LIBRARIES}) +endif () configure_file(${PROJECT_SOURCE_DIR}/src/config.h.in ${PROJECT_BINARY_DIR}/config.h) file(GLOB_RECURSE ABADDON_SOURCES - "src/*.h" - "src/*.hpp" - "src/*.cpp" -) + "src/*.h" + "src/*.hpp" + "src/*.cpp" + ) add_executable(abaddon ${ABADDON_SOURCES}) target_include_directories(abaddon PUBLIC ${PROJECT_SOURCE_DIR}/src) @@ -51,36 +53,48 @@ target_include_directories(abaddon PUBLIC ${SQLite3_INCLUDE_DIRS}) target_include_directories(abaddon PUBLIC ${NLOHMANN_JSON_INCLUDE_DIRS}) if ((CMAKE_CXX_COMPILER_ID STREQUAL "GNU") OR - (CMAKE_CXX_COMPILER_ID STREQUAL "Clang" AND - ((CMAKE_SYSTEM_NAME STREQUAL "Linux") OR (CMAKE_CXX_COMPILER_VERSION LESS 9)))) - target_link_libraries(abaddon stdc++fs) -endif() +(CMAKE_CXX_COMPILER_ID STREQUAL "Clang" AND +((CMAKE_SYSTEM_NAME STREQUAL "Linux") OR (CMAKE_CXX_COMPILER_VERSION LESS 9)))) + target_link_libraries(abaddon stdc++fs) +endif () if (IXWebSocket_LIBRARIES) - target_link_libraries(abaddon ${IXWebSocket_LIBRARIES}) - find_library(MBEDTLS_X509_LIBRARY mbedx509) - find_library(MBEDTLS_TLS_LIBRARY mbedtls) - find_library(MBEDTLS_CRYPTO_LIBRARY mbedcrypto) - if (MBEDTLS_TLS_LIBRARY) - target_link_libraries(abaddon ${MBEDTLS_TLS_LIBRARY}) - endif() - if (MBEDTLS_X509_LIBRARY) - target_link_libraries(abaddon ${MBEDTLS_X509_LIBRARY}) - endif() - if (MBEDTLS_CRYPTO_LIBRARY) - target_link_libraries(abaddon ${MBEDTLS_CRYPTO_LIBRARY}) - endif() -else() - target_link_libraries(abaddon $<BUILD_INTERFACE:ixwebsocket>) -endif() + target_link_libraries(abaddon ${IXWebSocket_LIBRARIES}) + find_library(MBEDTLS_X509_LIBRARY mbedx509) + find_library(MBEDTLS_TLS_LIBRARY mbedtls) + find_library(MBEDTLS_CRYPTO_LIBRARY mbedcrypto) + if (MBEDTLS_TLS_LIBRARY) + target_link_libraries(abaddon ${MBEDTLS_TLS_LIBRARY}) + endif () + if (MBEDTLS_X509_LIBRARY) + target_link_libraries(abaddon ${MBEDTLS_X509_LIBRARY}) + endif () + if (MBEDTLS_CRYPTO_LIBRARY) + target_link_libraries(abaddon ${MBEDTLS_CRYPTO_LIBRARY}) + endif () +else () + target_link_libraries(abaddon $<BUILD_INTERFACE:ixwebsocket>) +endif () find_package(Threads) if (Threads_FOUND) - target_link_libraries(abaddon Threads::Threads) -endif() + target_link_libraries(abaddon Threads::Threads) +endif () target_link_libraries(abaddon ${SQLite3_LIBRARIES}) target_link_libraries(abaddon ${GTKMM_LIBRARIES}) target_link_libraries(abaddon ${CURL_LIBRARIES}) target_link_libraries(abaddon ${ZLIB_LIBRARY}) target_link_libraries(abaddon ${NLOHMANN_JSON_LIBRARIES}) + +if (USE_LIBHANDY) + find_package(libhandy) + if (NOT libhandy_FOUND) + message("libhandy could not be found. features requiring it have been disabled") + set(USE_LIBHANDY OFF) + else () + target_include_directories(abaddon PUBLIC ${libhandy_INCLUDE_DIRS}) + target_link_libraries(abaddon ${libhandy_LIBRARIES}) + target_compile_definitions(abaddon PRIVATE WITH_LIBHANDY) + endif () +endif () |