From 263c7c084d9029c432476765d026f07ed6f60c0e Mon Sep 17 00:00:00 2001 From: KerstinKeller Date: Wed, 22 Nov 2023 09:31:07 +0100 Subject: [PATCH] CMake: Remove dirty find_package hack. (#1260) * CMake: Remove find_package hack and change thirdparty layout --- .github/workflows/ecal-fat-source.yml | 2 +- .gitmodules | 36 +++--- CMakeLists.txt | 112 +++++++++--------- cmake/Modules/Findasio.cmake | 5 - cmake/Modules/FindeCAL.cmake | 1 + cmake/Modules/Findsimpleini.cmake | 5 - cmake/Modules/Findtclap.cmake | 5 - thirdparty/asio/Modules/Findasio.cmake | 1 + thirdparty/{ => asio}/asio | 0 thirdparty/asio/build-asio.cmake | 7 ++ thirdparty/build-asio.cmake | 0 thirdparty/build-cmakefunctions.cmake | 1 - thirdparty/build-fineftp.cmake | 3 - thirdparty/build-libssh2.cmake | 4 - thirdparty/build-qwt.cmake | 1 - thirdparty/build-recycle.cmake | 2 - thirdparty/build-simpleini.cmake | 0 thirdparty/build-tclap.cmake | 0 thirdparty/build-tcp_pubsub.cmake | 3 - thirdparty/build-termcolor.cmake | 1 - thirdparty/build-zlib.cmake | 3 - .../Modules/FindCMakeFunctions.cmake | 1 + .../cmakefunctions/build-cmakefunctions.cmake | 2 + .../cmake_functions/.gitignore | 0 .../cmake_functions/CMakeLists.txt | 0 .../cmake/CMakeFunctionsConfig.cmake.in | 0 .../cmake/cpack_variables.cmake | 0 .../cmake_functions/cmake_functions.cmake | 0 .../git/git_revision_information.cmake | 0 .../msvc_helper/msvc_macros.cmake | 0 .../protoc_generate_cpp.cmake | 0 .../protoc_generate_files.cmake | 0 .../protoc_generate_python.cmake | 0 .../cmake_functions/qt/qt_msvc_path.cmake | 0 .../cmake_functions/qt/qt_windeployqt.cmake | 0 .../qt/qt_windeployqt_threadsafe_cmake.bat.in | 0 .../target_definitions/targets_protobuf.cmake | 0 thirdparty/curl/Modules/FindCURL.cmake | 1 + thirdparty/{ => curl}/build-curl.cmake | 4 +- thirdparty/{ => curl}/curl | 0 thirdparty/fineftp/Modules/Findfineftp.cmake | 1 + thirdparty/fineftp/build-fineftp.cmake | 5 + thirdparty/{ => fineftp}/fineftp-server | 0 thirdparty/ftxui/Modules/Findftxui.cmake | 1 + thirdparty/{ => ftxui}/build-ftxui.cmake | 8 +- thirdparty/{ => ftxui}/ftxui | 0 thirdparty/gtest/Modules/FindGTest.cmake | 1 + thirdparty/{ => gtest}/build-gtest.cmake | 6 +- thirdparty/{ => gtest}/googletest | 0 thirdparty/hdf5/Modules/FindHDF5.cmake | 1 + thirdparty/{ => hdf5}/build-hdf5.cmake | 9 +- thirdparty/{ => hdf5}/hdf5 | 0 thirdparty/libssh2/Modules/Findlibssh2.cmake | 1 + thirdparty/libssh2/build-libssh2.cmake | 6 + thirdparty/{ => libssh2}/libssh2 | 0 .../protobuf/Modules/FindProtobuf.cmake | 1 + .../{ => protobuf}/build-protobuf.cmake | 6 +- thirdparty/{ => protobuf}/protobuf | 0 thirdparty/qwt/Modules/Findqwt.cmake | 1 + thirdparty/qwt/build-qwt.cmake | 2 + thirdparty/recycle/Modules/Findrecycle.cmake | 1 + thirdparty/recycle/build-recycle.cmake | 4 + thirdparty/{ => recycle}/recycle | 0 .../simpleini/Modules/Findsimpleini.cmake | 1 + thirdparty/simpleini/build-simpleini.cmake | 6 + thirdparty/{ => simpleini}/simpleini | 0 thirdparty/spdlog/Modules/Findspdlog.cmake | 1 + thirdparty/{ => spdlog}/build-spdlog.cmake | 6 +- thirdparty/{ => spdlog}/spdlog | 0 thirdparty/tclap/Modules/Findtclap.cmake | 1 + thirdparty/tclap/build-tclap.cmake | 6 + thirdparty/{ => tclap}/tclap | 0 .../tcp_pubsub/Modules/Findtcp_pubsub.cmake | 1 + thirdparty/tcp_pubsub/build-tcp_pubsub.cmake | 5 + thirdparty/{ => tcp_pubsub}/tcp_pubsub | 0 .../termcolor/Modules/Findtermcolor.cmake | 1 + thirdparty/termcolor/build-termcolor.cmake | 3 + thirdparty/{ => termcolor}/termcolor | 0 .../tinyxml2/Modules/Findtinyxml2.cmake | 1 + .../{ => tinyxml2}/build-tinyxml2.cmake | 6 +- thirdparty/{ => tinyxml2}/tinyxml2 | 0 thirdparty/udpcap/Modules/Findudpcap.cmake | 1 + thirdparty/{ => udpcap}/build-udpcap.cmake | 4 +- thirdparty/{ => udpcap}/udpcap | 0 .../yaml-cpp/Modules/Findyaml-cpp.cmake | 1 + .../{ => yaml-cpp}/build-yaml-cpp.cmake | 4 +- thirdparty/{ => yaml-cpp}/yaml-cpp | 0 thirdparty/zlib/Modules/Findzlib.cmake | 1 + thirdparty/zlib/build-zlib.cmake | 5 + thirdparty/{ => zlib}/zlib | 0 90 files changed, 181 insertions(+), 127 deletions(-) create mode 100644 cmake/Modules/FindeCAL.cmake create mode 100644 thirdparty/asio/Modules/Findasio.cmake rename thirdparty/{ => asio}/asio (100%) create mode 100644 thirdparty/asio/build-asio.cmake delete mode 100644 thirdparty/build-asio.cmake delete mode 100644 thirdparty/build-cmakefunctions.cmake delete mode 100644 thirdparty/build-fineftp.cmake delete mode 100644 thirdparty/build-libssh2.cmake delete mode 100644 thirdparty/build-qwt.cmake delete mode 100644 thirdparty/build-recycle.cmake delete mode 100644 thirdparty/build-simpleini.cmake delete mode 100644 thirdparty/build-tclap.cmake delete mode 100644 thirdparty/build-tcp_pubsub.cmake delete mode 100644 thirdparty/build-termcolor.cmake delete mode 100644 thirdparty/build-zlib.cmake create mode 100644 thirdparty/cmakefunctions/Modules/FindCMakeFunctions.cmake create mode 100644 thirdparty/cmakefunctions/build-cmakefunctions.cmake rename thirdparty/{ => cmakefunctions}/cmake_functions/.gitignore (100%) rename thirdparty/{ => cmakefunctions}/cmake_functions/CMakeLists.txt (100%) rename thirdparty/{ => cmakefunctions}/cmake_functions/cmake/CMakeFunctionsConfig.cmake.in (100%) rename thirdparty/{ => cmakefunctions}/cmake_functions/cmake/cpack_variables.cmake (100%) rename thirdparty/{ => cmakefunctions}/cmake_functions/cmake_functions.cmake (100%) rename thirdparty/{ => cmakefunctions}/cmake_functions/git/git_revision_information.cmake (100%) rename thirdparty/{ => cmakefunctions}/cmake_functions/msvc_helper/msvc_macros.cmake (100%) rename thirdparty/{ => cmakefunctions}/cmake_functions/protoc_functions/protoc_generate_cpp.cmake (100%) rename thirdparty/{ => cmakefunctions}/cmake_functions/protoc_functions/protoc_generate_files.cmake (100%) rename thirdparty/{ => cmakefunctions}/cmake_functions/protoc_functions/protoc_generate_python.cmake (100%) rename thirdparty/{ => cmakefunctions}/cmake_functions/qt/qt_msvc_path.cmake (100%) rename thirdparty/{ => cmakefunctions}/cmake_functions/qt/qt_windeployqt.cmake (100%) rename thirdparty/{ => cmakefunctions}/cmake_functions/qt/qt_windeployqt_threadsafe_cmake.bat.in (100%) rename thirdparty/{ => cmakefunctions}/cmake_functions/target_definitions/targets_protobuf.cmake (100%) create mode 100644 thirdparty/curl/Modules/FindCURL.cmake rename thirdparty/{ => curl}/build-curl.cmake (81%) rename thirdparty/{ => curl}/curl (100%) create mode 100644 thirdparty/fineftp/Modules/Findfineftp.cmake create mode 100644 thirdparty/fineftp/build-fineftp.cmake rename thirdparty/{ => fineftp}/fineftp-server (100%) create mode 100644 thirdparty/ftxui/Modules/Findftxui.cmake rename thirdparty/{ => ftxui}/build-ftxui.cmake (68%) rename thirdparty/{ => ftxui}/ftxui (100%) create mode 100644 thirdparty/gtest/Modules/FindGTest.cmake rename thirdparty/{ => gtest}/build-gtest.cmake (75%) rename thirdparty/{ => gtest}/googletest (100%) create mode 100644 thirdparty/hdf5/Modules/FindHDF5.cmake rename thirdparty/{ => hdf5}/build-hdf5.cmake (94%) rename thirdparty/{ => hdf5}/hdf5 (100%) create mode 100644 thirdparty/libssh2/Modules/Findlibssh2.cmake create mode 100644 thirdparty/libssh2/build-libssh2.cmake rename thirdparty/{ => libssh2}/libssh2 (100%) create mode 100644 thirdparty/protobuf/Modules/FindProtobuf.cmake rename thirdparty/{ => protobuf}/build-protobuf.cmake (91%) rename thirdparty/{ => protobuf}/protobuf (100%) create mode 100644 thirdparty/qwt/Modules/Findqwt.cmake create mode 100644 thirdparty/qwt/build-qwt.cmake create mode 100644 thirdparty/recycle/Modules/Findrecycle.cmake create mode 100644 thirdparty/recycle/build-recycle.cmake rename thirdparty/{ => recycle}/recycle (100%) create mode 100644 thirdparty/simpleini/Modules/Findsimpleini.cmake create mode 100644 thirdparty/simpleini/build-simpleini.cmake rename thirdparty/{ => simpleini}/simpleini (100%) create mode 100644 thirdparty/spdlog/Modules/Findspdlog.cmake rename thirdparty/{ => spdlog}/build-spdlog.cmake (81%) rename thirdparty/{ => spdlog}/spdlog (100%) create mode 100644 thirdparty/tclap/Modules/Findtclap.cmake create mode 100644 thirdparty/tclap/build-tclap.cmake rename thirdparty/{ => tclap}/tclap (100%) create mode 100644 thirdparty/tcp_pubsub/Modules/Findtcp_pubsub.cmake create mode 100644 thirdparty/tcp_pubsub/build-tcp_pubsub.cmake rename thirdparty/{ => tcp_pubsub}/tcp_pubsub (100%) create mode 100644 thirdparty/termcolor/Modules/Findtermcolor.cmake create mode 100644 thirdparty/termcolor/build-termcolor.cmake rename thirdparty/{ => termcolor}/termcolor (100%) create mode 100644 thirdparty/tinyxml2/Modules/Findtinyxml2.cmake rename thirdparty/{ => tinyxml2}/build-tinyxml2.cmake (80%) rename thirdparty/{ => tinyxml2}/tinyxml2 (100%) create mode 100644 thirdparty/udpcap/Modules/Findudpcap.cmake rename thirdparty/{ => udpcap}/build-udpcap.cmake (88%) rename thirdparty/{ => udpcap}/udpcap (100%) create mode 100644 thirdparty/yaml-cpp/Modules/Findyaml-cpp.cmake rename thirdparty/{ => yaml-cpp}/build-yaml-cpp.cmake (69%) rename thirdparty/{ => yaml-cpp}/yaml-cpp (100%) create mode 100644 thirdparty/zlib/Modules/Findzlib.cmake create mode 100644 thirdparty/zlib/build-zlib.cmake rename thirdparty/{ => zlib}/zlib (100%) diff --git a/.github/workflows/ecal-fat-source.yml b/.github/workflows/ecal-fat-source.yml index 299076a38b..ba23825c43 100644 --- a/.github/workflows/ecal-fat-source.yml +++ b/.github/workflows/ecal-fat-source.yml @@ -49,7 +49,7 @@ jobs: export ecal_version_patch="${ecal_patch_array[0]}" - cd ${{ runner.workspace }}/cleaned/ecal/thirdparty/cmake_functions/git/ + cd ${{ runner.workspace }}/cleaned/ecal/thirdparty/cmakefunctions/cmake_functions/git/ echo " function (git_revision_information) set(GIT_REVISION_MAJOR ${ecal_version_major} PARENT_SCOPE) diff --git a/.gitmodules b/.gitmodules index 48b678667e..fd27987533 100644 --- a/.gitmodules +++ b/.gitmodules @@ -1,57 +1,57 @@ [submodule "thirdparty/protobuf"] - path = thirdparty/protobuf + path = thirdparty/protobuf/protobuf url = https://github.com/protocolbuffers/protobuf.git [submodule "thirdparty/asio"] - path = thirdparty/asio + path = thirdparty/asio/asio url = https://github.com/chriskohlhoff/asio.git [submodule "thirdparty/tclap"] - path = thirdparty/tclap + path = thirdparty/tclap/tclap url = https://github.com/xguerin/tclap.git [submodule "thirdparty/simpleini"] - path = thirdparty/simpleini + path = thirdparty/simpleini/simpleini url = https://github.com/brofield/simpleini.git [submodule "thirdparty/spdlog"] - path = thirdparty/spdlog + path = thirdparty/spdlog/spdlog url = https://github.com/gabime/spdlog.git [submodule "thirdparty/googletest"] - path = thirdparty/googletest + path = thirdparty/gtest/googletest url = https://github.com/google/googletest.git [submodule "thirdparty/fineftp-server"] - path = thirdparty/fineftp-server + path = thirdparty/fineftp/fineftp-server url = https://github.com/eclipse-ecal/fineftp-server.git [submodule "thirdparty/tinyxml2"] - path = thirdparty/tinyxml2 + path = thirdparty/tinyxml2/tinyxml2 url = https://github.com/leethomason/tinyxml2 [submodule "thirdparty/curl"] - path = thirdparty/curl + path = thirdparty/curl/curl url = https://github.com/curl/curl.git [submodule "thirdparty/zlib"] - path = thirdparty/zlib + path = thirdparty/zlib/zlib url = https://github.com/madler/zlib.git [submodule "thirdparty/libssh2"] - path = thirdparty/libssh2 + path = thirdparty/libssh2/libssh2 url = https://github.com/libssh2/libssh2.git [submodule "thirdparty/hdf5"] - path = thirdparty/hdf5 + path = thirdparty/hdf5/hdf5 url = https://github.com/HDFGroup/hdf5.git [submodule "thirdparty/termcolor"] - path = thirdparty/termcolor + path = thirdparty/termcolor/termcolor url = https://github.com/ikalnytskyi/termcolor.git [submodule "thirdparty/recycle"] - path = thirdparty/recycle + path = thirdparty/recycle/recycle url = https://github.com/steinwurf/recycle.git [submodule "thirdparty/tcp_pubsub"] - path = thirdparty/tcp_pubsub + path = thirdparty/tcp_pubsub/tcp_pubsub url = https://github.com/eclipse-ecal/tcp_pubsub.git [submodule "thirdparty/qwt/qwt"] path = thirdparty/qwt/qwt url = https://git.code.sf.net/p/qwt/git [submodule "thirdparty/yaml-cpp"] - path = thirdparty/yaml-cpp + path = thirdparty/yaml-cpp/yaml-cpp url = https://github.com/jbeder/yaml-cpp.git [submodule "thirdparty/ftxui"] - path = thirdparty/ftxui + path = thirdparty/ftxui/ftxui url = https://github.com/ArthurSonzogni/FTXUI.git [submodule "thirdparty/udpcap"] - path = thirdparty/udpcap + path = thirdparty/udpcap/udpcap url = https://github.com/eclipse-ecal/udpcap.git diff --git a/CMakeLists.txt b/CMakeLists.txt index fd2308f4fa..7971f387a2 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -19,7 +19,6 @@ cmake_minimum_required(VERSION 3.13) include(CMakeDependentOption) -include("${CMAKE_CURRENT_LIST_DIR}/thirdparty/cmake_functions/qt/qt_msvc_path.cmake") if (POLICY CMP0077) cmake_policy(SET CMP0077 NEW) # Prevent HDF5 from overwriting our output paths @@ -91,17 +90,20 @@ option(ECAL_NPCAP_SUPPORT "Enable the eCAL Npcap Receiver ( option(ECAL_USE_CLOCKLOCK_MUTEX "Use native mutex with monotonic clock (requires glibc >= 2.30)" OFF) # Set option regarding third party library builds +# option(ECAL_THIRDPARTY_BUILD_LIBSSH2 "Build libssh2 with eCAL" ON) +# option(ECAL_THIRDPARTY_BUILD_ZLIB "Build zlib with eCAL" ON) +option(ECAL_THIRDPARTY_BUILD_ASIO "Build asio with eCAL" ON) option(ECAL_THIRDPARTY_BUILD_CMAKE_FUNCTIONS "Build CMakeFunctions with eCAL" ON) -option(ECAL_THIRDPARTY_BUILD_SPDLOG "Build spdlog with eCAL" ON) -option(ECAL_THIRDPARTY_BUILD_TINYXML2 "Build tinyxml2 with eCAL" ON) option(ECAL_THIRDPARTY_BUILD_FINEFTP "Build fineFTP with eCAL" ON) -option(ECAL_THIRDPARTY_BUILD_TERMCOLOR "Build termcolor with eCAL" ON) -option(ECAL_THIRDPARTY_BUILD_TCP_PUBSUB "Build tcp_pubsub library with eCAL" ON) -option(ECAL_THIRDPARTY_BUILD_RECYCLE "Build steinwurf::recylce with eCAL" ON) option(ECAL_THIRDPARTY_BUILD_FTXUI "Build ftxui with eCAL" ON) -# option(ECAL_THIRDPARTY_BUILD_ZLIB "Build zlib with eCAL" ON) -# option(ECAL_THIRDPARTY_BUILD_LIBSSH2 "Build libssh2 with eCAL" ON) option(ECAL_THIRDPARTY_BUILD_GTEST "Build gtest with eCAL" OFF) +option(ECAL_THIRDPARTY_BUILD_RECYCLE "Build steinwurf::recylce with eCAL" ON) +option(ECAL_THIRDPARTY_BUILD_SPDLOG "Build spdlog with eCAL" ON) +option(ECAL_THIRDPARTY_BUILD_SIMPLEINI "Build simpleini with eCAL" ON) +option(ECAL_THIRDPARTY_BUILD_TCLAP "Build tclap library with eCAL" ON) +option(ECAL_THIRDPARTY_BUILD_TCP_PUBSUB "Build tcp_pubsub library with eCAL" ON) +option(ECAL_THIRDPARTY_BUILD_TERMCOLOR "Build termcolor with eCAL" ON) +option(ECAL_THIRDPARTY_BUILD_TINYXML2 "Build tinyxml2 with eCAL" ON) option(ECAL_THIRDPARTY_BUILD_UDPCAP "Build udpcap library with eCAL" OFF) if(WIN32) @@ -165,65 +167,41 @@ if(MSVC) endif() endif() -# -------------------------------------------------------- -# detect qt library -# -------------------------------------------------------- -if(MSVC) - if (HAS_QT5) - find_package(Qt5 COMPONENTS Core QUIET) - if (NOT "${Qt5_FOUND}") - autodetect_qt5_msvc_dir() - endif() - endif() -endif() - # This is a list of subprojects, that might be build with eCAL # according to how options ECAL_BUILD_ are set set(possible_subprojects - Protobuf - spdlog - tinyxml2 - fineftp - termcolor - recycle - tcp_pubsub - #libssh2 - #zlib zlibstatic + asio + CMakeFunctions CURL + fineftp + ftxui GTest HDF5 - CMakeFunctions + #libssh2 + Protobuf qwt - yaml-cpp - ftxui + recycle + simpleini + spdlog + tclap + tcp_pubsub + termcolor + tinyxml2 udpcap + yaml-cpp + #zlib zlibstatic ) # We should rename the option, but don't know how to do in in a # backwards compatible way set(ECAL_THIRDPARTY_BUILD_CMAKEFUNCTIONS ${ECAL_THIRDPARTY_BUILD_CMAKE_FUNCTIONS}) -# For each dependency, check if option to build was set or not -# if so append to `as_subproject` list -foreach (dep IN LISTS possible_subprojects) - string(TOUPPER ${dep} dep_upper) - if (ECAL_THIRDPARTY_BUILD_${dep_upper}) - list(APPEND as_subproject ${dep}) - endif () -endforeach() - -macro(find_package) - if(NOT "${ARGV0}" IN_LIST as_subproject) - _find_package(${ARGV}) - endif() -endmacro() - # if a package does need to be build, include the cmake file with build instructions foreach (dep IN LISTS possible_subprojects) string(TOUPPER ${dep} dep_upper) string(TOLOWER ${dep} dep_lower) if (ECAL_THIRDPARTY_BUILD_${dep_upper}) - include(thirdparty/build-${dep_lower}.cmake) + include(thirdparty/${dep_lower}/build-${dep_lower}.cmake) endif () endforeach () @@ -234,6 +212,19 @@ endif() find_package(CMakeFunctions REQUIRED) +# -------------------------------------------------------- +# detect qt library +# -------------------------------------------------------- +if(MSVC) + if (HAS_QT5) + find_package(Qt5 COMPONENTS Core QUIET) + if (NOT "${Qt5_FOUND}") + autodetect_qt5_msvc_dir() + endif() + endif() +endif() + + git_revision_information(DEFAULT ${ECAL_BUILD_VERSION}) set(eCAL_VERSION_MAJOR ${GIT_REVISION_MAJOR}) set(eCAL_VERSION_MINOR ${GIT_REVISION_MINOR}) @@ -281,9 +272,12 @@ set(eCAL_install_samples_dir ${CMAKE_INSTALL_BINDIR}) set(eCAL_install_samples_src_dir ${CMAKE_INSTALL_DATADIR}/ecal/samples/) set(eCAL_install_tests_dir ${CMAKE_INSTALL_BINDIR}) -set(eCAL_config_dir ${eCAL_BINARY_DIR}/cmake/) +set(eCAL_config_dir ${CMAKE_CURRENT_BINARY_DIR}/_generated/) set(eCAL_config ${eCAL_config_dir}/eCALConfig.cmake) set(eCAL_config_version ${eCAL_config_dir}/eCALConfigVersion.cmake) + +file(MAKE_DIRECTORY ${eCAL_config_dir}) + if(WIN32) set(eCAL_install_config_dir cfg) set(eCAL_install_doc_dir doc) @@ -574,20 +568,24 @@ message(STATUS "ECAL_INCLUDE_PY_SAMPLES : ${ECAL_INCLUDE_ message(STATUS "ECAL_INSTALL_SAMPLE_SOURCES : ${ECAL_INSTALL_SAMPLE_SOURCES}") message(STATUS "ECAL_JOIN_MULTICAST_TWICE : ${ECAL_JOIN_MULTICAST_TWICE}") message(STATUS "ECAL_NPCAP_SUPPORT : ${ECAL_NPCAP_SUPPORT}") +message(STATUS "ECAL_THIRDPARTY_BUILD_ASIO : ${ECAL_THIRDPARTY_BUILD_ASIO}") message(STATUS "ECAL_THIRDPARTY_BUILD_CMAKE_FUNCTIONS : ${ECAL_THIRDPARTY_BUILD_CMAKE_FUNCTIONS}") -message(STATUS "ECAL_THIRDPARTY_BUILD_SPDLOG : ${ECAL_THIRDPARTY_BUILD_SPDLOG}") -message(STATUS "ECAL_THIRDPARTY_BUILD_TINYXML2 : ${ECAL_THIRDPARTY_BUILD_TINYXML2}") +message(STATUS "ECAL_THIRDPARTY_BUILD_CURL : ${ECAL_THIRDPARTY_BUILD_CURL}") message(STATUS "ECAL_THIRDPARTY_BUILD_FINEFTP : ${ECAL_THIRDPARTY_BUILD_FINEFTP}") -message(STATUS "ECAL_THIRDPARTY_BUILD_TERMCOLOR : ${ECAL_THIRDPARTY_BUILD_TERMCOLOR}") -message(STATUS "ECAL_THIRDPARTY_BUILD_TCP_PUBSUB : ${ECAL_THIRDPARTY_BUILD_TCP_PUBSUB}") -message(STATUS "ECAL_THIRDPARTY_BUILD_RECYCLE : ${ECAL_THIRDPARTY_BUILD_RECYCLE}") message(STATUS "ECAL_THIRDPARTY_BUILD_FTXUI : ${ECAL_THIRDPARTY_BUILD_FTXUI}") message(STATUS "ECAL_THIRDPARTY_BUILD_GTEST : ${ECAL_THIRDPARTY_BUILD_GTEST}") -message(STATUS "ECAL_THIRDPARTY_BUILD_PROTOBUF : ${ECAL_THIRDPARTY_BUILD_PROTOBUF}") -message(STATUS "ECAL_THIRDPARTY_BUILD_CURL : ${ECAL_THIRDPARTY_BUILD_CURL}") message(STATUS "ECAL_THIRDPARTY_BUILD_HDF5 : ${ECAL_THIRDPARTY_BUILD_HDF5}") -message(STATUS "ECAL_THIRDPARTY_BUILD_YAML-CPP : ${ECAL_THIRDPARTY_BUILD_YAML-CPP}") +message(STATUS "ECAL_THIRDPARTY_BUILD_PROTOBUF : ${ECAL_THIRDPARTY_BUILD_PROTOBUF}") +message(STATUS "ECAL_THIRDPARTY_BUILD_QWT : ${ECAL_THIRDPARTY_BUILD_QWT}") +message(STATUS "ECAL_THIRDPARTY_BUILD_RECYCLE : ${ECAL_THIRDPARTY_BUILD_RECYCLE}") +message(STATUS "ECAL_THIRDPARTY_BUILD_SIMPLEINI : ${ECAL_THIRDPARTY_BUILD_SIMPLEINI}") +message(STATUS "ECAL_THIRDPARTY_BUILD_SPDLOG : ${ECAL_THIRDPARTY_BUILD_SPDLOG}") +message(STATUS "ECAL_THIRDPARTY_BUILD_TCLAP : ${ECAL_THIRDPARTY_BUILD_TCLAP}") +message(STATUS "ECAL_THIRDPARTY_BUILD_TCP_PUBSUB : ${ECAL_THIRDPARTY_BUILD_TCP_PUBSUB}") +message(STATUS "ECAL_THIRDPARTY_BUILD_TERMCOLOR : ${ECAL_THIRDPARTY_BUILD_TERMCOLOR}") +message(STATUS "ECAL_THIRDPARTY_BUILD_TINYXML2 : ${ECAL_THIRDPARTY_BUILD_TINYXML2}") message(STATUS "ECAL_THIRDPARTY_BUILD_UDPCAP : ${ECAL_THIRDPARTY_BUILD_UDPCAP}") +message(STATUS "ECAL_THIRDPARTY_BUILD_YAML-CPP : ${ECAL_THIRDPARTY_BUILD_YAML-CPP}") message(STATUS "ECAL_LINK_HDF5_SHARED : ${ECAL_LINK_HDF5_SHARED}") message(STATUS "CPACK_PACK_WITH_INNOSETUP : ${CPACK_PACK_WITH_INNOSETUP}") diff --git a/cmake/Modules/Findasio.cmake b/cmake/Modules/Findasio.cmake index f28df02422..bd712cc236 100644 --- a/cmake/Modules/Findasio.cmake +++ b/cmake/Modules/Findasio.cmake @@ -1,10 +1,5 @@ find_path(asio_INCLUDE_DIR NAMES asio.hpp - HINTS - "${CONAN_ASIO_ROOT}/include" - "${ECAL_PROJECT_ROOT}/thirdparty/asio/asio/include" - NO_DEFAULT_PATH - NO_CMAKE_FIND_ROOT_PATH ) if(asio_INCLUDE_DIR-NOTFOUND) diff --git a/cmake/Modules/FindeCAL.cmake b/cmake/Modules/FindeCAL.cmake new file mode 100644 index 0000000000..d20affb391 --- /dev/null +++ b/cmake/Modules/FindeCAL.cmake @@ -0,0 +1 @@ +set(eCAL_FOUND TRUE) \ No newline at end of file diff --git a/cmake/Modules/Findsimpleini.cmake b/cmake/Modules/Findsimpleini.cmake index 69b171aaec..4954f158fe 100644 --- a/cmake/Modules/Findsimpleini.cmake +++ b/cmake/Modules/Findsimpleini.cmake @@ -1,10 +1,5 @@ find_path(simpleini_INCLUDE_DIR NAMES SimpleIni.h - HINTS - "${CONAN_SIMPLEINI_ROOT}/include" - "${ECAL_PROJECT_ROOT}/thirdparty/simpleini" - NO_DEFAULT_PATH - NO_CMAKE_FIND_ROOT_PATH ) if(simpleini_INCLUDE_DIR-NOTFOUND) diff --git a/cmake/Modules/Findtclap.cmake b/cmake/Modules/Findtclap.cmake index f6ffa6d627..a0de08f50e 100644 --- a/cmake/Modules/Findtclap.cmake +++ b/cmake/Modules/Findtclap.cmake @@ -1,10 +1,5 @@ find_path(tclap_INCLUDE_DIR NAMES tclap/Arg.h - HINTS - "${CONAN_TCLAP_ROOT}/include" - "${ECAL_PROJECT_ROOT}/thirdparty/tclap/include" - NO_DEFAULT_PATH - NO_CMAKE_FIND_ROOT_PATH ) if(tclap_INCLUDE_DIR-NOTFOUND) diff --git a/thirdparty/asio/Modules/Findasio.cmake b/thirdparty/asio/Modules/Findasio.cmake new file mode 100644 index 0000000000..cbc155d906 --- /dev/null +++ b/thirdparty/asio/Modules/Findasio.cmake @@ -0,0 +1 @@ +set(asio_FOUND TRUE) \ No newline at end of file diff --git a/thirdparty/asio b/thirdparty/asio/asio similarity index 100% rename from thirdparty/asio rename to thirdparty/asio/asio diff --git a/thirdparty/asio/build-asio.cmake b/thirdparty/asio/build-asio.cmake new file mode 100644 index 0000000000..713ba1c4f1 --- /dev/null +++ b/thirdparty/asio/build-asio.cmake @@ -0,0 +1,7 @@ +add_library(asio INTERFACE) +target_include_directories(asio INTERFACE ${CMAKE_CURRENT_LIST_DIR}/asio/asio/include) +target_compile_definitions(asio INTERFACE ASIO_STANDALONE) + +add_library(asio::asio ALIAS asio) + +list(PREPEND CMAKE_MODULE_PATH ${CMAKE_CURRENT_LIST_DIR}/Modules) \ No newline at end of file diff --git a/thirdparty/build-asio.cmake b/thirdparty/build-asio.cmake deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/thirdparty/build-cmakefunctions.cmake b/thirdparty/build-cmakefunctions.cmake deleted file mode 100644 index ba641fe77a..0000000000 --- a/thirdparty/build-cmakefunctions.cmake +++ /dev/null @@ -1 +0,0 @@ -add_subdirectory(thirdparty/cmake_functions) \ No newline at end of file diff --git a/thirdparty/build-fineftp.cmake b/thirdparty/build-fineftp.cmake deleted file mode 100644 index b214751e7d..0000000000 --- a/thirdparty/build-fineftp.cmake +++ /dev/null @@ -1,3 +0,0 @@ -add_subdirectory(thirdparty/fineftp-server/fineftp-server EXCLUDE_FROM_ALL) -set_property(TARGET server PROPERTY FOLDER lib/fineftp) -add_library(fineftp::server ALIAS server) \ No newline at end of file diff --git a/thirdparty/build-libssh2.cmake b/thirdparty/build-libssh2.cmake deleted file mode 100644 index 8eeb541f34..0000000000 --- a/thirdparty/build-libssh2.cmake +++ /dev/null @@ -1,4 +0,0 @@ -set(DBUILD_STATIC_LIBS OFF CACHE BOOL "My option" FORCE) -set(BUILD_TESTING OFF CACHE BOOL "My option" FORCE) -add_subdirectory(thirdparty/libssh2) -add_library(LibSSH2 ALIAS libssh2) \ No newline at end of file diff --git a/thirdparty/build-qwt.cmake b/thirdparty/build-qwt.cmake deleted file mode 100644 index 2b61122e00..0000000000 --- a/thirdparty/build-qwt.cmake +++ /dev/null @@ -1 +0,0 @@ -add_subdirectory(thirdparty/qwt) \ No newline at end of file diff --git a/thirdparty/build-recycle.cmake b/thirdparty/build-recycle.cmake deleted file mode 100644 index 035baf5fa4..0000000000 --- a/thirdparty/build-recycle.cmake +++ /dev/null @@ -1,2 +0,0 @@ -add_subdirectory(thirdparty/recycle EXCLUDE_FROM_ALL) -add_library(steinwurf::recycle ALIAS recycle) diff --git a/thirdparty/build-simpleini.cmake b/thirdparty/build-simpleini.cmake deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/thirdparty/build-tclap.cmake b/thirdparty/build-tclap.cmake deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/thirdparty/build-tcp_pubsub.cmake b/thirdparty/build-tcp_pubsub.cmake deleted file mode 100644 index 2b44161fbe..0000000000 --- a/thirdparty/build-tcp_pubsub.cmake +++ /dev/null @@ -1,3 +0,0 @@ -add_subdirectory(thirdparty/tcp_pubsub/tcp_pubsub EXCLUDE_FROM_ALL) -set_property(TARGET tcp_pubsub PROPERTY FOLDER lib/tcp_pubsub) -add_library(tcp_pubsub::tcp_pubsub ALIAS tcp_pubsub) \ No newline at end of file diff --git a/thirdparty/build-termcolor.cmake b/thirdparty/build-termcolor.cmake deleted file mode 100644 index 870c57fb2d..0000000000 --- a/thirdparty/build-termcolor.cmake +++ /dev/null @@ -1 +0,0 @@ -add_subdirectory(thirdparty/termcolor EXCLUDE_FROM_ALL) \ No newline at end of file diff --git a/thirdparty/build-zlib.cmake b/thirdparty/build-zlib.cmake deleted file mode 100644 index 924bb09fc0..0000000000 --- a/thirdparty/build-zlib.cmake +++ /dev/null @@ -1,3 +0,0 @@ -add_subdirectory(thirdparty/zlib) -add_library(ZLIB::zlibstatic ALIAS zlibstatic) -add_library(ZLIB::zlib ALIAS zlib) \ No newline at end of file diff --git a/thirdparty/cmakefunctions/Modules/FindCMakeFunctions.cmake b/thirdparty/cmakefunctions/Modules/FindCMakeFunctions.cmake new file mode 100644 index 0000000000..59d818aae5 --- /dev/null +++ b/thirdparty/cmakefunctions/Modules/FindCMakeFunctions.cmake @@ -0,0 +1 @@ +set(CMakeFunctions_FOUND TRUE) \ No newline at end of file diff --git a/thirdparty/cmakefunctions/build-cmakefunctions.cmake b/thirdparty/cmakefunctions/build-cmakefunctions.cmake new file mode 100644 index 0000000000..beb732a2bc --- /dev/null +++ b/thirdparty/cmakefunctions/build-cmakefunctions.cmake @@ -0,0 +1,2 @@ +add_subdirectory(thirdparty/cmakefunctions/cmake_functions) +list(PREPEND CMAKE_MODULE_PATH ${CMAKE_CURRENT_LIST_DIR}/Modules) \ No newline at end of file diff --git a/thirdparty/cmake_functions/.gitignore b/thirdparty/cmakefunctions/cmake_functions/.gitignore similarity index 100% rename from thirdparty/cmake_functions/.gitignore rename to thirdparty/cmakefunctions/cmake_functions/.gitignore diff --git a/thirdparty/cmake_functions/CMakeLists.txt b/thirdparty/cmakefunctions/cmake_functions/CMakeLists.txt similarity index 100% rename from thirdparty/cmake_functions/CMakeLists.txt rename to thirdparty/cmakefunctions/cmake_functions/CMakeLists.txt diff --git a/thirdparty/cmake_functions/cmake/CMakeFunctionsConfig.cmake.in b/thirdparty/cmakefunctions/cmake_functions/cmake/CMakeFunctionsConfig.cmake.in similarity index 100% rename from thirdparty/cmake_functions/cmake/CMakeFunctionsConfig.cmake.in rename to thirdparty/cmakefunctions/cmake_functions/cmake/CMakeFunctionsConfig.cmake.in diff --git a/thirdparty/cmake_functions/cmake/cpack_variables.cmake b/thirdparty/cmakefunctions/cmake_functions/cmake/cpack_variables.cmake similarity index 100% rename from thirdparty/cmake_functions/cmake/cpack_variables.cmake rename to thirdparty/cmakefunctions/cmake_functions/cmake/cpack_variables.cmake diff --git a/thirdparty/cmake_functions/cmake_functions.cmake b/thirdparty/cmakefunctions/cmake_functions/cmake_functions.cmake similarity index 100% rename from thirdparty/cmake_functions/cmake_functions.cmake rename to thirdparty/cmakefunctions/cmake_functions/cmake_functions.cmake diff --git a/thirdparty/cmake_functions/git/git_revision_information.cmake b/thirdparty/cmakefunctions/cmake_functions/git/git_revision_information.cmake similarity index 100% rename from thirdparty/cmake_functions/git/git_revision_information.cmake rename to thirdparty/cmakefunctions/cmake_functions/git/git_revision_information.cmake diff --git a/thirdparty/cmake_functions/msvc_helper/msvc_macros.cmake b/thirdparty/cmakefunctions/cmake_functions/msvc_helper/msvc_macros.cmake similarity index 100% rename from thirdparty/cmake_functions/msvc_helper/msvc_macros.cmake rename to thirdparty/cmakefunctions/cmake_functions/msvc_helper/msvc_macros.cmake diff --git a/thirdparty/cmake_functions/protoc_functions/protoc_generate_cpp.cmake b/thirdparty/cmakefunctions/cmake_functions/protoc_functions/protoc_generate_cpp.cmake similarity index 100% rename from thirdparty/cmake_functions/protoc_functions/protoc_generate_cpp.cmake rename to thirdparty/cmakefunctions/cmake_functions/protoc_functions/protoc_generate_cpp.cmake diff --git a/thirdparty/cmake_functions/protoc_functions/protoc_generate_files.cmake b/thirdparty/cmakefunctions/cmake_functions/protoc_functions/protoc_generate_files.cmake similarity index 100% rename from thirdparty/cmake_functions/protoc_functions/protoc_generate_files.cmake rename to thirdparty/cmakefunctions/cmake_functions/protoc_functions/protoc_generate_files.cmake diff --git a/thirdparty/cmake_functions/protoc_functions/protoc_generate_python.cmake b/thirdparty/cmakefunctions/cmake_functions/protoc_functions/protoc_generate_python.cmake similarity index 100% rename from thirdparty/cmake_functions/protoc_functions/protoc_generate_python.cmake rename to thirdparty/cmakefunctions/cmake_functions/protoc_functions/protoc_generate_python.cmake diff --git a/thirdparty/cmake_functions/qt/qt_msvc_path.cmake b/thirdparty/cmakefunctions/cmake_functions/qt/qt_msvc_path.cmake similarity index 100% rename from thirdparty/cmake_functions/qt/qt_msvc_path.cmake rename to thirdparty/cmakefunctions/cmake_functions/qt/qt_msvc_path.cmake diff --git a/thirdparty/cmake_functions/qt/qt_windeployqt.cmake b/thirdparty/cmakefunctions/cmake_functions/qt/qt_windeployqt.cmake similarity index 100% rename from thirdparty/cmake_functions/qt/qt_windeployqt.cmake rename to thirdparty/cmakefunctions/cmake_functions/qt/qt_windeployqt.cmake diff --git a/thirdparty/cmake_functions/qt/qt_windeployqt_threadsafe_cmake.bat.in b/thirdparty/cmakefunctions/cmake_functions/qt/qt_windeployqt_threadsafe_cmake.bat.in similarity index 100% rename from thirdparty/cmake_functions/qt/qt_windeployqt_threadsafe_cmake.bat.in rename to thirdparty/cmakefunctions/cmake_functions/qt/qt_windeployqt_threadsafe_cmake.bat.in diff --git a/thirdparty/cmake_functions/target_definitions/targets_protobuf.cmake b/thirdparty/cmakefunctions/cmake_functions/target_definitions/targets_protobuf.cmake similarity index 100% rename from thirdparty/cmake_functions/target_definitions/targets_protobuf.cmake rename to thirdparty/cmakefunctions/cmake_functions/target_definitions/targets_protobuf.cmake diff --git a/thirdparty/curl/Modules/FindCURL.cmake b/thirdparty/curl/Modules/FindCURL.cmake new file mode 100644 index 0000000000..54d8b7635b --- /dev/null +++ b/thirdparty/curl/Modules/FindCURL.cmake @@ -0,0 +1 @@ +set(CURL_FOUND TRUE) \ No newline at end of file diff --git a/thirdparty/build-curl.cmake b/thirdparty/curl/build-curl.cmake similarity index 81% rename from thirdparty/build-curl.cmake rename to thirdparty/curl/build-curl.cmake index f209fca450..c55a1e1649 100644 --- a/thirdparty/build-curl.cmake +++ b/thirdparty/curl/build-curl.cmake @@ -5,7 +5,7 @@ endif() set(BUILD_CURL_EXE OFF CACHE BOOL "Don't build the curl executable" FORCE) set(ENABLE_MANUAL OFF CACHE BOOL "Disable built-in manual" FORCE) -add_subdirectory(thirdparty/curl EXCLUDE_FROM_ALL) +add_subdirectory(thirdparty/curl/curl EXCLUDE_FROM_ALL) if (NOT TARGET CURL::libcurl) add_library(CURL::libcurl ALIAS libcurl) @@ -18,3 +18,5 @@ if (NOT TARGET CURL::libcurl) ) endif() endif() + +list(PREPEND CMAKE_MODULE_PATH ${CMAKE_CURRENT_LIST_DIR}/Modules) diff --git a/thirdparty/curl b/thirdparty/curl/curl similarity index 100% rename from thirdparty/curl rename to thirdparty/curl/curl diff --git a/thirdparty/fineftp/Modules/Findfineftp.cmake b/thirdparty/fineftp/Modules/Findfineftp.cmake new file mode 100644 index 0000000000..56687b3b01 --- /dev/null +++ b/thirdparty/fineftp/Modules/Findfineftp.cmake @@ -0,0 +1 @@ +set(fineftp_FOUND TRUE) \ No newline at end of file diff --git a/thirdparty/fineftp/build-fineftp.cmake b/thirdparty/fineftp/build-fineftp.cmake new file mode 100644 index 0000000000..4778d7b7f0 --- /dev/null +++ b/thirdparty/fineftp/build-fineftp.cmake @@ -0,0 +1,5 @@ +add_subdirectory(thirdparty/fineftp/fineftp-server/fineftp-server EXCLUDE_FROM_ALL) +set_property(TARGET server PROPERTY FOLDER lib/fineftp) +add_library(fineftp::server ALIAS server) + +list(PREPEND CMAKE_MODULE_PATH ${CMAKE_CURRENT_LIST_DIR}/Modules) \ No newline at end of file diff --git a/thirdparty/fineftp-server b/thirdparty/fineftp/fineftp-server similarity index 100% rename from thirdparty/fineftp-server rename to thirdparty/fineftp/fineftp-server diff --git a/thirdparty/ftxui/Modules/Findftxui.cmake b/thirdparty/ftxui/Modules/Findftxui.cmake new file mode 100644 index 0000000000..bf22607c96 --- /dev/null +++ b/thirdparty/ftxui/Modules/Findftxui.cmake @@ -0,0 +1 @@ +set(ftxui_FOUND TRUE) \ No newline at end of file diff --git a/thirdparty/build-ftxui.cmake b/thirdparty/ftxui/build-ftxui.cmake similarity index 68% rename from thirdparty/build-ftxui.cmake rename to thirdparty/ftxui/build-ftxui.cmake index a9cb1a8f77..38edaacf6a 100644 --- a/thirdparty/build-ftxui.cmake +++ b/thirdparty/ftxui/build-ftxui.cmake @@ -1,12 +1,14 @@ option(FTXUI_BUILD_EXAMPLES "Set to ON to build examples" OFF) -add_subdirectory(thirdparty/ftxui EXCLUDE_FROM_ALL) +add_subdirectory(thirdparty/ftxui/ftxui EXCLUDE_FROM_ALL) # Set ftxui_VERSION_MAJOR, because it's only defined in the subdirectory scope and we cannot access it # Reading it automatically is less error prone than setting itt by hand -file(READ thirdparty/ftxui/CMakeLists.txt content) +file(READ thirdparty/ftxui/ftxui/CMakeLists.txt content) if(content MATCHES "VERSION ([0-9]+)\\.[0-9]+\\.[0-9]+") set(ftxui_VERSION_MAJOR "${CMAKE_MATCH_1}") else() message(FATAL_ERROR "Couldn't read version info") -endif() \ No newline at end of file +endif() + +list(PREPEND CMAKE_MODULE_PATH ${CMAKE_CURRENT_LIST_DIR}/Modules) \ No newline at end of file diff --git a/thirdparty/ftxui b/thirdparty/ftxui/ftxui similarity index 100% rename from thirdparty/ftxui rename to thirdparty/ftxui/ftxui diff --git a/thirdparty/gtest/Modules/FindGTest.cmake b/thirdparty/gtest/Modules/FindGTest.cmake new file mode 100644 index 0000000000..4cfd2bf497 --- /dev/null +++ b/thirdparty/gtest/Modules/FindGTest.cmake @@ -0,0 +1 @@ +set(GTest_FOUND TRUE) \ No newline at end of file diff --git a/thirdparty/build-gtest.cmake b/thirdparty/gtest/build-gtest.cmake similarity index 75% rename from thirdparty/build-gtest.cmake rename to thirdparty/gtest/build-gtest.cmake index c3421a4f59..5faa26083f 100644 --- a/thirdparty/build-gtest.cmake +++ b/thirdparty/gtest/build-gtest.cmake @@ -4,10 +4,12 @@ if(MSVC) set(BUILD_GMOCK OFF CACHE BOOL "My option" FORCE) set(INSTALL_GTEST OFF CACHE BOOL "My option" FORCE) endif() -add_subdirectory(thirdparty/googletest EXCLUDE_FROM_ALL) +add_subdirectory(thirdparty/gtest/googletest EXCLUDE_FROM_ALL) if(NOT TARGET GTest::gtest) add_library(GTest::gtest ALIAS gtest) endif() if(NOT TARGET GTest::gtest_main) add_library(GTest::gtest_main ALIAS gtest_main) -endif() \ No newline at end of file +endif() + +list(PREPEND CMAKE_MODULE_PATH ${CMAKE_CURRENT_LIST_DIR}/Modules) \ No newline at end of file diff --git a/thirdparty/googletest b/thirdparty/gtest/googletest similarity index 100% rename from thirdparty/googletest rename to thirdparty/gtest/googletest diff --git a/thirdparty/hdf5/Modules/FindHDF5.cmake b/thirdparty/hdf5/Modules/FindHDF5.cmake new file mode 100644 index 0000000000..ade98531b5 --- /dev/null +++ b/thirdparty/hdf5/Modules/FindHDF5.cmake @@ -0,0 +1 @@ +set(HDF5_FOUND TRUE) \ No newline at end of file diff --git a/thirdparty/build-hdf5.cmake b/thirdparty/hdf5/build-hdf5.cmake similarity index 94% rename from thirdparty/build-hdf5.cmake rename to thirdparty/hdf5/build-hdf5.cmake index 25de05d1e8..80b373f862 100644 --- a/thirdparty/build-hdf5.cmake +++ b/thirdparty/hdf5/build-hdf5.cmake @@ -14,7 +14,6 @@ set(CMAKE_RUNTIME_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/bin/" CACHE PATH "") set(BUILD_SHARED_LIBS ON CACHE BOOL "Build hdf5 shared" FORCE) - list(APPEND as_subproject HDF5) #we will need threads find_package(Threads REQUIRED) @@ -38,7 +37,7 @@ #We need to build hdf5 as shared to enable the threadsafe option. HDF5 uses the BUILD_SHARED_LIBS to check if shared build is on. # Hence we need to save the old value, enable it, and then set it back to the old value - add_subdirectory(thirdparty/hdf5) + add_subdirectory(thirdparty/hdf5/hdf5) if(NOT TARGET hdf5::hdf5-shared) add_library(hdf5::hdf5-shared ALIAS hdf5-shared) @@ -51,7 +50,7 @@ endif() endif() - target_include_directories(hdf5-shared INTERFACE "$") + target_include_directories(hdf5-shared INTERFACE "$") if("${OLD_CMAKE_ARCHIVE_OUTPUT_DIRECTORY}" STREQUAL "") unset(CMAKE_ARCHIVE_OUTPUT_DIRECTORY CACHE) @@ -73,4 +72,6 @@ unset(CMAKE_RUNTIME_OUTPUT_DIRECTORY CACHE) endif() - set(BUILD_SHARED_LIBS ${OLD_BUILD_SHARED_LIBS} CACHE BOOL "Build hdf5 shared" FORCE) \ No newline at end of file + set(BUILD_SHARED_LIBS ${OLD_BUILD_SHARED_LIBS} CACHE BOOL "Build hdf5 shared" FORCE) + + list(PREPEND CMAKE_MODULE_PATH ${CMAKE_CURRENT_LIST_DIR}/Modules) \ No newline at end of file diff --git a/thirdparty/hdf5 b/thirdparty/hdf5/hdf5 similarity index 100% rename from thirdparty/hdf5 rename to thirdparty/hdf5/hdf5 diff --git a/thirdparty/libssh2/Modules/Findlibssh2.cmake b/thirdparty/libssh2/Modules/Findlibssh2.cmake new file mode 100644 index 0000000000..b52e19ab53 --- /dev/null +++ b/thirdparty/libssh2/Modules/Findlibssh2.cmake @@ -0,0 +1 @@ +set(libssh2_FOUND TRUE) \ No newline at end of file diff --git a/thirdparty/libssh2/build-libssh2.cmake b/thirdparty/libssh2/build-libssh2.cmake new file mode 100644 index 0000000000..148c2118cf --- /dev/null +++ b/thirdparty/libssh2/build-libssh2.cmake @@ -0,0 +1,6 @@ +set(DBUILD_STATIC_LIBS OFF CACHE BOOL "My option" FORCE) +set(BUILD_TESTING OFF CACHE BOOL "My option" FORCE) +add_subdirectory(thirdparty/libssh2/libssh2) +add_library(LibSSH2 ALIAS libssh2) + +list(PREPEND CMAKE_MODULE_PATH ${CMAKE_CURRENT_LIST_DIR}/Modules) \ No newline at end of file diff --git a/thirdparty/libssh2 b/thirdparty/libssh2/libssh2 similarity index 100% rename from thirdparty/libssh2 rename to thirdparty/libssh2/libssh2 diff --git a/thirdparty/protobuf/Modules/FindProtobuf.cmake b/thirdparty/protobuf/Modules/FindProtobuf.cmake new file mode 100644 index 0000000000..fc518cf829 --- /dev/null +++ b/thirdparty/protobuf/Modules/FindProtobuf.cmake @@ -0,0 +1 @@ +set(Protobuf_FOUND TRUE) \ No newline at end of file diff --git a/thirdparty/build-protobuf.cmake b/thirdparty/protobuf/build-protobuf.cmake similarity index 91% rename from thirdparty/build-protobuf.cmake rename to thirdparty/protobuf/build-protobuf.cmake index fc41247d19..96cbbbb7f0 100644 --- a/thirdparty/build-protobuf.cmake +++ b/thirdparty/protobuf/build-protobuf.cmake @@ -3,7 +3,7 @@ set(protobuf_MSVC_STATIC_RUNTIME OFF CACHE BOOL "My option" FORCE) if(UNIX) set(protobuf_BUILD_SHARED_LIBS ON CACHE BOOL "My option" FORCE) endif() -add_subdirectory(thirdparty/protobuf/cmake) +add_subdirectory(thirdparty/protobuf/protobuf/cmake) if (NOT TARGET protobuf::libprotobuf) add_library(protobuf::libprotobuf ALIAS libprotobuf) @@ -47,4 +47,6 @@ if (NOT is_imported) endif() set(Protobuf_PROTOC_EXECUTABLE protoc) -set(Protobuf_VERSION 3.11.4) \ No newline at end of file +set(Protobuf_VERSION 3.11.4) + +list(PREPEND CMAKE_MODULE_PATH ${CMAKE_CURRENT_LIST_DIR}/Modules) \ No newline at end of file diff --git a/thirdparty/protobuf b/thirdparty/protobuf/protobuf similarity index 100% rename from thirdparty/protobuf rename to thirdparty/protobuf/protobuf diff --git a/thirdparty/qwt/Modules/Findqwt.cmake b/thirdparty/qwt/Modules/Findqwt.cmake new file mode 100644 index 0000000000..bf22607c96 --- /dev/null +++ b/thirdparty/qwt/Modules/Findqwt.cmake @@ -0,0 +1 @@ +set(ftxui_FOUND TRUE) \ No newline at end of file diff --git a/thirdparty/qwt/build-qwt.cmake b/thirdparty/qwt/build-qwt.cmake new file mode 100644 index 0000000000..c5520c617c --- /dev/null +++ b/thirdparty/qwt/build-qwt.cmake @@ -0,0 +1,2 @@ +add_subdirectory(thirdparty/qwt) +list(PREPEND CMAKE_MODULE_PATH ${CMAKE_CURRENT_LIST_DIR}/Modules) \ No newline at end of file diff --git a/thirdparty/recycle/Modules/Findrecycle.cmake b/thirdparty/recycle/Modules/Findrecycle.cmake new file mode 100644 index 0000000000..84dde3a2e7 --- /dev/null +++ b/thirdparty/recycle/Modules/Findrecycle.cmake @@ -0,0 +1 @@ +set(recycle_FOUND TRUE) \ No newline at end of file diff --git a/thirdparty/recycle/build-recycle.cmake b/thirdparty/recycle/build-recycle.cmake new file mode 100644 index 0000000000..a15f814b19 --- /dev/null +++ b/thirdparty/recycle/build-recycle.cmake @@ -0,0 +1,4 @@ +add_subdirectory(thirdparty/recycle/recycle EXCLUDE_FROM_ALL) +add_library(steinwurf::recycle ALIAS recycle) + +list(PREPEND CMAKE_MODULE_PATH ${CMAKE_CURRENT_LIST_DIR}/Modules) diff --git a/thirdparty/recycle b/thirdparty/recycle/recycle similarity index 100% rename from thirdparty/recycle rename to thirdparty/recycle/recycle diff --git a/thirdparty/simpleini/Modules/Findsimpleini.cmake b/thirdparty/simpleini/Modules/Findsimpleini.cmake new file mode 100644 index 0000000000..aa8def2df4 --- /dev/null +++ b/thirdparty/simpleini/Modules/Findsimpleini.cmake @@ -0,0 +1 @@ +set(simpleini_FOUND TRUE) \ No newline at end of file diff --git a/thirdparty/simpleini/build-simpleini.cmake b/thirdparty/simpleini/build-simpleini.cmake new file mode 100644 index 0000000000..afe5f6f2c8 --- /dev/null +++ b/thirdparty/simpleini/build-simpleini.cmake @@ -0,0 +1,6 @@ +add_library(simpleini INTERFACE) +target_include_directories(simpleini INTERFACE ${CMAKE_CURRENT_LIST_DIR}/simpleini) + +add_library(simpleini::simpleini ALIAS simpleini) + +list(PREPEND CMAKE_MODULE_PATH ${CMAKE_CURRENT_LIST_DIR}/Modules) \ No newline at end of file diff --git a/thirdparty/simpleini b/thirdparty/simpleini/simpleini similarity index 100% rename from thirdparty/simpleini rename to thirdparty/simpleini/simpleini diff --git a/thirdparty/spdlog/Modules/Findspdlog.cmake b/thirdparty/spdlog/Modules/Findspdlog.cmake new file mode 100644 index 0000000000..bf22607c96 --- /dev/null +++ b/thirdparty/spdlog/Modules/Findspdlog.cmake @@ -0,0 +1 @@ +set(ftxui_FOUND TRUE) \ No newline at end of file diff --git a/thirdparty/build-spdlog.cmake b/thirdparty/spdlog/build-spdlog.cmake similarity index 81% rename from thirdparty/build-spdlog.cmake rename to thirdparty/spdlog/build-spdlog.cmake index 47ab5546db..68f32735ce 100644 --- a/thirdparty/build-spdlog.cmake +++ b/thirdparty/spdlog/build-spdlog.cmake @@ -1,7 +1,7 @@ set(SPDLOG_BUILD_EXAMPLE OFF CACHE BOOL "My option" FORCE) set(SPDLOG_BUILD_TESTS OFF CACHE BOOL "My option" FORCE) set(SPDLOG_BUILD_BENCH OFF CACHE BOOL "My option" FORCE) -add_subdirectory(thirdparty/spdlog) +add_subdirectory(thirdparty/spdlog/spdlog) if (NOT TARGET spdlog::spdlog) add_library(spdlog::spdlog ALIAS spdlog) @@ -13,4 +13,6 @@ if (NOT TARGET spdlog::spdlog) $<$>:-w> ) endif() -endif() \ No newline at end of file +endif() + +list(PREPEND CMAKE_MODULE_PATH ${CMAKE_CURRENT_LIST_DIR}/Modules) \ No newline at end of file diff --git a/thirdparty/spdlog b/thirdparty/spdlog/spdlog similarity index 100% rename from thirdparty/spdlog rename to thirdparty/spdlog/spdlog diff --git a/thirdparty/tclap/Modules/Findtclap.cmake b/thirdparty/tclap/Modules/Findtclap.cmake new file mode 100644 index 0000000000..878f3bfdc1 --- /dev/null +++ b/thirdparty/tclap/Modules/Findtclap.cmake @@ -0,0 +1 @@ +set(tclap_FOUND TRUE) \ No newline at end of file diff --git a/thirdparty/tclap/build-tclap.cmake b/thirdparty/tclap/build-tclap.cmake new file mode 100644 index 0000000000..45551fde8e --- /dev/null +++ b/thirdparty/tclap/build-tclap.cmake @@ -0,0 +1,6 @@ +add_library(tclap INTERFACE) +target_include_directories(tclap INTERFACE ${CMAKE_CURRENT_LIST_DIR}/tclap/include) + +add_library(tclap::tclap ALIAS tclap) + +list(PREPEND CMAKE_MODULE_PATH ${CMAKE_CURRENT_LIST_DIR}/Modules) \ No newline at end of file diff --git a/thirdparty/tclap b/thirdparty/tclap/tclap similarity index 100% rename from thirdparty/tclap rename to thirdparty/tclap/tclap diff --git a/thirdparty/tcp_pubsub/Modules/Findtcp_pubsub.cmake b/thirdparty/tcp_pubsub/Modules/Findtcp_pubsub.cmake new file mode 100644 index 0000000000..8f8e0a51b4 --- /dev/null +++ b/thirdparty/tcp_pubsub/Modules/Findtcp_pubsub.cmake @@ -0,0 +1 @@ +set(tcp_pubsub_FOUND TRUE) \ No newline at end of file diff --git a/thirdparty/tcp_pubsub/build-tcp_pubsub.cmake b/thirdparty/tcp_pubsub/build-tcp_pubsub.cmake new file mode 100644 index 0000000000..9a3deade29 --- /dev/null +++ b/thirdparty/tcp_pubsub/build-tcp_pubsub.cmake @@ -0,0 +1,5 @@ +add_subdirectory(thirdparty/tcp_pubsub/tcp_pubsub/tcp_pubsub EXCLUDE_FROM_ALL) +set_property(TARGET tcp_pubsub PROPERTY FOLDER lib/tcp_pubsub) +add_library(tcp_pubsub::tcp_pubsub ALIAS tcp_pubsub) + +list(PREPEND CMAKE_MODULE_PATH ${CMAKE_CURRENT_LIST_DIR}/Modules) \ No newline at end of file diff --git a/thirdparty/tcp_pubsub b/thirdparty/tcp_pubsub/tcp_pubsub similarity index 100% rename from thirdparty/tcp_pubsub rename to thirdparty/tcp_pubsub/tcp_pubsub diff --git a/thirdparty/termcolor/Modules/Findtermcolor.cmake b/thirdparty/termcolor/Modules/Findtermcolor.cmake new file mode 100644 index 0000000000..dd1636a7b1 --- /dev/null +++ b/thirdparty/termcolor/Modules/Findtermcolor.cmake @@ -0,0 +1 @@ +set(termcolor_FOUND TRUE) \ No newline at end of file diff --git a/thirdparty/termcolor/build-termcolor.cmake b/thirdparty/termcolor/build-termcolor.cmake new file mode 100644 index 0000000000..50678cf2c4 --- /dev/null +++ b/thirdparty/termcolor/build-termcolor.cmake @@ -0,0 +1,3 @@ +add_subdirectory(thirdparty/termcolor/termcolor EXCLUDE_FROM_ALL) + +list(PREPEND CMAKE_MODULE_PATH ${CMAKE_CURRENT_LIST_DIR}/Modules) \ No newline at end of file diff --git a/thirdparty/termcolor b/thirdparty/termcolor/termcolor similarity index 100% rename from thirdparty/termcolor rename to thirdparty/termcolor/termcolor diff --git a/thirdparty/tinyxml2/Modules/Findtinyxml2.cmake b/thirdparty/tinyxml2/Modules/Findtinyxml2.cmake new file mode 100644 index 0000000000..b10d41ba67 --- /dev/null +++ b/thirdparty/tinyxml2/Modules/Findtinyxml2.cmake @@ -0,0 +1 @@ +set(tinyxml2_FOUND TRUE) \ No newline at end of file diff --git a/thirdparty/build-tinyxml2.cmake b/thirdparty/tinyxml2/build-tinyxml2.cmake similarity index 80% rename from thirdparty/build-tinyxml2.cmake rename to thirdparty/tinyxml2/build-tinyxml2.cmake index 0ab732be83..fbb01ac370 100644 --- a/thirdparty/build-tinyxml2.cmake +++ b/thirdparty/tinyxml2/build-tinyxml2.cmake @@ -2,7 +2,7 @@ set(BUILD_SHARED_LIBS OFF CACHE BOOL "My option" FORCE) set(DBUILD_STATIC_LIBS ON CACHE BOOL "My option" FORCE) set(BUILD_TESTING OFF CACHE BOOL "My option" FORCE) set(BUILD_TESTS OFF CACHE BOOL "My option" FORCE) -add_subdirectory(thirdparty/tinyxml2 EXCLUDE_FROM_ALL) +add_subdirectory(thirdparty/tinyxml2/tinyxml2 EXCLUDE_FROM_ALL) if (NOT TARGET tinyxml2::tinyxml2) add_library(tinyxml2::tinyxml2 ALIAS tinyxml2) @@ -14,4 +14,6 @@ if (NOT TARGET tinyxml2::tinyxml2) $<$>:-w> ) endif () -endif () \ No newline at end of file +endif () + +list(PREPEND CMAKE_MODULE_PATH ${CMAKE_CURRENT_LIST_DIR}/Modules) \ No newline at end of file diff --git a/thirdparty/tinyxml2 b/thirdparty/tinyxml2/tinyxml2 similarity index 100% rename from thirdparty/tinyxml2 rename to thirdparty/tinyxml2/tinyxml2 diff --git a/thirdparty/udpcap/Modules/Findudpcap.cmake b/thirdparty/udpcap/Modules/Findudpcap.cmake new file mode 100644 index 0000000000..5a86153301 --- /dev/null +++ b/thirdparty/udpcap/Modules/Findudpcap.cmake @@ -0,0 +1 @@ +set(udpcap_FOUND TRUE) \ No newline at end of file diff --git a/thirdparty/build-udpcap.cmake b/thirdparty/udpcap/build-udpcap.cmake similarity index 88% rename from thirdparty/build-udpcap.cmake rename to thirdparty/udpcap/build-udpcap.cmake index 5f72c908cf..61b2e2d2e0 100644 --- a/thirdparty/build-udpcap.cmake +++ b/thirdparty/udpcap/build-udpcap.cmake @@ -16,7 +16,7 @@ set(UDPCAP_THIRDPARTY_ENABLED ON) set(UDPCAP_THIRDPARTY_USE_BUILTIN_ASIO OFF) # Add udpcap library from subdirectory -add_subdirectory(thirdparty/udpcap/ EXCLUDE_FROM_ALL) +add_subdirectory(thirdparty/udpcap/udpcap EXCLUDE_FROM_ALL) add_library(udpcap::udpcap ALIAS udpcap) # Reset static / shared libs to old value @@ -25,3 +25,5 @@ unset(BUILD_SHARED_LIBS_OLD) # move the udpcap target to a subdirectory in the IDE set_property(TARGET udpcap PROPERTY FOLDER lib/udpcap) + +list(PREPEND CMAKE_MODULE_PATH ${CMAKE_CURRENT_LIST_DIR}/Modules) \ No newline at end of file diff --git a/thirdparty/udpcap b/thirdparty/udpcap/udpcap similarity index 100% rename from thirdparty/udpcap rename to thirdparty/udpcap/udpcap diff --git a/thirdparty/yaml-cpp/Modules/Findyaml-cpp.cmake b/thirdparty/yaml-cpp/Modules/Findyaml-cpp.cmake new file mode 100644 index 0000000000..93a6f5c624 --- /dev/null +++ b/thirdparty/yaml-cpp/Modules/Findyaml-cpp.cmake @@ -0,0 +1 @@ +set(yaml-cpp_FOUND TRUE) \ No newline at end of file diff --git a/thirdparty/build-yaml-cpp.cmake b/thirdparty/yaml-cpp/build-yaml-cpp.cmake similarity index 69% rename from thirdparty/build-yaml-cpp.cmake rename to thirdparty/yaml-cpp/build-yaml-cpp.cmake index d3460762b4..d42a9d8450 100644 --- a/thirdparty/build-yaml-cpp.cmake +++ b/thirdparty/yaml-cpp/build-yaml-cpp.cmake @@ -3,4 +3,6 @@ set(YAML_MSVC_SHARED_RT ON CACHE BOOL "My option" FORCE) set(YAML_BUILD_SHARED_LIBS OFF CACHE BOOL "My option" FORCE) set(YAML_CPP_BUILD_TOOLS OFF CACHE BOOL "My option" FORCE) set(YAML_CPP_BUILD_CONTRIB OFF CACHE BOOL "My option" FORCE) -add_subdirectory(thirdparty/yaml-cpp EXCLUDE_FROM_ALL) \ No newline at end of file +add_subdirectory(thirdparty/yaml-cpp/yaml-cpp EXCLUDE_FROM_ALL) + +list(PREPEND CMAKE_MODULE_PATH ${CMAKE_CURRENT_LIST_DIR}/Modules) \ No newline at end of file diff --git a/thirdparty/yaml-cpp b/thirdparty/yaml-cpp/yaml-cpp similarity index 100% rename from thirdparty/yaml-cpp rename to thirdparty/yaml-cpp/yaml-cpp diff --git a/thirdparty/zlib/Modules/Findzlib.cmake b/thirdparty/zlib/Modules/Findzlib.cmake new file mode 100644 index 0000000000..8a435b0faf --- /dev/null +++ b/thirdparty/zlib/Modules/Findzlib.cmake @@ -0,0 +1 @@ +set(zlib_FOUND TRUE) \ No newline at end of file diff --git a/thirdparty/zlib/build-zlib.cmake b/thirdparty/zlib/build-zlib.cmake new file mode 100644 index 0000000000..a13aa38711 --- /dev/null +++ b/thirdparty/zlib/build-zlib.cmake @@ -0,0 +1,5 @@ +add_subdirectory(thirdparty/zlib/zlib) +add_library(ZLIB::zlibstatic ALIAS zlibstatic) +add_library(ZLIB::zlib ALIAS zlib) + +list(PREPEND CMAKE_MODULE_PATH ${CMAKE_CURRENT_LIST_DIR}/Modules) \ No newline at end of file diff --git a/thirdparty/zlib b/thirdparty/zlib/zlib similarity index 100% rename from thirdparty/zlib rename to thirdparty/zlib/zlib