Commit f91d7868 authored by Dominik Charousset's avatar Dominik Charousset

Fix include directories and prefer -pthread flag

parent cfdefa82
cmake_minimum_required(VERSION 3.0 FATAL_ERROR)
cmake_minimum_required(VERSION 3.2.3 FATAL_ERROR)
project(CAF CXX)
# -- includes ------------------------------------------------------------------
......@@ -12,6 +12,7 @@ include(GenerateExportHeader) # Auto-generates dllexport macros
option(BUILD_SHARED_LIBS "Shared library targets" ON)
option(CMAKE_EXPORT_COMPILE_COMMANDS "JSON compile commands database" ON)
option(THREADS_PREFER_PTHREAD_FLAG "Prefer -pthread flag if available " ON)
# -- CAF options that are off by default ----------------------------------------
......
......@@ -227,11 +227,6 @@ add_executable(caf-core-test
test/core-test.cpp
$<TARGET_OBJECTS:libcaf_core_obj>)
if(CAF_SANITIZERS)
target_link_libraries(caf-core-test PRIVATE -fsanitize=${CAF_SANITIZERS})
endif()
target_include_directories(caf-core-test PRIVATE
"${CMAKE_CURRENT_SOURCE_DIR}/test")
......@@ -239,6 +234,9 @@ target_compile_definitions(caf-core-test PRIVATE libcaf_core_EXPORTS)
target_link_libraries(caf-core-test PUBLIC CAF::test)
target_link_libraries(caf-core-test PRIVATE
$<TARGET_PROPERTY:CAF::core,INTERFACE_LINK_LIBRARIES>)
target_include_directories(caf-core-test PRIVATE
"${CMAKE_BINARY_DIR}" "${CMAKE_CURRENT_SOURCE_DIR}")
......
......@@ -72,7 +72,9 @@ if(BUILD_SHARED_LIBS AND NOT WIN32)
target_compile_options(libcaf_io_obj PRIVATE -fPIC)
endif()
target_link_libraries(libcaf_io_obj PRIVATE CAF::core)
target_include_directories(libcaf_io_obj PRIVATE
$<TARGET_PROPERTY:libcaf_core,INTERFACE_INCLUDE_DIRECTORIES>)
target_link_libraries(libcaf_io PUBLIC CAF::core)
if(MSVC)
......
......@@ -33,9 +33,10 @@ if(NOT TARGET OpenSSL::SSL OR NOT TARGET OpenSSL::Crypto)
find_package(OpenSSL REQUIRED)
endif()
target_link_libraries(libcaf_openssl_obj PUBLIC
CAF::core CAF::io
OpenSSL::SSL OpenSSL::Crypto)
target_include_directories(libcaf_openssl_obj PRIVATE
$<TARGET_PROPERTY:libcaf_core,INTERFACE_INCLUDE_DIRECTORIES>
$<TARGET_PROPERTY:libcaf_io,INTERFACE_INCLUDE_DIRECTORIES>
${OPENSSL_INCLUDE_DIR})
target_link_libraries(libcaf_openssl PUBLIC
CAF::core CAF::io
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment