Skip to content
Snippets Groups Projects
Commit 35e36c60 authored by Daniel Hornung's avatar Daniel Hornung
Browse files

ENH: Debug builds should work now: "system" including external libs

parent 8ef5aeb0
No related branches found
No related tags found
2 merge requests!33Release 0.1,!30Debug build
......@@ -147,17 +147,19 @@ add_custom_command(
###############################################################################
if("${CMAKE_BUILD_TYPE}" MATCHES "Debug")
add_library(caosdb_grpc SHARED ${GRPC_GENERATED})
add_library(caosdb SHARED ${libcaosdb_INCL} ${libcaosdb_SRC})
add_library(caosdb_grpc SHARED ${GRPC_GENERATED})
add_library(caosdb SHARED ${libcaosdb_INCL} ${libcaosdb_SRC})
target_link_libraries(caosdb caosdb_grpc)
set(LIBCAOSDB caosdb caosdb_grpc)
target_include_directories(caosdb_grpc SYSTEM PUBLIC
${CONAN_INCLUDE_DIRS}
)
target_include_directories(caosdb_grpc PUBLIC
$<BUILD_INTERFACE:${libcaosdb_SOURCE_DIR}/include>
$<BUILD_INTERFACE:${libcaosdb_BINARY_DIR}/include>
$<INSTALL_INTERFACE:include>
${CONAN_INCLUDE_DIRS}
)
else()
add_library(caosdb
......@@ -167,11 +169,13 @@ endif()
target_link_libraries(caosdb
${CONAN_LIBS}
)
target_include_directories(caosdb SYSTEM PUBLIC
${CONAN_INCLUDE_DIRS}
)
target_include_directories(caosdb PUBLIC
$<BUILD_INTERFACE:${libcaosdb_SOURCE_DIR}/include>
$<BUILD_INTERFACE:${libcaosdb_BINARY_DIR}/include>
$<INSTALL_INTERFACE:include>
${CONAN_INCLUDE_DIRS}
)
add_library(ccaosdb SHARED src/ccaosdb.cpp)
......@@ -181,11 +185,13 @@ target_link_libraries(ccaosdb
)
add_executable(ccaosdbcli EXCLUDE_FROM_ALL src/ccaosdbcli.c)
target_include_directories(ccaosdbcli SYSTEM PUBLIC
${CONAN_INCLUDE_DIRS}
)
target_include_directories(ccaosdbcli PUBLIC
$<BUILD_INTERFACE:${libcaosdb_SOURCE_DIR}/include>
$<BUILD_INTERFACE:${libcaosdb_BINARY_DIR}/include>
$<INSTALL_INTERFACE:include>
${CONAN_INCLUDE_DIRS}
)
target_link_libraries(ccaosdbcli
ccaosdb
......@@ -193,11 +199,13 @@ target_link_libraries(ccaosdbcli
)
add_executable(cxxcaosdbcli EXCLUDE_FROM_ALL src/cxxcaosdbcli.cpp)
target_include_directories(cxxcaosdbcli SYSTEM PUBLIC
${CONAN_INCLUDE_DIRS}
)
target_include_directories(cxxcaosdbcli PUBLIC
$<BUILD_INTERFACE:${libcaosdb_SOURCE_DIR}/include>
$<BUILD_INTERFACE:${libcaosdb_BINARY_DIR}/include>
$<INSTALL_INTERFACE:include>
${CONAN_INCLUDE_DIRS}
)
target_link_libraries(cxxcaosdbcli
${LIBCAOSDB}
......@@ -205,7 +213,6 @@ target_link_libraries(cxxcaosdbcli
)
#######################################################
### LINTING with CLANG-TIDY and INCLUDE-WHAT-YOU-USE
#######################################################
......
......@@ -62,5 +62,12 @@ conan-create:
conan create . -s $(CONAN_SETTINGS)
.PHONY: conan-create
conan-create-debug:
conan create . -s $(CONAN_SETTINGS) -s build_type=Debug
.PHONY: conan-create
conan: conan-install conan-create
.PHONY: conan
conan-debug: conan-install conan-create-debug
.PHONY: conan-debug
......@@ -26,7 +26,7 @@
#include "caosdb_test_utility.h" // for EXPECT_THROW_MESSAGE, TEST_...
#include <gtest/gtest-message.h> // for Message
#include <gtest/gtest-test-part.h> // for SuiteApiResolver, TestPartR...
#include "gtest/gtest_pred_impl.h" // for AssertionResult, TestInfo
#include <gtest/gtest_pred_impl.h> // for AssertionResult, TestInfo
#include <memory> // for allocator, operator!=, shar...
#include <string> // for operator+, string
......
......@@ -24,7 +24,7 @@
#include "caosdb/info/v1alpha1/main.pb.h" // for VersionInfo
#include <gtest/gtest-message.h> // for Message
#include <gtest/gtest-test-part.h> // for TestPartResult, SuiteApiRe...
#include "gtest/gtest_pred_impl.h" // for Test, EXPECT_EQ, TEST
#include <gtest/gtest_pred_impl.h> // for Test, EXPECT_EQ, TEST
#include <memory> // for allocator
namespace caosdb::info {
......
......@@ -33,6 +33,9 @@ foreach (i RANGE "${len_test_cases}")
${CONAN_LIBS_GTEST} ${CONAN_LIBS_GRPC} ${CONAN_LIBS_ABSEIL}
${CONAN_LIBS_OPENSSL} ${CONAN_LIBS_C-ARES} ${CONAN_LIBS_BZIP2}
${CONAN_LIBS_PROTOBUF} ${CONAN_LIBS_ZLIB})
if("${CMAKE_BUILD_TYPE}" MATCHES "Debug")
target_link_libraries(${test_case_name} PRIVATE caosdb_grpc)
endif()
target_include_directories(${test_case_name} PUBLIC ${CONAN_INCLUDE_DIRS})
set_target_properties(${test_case_name}
PROPERTIES
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment