From 08eb76b6976669dd9fdac57d22e3064ddefe477d Mon Sep 17 00:00:00 2001 From: Daniel Weindl Date: Mon, 30 Sep 2024 08:59:20 +0200 Subject: [PATCH] CMake: restrict visibility of private headers (#2516) Only expose to where they are required. --- CMakeLists.txt | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index a0a1555a4d..bdb9d45fb3 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -130,7 +130,8 @@ elseif(AMICI_TRY_ENABLE_HDF5) endif() set(VENDORED_SUNDIALS_DIR ${CMAKE_CURRENT_SOURCE_DIR}/ThirdParty/sundials) -set(SUNDIALS_PRIVATE_INCLUDE_DIRS "${VENDORED_SUNDIALS_DIR}/src") +set(SUNDIALS_PRIVATE_INCLUDE_DIRS + "${VENDORED_SUNDIALS_DIR}/src;${VENDORED_SUNDIALS_DIR}/src/sundials") # Handle different sundials build/install dirs, depending on whether we are # building the Python extension only or the full C++ interface if(AMICI_PYTHON_BUILD_EXT_ONLY) @@ -224,7 +225,14 @@ set(AMICI_CXX_OPTIONS "" CACHE STRING "C++ options for libamici (semicolon-separated)") target_compile_options(${PROJECT_NAME} PRIVATE "${AMICI_CXX_OPTIONS}") - +set_property( + SOURCE src/solver_cvodes.cpp + APPEND + PROPERTY INCLUDE_DIRECTORIES "${SUNDIALS_PRIVATE_INCLUDE_DIRS}") +set_property( + SOURCE src/solver_idas.cpp + APPEND + PROPERTY INCLUDE_DIRECTORIES "${SUNDIALS_PRIVATE_INCLUDE_DIRS}") add_dependencies(${PROJECT_NAME} version) file(GLOB PUBLIC_HEADERS include/amici/*.h) @@ -237,8 +245,7 @@ target_include_directories( $ $ $ - $ - PRIVATE ${SUNDIALS_PRIVATE_INCLUDE_DIRS}) + $) if("$ENV{ENABLE_AMICI_DEBUGGING}" OR "$ENV{ENABLE_GCOV_COVERAGE}"