From f3ccf0bd1ef6ad8187dc18ba14ef71307c2e21ce Mon Sep 17 00:00:00 2001 From: Andre Sailer <andre.philippe.sailer@cern.ch> Date: Mon, 14 Oct 2019 11:27:32 +0200 Subject: [PATCH] CMake: streamline inclusion of DD4hep_XML_SETUP Now just call it once when needed, otherwise it comes from the DD4hepConfig This ensure that we do not create the Target when re compiling dd4hep packages --- CMakeLists.txt | 4 ++-- cmake/DD4hep.cmake | 1 - cmake/DD4hepConfig.cmake.in | 3 --- cmake/DD4hep_XML_setup.cmake | 4 ++-- 4 files changed, 4 insertions(+), 8 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index e1b42d91e..ad3f2e766 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -146,8 +146,6 @@ if( DEFINED DD4HEP_WITH_GEANT4 OR DEFINED DD4HEP_WITH_GEAR ) dd4hep_print_cmake_options( OPTIONAL "Obsolete options: only the following are allowed:" ERROR 1 ) endif() -include(DD4hep_XML_setup) - IF(DD4HEP_USE_EXISTING_DD4HEP) MESSAGE(STATUS "|!!> Using pre-existing DD4hep: ${DD4HEP_USE_EXISTING_DD4HEP}") @@ -170,6 +168,8 @@ IF(DD4HEP_USE_EXISTING_DD4HEP) ELSE() +include(DD4hep_XML_setup) + #These pacakges are mandatory FOREACH(DDPackage GaudiPluginService DDParsers DDCore) add_subdirectory(${DDPackage}) diff --git a/cmake/DD4hep.cmake b/cmake/DD4hep.cmake index 9cc236721..ec3957030 100644 --- a/cmake/DD4hep.cmake +++ b/cmake/DD4hep.cmake @@ -22,7 +22,6 @@ endif() # Main functional include file if (NOT DD4hepBuild_included) include ( DD4hepBuild ) - include ( DD4hep_XML_setup ) endif() ##--------------------------------------------------------------------------------------------------- diff --git a/cmake/DD4hepConfig.cmake.in b/cmake/DD4hepConfig.cmake.in index 84515388f..72abed33c 100644 --- a/cmake/DD4hepConfig.cmake.in +++ b/cmake/DD4hepConfig.cmake.in @@ -89,9 +89,6 @@ IF(@CMAKE_PROJECT_NAME@_FIND_COMPONENTS) ENDIF() #---- build with xercesc or tinyxml ? -if(DD4HEP_USE_XERCESC) - set( DD4HEP_USE_XERCESC True ) -endif() INCLUDE( ${@CMAKE_PROJECT_NAME@_DIR}/cmake/DD4hep_XML_setup.cmake ) #----- APPLE ? ------- diff --git a/cmake/DD4hep_XML_setup.cmake b/cmake/DD4hep_XML_setup.cmake index eed371ed5..03c4f56fd 100644 --- a/cmake/DD4hep_XML_setup.cmake +++ b/cmake/DD4hep_XML_setup.cmake @@ -8,10 +8,10 @@ if(DD4HEP_USE_XERCESC) set(XML_LIBRARIES XercesC::XercesC) else() set(DD4HEP_USE_XERCESC OFF) - IF(NOT TARGET TinyXML) + IF(NOT TARGET TinyXML AND NOT TARGET DD4hep::TinyXML) ADD_LIBRARY(TinyXML INTERFACE) TARGET_COMPILE_DEFINITIONS(TinyXML INTERFACE DD4HEP_USE_TINYXML) INSTALL(TARGETS TinyXML EXPORT DD4hep DESTINATION lib) ENDIF() - set(XML_LIBRARIES TinyXML) + set(XML_LIBRARIES DD4hep::TinyXML) endif() -- GitLab