From 503becd8dc9cfa07e864e50195c6f28bd00f6d9c Mon Sep 17 00:00:00 2001 From: Jarkko Koivikko Date: Wed, 25 Jun 2025 08:54:57 +0300 Subject: [PATCH] cmake: write xtensor.hpp to local dir to keep global build dir clean Generate xtensor.hpp into ${CMAKE_CURRENT_BINARY_DIR} instead of top- level ${CMAKE_BINARY_DIR}. Expose ${CMAKE_CURRENT_BINARY_DIR} via BUILD_INTERFACE so consumers can find the generated header at build time while keeping install paths unchanged. --- CMakeLists.txt | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index f2a9fdf12..851c4e09d 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -192,6 +192,7 @@ add_library(xtensor INTERFACE) target_include_directories(xtensor INTERFACE $ + $ $) target_compile_features(xtensor INTERFACE cxx_std_20) @@ -321,7 +322,7 @@ POSTFIX(XTENSOR_SINGLE_INCLUDE ">" ${XTENSOR_SINGLE_INCLUDE}) string(REPLACE ";" "\n" XTENSOR_SINGLE_INCLUDE "${XTENSOR_SINGLE_INCLUDE}") string(CONCAT XTENSOR_SINGLE_INCLUDE "#ifndef XTENSOR\n" "#define XTENSOR\n\n" "${XTENSOR_SINGLE_INCLUDE}" "\n\n#endif\n") -file(WRITE "${CMAKE_BINARY_DIR}/xtensor.hpp" "${XTENSOR_SINGLE_INCLUDE}") +file(WRITE "${CMAKE_CURRENT_BINARY_DIR}/xtensor.hpp" "${XTENSOR_SINGLE_INCLUDE}") -install(FILES "${CMAKE_BINARY_DIR}/xtensor.hpp" +install(FILES "${CMAKE_CURRENT_BINARY_DIR}/xtensor.hpp" DESTINATION ${CMAKE_INSTALL_INCLUDEDIR})