From bf560ae9d25f91ab353c7be4656875f4fda791dd Mon Sep 17 00:00:00 2001 From: ouwou <26526779+ouwou@users.noreply.github.com> Date: Mon, 11 Oct 2021 01:03:31 -0400 Subject: use find modules for ixwebsocket/simpleini --- CMakeLists.txt | 22 +++++++++++++--------- cmake/Findixwebsocket.cmake | 36 +++++++++++++++++++++++++----------- cmake/Findsimpleini.cmake | 15 +++++++++++++++ 3 files changed, 53 insertions(+), 20 deletions(-) create mode 100644 cmake/Findsimpleini.cmake diff --git a/CMakeLists.txt b/CMakeLists.txt index e0a6f24..638be3e 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -7,23 +7,27 @@ 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/") -set(USE_TLS TRUE) -set(USE_OPEN_SSL TRUE) - find_package(nlohmann_json REQUIRED) find_package(CURL) find_package(ZLIB REQUIRED) find_package(SQLite3 REQUIRED) find_package(gtkmm REQUIRED) -find_path(IXWEBSOCKET_INCLUDE_DIRS ixwebsocket/IXWebSocket.h) -find_library(IXWEBSOCKET_LIBRARY ixwebsocket) -if (NOT IXWEBSOCKET_LIBRARY) +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(thirdparty/IXWebSocket) include_directories(IXWEBSOCKET_INCLUDE_DIRS) endif() -include_directories(thirdparty/simpleini) +add_compile_definitions(SI_NO_CONVERSION) # only CSimpleIniA is used +find_package(simpleini QUIET) +if (NOT simpleini_FOUND) + message("simpleini was not found and will be included as a submodule") + include_directories(thirdparty/simpleini) +endif() if(MINGW OR WIN32) link_libraries(ws2_32) @@ -71,8 +75,8 @@ if ((CMAKE_CXX_COMPILER_ID STREQUAL "GNU") OR target_link_libraries(abaddon stdc++fs) endif() -if (IXWEBSOCKET_LIBRARY) - target_link_libraries(abaddon ${IXWEBSOCKET_LIBRARY}) +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) diff --git a/cmake/Findixwebsocket.cmake b/cmake/Findixwebsocket.cmake index 038cb62..72fd564 100644 --- a/cmake/Findixwebsocket.cmake +++ b/cmake/Findixwebsocket.cmake @@ -1,16 +1,30 @@ -find_path(IXWEBSOCKET_INCLUDE_DIR - NAMES ixwebsocket/IXWebSocket.h) +set(IXWebSocket_LIBRARY_NAME ixwebsocket) -find_library(IXWEBSOCKET_LIBRARY - NAMES ixwebsocket - HINTS ${IXWEBSOCKET_LIBRARY_ROOT}) +find_path(IXWebSocket_INCLUDE_DIR + NAMES ixwebsocket/IXWebSocket.h + HINTS /usr/include + /usr/local/include + /opt/local/include + PATH_SUFFIXES ${IXWebSocket_LIBRARY_NAME}) + + +find_library(IXWebSocket_LIBRARY + NAMES ${IXWebSocket_LIBRARY_NAME} + PATH_SUFFIXES ${IXWebSocket_LIBRARY_NAME} + ${IXWebSocket_LIBRARY_NAME}/include) + + +find_package(OpenSSL QUIET) +set(IXWebSocket_INCLUDE_DIRS "${IXWebSocket_INCLUDE_DIR};${OPENSSL_INCLUDE_DIR}") +set(IXWebSocket_LIBRARIES "${IXWebSocket_LIBRARY};${OPENSSL_LIBRARIES}") -set(IXWEBSOCKET_LIBRARIES ${IXWEBSOCKET_LIBRARY}) -set(IXWEBSOCKET_INCLUDE_DIRS ${IXWEBSOCKET_INCLUDE_DIR}) include(FindPackageHandleStandardArgs) -find_package_handle_standard_args(ixwebsocket + +find_package_handle_standard_args(IXWebSocket REQUIRED_VARS - IXWEBSOCKET_LIBRARY - IXWEBSOCKET_INCLUDE_DIR - VERSION_VAR IXWEBSOCKET_VERSION) + IXWebSocket_LIBRARY + IXWebSocket_INCLUDE_DIR) + + +mark_as_advanced(IXWebSocket_LIBRARY IXWebSocket_INCLUDE_DIR) diff --git a/cmake/Findsimpleini.cmake b/cmake/Findsimpleini.cmake new file mode 100644 index 0000000..fa6598a --- /dev/null +++ b/cmake/Findsimpleini.cmake @@ -0,0 +1,15 @@ +set(simpleini_LIBRARY_NAME simpleini) + +find_path(simpleini_INCLUDE_DIR + NAMES SimpleIni.h + HINTS /usr/include + /usr/local/include + /opt/local/include + PATH_SUFFIXES ${simpleini_LIBRARY_NAME}) + +include(FindPackageHandleStandardArgs) +find_package_handle_standard_args(simpleini + REQUIRED_VARS + simpleini_INCLUDE_DIR) + +mark_as_advanced(simpleini_INCLUDE_DIR) -- cgit v1.2.3