diff --git a/core/base/CMakeLists.txt b/core/base/CMakeLists.txt index e36c29a7f8e40..33a5c3728882c 100644 --- a/core/base/CMakeLists.txt +++ b/core/base/CMakeLists.txt @@ -198,15 +198,15 @@ set(BASE_SOURCES src/TVirtualX.cxx ) -set(RELATIVE_BASE_INC_HEADERS ${BASE_HEADERS}) -list(TRANSFORM RELATIVE_BASE_INC_HEADERS PREPEND inc/) +set(RELATIVE_INC_HEADERS ${BASE_HEADERS}) +list(TRANSFORM RELATIVE_INC_HEADERS PREPEND inc/) # only here complete list of headers can be propogated to parent cmake file set_property(TARGET Core APPEND PROPERTY DICT_HEADERS ${BASE_HEADERS}) target_sources(Core PRIVATE ${BASE_SOURCES}) -if(NOT CMAKE_VERSION VERSION_LESS "3.23.0") # https://discourse.cmake.org/t/file-set-xyz-is-listed-in-interface-file-sets-of-w-but-has-not-been-exported/9131/3 +if(NOT CMAKE_VERSION VERSION_LESS "3.23.0") target_sources( Core PRIVATE @@ -214,7 +214,8 @@ if(NOT CMAKE_VERSION VERSION_LESS "3.23.0") # https://discourse.cmake.org/t/file TYPE HEADERS BASE_DIRS inc/ src/ FILES - ${RELATIVE_BASE_INC_HEADERS} + ${RELATIVE_INC_HEADERS} + inc/LinkDef.h src/TListOfTypes.h ) endif() diff --git a/core/clib/CMakeLists.txt b/core/clib/CMakeLists.txt index 64a874c3bc8f5..034ae14af7c48 100644 --- a/core/clib/CMakeLists.txt +++ b/core/clib/CMakeLists.txt @@ -8,12 +8,28 @@ # CMakeLists.txt file for building ROOT core/clib package ############################################################################ -set_property(TARGET Core APPEND PROPERTY DICT_HEADERS +set(CLIB_HEADERS strlcpy.h snprintf.h strtok.h ) +set(RELATIVE_INC_HEADERS ${CLIB_HEADERS}) +list(TRANSFORM RELATIVE_INC_HEADERS PREPEND inc/) + +set(CLIB_RES_HEADERS + mmalloc.h + mmconfig.h + mmprivate.h +) + +set(RELATIVE_RES_HEADERS ${CLIB_RES_HEADERS}) +list(TRANSFORM RELATIVE_RES_HEADERS PREPEND res/) + +set_property(TARGET Core APPEND PROPERTY DICT_HEADERS + ${CLIB_HEADERS} +) + ROOT_OBJECT_LIBRARY(Clib src/attach.c src/detach.c @@ -31,6 +47,19 @@ ROOT_OBJECT_LIBRARY(Clib src/strlcpy.c ) +if(NOT CMAKE_VERSION VERSION_LESS "3.23.0") + target_sources( + Clib + PRIVATE + FILE_SET private_header_files + TYPE HEADERS + BASE_DIRS inc/ res/ + FILES + ${RELATIVE_INC_HEADERS} + ${RELATIVE_RES_HEADERS} + ) +endif() + target_include_directories(Clib PUBLIC $ diff --git a/core/clingutils/CMakeLists.txt b/core/clingutils/CMakeLists.txt index 2a74a10eb0703..c25dbafe7a1a9 100644 --- a/core/clingutils/CMakeLists.txt +++ b/core/clingutils/CMakeLists.txt @@ -25,6 +25,22 @@ ROOT_OBJECT_LIBRARY(ClingUtils src/TClingUtils.cxx ) +set(RELATIVE_RES_HEADERS RStl.h TClingUtils.h) +list(TRANSFORM RELATIVE_RES_HEADERS PREPEND res/) + +if(NOT CMAKE_VERSION VERSION_LESS "3.23.0") + target_sources( + ClingUtils + PRIVATE + FILE_SET private_header_files + TYPE HEADERS + BASE_DIRS res/ inc/ + FILES + ${RELATIVE_RES_HEADERS} + inc/root_std_complex.h + ) +endif() + if(NOT MSVC) target_compile_options(ClingUtils PRIVATE -Wno-error) endif() diff --git a/core/cont/CMakeLists.txt b/core/cont/CMakeLists.txt index 421f8e8f0bee3..8a968e5a1db80 100644 --- a/core/cont/CMakeLists.txt +++ b/core/cont/CMakeLists.txt @@ -7,8 +7,7 @@ ############################################################################ # CMakeLists.txt file for building ROOT core/cont package ############################################################################ - -set_property(TARGET Core APPEND PROPERTY DICT_HEADERS +set(CONT_HEADERS ROOT/TSeq.hxx TArrayC.h TArrayD.h @@ -40,6 +39,8 @@ set_property(TARGET Core APPEND PROPERTY DICT_HEADERS TVirtualCollectionProxy.h ) +set_property(TARGET Core APPEND PROPERTY DICT_HEADERS ${CONT_HEADERS}) + target_sources(Core PRIVATE src/TArrayC.cxx src/TArray.cxx @@ -72,6 +73,21 @@ target_sources(Core PRIVATE target_include_directories(Core PUBLIC $) +set(RELATIVE_INC_HEADERS ${CONT_HEADERS}) +list(TRANSFORM RELATIVE_INC_HEADERS PREPEND inc/) + +if(NOT CMAKE_VERSION VERSION_LESS "3.23.0") + target_sources( + Core + PRIVATE + FILE_SET private_header_files + TYPE HEADERS + BASE_DIRS inc/ + FILES + ${RELATIVE_INC_HEADERS} + ) +endif() + ROOT_INSTALL_HEADERS() ROOT_ADD_TEST_SUBDIRECTORY(test) diff --git a/core/dictgen/CMakeLists.txt b/core/dictgen/CMakeLists.txt index 3df26f190b2bd..ab601687d258c 100644 --- a/core/dictgen/CMakeLists.txt +++ b/core/dictgen/CMakeLists.txt @@ -27,6 +27,36 @@ ROOT_OBJECT_LIBRARY(Dictgen XMLReader.cxx ) +set(DICTGEN_HEADERS + BaseSelectionRule.h + ClassSelectionRule.h + cygpath.h + DictSelectionReader.h + LinkdefReader.h + OptionParser.h + rootcling_impl.h + Scanner.h + SelectionRules.h + TModuleGenerator.h + VariableSelectionRule.h + XMLReader.h +) + +set(RELATIVE_RES_HEADERS ${DICTGEN_HEADERS}) +list(TRANSFORM RELATIVE_RES_HEADERS PREPEND res/) + +if(NOT CMAKE_VERSION VERSION_LESS "3.23.0") + target_sources( + Dictgen + PRIVATE + FILE_SET private_header_files + TYPE HEADERS + BASE_DIRS res/ + FILES + ${RELATIVE_RES_HEADERS} + ) +endif() + # This directory contains files that include llvm, which can give warnings. if(NOT MSVC) target_compile_options(Dictgen PRIVATE -Wno-error) diff --git a/core/foundation/CMakeLists.txt b/core/foundation/CMakeLists.txt index c2d8b61a40fc6..6994ca3023f2d 100644 --- a/core/foundation/CMakeLists.txt +++ b/core/foundation/CMakeLists.txt @@ -8,7 +8,7 @@ # CMakeLists.txt file for building ROOT core/foundation package ############################################################################ -set_property(TARGET Core APPEND PROPERTY DICT_HEADERS +set(FOUNDATION_HEADERS ESTLType.h RStringView.h TClassEdit.h @@ -25,6 +25,8 @@ set_property(TARGET Core APPEND PROPERTY DICT_HEADERS ROOT/TypeTraits.hxx ) +set_property(TARGET Core APPEND PROPERTY DICT_HEADERS ${FOUNDATION_HEADERS}) + set(FOUNDATION_SOURCES src/FoundationUtils.cxx src/RConversionRuleParser.cxx @@ -37,6 +39,8 @@ set(FOUNDATION_SOURCES set(FOUNDATION_HEADER_DIRS inc/) + + target_sources(Core PRIVATE ${FOUNDATION_SOURCES}) target_include_directories(Core @@ -61,5 +65,30 @@ set_target_properties(Foundation_Stage1 PROPERTIES VISIBILITY_INLINES_HIDDEN "ON" ) + +set(RELATIVE_INC_HEADERS ${FOUNDATION_HEADERS}) +list(TRANSFORM RELATIVE_INC_HEADERS PREPEND inc/) + +if(NOT CMAKE_VERSION VERSION_LESS "3.23.0") + target_sources( + Foundation_Stage1 + PRIVATE + FILE_SET private_header_files + TYPE HEADERS + BASE_DIRS inc/ + FILES + ${RELATIVE_INC_HEADERS} + ) +target_sources( + Core + PRIVATE + FILE_SET private_header_files + TYPE HEADERS + BASE_DIRS inc/ + FILES + ${RELATIVE_INC_HEADERS} +) +endif() + ROOT_INSTALL_HEADERS(${FOUNDATION_HEADER_DIRS}) ROOT_ADD_TEST_SUBDIRECTORY(test) diff --git a/core/gui/CMakeLists.txt b/core/gui/CMakeLists.txt index b51d25f3a6046..dc70c777de000 100644 --- a/core/gui/CMakeLists.txt +++ b/core/gui/CMakeLists.txt @@ -8,7 +8,7 @@ # CMakeLists.txt file for building ROOT core/meta package ############################################################################ -set_property(TARGET Core APPEND PROPERTY DICT_HEADERS +set(GUI_HEADERS GuiTypes.h TApplicationImp.h TBrowser.h @@ -25,6 +25,10 @@ set_property(TARGET Core APPEND PROPERTY DICT_HEADERS TToggle.h ) + + +set_property(TARGET Core APPEND PROPERTY DICT_HEADERS ${GUI_HEADERS}) + target_sources(Core PRIVATE src/InitGui.cxx src/TApplicationImp.cxx @@ -46,4 +50,19 @@ target_include_directories(Core PUBLIC $ ) +set(RELATIVE_INC_HEADERS ${GUI_HEADERS}) +list(TRANSFORM RELATIVE_INC_HEADERS PREPEND inc/) + +if(NOT CMAKE_VERSION VERSION_LESS "3.23.0") + target_sources( + Core + PRIVATE + FILE_SET private_header_files + TYPE HEADERS + BASE_DIRS inc/ + FILES + ${RELATIVE_INC_HEADERS} + ) +endif() + ROOT_INSTALL_HEADERS() diff --git a/core/imt/CMakeLists.txt b/core/imt/CMakeLists.txt index edb9a758c4df9..c54157494966b 100644 --- a/core/imt/CMakeLists.txt +++ b/core/imt/CMakeLists.txt @@ -26,12 +26,15 @@ ROOT_LINKER_LIBRARY(Imt target_link_libraries(Imt PRIVATE Thread INTERFACE Core) if(imt) - ROOT_GENERATE_DICTIONARY(G__Imt STAGE1 + set(IMT_HEADERS ROOT/TTaskGroup.hxx ROOT/RTaskArena.hxx ROOT/RSlotStack.hxx ROOT/TExecutor.hxx ROOT/TThreadExecutor.hxx + ) + ROOT_GENERATE_DICTIONARY(G__Imt STAGE1 + ${IMT_HEADERS} LINKDEF LinkDef.h MODULE @@ -57,8 +60,11 @@ if(imt) ROOT_ADD_TEST_SUBDIRECTORY(test) else() - ROOT_GENERATE_DICTIONARY(G__Imt STAGE1 + set(IMT_HEADERS ROOT/TExecutor.hxx + ) + ROOT_GENERATE_DICTIONARY(G__Imt STAGE1 + ${IMT_HEADERS} LINKDEF LinkDef.h MODULE @@ -69,4 +75,20 @@ else() ) endif() +set(RELATIVE_INC_HEADERS ${IMT_HEADERS}) +list(TRANSFORM RELATIVE_INC_HEADERS PREPEND inc/) + +if(NOT CMAKE_VERSION VERSION_LESS "3.23.0") + target_sources( + Imt + PRIVATE + FILE_SET private_header_files + TYPE HEADERS + BASE_DIRS inc/ + FILES + ${RELATIVE_INC_HEADERS} + inc/LinkDef.h + ) +endif() + ROOT_INSTALL_HEADERS() diff --git a/core/lz4/CMakeLists.txt b/core/lz4/CMakeLists.txt index 80ffa898890a3..2393099f3e8a8 100644 --- a/core/lz4/CMakeLists.txt +++ b/core/lz4/CMakeLists.txt @@ -12,5 +12,16 @@ target_link_libraries(Core PRIVATE xxHash::xxHash LZ4::LZ4) target_include_directories(Core PUBLIC $ ) +if(NOT CMAKE_VERSION VERSION_LESS "3.23.0") + target_sources( + Core + PRIVATE + FILE_SET private_header_files + TYPE HEADERS + BASE_DIRS inc/ + FILES + inc/ZipLZ4.h + ) +endif() ROOT_INSTALL_HEADERS() diff --git a/core/lzma/CMakeLists.txt b/core/lzma/CMakeLists.txt index f19eec364cb8d..2aa6d43497530 100644 --- a/core/lzma/CMakeLists.txt +++ b/core/lzma/CMakeLists.txt @@ -13,5 +13,15 @@ target_sources(Core PRIVATE src/ZipLZMA.c) target_link_libraries(Core PRIVATE LibLZMA::LibLZMA) target_include_directories(Core PUBLIC $) - +if(NOT CMAKE_VERSION VERSION_LESS "3.23.0") + target_sources( + Core + PRIVATE + FILE_SET private_header_files + TYPE HEADERS + BASE_DIRS inc/ + FILES + inc/ZipLZMA.h + ) +endif() ROOT_INSTALL_HEADERS() diff --git a/core/macosx/CMakeLists.txt b/core/macosx/CMakeLists.txt index b959a1ea02409..8c53f6e002d91 100644 --- a/core/macosx/CMakeLists.txt +++ b/core/macosx/CMakeLists.txt @@ -33,6 +33,20 @@ if(cocoa) target_sources(Core PRIVATE $) + if(NOT CMAKE_VERSION VERSION_LESS "3.23.0") + target_sources( + Macosx + PRIVATE + FILE_SET private_header_files + TYPE HEADERS + BASE_DIRS inc/ + FILES + inc/CocoaUtils.h + inc/TMacOSXSystem + inc/LinkDef.h + ) + endif() + endif() ROOT_INSTALL_HEADERS() diff --git a/core/meta/CMakeLists.txt b/core/meta/CMakeLists.txt index 8e010343a9a34..efb8f35e3ecbf 100644 --- a/core/meta/CMakeLists.txt +++ b/core/meta/CMakeLists.txt @@ -8,7 +8,7 @@ # CMakeLists.txt file for building ROOT core/meta package ############################################################################ -set_property(TARGET Core APPEND PROPERTY DICT_HEADERS +set(META_HEADERS TBaseClass.h TClassGenerator.h TClass.h @@ -52,6 +52,8 @@ set_property(TARGET Core APPEND PROPERTY DICT_HEADERS TVirtualObject.h ) +set_property(TARGET Core APPEND PROPERTY DICT_HEADERS ${META_HEADERS}) + target_sources(Core PRIVATE src/TBaseClass.cxx src/TClass.cxx @@ -93,5 +95,19 @@ target_include_directories(Core $ ) +set(RELATIVE_INC_HEADERS ${META_HEADERS}) +list(TRANSFORM RELATIVE_INC_HEADERS PREPEND inc/) + +if(NOT CMAKE_VERSION VERSION_LESS "3.23.0") + target_sources( + Core + PRIVATE + FILE_SET private_header_files + TYPE HEADERS + BASE_DIRS inc/ + FILES + ${RELATIVE_INC_HEADERS} + ) +endif() ROOT_INSTALL_HEADERS() ROOT_ADD_TEST_SUBDIRECTORY(test) diff --git a/core/metacling/src/CMakeLists.txt b/core/metacling/src/CMakeLists.txt index 784827df869c8..ae4b0660144ea 100644 --- a/core/metacling/src/CMakeLists.txt +++ b/core/metacling/src/CMakeLists.txt @@ -37,6 +37,37 @@ ROOT_OBJECT_LIBRARY(MetaCling TClingValue.cxx ) +set (METACLING_HEADERS + ClingRAII.h + TClingBaseClassInfo.h + TClingCallbacks.h + TClingCallFunc.h + TClingClassInfo.h + TClingDataMemberInfo.h + TClingDeclInfo.h + TClingDiagnostics.h + TCling.h + TClingMemberIter.h + TClingMethodArgInfo.h + TClingMethodInfo.h + TClingRdictModuleFileExtension.h + TClingTypedefInfo.h + TClingTypeInfo.h + TClingValue.h +) + +if(NOT CMAKE_VERSION VERSION_LESS "3.23.0") + target_sources( + MetaCling + PRIVATE + FILE_SET private_header_files + TYPE HEADERS + BASE_DIRS ./ + FILES + ${METACLING_HEADERS} + ) +endif() + # This directory contains files that include llvm, which can give warnings. if(NOT MSVC) target_compile_options(MetaCling PRIVATE -Wno-error) diff --git a/core/multiproc/CMakeLists.txt b/core/multiproc/CMakeLists.txt index b506d8de530e4..125e4ceac0bfa 100644 --- a/core/multiproc/CMakeLists.txt +++ b/core/multiproc/CMakeLists.txt @@ -12,16 +12,21 @@ if(WIN32) return() endif() + +set(MULTIPROC_HEADERS + MPCode.h + MPSendRecv.h + PoolUtils.h + TMPClient.h + TMPWorker.h + TMPWorkerExecutor.h + TProcPool.h + ROOT/TProcessExecutor.hxx +) + ROOT_STANDARD_LIBRARY_PACKAGE(MultiProc STAGE1 HEADERS - MPCode.h - MPSendRecv.h - PoolUtils.h - TMPClient.h - TMPWorker.h - TMPWorkerExecutor.h - TProcPool.h - ROOT/TProcessExecutor.hxx + ${MULTIPROC_HEADERS} SOURCES src/MPSendRecv.cxx src/TMPClient.cxx @@ -33,3 +38,19 @@ ROOT_STANDARD_LIBRARY_PACKAGE(MultiProc STAGE1 Core Net ) + +set(RELATIVE_INC_HEADERS ${MULTIPROC_HEADERS}) +list(TRANSFORM RELATIVE_INC_HEADERS PREPEND inc/) + +if(NOT CMAKE_VERSION VERSION_LESS "3.23.0") + target_sources( + MultiProc + PRIVATE + FILE_SET private_header_files + TYPE HEADERS + BASE_DIRS inc/ + FILES + ${RELATIVE_INC_HEADERS} + inc/LinkDef.h + ) +endif() diff --git a/core/rint/CMakeLists.txt b/core/rint/CMakeLists.txt index 80e9aea0e0fe6..cec473c3899c3 100644 --- a/core/rint/CMakeLists.txt +++ b/core/rint/CMakeLists.txt @@ -8,11 +8,15 @@ # CMakeLists.txt file for building ROOT core/rint package ############################################################################ +set(RINT_HEADERS + TRint.h + TTabCom.h +) + ROOT_STANDARD_LIBRARY_PACKAGE(Rint STAGE1 HEADERS - TRint.h - TTabCom.h + ${RINT_HEADERS} SOURCES src/TRint.cxx src/TTabCom.cxx @@ -23,5 +27,20 @@ ROOT_STANDARD_LIBRARY_PACKAGE(Rint ) target_include_directories(Core PRIVATE inc) +set(RELATIVE_INC_HEADERS ${RINT_HEADERS}) +list(TRANSFORM RELATIVE_INC_HEADERS PREPEND inc/) + +if(NOT CMAKE_VERSION VERSION_LESS "3.23.0") + target_sources( + Rint + PRIVATE + FILE_SET private_header_files + TYPE HEADERS + BASE_DIRS inc/ + FILES + ${RELATIVE_INC_HEADERS} + inc/LinkDef.h + ) +endif() ROOT_ADD_TEST_SUBDIRECTORY(test) diff --git a/core/testsupport/CMakeLists.txt b/core/testsupport/CMakeLists.txt index f795f6d0b5694..416a0dfea0546 100644 --- a/core/testsupport/CMakeLists.txt +++ b/core/testsupport/CMakeLists.txt @@ -26,6 +26,19 @@ install(TARGETS ${libname} PUBLIC_HEADER DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/${header_dir}) set_property(GLOBAL APPEND PROPERTY ROOT_EXPORTED_TARGETS ${libname}) +if(NOT CMAKE_VERSION VERSION_LESS "3.23.0") + target_sources( + ${libname} + PRIVATE + FILE_SET private_header_files + TYPE HEADERS + BASE_DIRS inc/${header_dir} + FILES + inc/${header_dir}/TestSupport.hxx + ) +endif() + + # Make it usable inside and outside of ROOT under a single name if somebody writes their own tests using ROOT_ADD_GTEST add_library(ROOT::${libname} ALIAS ${libname}) diff --git a/core/textinput/CMakeLists.txt b/core/textinput/CMakeLists.txt index a06f61d5a0b96..1e2cf2fc12033 100644 --- a/core/textinput/CMakeLists.txt +++ b/core/textinput/CMakeLists.txt @@ -36,4 +36,38 @@ target_include_directories(Core src ) +if(NOT CMAKE_VERSION VERSION_LESS "3.23.0") + target_sources( + Core + PRIVATE + FILE_SET private_header_files + TYPE HEADERS + BASE_DIRS inc/ src/ + FILES + inc/Getline.h + src/Getline_color.h + src/textinput/Callbacks.h + src/textinput/Callbacks.h + src/textinput/Color.h + src/textinput/Display.h + src/textinput/Editor.h + src/textinput/History.h + src/textinput/InputData.h + src/textinput/KeyBinding.h + src/textinput/Range.h + src/textinput/Reader.h + src/textinput/SignalHandler.h + src/textinput/StreamReader.h + src/textinput/StreamReaderUnix.h + src/textinput/StreamReaderWin.h + src/textinput/TerminalConfigUnix.h + src/textinput/TerminalDisplay.h + src/textinput/TerminalDisplayUnix.h + src/textinput/TerminalDisplayWin.h + src/textinput/Text.h + src/textinput/TextInputContext.h + src/textinput/TextInput.h + ) +endif() + ROOT_INSTALL_HEADERS() diff --git a/core/thread/CMakeLists.txt b/core/thread/CMakeLists.txt index 5262fefc9e593..9f5bead74251c 100644 --- a/core/thread/CMakeLists.txt +++ b/core/thread/CMakeLists.txt @@ -27,23 +27,27 @@ else() ) endif() +set(THREAD_HEADERS + TAtomicCount.h + TCondition.h + TConditionImp.h + TMutex.h + TMutexImp.h + TRWLock.h + TSemaphore.h + TThreadFactory.h + TThread.h + TThreadImp.h + TThreadPool.h + ROOT/TRWSpinLock.hxx + ROOT/TSpinMutex.hxx + ROOT/TThreadedObject.hxx +) + ROOT_STANDARD_LIBRARY_PACKAGE(Thread HEADERS ${PLATFORM_HEADERS} - TAtomicCount.h - TCondition.h - TConditionImp.h - TMutex.h - TMutexImp.h - TRWLock.h - TSemaphore.h - TThreadFactory.h - TThread.h - TThreadImp.h - TThreadPool.h - ROOT/TRWSpinLock.hxx - ROOT/TSpinMutex.hxx - ROOT/TThreadedObject.hxx + ${THREAD_HEADERS} SOURCES src/TCondition.cxx src/TConditionImp.cxx @@ -71,6 +75,22 @@ target_include_directories(Core PUBLIC $ ) +set(RELATIVE_INC_HEADERS ${PLATFORM_HEADERS} ${THREAD_HEADERS}) +list(TRANSFORM RELATIVE_INC_HEADERS PREPEND inc/) + +if(NOT CMAKE_VERSION VERSION_LESS "3.23.0") + target_sources( + Thread + PRIVATE + FILE_SET private_header_files + TYPE HEADERS + BASE_DIRS inc/ + FILES + ${RELATIVE_INC_HEADERS} + inc/LinkDef.h + ) +endif() + target_link_libraries(Thread PUBLIC ${CMAKE_THREAD_LIBS_INIT}) target_include_directories(Thread PUBLIC diff --git a/core/unix/CMakeLists.txt b/core/unix/CMakeLists.txt index 9f76985a8c54a..a810068c067e8 100644 --- a/core/unix/CMakeLists.txt +++ b/core/unix/CMakeLists.txt @@ -15,6 +15,18 @@ endif() set_property(TARGET Core APPEND PROPERTY DICT_HEADERS TUnixSystem.h) target_sources(Core PRIVATE src/TUnixSystem.cxx) target_include_directories(Core PRIVATE inc ../clib/res) +if(NOT CMAKE_VERSION VERSION_LESS "3.23.0") + target_sources( + Core + PRIVATE + FILE_SET private_header_files + TYPE HEADERS + BASE_DIRS inc/ + FILES + inc/TUnixSystem.h + inc/LinkDef.h + ) +endif() if (CMAKE_SYSTEM_NAME MATCHES FreeBSD) target_link_libraries(Core PRIVATE execinfo util) diff --git a/core/winnt/CMakeLists.txt b/core/winnt/CMakeLists.txt index e5810ab8ecb4a..1f1aa47886716 100644 --- a/core/winnt/CMakeLists.txt +++ b/core/winnt/CMakeLists.txt @@ -30,4 +30,20 @@ target_link_libraries(Core PRIVATE target_include_directories(Core PRIVATE inc) +if(NOT CMAKE_VERSION VERSION_LESS "3.23.0") + target_sources( + Core + PRIVATE + FILE_SET private_header_files + TYPE HEADERS + BASE_DIRS inc/ + FILES + inc/TWin32SplashThread.h + inc/TWinNTSystem.h + inc/Win32Constants.h + inc/Windows4Root.h + inc/LinkDef.h + ) +endif() + ROOT_INSTALL_HEADERS() diff --git a/core/zip/CMakeLists.txt b/core/zip/CMakeLists.txt index 72d1bfb756dd8..977bae67cb429 100644 --- a/core/zip/CMakeLists.txt +++ b/core/zip/CMakeLists.txt @@ -21,6 +21,22 @@ target_include_directories(Core PUBLIC $ ) +if(NOT CMAKE_VERSION VERSION_LESS "3.23.0") + target_sources( + Core + PRIVATE + FILE_SET private_header_files + TYPE HEADERS + BASE_DIRS inc/ src/ + FILES + inc/Compression.h + inc/RZip.h + src/Bits.h + src/Tailor.h + src/ZIP.h + ) +endif() + ROOT_INSTALL_HEADERS() ROOT_ADD_TEST_SUBDIRECTORY(test) diff --git a/core/zstd/CMakeLists.txt b/core/zstd/CMakeLists.txt index a4c6e0297610e..218db69fa1dfa 100644 --- a/core/zstd/CMakeLists.txt +++ b/core/zstd/CMakeLists.txt @@ -12,5 +12,16 @@ target_include_directories(Core PUBLIC $ ) +if(NOT CMAKE_VERSION VERSION_LESS "3.23.0") + target_sources( + Core + PRIVATE + FILE_SET private_header_files + TYPE HEADERS + BASE_DIRS inc/ + FILES + inc/ZipZSTD.h + ) +endif() ROOT_INSTALL_HEADERS() install(FILES ${ZSTD_headers} DESTINATION ${CMAKE_INSTALL_INCLUDEDIR})