diff --git a/CMakeLists.txt b/CMakeLists.txt index 2ae3ae947a2f82542b9a1339f8a4da1d2a31c53d..a3c5ef81cad0523a4deb1c508dbe5f1a8be3fa89 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -28,22 +28,14 @@ set(CMAKE_CXX_STANDARD 17) set(CMAKE_CXX_STANDARD_REQUIRED ON) -# dependency management with conan -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(KEEP_RPATHS) +# find dependencies +find_package(Boost) +find_package(caosdb) +find_package(GTest) + # remove path-like elements from CONAN_LIBS, relevant on MacOS -string(REGEX REPLACE ";/[^;]+" "" CONAN_LIBS "${CONAN_LIBS}") - -# fix grpc - remove unsecure (no-op ssl implementations) -string(REGEX REPLACE ";grpc\\+?\\+?_unsecure" "" CONAN_LIBS_GRPC - "${CONAN_LIBS_GRPC}") -string(REGEX REPLACE ";grpc\\+?\\+?_unsecure" "" CONAN_PKG_LIBS_GRPC - "${CONAN_PKG_LIBS_GRPC}") -string(REGEX REPLACE ";grpc\\+?\\+?_unsecure" "" CONAN_LIBS - "${CONAN_LIBS}") -string(REGEX REPLACE ";grpc\\+?\\+?_unsecure" "" CONAN_PKG_LIBS - "${CONAN_PKG_LIBS}") +# string(REGEX REPLACE ";/[^;]+" "" CONAN_LIBS "${CONAN_LIBS}") ####################################################### ### code formatting with clang-format @@ -102,11 +94,16 @@ set(PKG_INST_DIR "${PROJECT_SOURCE_DIR}/inst") file(MAKE_DIRECTORY ${PKG_INST_DIR}) # Options for mex compilation -string(REGEX REPLACE ";" ";-I" _MKOCTFILE_INCLUDES "-I${CONAN_INCLUDE_DIRS};${MAOXDB_DIR}") -string(REGEX REPLACE ";" ";-L" _MKOCTFILE_LIB_DIRS "-L${CONAN_LIB_DIRS};${_MAOX_LIB_DIR}") -string(REGEX REPLACE ";" ";-l" _MKOCTFILE_LIBS "-lmaoxdb;${CONAN_LIBS}") +# WIP: Remove the CONAN_INCLUDE_DIRS and CONAN_LIB_DIRS, replace with CMAKE_INCLUDE_PATH and CMAKE_LIBRARY_PATH +message("INCLUDE_DIRS: ${CMAKE_INCLUDE_PATH}") +message("LIB_DIRS: ${CMAKE_LIBRARY_PATH}") +message("LIBS: ${LIBS}") + +string(REGEX REPLACE ";" ";-I" _MKOCTFILE_INCLUDES "-I${CMAKE_INCLUDE_PATH}") +string(REGEX REPLACE ";" ";-L" _MKOCTFILE_LIB_DIRS "-L${CMAKE_LIBRARY_PATH};${_MAOX_LIB_DIR}") +string(REGEX REPLACE ";" ";-l" _MKOCTFILE_LIBS "-lmaoxdb;caosdb") # Needs this in front: -Wl,-rpath, -string(REGEX REPLACE ";" ",-rpath," _MKOCTFILE_RPATH "${CONAN_LIB_DIRS}") +string(REGEX REPLACE ";" ",-rpath," _MKOCTFILE_RPATH "${CMAKE_LIBRARY_PATH}") set(_MKOCTFILE_OPTIONS "-Wl,-rpath,${_MKOCTFILE_RPATH}" "--mex" "-std=gnu++17" "-L/usr/local/lib" ${_MKOCTFILE_INCLUDES} ${_MKOCTFILE_LIB_DIRS} ${_MKOCTFILE_LIBS}) @@ -183,6 +180,7 @@ endif() option(TEST "Unit test with gtest" OFF) if(TEST) + find_package(GTest) set(CMAKE_BUILD_TYPE Debug) # cmake tests suffers from not being able to define dependencies, see # https://stackoverflow.com/questions/733475, so we disable it for now. @@ -217,7 +215,7 @@ if(TEST) ${OCTINCLUDEDIR} ${MAOXDB_DIR}) target_link_libraries(${test_case_name} PUBLIC - maoxdb ${OCTLIBS} ${CONAN_LIBS_CAOSDB} ${CONAN_LIBS_GTEST} ${CONAN_LIBS_BOOST}) + maoxdb ${OCTLIBS} caosdb::caosdb GTest::gtest ${Boost_LIBRARIES}) target_link_directories(${test_case_name} PUBLIC ${OCTLIBDIR}) message(STATUS "CMAKE_CURRENT_BINARY_DIR: ${CMAKE_CURRENT_BINARY_DIR}") gtest_discover_tests(${test_case_name}