Skip to content
Snippets Groups Projects
Commit 9f736828 authored by Joscha Schmiedt's avatar Joscha Schmiedt
Browse files

WIP: Adapt CMakeLists.txt for Conan 2

- Remove conan_basic_setup
- Replace usage of conan variables with CMake variables (from toolchain)
parent 0d7d5f7c
Branches
Tags
2 merge requests!11Draft: Adapt for renamed cpplib,!10Draft: Adapt conanfile.txt for Conan 2
...@@ -28,22 +28,14 @@ set(CMAKE_CXX_STANDARD 17) ...@@ -28,22 +28,14 @@ set(CMAKE_CXX_STANDARD 17)
set(CMAKE_CXX_STANDARD_REQUIRED ON) set(CMAKE_CXX_STANDARD_REQUIRED ON)
# dependency management with conan # find dependencies
include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) find_package(Boost)
conan_basic_setup(KEEP_RPATHS) find_package(caosdb)
find_package(GTest)
# remove path-like elements from CONAN_LIBS, relevant on MacOS # remove path-like elements from CONAN_LIBS, relevant on MacOS
string(REGEX REPLACE ";/[^;]+" "" CONAN_LIBS "${CONAN_LIBS}") # 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}")
####################################################### #######################################################
### code formatting with clang-format ### code formatting with clang-format
...@@ -102,11 +94,16 @@ set(PKG_INST_DIR "${PROJECT_SOURCE_DIR}/inst") ...@@ -102,11 +94,16 @@ set(PKG_INST_DIR "${PROJECT_SOURCE_DIR}/inst")
file(MAKE_DIRECTORY ${PKG_INST_DIR}) file(MAKE_DIRECTORY ${PKG_INST_DIR})
# Options for mex compilation # Options for mex compilation
string(REGEX REPLACE ";" ";-I" _MKOCTFILE_INCLUDES "-I${CONAN_INCLUDE_DIRS};${MAOXDB_DIR}") # WIP: Remove the CONAN_INCLUDE_DIRS and CONAN_LIB_DIRS, replace with CMAKE_INCLUDE_PATH and CMAKE_LIBRARY_PATH
string(REGEX REPLACE ";" ";-L" _MKOCTFILE_LIB_DIRS "-L${CONAN_LIB_DIRS};${_MAOX_LIB_DIR}") message("INCLUDE_DIRS: ${CMAKE_INCLUDE_PATH}")
string(REGEX REPLACE ";" ";-l" _MKOCTFILE_LIBS "-lmaoxdb;${CONAN_LIBS}") 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, # 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" set(_MKOCTFILE_OPTIONS "-Wl,-rpath,${_MKOCTFILE_RPATH}" "--mex" "-std=gnu++17"
"-L/usr/local/lib" ${_MKOCTFILE_INCLUDES} ${_MKOCTFILE_LIB_DIRS} ${_MKOCTFILE_LIBS}) "-L/usr/local/lib" ${_MKOCTFILE_INCLUDES} ${_MKOCTFILE_LIB_DIRS} ${_MKOCTFILE_LIBS})
...@@ -183,6 +180,7 @@ endif() ...@@ -183,6 +180,7 @@ endif()
option(TEST "Unit test with gtest" OFF) option(TEST "Unit test with gtest" OFF)
if(TEST) if(TEST)
find_package(GTest)
set(CMAKE_BUILD_TYPE Debug) set(CMAKE_BUILD_TYPE Debug)
# cmake tests suffers from not being able to define dependencies, see # cmake tests suffers from not being able to define dependencies, see
# https://stackoverflow.com/questions/733475, so we disable it for now. # https://stackoverflow.com/questions/733475, so we disable it for now.
...@@ -217,7 +215,7 @@ if(TEST) ...@@ -217,7 +215,7 @@ if(TEST)
${OCTINCLUDEDIR} ${OCTINCLUDEDIR}
${MAOXDB_DIR}) ${MAOXDB_DIR})
target_link_libraries(${test_case_name} PUBLIC 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}) target_link_directories(${test_case_name} PUBLIC ${OCTLIBDIR})
message(STATUS "CMAKE_CURRENT_BINARY_DIR: ${CMAKE_CURRENT_BINARY_DIR}") message(STATUS "CMAKE_CURRENT_BINARY_DIR: ${CMAKE_CURRENT_BINARY_DIR}")
gtest_discover_tests(${test_case_name} gtest_discover_tests(${test_case_name}
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment