diff --git a/bindings/tpython/CMakeLists.txt b/bindings/tpython/CMakeLists.txt index fafae367ef9f6..55e6aca6d999b 100644 --- a/bindings/tpython/CMakeLists.txt +++ b/bindings/tpython/CMakeLists.txt @@ -8,11 +8,16 @@ # CMakeLists.txt file for building TPython ########################################################### +set(TPYTHON_HEADERS + TPyArg.h + TPyClassGenerator.h + TPyReturn.h + TPython.h +) + ROOT_STANDARD_LIBRARY_PACKAGE(ROOTTPython HEADERS - TPyArg.h - TPyReturn.h - TPython.h + ${TPYTHON_HEADERS} SOURCES src/TPyArg.cxx src/TPyClassGenerator.cxx @@ -30,6 +35,18 @@ ROOT_STANDARD_LIBRARY_PACKAGE(ROOTTPython Python3::Python ) +set(RELATIVE_INC_HEADERS ${TPYTHON_HEADERS}) +list(TRANSFORM RELATIVE_INC_HEADERS PREPEND inc/) +target_sources(ROOTTPython +PRIVATE + FILE_SET private_header_files + TYPE HEADERS + BASE_DIRS inc/ + FILES + ${RELATIVE_INC_HEADERS} + inc/LinkDef.h +) + # On Windows we can't use the stable ABI yet: it requires linking against a # different libpython, so as long as we don't build all translation units in # the ROOT Pythonization library with the stable ABI we should not use it. diff --git a/main/CMakeLists.txt b/main/CMakeLists.txt index e7c447f54cd95..f25cd29f56dd6 100644 --- a/main/CMakeLists.txt +++ b/main/CMakeLists.txt @@ -142,20 +142,33 @@ endif() add_dependencies(genreflex rootcling) add_dependencies(rootcint rootcint) +add_library(rootexecutableHelpers INTERFACE) +target_sources(rootexecutableHelpers +PUBLIC + FILE_SET HEADERS + TYPE HEADERS + BASE_DIRS src/ + FILES + src/RootObjTree.hxx + src/RootObjTree.cxx + src/logging.hxx + src/wildcards.hpp +) + if (TARGET Gui) - ROOT_EXECUTABLE(rootbrowse src/rootbrowse.cxx LIBRARIES RIO Core Rint Gui) + ROOT_EXECUTABLE(rootbrowse src/rootbrowse.cxx LIBRARIES RIO Core Rint Gui rootexecutableHelpers) target_include_directories(rootbrowse PRIVATE ${CMAKE_SOURCE_DIR}/core/utils/inc) endif() -ROOT_EXECUTABLE(rootcp src/rootcp.cxx LIBRARIES RIO Tree Core Rint) +ROOT_EXECUTABLE(rootcp src/rootcp.cxx LIBRARIES RIO Tree Core Rint rootexecutableHelpers) target_include_directories(rootcp PRIVATE ${CMAKE_SOURCE_DIR}/core/utils/inc) -ROOT_EXECUTABLE(rootls src/rootls.cxx LIBRARIES RIO Tree Core Rint ROOTNTuple) +ROOT_EXECUTABLE(rootls src/rootls.cxx LIBRARIES RIO Tree Core Rint ROOTNTuple rootexecutableHelpers) target_include_directories(rootls PRIVATE ${CMAKE_SOURCE_DIR}/core/utils/inc) -ROOT_EXECUTABLE(rootmkdir src/rootmkdir.cxx LIBRARIES RIO Core Rint) +ROOT_EXECUTABLE(rootmkdir src/rootmkdir.cxx LIBRARIES RIO Core Rint rootexecutableHelpers) target_include_directories(rootmkdir PRIVATE ${CMAKE_SOURCE_DIR}/core/utils/inc) -ROOT_EXECUTABLE(rootrm src/rootrm.cxx LIBRARIES RIO Core Rint) +ROOT_EXECUTABLE(rootrm src/rootrm.cxx LIBRARIES RIO Core Rint rootexecutableHelpers) target_include_directories(rootrm PRIVATE ${CMAKE_SOURCE_DIR}/core/utils/inc) diff --git a/misc/rmkdepend/CMakeLists.txt b/misc/rmkdepend/CMakeLists.txt index 2f0c9ccf4fee7..89640337e7108 100644 --- a/misc/rmkdepend/CMakeLists.txt +++ b/misc/rmkdepend/CMakeLists.txt @@ -15,3 +15,15 @@ ROOT_EXECUTABLE(rmkdepend parse.c pr.c ) + +target_sources(rmkdepend +PRIVATE + FILE_SET private_header_files + TYPE HEADERS + BASE_DIRS ./ + FILES + def.h + ifparser.h + imakemdep.h +) + diff --git a/montecarlo/eg/CMakeLists.txt b/montecarlo/eg/CMakeLists.txt index f7854638d40e5..81fe9143d95f0 100644 --- a/montecarlo/eg/CMakeLists.txt +++ b/montecarlo/eg/CMakeLists.txt @@ -9,18 +9,22 @@ # @author Pere Mato, CERN ############################################################################ +set(EG_HEADERS + TAttParticle.h + TDatabasePDG.h + TDecayChannel.h + TGenerator.h + TPDGCode.h + TParticleClassPDG.h + TParticle.h + TParticlePDG.h + TPrimary.h + TVirtualMCDecayer.h +) + ROOT_STANDARD_LIBRARY_PACKAGE(EG HEADERS - TAttParticle.h - TDatabasePDG.h - TDecayChannel.h - TGenerator.h - TPDGCode.h - TParticleClassPDG.h - TParticle.h - TParticlePDG.h - TPrimary.h - TVirtualMCDecayer.h + ${EG_HEADERS} SOURCES src/TAttParticle.cxx src/TDatabasePDG.cxx @@ -41,4 +45,18 @@ ROOT_STANDARD_LIBRARY_PACKAGE(EG ROOTX3dViewer ) +set(RELATIVE_INC_HEADERS ${EG_HEADERS}) +list(TRANSFORM RELATIVE_INC_HEADERS PREPEND inc/) +target_sources(EG +PRIVATE + FILE_SET private_header_files + TYPE HEADERS + BASE_DIRS inc/ + FILES + ${RELATIVE_INC_HEADERS} + inc/LinkDef.h + inc/Hepevt.h + inc/cfortran.h +) + ROOT_ADD_TEST_SUBDIRECTORY(test) diff --git a/montecarlo/pythia8/CMakeLists.txt b/montecarlo/pythia8/CMakeLists.txt index cb922369293d1..6c4f838eafcda 100644 --- a/montecarlo/pythia8/CMakeLists.txt +++ b/montecarlo/pythia8/CMakeLists.txt @@ -12,10 +12,14 @@ # required also for cling include_directories(${PYTHIA8_INCLUDE_DIR}) +set(EGPYTHIA8_HEADERS + TPythia8.h + TPythia8Decayer.h +) + ROOT_STANDARD_LIBRARY_PACKAGE(EGPythia8 HEADERS - TPythia8.h - TPythia8Decayer.h + ${EGPYTHIA8_HEADERS} SOURCES src/TPythia8.cxx src/TPythia8Decayer.cxx @@ -26,6 +30,18 @@ ROOT_STANDARD_LIBRARY_PACKAGE(EGPythia8 Physics ) +set(RELATIVE_INC_HEADERS ${EGPYTHIA8_HEADERS}) +list(TRANSFORM RELATIVE_INC_HEADERS PREPEND inc/) +target_sources(EGPythia8 +PRIVATE + FILE_SET private_header_files + TYPE HEADERS + BASE_DIRS inc/ + FILES + ${RELATIVE_INC_HEADERS} + inc/LinkDef.h +) + ROOT_ADD_CXX_FLAG(_EGPythia8_FLAGS -Wno-delete-non-virtual-dtor) ROOT_ADD_CXX_FLAG(_EGPythia8_FLAGS -Wno-misleading-indentation) ROOT_ADD_CXX_FLAG(_EGPythia8_FLAGS -Wno-overloaded-virtual)