From 741ffdfd472f26be9bd2ddc4d97c2b46e349ca6a Mon Sep 17 00:00:00 2001 From: Johannes Holke Date: Fri, 16 Jan 2026 13:23:58 +0100 Subject: [PATCH] Expose T8CODE_VTK_VERSION_USED and T8_VTK_VERSION_USED to linking libraries --- src/CMakeLists.txt | 6 +++++- src/config.cmake.in | 3 +++ 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 6dbe55a724..e0c0db67f8 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -84,7 +84,11 @@ if ( T8CODE_ENABLE_MPI ) endif() if( T8CODE_ENABLE_VTK ) - target_compile_definitions( T8 PUBLIC T8_VTK_VERSION_USED="${VTK_MAJOR_VERSION}.${VTK_MINOR_VERSION}" ) + set (T8CODE_VTK_VERSION_USED "${VTK_MAJOR_VERSION}.${VTK_MINOR_VERSION}") + # Define T8_VTK_VERSION_USED for internal and external use in source files. + # Note, external libraries linking against t8code (i.e. using find_package ( T8CODE REQUIRED )) can + # use T8_VTK_VERSION_USED in source code and T8CODE_VTK_VERSION_USED (defined in config.cmake.in) in their CMake scripts. + target_compile_definitions( T8 PUBLIC T8_VTK_VERSION_USED="${T8CODE_VTK_VERSION_USED}" ) target_compile_definitions( T8 PUBLIC T8_ENABLE_VTK=1 ) target_include_directories( T8 PUBLIC ${VTK_INCLUDE_DIR} ) target_link_libraries( T8 PUBLIC ${VTK_LIBRARIES} ) diff --git a/src/config.cmake.in b/src/config.cmake.in index 7444c4aaf6..8e4ade470b 100644 --- a/src/config.cmake.in +++ b/src/config.cmake.in @@ -19,6 +19,9 @@ set( T8CODE_USE_SYSTEM_P4EST @T8CODE_USE_SYSTEM_P4EST@ ) if(T8CODE_ENABLE_VTK) find_dependency(VTK) + # Expose the variable T8CODE_VTK_VERSION_USED to external CMake scripts linking against t8code + # for example with find_package ( T8CODE REQUIRED ) + set (T8CODE_VTK_VERSION_USED "@T8CODE_VTK_VERSION_USED@") endif() include( "${CMAKE_CURRENT_LIST_DIR}/@PROJECT_NAME@-targets.cmake" )