From 139cbc4652b08e089646b4eac9dccfc6567c5316 Mon Sep 17 00:00:00 2001 From: agrigora Date: Thu, 27 Nov 2014 14:28:24 +0100 Subject: [PATCH] VZERO DAs + Object target dependencies - Add the dependencies to the object target in order to propagate the compilation flags, headers, definitions - Fix VZERO circular dependencies between VZERObase and VZEROrec - VZERO DAs --- ACORDE/ACORDEbase/CMakeLists.txt | 2 + ANALYSIS/ANALYSIS/CMakeLists.txt | 14 +- CMakeLists.txt | 3 +- EMCAL/EMCALUtils/CMakeLists.txt | 9 +- EMCAL/EMCALbase/CMakeLists.txt | 15 +- EMCAL/EMCALraw/CMakeLists.txt | 15 +- FMD/FMDbase/CMakeLists.txt | 2 + FMD/FMDrec/CMakeLists.txt | 2 + FMD/FMDsim/CMakeLists.txt | 2 + FMD/FMDutil/CMakeLists.txt | 2 + HLT/BASE/CMakeLists.txt | 4 +- HLT/BASE/HOMER/CMakeLists.txt | 7 +- HMPID/HMPIDbase/CMakeLists.txt | 2 + ITS/ITSbase/CMakeLists.txt | 2 + ITS/ITSrec/CMakeLists.txt | 2 + ITS/ITSsim/CMakeLists.txt | 2 + MUON/MUONbase/CMakeLists.txt | 2 + MUON/MUONcalib/CMakeLists.txt | 2 + MUON/MUONcore/CMakeLists.txt | 2 + MUON/MUONgeometry/CMakeLists.txt | 2 + MUON/MUONmapping/CMakeLists.txt | 2 + MUON/MUONraw/CMakeLists.txt | 2 + MUON/MUONshuttle/CMakeLists.txt | 2 + MUON/MUONsim/CMakeLists.txt | 2 + MUON/MUONtrigger/CMakeLists.txt | 2 + PHOS/PHOSUtils/CMakeLists.txt | 2 + PHOS/PHOSbase/CMakeLists.txt | 2 + PHOS/PHOSrec/CMakeLists.txt | 2 + PHOS/PHOSshuttle/CMakeLists.txt | 2 + PHOS/PHOSsim/CMakeLists.txt | 2 + PMD/PMDbase/CMakeLists.txt | 2 + PMD/PMDrec/CMakeLists.txt | 2 + RAW/MDC/CMakeLists.txt | 2 + RAW/RAWDatabase/CMakeLists.txt | 2 + RAW/RAWDatarec/CMakeLists.txt | 5 +- RAW/RAWDatarecOnline/CMakeLists.txt | 2 + RAW/RAWDatasim/CMakeLists.txt | 2 + STEER/AOD/CMakeLists.txt | 2 + STEER/CDB/CMakeLists.txt | 2 + STEER/ESD/CMakeLists.txt | 2 + STEER/STEER/CMakeLists.txt | 6 +- STEER/STEERBase/CMakeLists.txt | 2 +- T0/T0base/CMakeLists.txt | 2 + TOF/TOFbase/CMakeLists.txt | 2 + TPC/TPCbase/CMakeLists.txt | 2 + TPC/TPCrec/CMakeLists.txt | 3 +- TPC/TPCsim/CMakeLists.txt | 3 +- TRD/TRDbase/CMakeLists.txt | 4 +- TRD/TRDbase/CMakeLists.txt... | 207 ++++++++++++++++++ TRD/TRDrec/CMakeLists.txt | 8 +- TRD/TRDsim/CMakeLists.txt | 3 +- VZERO/CMakeLists.txt | 4 + VZERO/DA/CMakeLists.txt | 72 ++++++ VZERO/{ => DA}/VZEROCHANNELDELAYTUNINGda.cxx | 0 .../{ => DA}/VZEROINTEGRATIONGATETUNINGda.cxx | 0 VZERO/{ => DA}/VZEROPbPbda.cxx | 0 VZERO/{ => DA}/VZEROda.cxx | 0 .../AliVZEROQADataMakerRec.cxx | 2 +- .../AliVZEROQADataMakerRec.h | 0 .../AliVZERORawStream.cxx | 0 .../AliVZERORawStream.h | 0 VZERO/VZERObase/CMakeLists.txt | 50 ++++- VZERO/VZERObase/VZERObaseLinkDef.h | 4 + VZERO/VZEROrec/CMakeLists.txt | 47 +++- VZERO/VZEROrec/VZEROrecLinkDef.h | 2 - 65 files changed, 509 insertions(+), 50 deletions(-) create mode 100644 TRD/TRDbase/CMakeLists.txt... create mode 100644 VZERO/DA/CMakeLists.txt rename VZERO/{ => DA}/VZEROCHANNELDELAYTUNINGda.cxx (100%) rename VZERO/{ => DA}/VZEROINTEGRATIONGATETUNINGda.cxx (100%) rename VZERO/{ => DA}/VZEROPbPbda.cxx (100%) rename VZERO/{ => DA}/VZEROda.cxx (100%) rename VZERO/{VZEROrec => VZERObase}/AliVZEROQADataMakerRec.cxx (99%) rename VZERO/{VZEROrec => VZERObase}/AliVZEROQADataMakerRec.h (100%) rename VZERO/{VZEROrec => VZERObase}/AliVZERORawStream.cxx (100%) rename VZERO/{VZEROrec => VZERObase}/AliVZERORawStream.h (100%) diff --git a/ACORDE/ACORDEbase/CMakeLists.txt b/ACORDE/ACORDEbase/CMakeLists.txt index 71b525a7ec6..1144617f3c3 100644 --- a/ACORDE/ACORDEbase/CMakeLists.txt +++ b/ACORDE/ACORDEbase/CMakeLists.txt @@ -65,6 +65,8 @@ generate_rootmap("${MODULE}" "${LIBDEPS}" "${CMAKE_CURRENT_SOURCE_DIR}/${MODULE} # Create an object to be reused in case of static libraries # Otherwise the sources will be compiled twice add_library(${MODULE}-object OBJECT ${SRCS} G__${MODULE}.cxx) +# Follow headers dependencies +add_dependencies(${MODULE}-object ${ALIROOT_DEPENDENCIES}) # Add a library to the project using the object add_library(${MODULE} SHARED $) target_link_libraries(${MODULE} ${ALIROOT_DEPENDENCIES} ${ROOT_DEPENDENCIES}) diff --git a/ANALYSIS/ANALYSIS/CMakeLists.txt b/ANALYSIS/ANALYSIS/CMakeLists.txt index 58b9ec5a7d8..c53a808cbfe 100644 --- a/ANALYSIS/ANALYSIS/CMakeLists.txt +++ b/ANALYSIS/ANALYSIS/CMakeLists.txt @@ -44,22 +44,26 @@ string(REPLACE ".cxx" ".h" HDRS "${SRCS}") get_directory_property(incdirs INCLUDE_DIRECTORIES) generate_dictionary("${MODULE}" "${MODULE}LinkDef.h" "${HDRS}" "${incdirs}") +set(ROOT_DEPENDENCIES Core Gpad Hist Net RIO Tree XMLParser) +set(ALIROOT_DEPENDENCIES STEERBase) + # Generate the ROOT map # Dependecies -set(LIBDEPS STEERBase Core Gpad Hist Net RIO Tree XMLParser) +set(LIBDEPS ${ROOT_DEPENDENCIE} ${ALIROOT_DEPENDENCIES}) generate_rootmap("${MODULE}" "${LIBDEPS}" "${CMAKE_CURRENT_SOURCE_DIR}/${MODULE}LinkDef.h") # Create an object to be reused in case of static libraries # Otherwise the sources will be compiled twice -add_library(ANALYSIS-object OBJECT ${SRCS} G__${MODULE}.cxx) +add_library(${MODULE}-object OBJECT ${SRCS} G__${MODULE}.cxx) +add_dependencies(${MODULE}-object ${ALIROOT_DEPENDENCIES}) # Add a library to the project using the object -add_library(ANALYSIS SHARED $) +add_library(${MODULE} SHARED $) # linking -target_link_libraries(${MODULE} STEERBase Core Gpad Hist Net RIO Tree XMLParser) +target_link_libraries(${MODULE} ${ROOT_DEPENDENCIE} ${ALIROOT_DEPENDENCIES}) # Additional compilation flags -set_target_properties(${MODULE}-object PROPERTIES COMPILE_FLAGS "-fPIC -O -g") +set_target_properties(${MODULE}-object PROPERTIES COMPILE_FLAGS "") # System dependent: Modify the way the library is build if(${CMAKE_SYSTEM} MATCHES Darwin) diff --git a/CMakeLists.txt b/CMakeLists.txt index 0cbb42b9cf0..7e1ef779b0d 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -17,7 +17,7 @@ # Set Basic CMake Configuration # #--------------------------------------------------------------------------# -cmake_minimum_required(VERSION 2.8.8 FATAL_ERROR) +cmake_minimum_required(VERSION 2.8.11 FATAL_ERROR) project(AliRoot CXX C) @@ -156,6 +156,7 @@ message(STATUS "Installation folder: ${CMAKE_INSTALL_PREFIX}") # General flags -> Should be moved into a configuration file set(CMAKE_POSITION_INDEPENDENT_CODE TRUE) +set(CMAKE_NO_SYSTEM_FROM_IMPORTED TRUE) # AliRoot base modules add_subdirectory(STEER) diff --git a/EMCAL/EMCALUtils/CMakeLists.txt b/EMCAL/EMCALUtils/CMakeLists.txt index 74eed9ab331..5c2bbf4ca1b 100644 --- a/EMCAL/EMCALUtils/CMakeLists.txt +++ b/EMCAL/EMCALUtils/CMakeLists.txt @@ -48,17 +48,22 @@ set(HDRS ${HDRS} AliCaloConstants.h) get_directory_property(incdirs INCLUDE_DIRECTORIES) generate_dictionary("${MODULE}" "${MODULE}LinkDef.h" "${HDRS}" "${incdirs}") +set(ROOT_DEPENDENCIES) +set(ALIROOT_DEPENDENCIES STEERBase ESD AOD) + # Generate the ROOT map # Dependecies -set(LIBDEPS STEERBase ESD AOD) +set(LIBDEPS ${ALIROOT_DEPENDENCIES} ${ROOT_DEPENDENCIES}) generate_rootmap("${MODULE}" "${LIBDEPS}" "${CMAKE_CURRENT_SOURCE_DIR}/${MODULE}LinkDef.h") # Create an object to be reused in case of static libraries # Otherwise the sources will be compiled twice add_library(${MODULE}-object OBJECT ${SRCS} G__${MODULE}.cxx) +# Follow headers dependencies +add_dependencies(${MODULE}-object ${ALIROOT_DEPENDENCIES}) # Add a library to the project using the object add_library(${MODULE} SHARED $) -target_link_libraries(${MODULE} STEERBase ESD AOD) +target_link_libraries(${MODULE} ${ALIROOT_DEPENDENCIES} ${ROOT_DEPENDENCIES}) # Additional compilation flags set_target_properties(${MODULE}-object PROPERTIES COMPILE_FLAGS "-O -g -fPIC") diff --git a/EMCAL/EMCALbase/CMakeLists.txt b/EMCAL/EMCALbase/CMakeLists.txt index 7792b418dfd..82716ddef5b 100644 --- a/EMCAL/EMCALbase/CMakeLists.txt +++ b/EMCAL/EMCALbase/CMakeLists.txt @@ -80,22 +80,27 @@ string(REPLACE ".cxx" ".h" HDRS "${SRCS}") get_directory_property(incdirs INCLUDE_DIRECTORIES) generate_dictionary("${MODULE}" "${MODULE}LinkDef.h" "${HDRS}" "${incdirs}") +set(ROOT_DEPENDENCIES) +set(ALIROOT_DEPENDENCIES STEERBase STEER CDB ESD RAWDatabase RAWDatarec EMCALraw EMCALUtils) + # Generate the ROOT map # Dependecies -set(LIBDEPS STEERBase STEER CDB ESD RAWDatabase RAWDatarec EMCALraw EMCALUtils) +set(LIBDEPS ${ALIROOT_DEPENDENCIES} ${ROOT_DEPENDENCIES}) generate_rootmap("${MODULE}" "${LIBDEPS}" "${CMAKE_CURRENT_SOURCE_DIR}/${MODULE}LinkDef.h") # Create an object to be reused in case of static libraries # Otherwise the sources will be compiled twice -add_library(EMCALbase-object OBJECT ${SRCS} G__${MODULE}.cxx) +add_library(${MODULE}-object OBJECT ${SRCS} G__${MODULE}.cxx) +# Build dependencies for object, headers, defines etc +add_dependencies(${MODULE}-object ${ALIROOT_DEPENDENCIES}) # Add a library to the project using the object -add_library(EMCALbase SHARED $) +add_library(${MODULE} SHARED $) # dependencies -target_link_libraries(${MODULE} STEERBase STEER CDB ESD RAWDatabase RAWDatarec RAWDatasim EMCALraw EMCALUtils) +target_link_libraries(${MODULE} ${ALIROOT_DEPENDENCIES} ${ROOT_DEPENDENCIES}) # Additional compilation flags -set_target_properties(${MODULE}-object PROPERTIES COMPILE_FLAGS "-O -g -fPIC") +set_target_properties(${MODULE}-object PROPERTIES COMPILE_FLAGS "") # System dependent: Modify the way the library is build if(${CMAKE_SYSTEM} MATCHES Darwin) diff --git a/EMCAL/EMCALraw/CMakeLists.txt b/EMCAL/EMCALraw/CMakeLists.txt index 3099d6b43d8..72d82a0bb8e 100644 --- a/EMCAL/EMCALraw/CMakeLists.txt +++ b/EMCAL/EMCALraw/CMakeLists.txt @@ -58,20 +58,27 @@ string(REPLACE ".cxx" ".h" HDRS "${SRCS}") get_directory_property(incdirs INCLUDE_DIRECTORIES) generate_dictionary("${MODULE}" "${MODULE}LinkDef.h" "${HDRS}" "${incdirs}") +set(ROOT_DEPENDENCIES ) +set(ALIROOT_DEPENDENCIES STEERBase CDB ESD RAWDatabase RAWDatarec EMCALUtils) + # Generate the ROOT map # Dependecies -set(LIBDEPS STEERBase CDB ESD RAWDatabase RAWDatarec EMCALUtils) +set(LIBDEPS ${ALIROOT_DEPENDENCIES} ${ROOT_DEPENDENCIES}) generate_rootmap("${MODULE}" "${LIBDEPS}" "${CMAKE_CURRENT_SOURCE_DIR}/${MODULE}LinkDef.h") # Create an object to be reused in case of static libraries # Otherwise the sources will be compiled twice -add_library(EMCALraw-object OBJECT ${SRCS} G__${MODULE}.cxx) +add_library(${MODULE}-object OBJECT ${SRCS} G__${MODULE}.cxx) +# Build dependencies as headers, defines +add_dependencies(${MODULE}-object ${ALIROOT_DEPENDENCIES}) # Add a library to the project using the object add_library(${MODULE} SHARED $) -target_link_libraries(${MODULE} STEERBase CDB ESD RAWDatabase RAWDatarec EMCALUtils) + +# Linking to the dependencies +target_link_libraries(${MODULE} ${ALIROOT_DEPENDENCIES} ${ROOT_DEPENDENCIES}) # Additional compilation flags -set_target_properties(${MODULE}-object PROPERTIES COMPILE_FLAGS "-O -g -fPIC") +set_target_properties(${MODULE}-object PROPERTIES COMPILE_FLAGS "") add_definitions(-D__EMCALUTIL__) # System dependent: Modify the way the library is build diff --git a/FMD/FMDbase/CMakeLists.txt b/FMD/FMDbase/CMakeLists.txt index f2b7edf640b..6a868ae6bf2 100644 --- a/FMD/FMDbase/CMakeLists.txt +++ b/FMD/FMDbase/CMakeLists.txt @@ -76,6 +76,8 @@ generate_rootmap("${MODULE}" "${LIBDEPS}" "${CMAKE_CURRENT_SOURCE_DIR}/${MODULE} # Create an object to be reused in case of static libraries # Otherwise the sources will be compiled twice add_library(${MODULE}-object OBJECT ${SRCS} G__${MODULE}.cxx) +# Follow headers dependencies +add_dependencies(${MODULE}-object ${ALIROOT_DEPENDENCIES}) # Add a library to the project using the object add_library(${MODULE} SHARED $) diff --git a/FMD/FMDrec/CMakeLists.txt b/FMD/FMDrec/CMakeLists.txt index e66bb4a795f..63dfa2ea9f9 100644 --- a/FMD/FMDrec/CMakeLists.txt +++ b/FMD/FMDrec/CMakeLists.txt @@ -61,6 +61,8 @@ generate_rootmap("${MODULE}" "${LIBDEPS}" "${CMAKE_CURRENT_SOURCE_DIR}/${MODULE} # Create an object to be reused in case of static libraries # Otherwise the sources will be compiled twice add_library(${MODULE}-object OBJECT ${SRCS} G__${MODULE}.cxx) +# Follow headers dependencies +add_dependencies(${MODULE}-object ${ALIROOT_DEPENDENCIES}) # Add a library to the project using the object add_library(${MODULE} SHARED $) diff --git a/FMD/FMDsim/CMakeLists.txt b/FMD/FMDsim/CMakeLists.txt index b4455be722d..523c05c94b9 100644 --- a/FMD/FMDsim/CMakeLists.txt +++ b/FMD/FMDsim/CMakeLists.txt @@ -65,6 +65,8 @@ generate_rootmap("${MODULE}" "${LIBDEPS}" "${CMAKE_CURRENT_SOURCE_DIR}/${MODULE} # Create an object to be reused in case of static libraries # Otherwise the sources will be compiled twice add_library(${MODULE}-object OBJECT ${SRCS} G__${MODULE}.cxx) +# Follow headers dependencies +add_dependencies(${MODULE}-object ${ALIROOT_DEPENDENCIES}) # Add a library to the project using the object add_library(${MODULE} SHARED $) diff --git a/FMD/FMDutil/CMakeLists.txt b/FMD/FMDutil/CMakeLists.txt index 14f7d4efd36..d6c92784b6d 100644 --- a/FMD/FMDutil/CMakeLists.txt +++ b/FMD/FMDutil/CMakeLists.txt @@ -67,6 +67,8 @@ generate_rootmap("${MODULE}" "${LIBDEPS}" "${CMAKE_CURRENT_SOURCE_DIR}/${MODULE} # Create an object to be reused in case of static libraries # Otherwise the sources will be compiled twice add_library(${MODULE}-object OBJECT ${SRCS} G__${MODULE}.cxx) +# Follow headers dependencies +add_dependencies(${MODULE}-object ${ALIROOT_DEPENDENCIES}) # Add a library to the project using the object add_library(${MODULE} SHARED $) diff --git a/HLT/BASE/CMakeLists.txt b/HLT/BASE/CMakeLists.txt index be3e3e8a558..030e446a70e 100644 --- a/HLT/BASE/CMakeLists.txt +++ b/HLT/BASE/CMakeLists.txt @@ -137,6 +137,8 @@ generate_rootmap("${MODULE}" "${LIBDEPS}" "${CMAKE_CURRENT_SOURCE_DIR}/${MODULE} # Create an object to be reused in case of static libraries # Otherwise the sources will be compiled twice add_library(${MODULE}-object OBJECT ${SRCS} G__${MODULE}.cxx) +# Follow headers dependencies +add_dependencies(${MODULE}-object ${ALIROOT_DEPENDENCIES}) # Add a library to the project using the object add_library(${MODULE} SHARED $) target_link_libraries(${MODULE} ${ALIROOT_DEPENDENCIES} ${ROOT_DEPENDENCIES}) @@ -160,7 +162,7 @@ install(FILES ${HDRS} DESTINATION include) if(ALIROOT_STATIC) add_library(${MODULE}-static STATIC $) set_target_properties(${MODULE}-static PROPERTIES OUTPUT_NAME ${MODULE}) - target_link_libraries(${MODULE}-static STEERBase-static RAWDatabase-static AliHLTHOMER-static HLTbase-static Root RootExtra) + target_link_libraries(${MODULE}-static STEERBase-static RAWDatabase-static AliHLTHOMER-static Root RootExtra) set_target_properties(${MODULE}-static PROPERTIES LINK_FLAGS "-Wl,--whole-archive") # Installation diff --git a/HLT/BASE/HOMER/CMakeLists.txt b/HLT/BASE/HOMER/CMakeLists.txt index f122f92295f..415628977ee 100644 --- a/HLT/BASE/HOMER/CMakeLists.txt +++ b/HLT/BASE/HOMER/CMakeLists.txt @@ -44,13 +44,14 @@ generate_rootmap("${MODULE}" "${LIBDEPS}" "${CMAKE_CURRENT_SOURCE_DIR}/${MODULE} # Create an object to be reused in case of static libraries # Otherwise the sources will be compiled twice -add_library(AliHLTHOMER-object OBJECT ${SRCS} G__${MODULE}.cxx) +add_library(${MODULE}-object OBJECT ${SRCS} G__${MODULE}.cxx) +# Do not forget to add dependencies to the object in case they appear # Add a library to the project using the object -add_library(AliHLTHOMER SHARED $) +add_library(${MODULE} SHARED $) target_link_libraries(${MODULE} Core) # Additional compilation flags -set_target_properties(${MODULE}-object PROPERTIES COMPILE_FLAGS "-fPIC -O -g") +set_target_properties(${MODULE}-object PROPERTIES COMPILE_FLAGS "") # System dependent: Modify the way the library is build if(${CMAKE_SYSTEM} MATCHES Darwin) diff --git a/HMPID/HMPIDbase/CMakeLists.txt b/HMPID/HMPIDbase/CMakeLists.txt index 1ce73ae2de1..d296b0cca9b 100644 --- a/HMPID/HMPIDbase/CMakeLists.txt +++ b/HMPID/HMPIDbase/CMakeLists.txt @@ -63,6 +63,8 @@ generate_rootmap("${MODULE}" "${LIBDEPS}" "${CMAKE_CURRENT_SOURCE_DIR}/${MODULE} # Create an object to be reused in case of static libraries # Otherwise the sources will be compiled twice add_library(${MODULE}-object OBJECT ${SRCS} G__${MODULE}.cxx) +# Follow headers dependencies +add_dependencies(${MODULE}-object ${ALIROOT_DEPENDENCIES}) # Add a library to the project using the object add_library(${MODULE} SHARED $) target_link_libraries(${MODULE} ${ALIROOT_DEPENDENCIES} ${ROOT_DEPENDENCIES}) diff --git a/ITS/ITSbase/CMakeLists.txt b/ITS/ITSbase/CMakeLists.txt index 420a019354f..86d04fb51b4 100644 --- a/ITS/ITSbase/CMakeLists.txt +++ b/ITS/ITSbase/CMakeLists.txt @@ -169,6 +169,8 @@ generate_rootmap("${MODULE}" "${LIBDEPS}" "${CMAKE_CURRENT_SOURCE_DIR}/${MODULE} # Create an object to be reused in case of static libraries # Otherwise the sources will be compiled twice add_library(${MODULE}-object OBJECT ${SRCS} G__${MODULE}.cxx) +# Follow headers dependencies +add_dependencies(${MODULE}-object ${ALIROOT_DEPENDENCIES}) # Add a library to the project using the object add_library(${MODULE} SHARED $) target_link_libraries(${MODULE} ${ALIROOT_DEPENDENCIES} ${ROOT_DEPENDENCIES}) diff --git a/ITS/ITSrec/CMakeLists.txt b/ITS/ITSrec/CMakeLists.txt index 0ba4e311216..81326d1b62e 100644 --- a/ITS/ITSrec/CMakeLists.txt +++ b/ITS/ITSrec/CMakeLists.txt @@ -104,6 +104,8 @@ generate_rootmap("${MODULE}" "${LIBDEPS}" "${CMAKE_CURRENT_SOURCE_DIR}/${MODULE} # Create an object to be reused in case of static libraries # Otherwise the sources will be compiled twice add_library(${MODULE}-object OBJECT ${SRCS} G__${MODULE}.cxx) +# Follow headers dependencies +add_dependencies(${MODULE}-object ${ALIROOT_DEPENDENCIES}) # Add a library to the project using the object add_library(${MODULE} SHARED $) diff --git a/ITS/ITSsim/CMakeLists.txt b/ITS/ITSsim/CMakeLists.txt index 2ae05501cc5..ba391ace88c 100644 --- a/ITS/ITSsim/CMakeLists.txt +++ b/ITS/ITSsim/CMakeLists.txt @@ -87,6 +87,8 @@ generate_rootmap("${MODULE}" "${LIBDEPS}" "${CMAKE_CURRENT_SOURCE_DIR}/${MODULE} # Create an object to be reused in case of static libraries # Otherwise the sources will be compiled twice add_library(${MODULE}-object OBJECT ${SRCS} G__${MODULE}.cxx) +# Follow headers dependencies +add_dependencies(${MODULE}-object ${ALIROOT_DEPENDENCIES}) # Add a library to the project using the object add_library(${MODULE} SHARED $) diff --git a/MUON/MUONbase/CMakeLists.txt b/MUON/MUONbase/CMakeLists.txt index 6cee5dffc0c..3c075406af3 100644 --- a/MUON/MUONbase/CMakeLists.txt +++ b/MUON/MUONbase/CMakeLists.txt @@ -91,6 +91,8 @@ generate_rootmap("${MODULE}" "${LIBDEPS}" "${CMAKE_CURRENT_SOURCE_DIR}/${MODULE} # Create an object to be reused in case of static libraries # Otherwise the sources will be compiled twice add_library(${MODULE}-object OBJECT ${SRCS} G__${MODULE}.cxx) +# Follow headers dependencies +add_dependencies(${MODULE}-object ${ALIROOT_DEPENDENCIES}) # Add a library to the project using the object add_library(${MODULE} SHARED $) diff --git a/MUON/MUONcalib/CMakeLists.txt b/MUON/MUONcalib/CMakeLists.txt index b1d01848ed1..db994929faf 100644 --- a/MUON/MUONcalib/CMakeLists.txt +++ b/MUON/MUONcalib/CMakeLists.txt @@ -73,6 +73,8 @@ generate_rootmap("${MODULE}" "${LIBDEPS}" "${CMAKE_CURRENT_SOURCE_DIR}/${MODULE} # Create an object to be reused in case of static libraries # Otherwise the sources will be compiled twice add_library(${MODULE}-object OBJECT ${SRCS} G__${MODULE}.cxx) +# Follow headers dependencies +add_dependencies(${MODULE}-object ${ALIROOT_DEPENDENCIES}) # Add a library to the project using the object add_library(${MODULE} SHARED $) diff --git a/MUON/MUONcore/CMakeLists.txt b/MUON/MUONcore/CMakeLists.txt index a3fb0b0487c..41b6da9a10e 100644 --- a/MUON/MUONcore/CMakeLists.txt +++ b/MUON/MUONcore/CMakeLists.txt @@ -65,6 +65,8 @@ generate_rootmap("${MODULE}" "${LIBDEPS}" "${CMAKE_CURRENT_SOURCE_DIR}/${MODULE} # Create an object to be reused in case of static libraries # Otherwise the sources will be compiled twice add_library(${MODULE}-object OBJECT ${SRCS} G__${MODULE}.cxx) +# Follow headers dependencies +add_dependencies(${MODULE}-object ${ALIROOT_DEPENDENCIES}) # Add a library to the project using the object add_library(${MODULE} SHARED $) diff --git a/MUON/MUONgeometry/CMakeLists.txt b/MUON/MUONgeometry/CMakeLists.txt index a3baa4cdc37..faa9545d40b 100644 --- a/MUON/MUONgeometry/CMakeLists.txt +++ b/MUON/MUONgeometry/CMakeLists.txt @@ -67,6 +67,8 @@ generate_rootmap("${MODULE}" "${LIBDEPS}" "${CMAKE_CURRENT_SOURCE_DIR}/${MODULE} # Create an object to be reused in case of static libraries # Otherwise the sources will be compiled twice add_library(${MODULE}-object OBJECT ${SRCS} G__${MODULE}.cxx) +# Follow headers dependencies +add_dependencies(${MODULE}-object ${ALIROOT_DEPENDENCIES}) # Add a library to the project using the object add_library(${MODULE} SHARED $) diff --git a/MUON/MUONmapping/CMakeLists.txt b/MUON/MUONmapping/CMakeLists.txt index f3f349d28e9..c0424f11edf 100644 --- a/MUON/MUONmapping/CMakeLists.txt +++ b/MUON/MUONmapping/CMakeLists.txt @@ -126,6 +126,8 @@ generate_rootmap("${MODULE}" "${LIBDEPS}" "${CMAKE_CURRENT_SOURCE_DIR}/${MODULE} # Create an object to be reused in case of static libraries # Otherwise the sources will be compiled twice add_library(${MODULE}-object OBJECT ${SRCS} G__${MODULE}.cxx) +# Follow headers dependencies +add_dependencies(${MODULE}-object ${ALIROOT_DEPENDENCIES}) # Add a library to the project using the object add_library(${MODULE} SHARED $) diff --git a/MUON/MUONraw/CMakeLists.txt b/MUON/MUONraw/CMakeLists.txt index 62b7f4aa23e..97d79e68fa4 100644 --- a/MUON/MUONraw/CMakeLists.txt +++ b/MUON/MUONraw/CMakeLists.txt @@ -69,6 +69,8 @@ generate_rootmap("${MODULE}" "${LIBDEPS}" "${CMAKE_CURRENT_SOURCE_DIR}/${MODULE} # Create an object to be reused in case of static libraries # Otherwise the sources will be compiled twice add_library(${MODULE}-object OBJECT ${SRCS} G__${MODULE}.cxx) +# Follow headers dependencies +add_dependencies(${MODULE}-object ${ALIROOT_DEPENDENCIES}) # Add a library to the project using the object add_library(${MODULE} SHARED $) diff --git a/MUON/MUONshuttle/CMakeLists.txt b/MUON/MUONshuttle/CMakeLists.txt index 021e13a073b..8dc4b0c0e72 100644 --- a/MUON/MUONshuttle/CMakeLists.txt +++ b/MUON/MUONshuttle/CMakeLists.txt @@ -66,6 +66,8 @@ generate_rootmap("${MODULE}" "${LIBDEPS}" "${CMAKE_CURRENT_SOURCE_DIR}/${MODULE} # Create an object to be reused in case of static libraries # Otherwise the sources will be compiled twice add_library(${MODULE}-object OBJECT ${SRCS} G__${MODULE}.cxx) +# Follow headers dependencies +add_dependencies(${MODULE}-object ${ALIROOT_DEPENDENCIES}) # Add a library to the project using the object add_library(${MODULE} SHARED $) diff --git a/MUON/MUONsim/CMakeLists.txt b/MUON/MUONsim/CMakeLists.txt index ab36d17ec1e..e92793a1414 100644 --- a/MUON/MUONsim/CMakeLists.txt +++ b/MUON/MUONsim/CMakeLists.txt @@ -86,6 +86,8 @@ generate_rootmap("${MODULE}" "${LIBDEPS}" "${CMAKE_CURRENT_SOURCE_DIR}/${MODULE} # Create an object to be reused in case of static libraries # Otherwise the sources will be compiled twice add_library(${MODULE}-object OBJECT ${SRCS} G__${MODULE}.cxx) +# Follow headers dependencies +add_dependencies(${MODULE}-object ${ALIROOT_DEPENDENCIES}) # Add a library to the project using the object add_library(${MODULE} SHARED $) diff --git a/MUON/MUONtrigger/CMakeLists.txt b/MUON/MUONtrigger/CMakeLists.txt index 7232fd3ce3a..a236cce6dde 100644 --- a/MUON/MUONtrigger/CMakeLists.txt +++ b/MUON/MUONtrigger/CMakeLists.txt @@ -61,6 +61,8 @@ generate_rootmap("${MODULE}" "${LIBDEPS}" "${CMAKE_CURRENT_SOURCE_DIR}/${MODULE} # Create an object to be reused in case of static libraries # Otherwise the sources will be compiled twice add_library(${MODULE}-object OBJECT ${SRCS} G__${MODULE}.cxx) +# Follow headers dependencies +add_dependencies(${MODULE}-object ${ALIROOT_DEPENDENCIES}) # Add a library to the project using the object add_library(${MODULE} SHARED $) diff --git a/PHOS/PHOSUtils/CMakeLists.txt b/PHOS/PHOSUtils/CMakeLists.txt index da6b256955c..d4904430642 100644 --- a/PHOS/PHOSUtils/CMakeLists.txt +++ b/PHOS/PHOSUtils/CMakeLists.txt @@ -52,6 +52,8 @@ generate_rootmap("${MODULE}" "${LIBDEPS}" "${CMAKE_CURRENT_SOURCE_DIR}/${MODULE} # Create an object to be reused in case of static libraries # Otherwise the sources will be compiled twice add_library(${MODULE}-object OBJECT ${SRCS} G__${MODULE}.cxx) +# Follow headers dependencies +add_dependencies(${MODULE}-object ${ALIROOT_DEPENDENCIES}) # Add a library to the project using the object add_library(${MODULE} SHARED $) diff --git a/PHOS/PHOSbase/CMakeLists.txt b/PHOS/PHOSbase/CMakeLists.txt index 0c7bf9904cb..3f48e092805 100644 --- a/PHOS/PHOSbase/CMakeLists.txt +++ b/PHOS/PHOSbase/CMakeLists.txt @@ -102,6 +102,8 @@ generate_rootmap("${MODULE}" "${LIBDEPS}" "${CMAKE_CURRENT_SOURCE_DIR}/${MODULE} # Create an object to be reused in case of static libraries # Otherwise the sources will be compiled twice add_library(${MODULE}-object OBJECT ${SRCS} G__${MODULE}.cxx) +# Follow headers dependencies +add_dependencies(${MODULE}-object ${ALIROOT_DEPENDENCIES}) # Add a library to the project using the object add_library(${MODULE} SHARED $) diff --git a/PHOS/PHOSrec/CMakeLists.txt b/PHOS/PHOSrec/CMakeLists.txt index 6ab135033ef..18710966d68 100644 --- a/PHOS/PHOSrec/CMakeLists.txt +++ b/PHOS/PHOSrec/CMakeLists.txt @@ -68,6 +68,8 @@ generate_rootmap("${MODULE}" "${LIBDEPS}" "${CMAKE_CURRENT_SOURCE_DIR}/${MODULE} # Create an object to be reused in case of static libraries # Otherwise the sources will be compiled twice add_library(${MODULE}-object OBJECT ${SRCS} G__${MODULE}.cxx) +# Follow headers dependencies +add_dependencies(${MODULE}-object ${ALIROOT_DEPENDENCIES}) # Add a library to the project using the object add_library(${MODULE} SHARED $) diff --git a/PHOS/PHOSshuttle/CMakeLists.txt b/PHOS/PHOSshuttle/CMakeLists.txt index 6f5bb1fab42..883df0f01c7 100644 --- a/PHOS/PHOSshuttle/CMakeLists.txt +++ b/PHOS/PHOSshuttle/CMakeLists.txt @@ -59,6 +59,8 @@ generate_rootmap("${MODULE}" "${LIBDEPS}" "${CMAKE_CURRENT_SOURCE_DIR}/${MODULE} # Create an object to be reused in case of static libraries # Otherwise the sources will be compiled twice add_library(${MODULE}-object OBJECT ${SRCS} G__${MODULE}.cxx) +# Follow headers dependencies +add_dependencies(${MODULE}-object ${ALIROOT_DEPENDENCIES}) # Add a library to the project using the object add_library(${MODULE} SHARED $) diff --git a/PHOS/PHOSsim/CMakeLists.txt b/PHOS/PHOSsim/CMakeLists.txt index 0e2922270e2..02b5fdc78d2 100644 --- a/PHOS/PHOSsim/CMakeLists.txt +++ b/PHOS/PHOSsim/CMakeLists.txt @@ -62,6 +62,8 @@ generate_rootmap("${MODULE}" "${LIBDEPS}" "${CMAKE_CURRENT_SOURCE_DIR}/${MODULE} # Create an object to be reused in case of static libraries # Otherwise the sources will be compiled twice add_library(${MODULE}-object OBJECT ${SRCS} G__${MODULE}.cxx) +# Follow headers dependencies +add_dependencies(${MODULE}-object ${ALIROOT_DEPENDENCIES}) # Add a library to the project using the object add_library(${MODULE} SHARED $) diff --git a/PMD/PMDbase/CMakeLists.txt b/PMD/PMDbase/CMakeLists.txt index b107c0a87d4..6bea95fcb65 100644 --- a/PMD/PMDbase/CMakeLists.txt +++ b/PMD/PMDbase/CMakeLists.txt @@ -71,6 +71,8 @@ generate_rootmap("${MODULE}" "${LIBDEPS}" "${CMAKE_CURRENT_SOURCE_DIR}/${MODULE} # Create an object to be reused in case of static libraries # Otherwise the sources will be compiled twice add_library(${MODULE}-object OBJECT ${SRCS} G__${MODULE}.cxx) +# Follow headers dependencies +add_dependencies(${MODULE}-object ${ALIROOT_DEPENDENCIES}) # Add a library to the project using the object add_library(${MODULE} SHARED $) diff --git a/PMD/PMDrec/CMakeLists.txt b/PMD/PMDrec/CMakeLists.txt index 98519f4dbab..df35ba800bf 100644 --- a/PMD/PMDrec/CMakeLists.txt +++ b/PMD/PMDrec/CMakeLists.txt @@ -81,6 +81,8 @@ generate_rootmap("${MODULE}" "${LIBDEPS}" "${CMAKE_CURRENT_SOURCE_DIR}/${MODULE} # Create an object to be reused in case of static libraries # Otherwise the sources will be compiled twice add_library(${MODULE}-object OBJECT ${SRCS} G__${MODULE}.cxx) +# Follow headers dependencies +add_dependencies(${MODULE}-object ${ALIROOT_DEPENDENCIES}) # Add a library to the project using the object add_library(${MODULE} SHARED $) diff --git a/RAW/MDC/CMakeLists.txt b/RAW/MDC/CMakeLists.txt index df01101fd2f..d21c70807f4 100644 --- a/RAW/MDC/CMakeLists.txt +++ b/RAW/MDC/CMakeLists.txt @@ -58,6 +58,8 @@ generate_rootmap("${MODULE}" "${LIBDEPS}" "${CMAKE_CURRENT_SOURCE_DIR}/${MODULE} # Create an object to be reused in case of static libraries # Otherwise the sources will be compiled twice add_library(${MODULE}-object OBJECT ${SRCS} G__${MODULE}.cxx) +# Follow headers dependencies +add_dependencies(${MODULE}-object ${ALIROOT_DEPENDENCIES}) # Add a library to the project using the object add_library(${MODULE} SHARED $) target_link_libraries(${MODULE} ${ROOT_DEPENDENCIES} ${ALIROOT_DEPENDENCIES}) diff --git a/RAW/RAWDatabase/CMakeLists.txt b/RAW/RAWDatabase/CMakeLists.txt index d52fb7b03f1..cb480f0bbb7 100644 --- a/RAW/RAWDatabase/CMakeLists.txt +++ b/RAW/RAWDatabase/CMakeLists.txt @@ -70,6 +70,8 @@ generate_rootmap("${MODULE}" "${LIBDEPS}" "${CMAKE_CURRENT_SOURCE_DIR}/${MODULE} # Create an object to be reused in case of static libraries # Otherwise the sources will be compiled twice add_library(${MODULE}-object OBJECT ${SRCS} G__${MODULE}.cxx) +# Follow headers dependencies +add_dependencies(${MODULE}-object ${ALIROOT_DEPENDENCIES}) # Add a library to the project using the object add_library(${MODULE} SHARED $) target_link_libraries(${MODULE} ${ALIROOT_DEPENDENCIES} ${ROOT_DEPENDENCIES}) diff --git a/RAW/RAWDatarec/CMakeLists.txt b/RAW/RAWDatarec/CMakeLists.txt index 9f668d34b8e..66d5349fd65 100644 --- a/RAW/RAWDatarec/CMakeLists.txt +++ b/RAW/RAWDatarec/CMakeLists.txt @@ -62,9 +62,12 @@ generate_rootmap("${MODULE}" "${LIBDEPS}" "${CMAKE_CURRENT_SOURCE_DIR}/${MODULE} # Create an object to be reused in case of static libraries # Otherwise the sources will be compiled twice add_library(${MODULE}-object OBJECT ${SRCS} G__${MODULE}.cxx) +# Follow headers dependencies +add_dependencies(${MODULE}-object ${ALIROOT_DEPENDENCIES}) # Add a library to the project using the object add_library(${MODULE} SHARED $) -target_link_libraries(${MODULE} ${ROOT_DEPENDENCIES} ${ALIROOT_DEPENDENCIES}) + +target_link_libraries(${MODULE} LINK_PUBLIC ${ROOT_DEPENDENCIES} ${ALIROOT_DEPENDENCIES}) # Public include folders that will be propagated to the dependecies target_include_directories(${MODULE} PUBLIC ${incdirs}) diff --git a/RAW/RAWDatarecOnline/CMakeLists.txt b/RAW/RAWDatarecOnline/CMakeLists.txt index 8b8bdfd1469..df6297783c3 100644 --- a/RAW/RAWDatarecOnline/CMakeLists.txt +++ b/RAW/RAWDatarecOnline/CMakeLists.txt @@ -52,6 +52,8 @@ generate_rootmap("${MODULE}" "${LIBDEPS}" "${CMAKE_CURRENT_SOURCE_DIR}/${MODULE} # Create an object to be reused in case of static libraries # Otherwise the sources will be compiled twice add_library(${MODULE}-object OBJECT ${SRCS} G__${MODULE}.cxx) +# Follow headers dependencies +add_dependencies(${MODULE}-object ${ALIROOT_DEPENDENCIES}) # Add a library to the project using the object add_library(${MODULE} SHARED $) target_link_libraries(${MODULE} ${ALIROOT_DEPENDENCIES} ${ROOT_DEPENDENCIES}) diff --git a/RAW/RAWDatasim/CMakeLists.txt b/RAW/RAWDatasim/CMakeLists.txt index 10d5f3cdec2..be9203eb616 100644 --- a/RAW/RAWDatasim/CMakeLists.txt +++ b/RAW/RAWDatasim/CMakeLists.txt @@ -52,6 +52,8 @@ generate_rootmap("${MODULE}" "${LIBDEPS}" "${CMAKE_CURRENT_SOURCE_DIR}/${MODULE} # Create an object to be reused in case of static libraries # Otherwise the sources will be compiled twice add_library(${MODULE}-object OBJECT ${SRCS} G__${MODULE}.cxx) +# Follow headers dependencies +add_dependencies(${MODULE}-object ${ALIROOT_DEPENDENCIES}) # Add a library to the project using the object add_library(${MODULE} SHARED $) target_link_libraries(${MODULE} ${ROOT_DEPENDENCIES} ${ALIROOT_DEPENDENCIES}) diff --git a/STEER/AOD/CMakeLists.txt b/STEER/AOD/CMakeLists.txt index 85c7b244e5d..dffe1737dc3 100644 --- a/STEER/AOD/CMakeLists.txt +++ b/STEER/AOD/CMakeLists.txt @@ -90,6 +90,8 @@ generate_rootmap("${MODULE}" "${LIBDEPS}" "${CMAKE_CURRENT_SOURCE_DIR}/${MODULE} # Create an object to be reused in case of static libraries # Otherwise the sources will be compiled twice add_library(${MODULE}-object OBJECT ${SRCS} G__${MODULE}.cxx) +# Follow headers dependencies +add_dependencies(${MODULE}-object ${ALIROOT_DEPENDENCIES}) # Add a library to the project using the object add_library(${MODULE} SHARED $) diff --git a/STEER/CDB/CMakeLists.txt b/STEER/CDB/CMakeLists.txt index 83f7aebd7fd..b1732a2040f 100644 --- a/STEER/CDB/CMakeLists.txt +++ b/STEER/CDB/CMakeLists.txt @@ -72,6 +72,8 @@ generate_rootmap("${MODULE}" "${LIBDEPS}" "${CMAKE_CURRENT_SOURCE_DIR}/${MODULE} # Create an object to be reused in case of static libraries # Otherwise the sources will be compiled twice add_library(${MODULE}-object OBJECT ${SRCS} G__${MODULE}.cxx) +# Follow headers dependencies +add_dependencies(${MODULE}-object ${ALIROOT_DEPENDENCIES}) # Add a library to the project using the object add_library(${MODULE} SHARED $) diff --git a/STEER/ESD/CMakeLists.txt b/STEER/ESD/CMakeLists.txt index 80e00393ad2..e3281f3e313 100644 --- a/STEER/ESD/CMakeLists.txt +++ b/STEER/ESD/CMakeLists.txt @@ -119,6 +119,8 @@ generate_rootmap("ESD" "${LIBDEPS}" "${CMAKE_CURRENT_SOURCE_DIR}/${MODULE}LinkDe # Create an object to be reused in case of static libraries # Otherwise the sources will be compiled twice add_library(${MODULE}-object OBJECT ${SRCS} G__${MODULE}.cxx) +# Follow headers dependencies +add_dependencies(${MODULE}-object ${ALIROOT_DEPENDENCIES}) # Add a library to the project using the object add_library(${MODULE} SHARED $) diff --git a/STEER/STEER/CMakeLists.txt b/STEER/STEER/CMakeLists.txt index c012b8fb197..4b7f05c7e9d 100644 --- a/STEER/STEER/CMakeLists.txt +++ b/STEER/STEER/CMakeLists.txt @@ -175,9 +175,11 @@ add_definitions("-DLIBHLTSIM_VERSION=${LIBHLTSIM_VERSION}") # Create an object to be reused in case of static libraries # Otherwise the sources will be compiled twice -add_library(STEER-object OBJECT ${SRCS} G__${MODULE}.cxx) +add_library(${MODULE}-object OBJECT ${SRCS} G__${MODULE}.cxx) +# Dependencies for the object +add_dependencies(${MODULE}-object ${ALIROOT_DEPENDENCIES}) # Add a library to the project using the object -add_library(STEER SHARED $) +add_library(${MODULE} SHARED $) target_link_libraries(${MODULE} ${ALIROOT_DEPENDENCIES} ${ROOT_DEPENDENCIES}) diff --git a/STEER/STEERBase/CMakeLists.txt b/STEER/STEERBase/CMakeLists.txt index 5f7556b8f0f..eef5981e082 100644 --- a/STEER/STEERBase/CMakeLists.txt +++ b/STEER/STEERBase/CMakeLists.txt @@ -149,7 +149,7 @@ set(LIBDEPS Core EG Geom Gpad Graf3d Graf Hist MathCore Matrix Minuit Net Physic generate_rootmap("STEERBase" "${LIBDEPS}" "${CMAKE_CURRENT_SOURCE_DIR}/${MODULE}LinkDef.h") # Additional compilation flags for the object -set_target_properties(${MODULE}-object PROPERTIES COMPILE_FLAGS "-O -g") +set_target_properties(${MODULE}-object PROPERTIES COMPILE_FLAGS "") # Linking the library, not the object target_link_libraries(${MODULE} Core EG Geom Gpad Graf3d Graf Hist MathCore Matrix Minuit Net Physics RIO Tree VMC) diff --git a/T0/T0base/CMakeLists.txt b/T0/T0base/CMakeLists.txt index 0394aa0e556..0e2fff54838 100644 --- a/T0/T0base/CMakeLists.txt +++ b/T0/T0base/CMakeLists.txt @@ -72,6 +72,8 @@ generate_rootmap("${MODULE}" "${LIBDEPS}" "${CMAKE_CURRENT_SOURCE_DIR}/${MODULE} # Create an object to be reused in case of static libraries # Otherwise the sources will be compiled twice add_library(${MODULE}-object OBJECT ${SRCS} G__${MODULE}.cxx) +# Follow headers dependencies +add_dependencies(${MODULE}-object ${ALIROOT_DEPENDENCIES}) # Add a library to the project using the object add_library(${MODULE} SHARED $) diff --git a/TOF/TOFbase/CMakeLists.txt b/TOF/TOFbase/CMakeLists.txt index 12ec656e41d..cc5134d5c9f 100644 --- a/TOF/TOFbase/CMakeLists.txt +++ b/TOF/TOFbase/CMakeLists.txt @@ -102,6 +102,8 @@ generate_rootmap("${MODULE}" "${LIBDEPS}" "${CMAKE_CURRENT_SOURCE_DIR}/${MODULE} # Create an object to be reused in case of static libraries # Otherwise the sources will be compiled twice add_library(${MODULE}-object OBJECT ${SRCS} G__${MODULE}.cxx) +# Follow headers dependencies +add_dependencies(${MODULE}-object ${ALIROOT_DEPENDENCIES}) # Add a library to the project using the object add_library(${MODULE} SHARED $) diff --git a/TPC/TPCbase/CMakeLists.txt b/TPC/TPCbase/CMakeLists.txt index 05319f517c4..3436a4b4830 100644 --- a/TPC/TPCbase/CMakeLists.txt +++ b/TPC/TPCbase/CMakeLists.txt @@ -125,6 +125,8 @@ generate_rootmap("${MODULE}" "${LIBDEPS}" "${CMAKE_CURRENT_SOURCE_DIR}/${MODULE} # Create an object to be reused in case of static libraries # Otherwise the sources will be compiled twice add_library(${MODULE}-object OBJECT ${SRCS} G__${MODULE}.cxx) +# Follow headers dependencies +add_dependencies(${MODULE}-object ${ALIROOT_DEPENDENCIES}) # Add a library to the project using the object add_library(${MODULE} SHARED $) diff --git a/TPC/TPCrec/CMakeLists.txt b/TPC/TPCrec/CMakeLists.txt index 9998efa5657..546e47e1dc5 100644 --- a/TPC/TPCrec/CMakeLists.txt +++ b/TPC/TPCrec/CMakeLists.txt @@ -70,6 +70,8 @@ generate_rootmap("${MODULE}" "${LIBDEPS}" "${CMAKE_CURRENT_SOURCE_DIR}/${MODULE} # Create an object to be reused in case of static libraries # Otherwise the sources will be compiled twice add_library(${MODULE}-object OBJECT ${SRCS} G__${MODULE}.cxx) +# Follow headers dependencies +add_dependencies(${MODULE}-object ${ALIROOT_DEPENDENCIES}) # Add a library to the project using the object add_library(${MODULE} SHARED $) @@ -92,4 +94,3 @@ install(TARGETS ${MODULE} ARCHIVE DESTINATION lib LIBRARY DESTINATION lib) -install(FILES ${HDRS} DESTINATION include) \ No newline at end of file diff --git a/TPC/TPCsim/CMakeLists.txt b/TPC/TPCsim/CMakeLists.txt index 44107d75291..d020fed4237 100644 --- a/TPC/TPCsim/CMakeLists.txt +++ b/TPC/TPCsim/CMakeLists.txt @@ -65,6 +65,8 @@ generate_rootmap("${MODULE}" "${LIBDEPS}" "${CMAKE_CURRENT_SOURCE_DIR}/${MODULE} # Create an object to be reused in case of static libraries # Otherwise the sources will be compiled twice add_library(${MODULE}-object OBJECT ${SRCS} G__${MODULE}.cxx) +# Follow headers dependencies +add_dependencies(${MODULE}-object ${ALIROOT_DEPENDENCIES}) # Add a library to the project using the object add_library(${MODULE} SHARED $) @@ -87,4 +89,3 @@ install(TARGETS ${MODULE} ARCHIVE DESTINATION lib LIBRARY DESTINATION lib) -install(FILES ${HDRS} DESTINATION include) \ No newline at end of file diff --git a/TRD/TRDbase/CMakeLists.txt b/TRD/TRDbase/CMakeLists.txt index 71a080c1f6c..49bbb94eca5 100644 --- a/TRD/TRDbase/CMakeLists.txt +++ b/TRD/TRDbase/CMakeLists.txt @@ -145,6 +145,8 @@ generate_rootmap("${MODULE}" "${LIBDEPS}" "${CMAKE_CURRENT_SOURCE_DIR}/${MODULE} # Create an object to be reused in case of static libraries # Otherwise the sources will be compiled twice add_library(${MODULE}-object OBJECT ${SRCS} G__${MODULE}.cxx) +# Follow headers dependencies +add_dependencies(${MODULE}-object ${ALIROOT_DEPENDENCIES}) # Add a library to the project using the object add_library(${MODULE} SHARED $) @@ -155,7 +157,7 @@ target_link_libraries(${MODULE} ${ALIROOT_DEPENDENCIES} ${ROOT_DEPENDENCIES}) target_include_directories(${MODULE} PUBLIC ${incdirs}) # Additional compilation flags -set_target_properties(${MODULE}-object PROPERTIES COMPILE_FLAGS "-O -g") +set_target_properties(${MODULE}-object PROPERTIES COMPILE_FLAGS "") # System dependent: Modify the way the library is build if(${CMAKE_SYSTEM} MATCHES Darwin) diff --git a/TRD/TRDbase/CMakeLists.txt... b/TRD/TRDbase/CMakeLists.txt... new file mode 100644 index 00000000000..35d1cc17ae7 --- /dev/null +++ b/TRD/TRDbase/CMakeLists.txt... @@ -0,0 +1,207 @@ +# ************************************************************************** +# * Copyright(c) 1998-2014, ALICE Experiment at CERN, All rights reserved. * +# * * +# * Author: The ALICE Off-line Project. * +# * Contributors are mentioned in the code where appropriate. * +# * * +# * Permission to use, copy, modify and distribute this software and its * +# * documentation strictly for non-commercial purposes is hereby granted * +# * without fee, provided that the above copyright notice appears in all * +# * copies and that both the copyright notice and this permission notice * +# * appear in the supporting documentation. The authors make no claims * +# * about the suitability of this software for any purpose. It is * +# * provided "as is" without express or implied warranty. * +# ************************************************************************** + +# Module +set(MODULE TRDbase) + +# Module include folder +include_directories(${AliRoot_SOURCE_DIR}/TRD/${MODULE}) + +# Additional include folders in alphabetical order except ROOT +include_directories(${ROOT_INCLUDE_DIRS} + ${AliRoot_SOURCE_DIR}/RAW/RAWDatabase + ${AliRoot_SOURCE_DIR}/RAW/RAWDatarec + ${AliRoot_SOURCE_DIR}/STEER/CDB + ${AliRoot_SOURCE_DIR}/STEER/ESD + ${AliRoot_SOURCE_DIR}/STEER/STEER + ${AliRoot_SOURCE_DIR}/STEER/STEERBase + ) + +# Sources in alphabetical order +set(SRCS + AliTRDalignment.cxx + AliTRDarrayADC.cxx + AliTRDarrayDictionary.cxx + AliTRDarraySignal.cxx + AliTRDCalChamberStatus.cxx + AliTRDCalDCS.cxx + AliTRDCalDCSFEE.cxx + AliTRDCalDCSFEEv2.cxx + AliTRDCalDCSGTUBoardInfo.cxx + AliTRDCalDCSGTUCtpOpc.cxx + AliTRDCalDCSGTU.cxx + AliTRDCalDCSGTUSegment.cxx + AliTRDCalDCSGTUTgu.cxx + AliTRDCalDCSGTUTmu.cxx + AliTRDCalDCSPTR.cxx + AliTRDCalDCSv2.cxx + AliTRDCalDet.cxx + AliTRDCalibChamberStatus.cxx + AliTRDcalibDB.cxx + AliTRDCalibPadStatus.cxx + AliTRDCalibraExbAltFit.cxx + AliTRDCalibraFillHisto.cxx + AliTRDCalibraFit.cxx + AliTRDCalibraMode.cxx + AliTRDCalibraVdriftLinearFit.cxx + AliTRDCalibraVector.cxx + AliTRDCalibViewer.cxx + AliTRDCalibViewerGUI.cxx + AliTRDCalMonitoring.cxx + AliTRDCalOnlineGainTable.cxx + AliTRDCalOnlineGainTableMCM.cxx + AliTRDCalOnlineGainTableROC.cxx + AliTRDCalPad.cxx + AliTRDCalPadStatus.cxx + AliTRDCalPID.cxx + AliTRDCalROC.cxx + AliTRDCalSingleChamberStatus.cxx + AliTRDCalTrapConfig.cxx + AliTRDCalTrkAttach.cxx + AliTRDchamberTimeBin.cxx + AliTRDCommonParam.cxx + AliTRDcluster.cxx + AliTRDclusterizer.cxx + AliTRDDataDCS.cxx + AliTRDdEdxBaseUtils.cxx + AliTRDdEdxCalibHistArray.cxx + AliTRDdEdxCalibUtils.cxx + AliTRDdEdxReconUtils.cxx + AliTRDdigit.cxx + AliTRDdigitsManager.cxx + AliTRDdigitsParam.cxx + AliTRDEntriesInfo.cxx + AliTRDfeeParam.cxx + AliTRDgeometry.cxx + AliTRDgtuParam.cxx + AliTRDgtuSim.cxx + AliTRDgtuTMU.cxx + AliTRDhit.cxx + AliTRDltuParam.cxx + AliTRDmcmSim.cxx + AliTRDonlineTrackMatching.cxx + AliTRDpadPlane.cxx + AliTRDPhInfo.cxx + AliTRDpidUtil.cxx + AliTRDPreprocessor.cxx + AliTRDPrfInfo.cxx + AliTRDQAChecker.cxx + AliTRDrawData.cxx + AliTRDrawStream.cxx + AliTRDrecoParam.cxx + AliTRDReconstructor.cxx + AliTRDSaxHandler.cxx + AliTRDseedV1.cxx + AliTRDSensorArray.cxx + AliTRDSensor.cxx + AliTRDSignalIndex.cxx + AliTRDSimParam.cxx + AliTRDtrackGTU.cxx + AliTRDtrackerDebug.cxx + AliTRDtrackerV1.cxx + AliTRDtrackingChamber.cxx + AliTRDtrackingSector.cxx + AliTRDtrackletBase.cxx + AliTRDtrackletGTU.cxx + AliTRDtrackletOflHelper.cxx + AliTRDtrackletMCM.cxx + AliTRDtrackletWord.cxx + AliTRDtrackOnline.cxx + AliTRDtrackV1.cxx + AliTRDtransform.cxx + AliTRDtrapConfig.cxx + AliTRDtrapConfigHandler.cxx + AliTRDUshortInfo.cxx + ) + +# Headers from sources +string(REPLACE ".cxx" ".h" HDRS "${SRCS}") + +# Generate the dictionary +# It will create G_ARG1.cxx and G_ARG1.h / ARG1 = function first argument +get_directory_property(incdirs INCLUDE_DIRECTORIES) +generate_dictionary("${MODULE}" "${MODULE}LinkDef.h" "${HDRS}" "${incdirs}") + +set(ROOT_DEPENDENCIES Core GenVector Geom Gpad Graf Gui Hist MathCore Matrix Minuit Net RIO Tree VMC XMLParser) +set(ALIROOT_DEPENDENCIES STEERBase STEER ESD CDB RAWDatabase RAWDatarec) + +# Generate the ROOT map +# Dependecies +set(LIBDEPS ${ALIROOT_DEPENDENCIES} ${ROOT_DEPENDENCIES}) +generate_rootmap("${MODULE}" "${LIBDEPS}" "${CMAKE_CURRENT_SOURCE_DIR}/${MODULE}LinkDef.h") + +# Create an object to be reused in case of static libraries +# Otherwise the sources will be compiled twice +add_library(${MODULE}-object OBJECT ${SRCS} G__${MODULE}.cxx) +# Follow headers dependencies +add_dependencies(${MODULE}-object ${ALIROOT_DEPDENDENCIES}) +# Follow headers dependencies +add_dependencies(${MODULE}-object ${ALIROOT_DEPDENDENCIES}) +# Add a library to the project using the object +add_library(${MODULE} SHARED $) + +# Linking +target_link_libraries(${MODULE} ${ALIROOT_DEPENDENCIES} ${ROOT_DEPENDENCIES}) + +# Public include folders that will be propagated to the dependecies +target_include_directories(${MODULE} PUBLIC ${incdirs}) + +# Additional compilation flags +set_target_properties(${MODULE}-object PROPERTIES COMPILE_FLAGS "-O -g") + +# System dependent: Modify the way the library is build +if(${CMAKE_SYSTEM} MATCHES Darwin) + set_target_properties(${MODULE} PROPERTIES LINK_FLAGS "-undefined dynamic_lookup") +endif(${CMAKE_SYSTEM} MATCHES Darwin) + +# Check if CRS support was enabled +if(TRD_RAW_CRC) + message(STATUS "CRC support for AliTRDrawStream enabled") + add_definitions(-DTRD_RAW_CRC) +endif(TRD_RAW_CRC) + +# Check if RAW debug enabled +if(TRD_RAW_DEBUG) + message(STATUS "Debug support for AliTRDrawStream enabled") + add_definitions(-DTRD_RAW_DEBUG) +endif(TRD_RAW_DEBUG) + + +# Installation +install(TARGETS ${MODULE} + ARCHIVE DESTINATION lib + LIBRARY DESTINATION lib) + +install(FILES ${HDRS} DESTINATION include) + +# Static version if DA enabled +if(ALIROOT_STATIC) + add_library(${MODULE}-static STATIC $) + set_target_properties(${MODULE}-static PROPERTIES OUTPUT_NAME ${MODULE}) + + # list of shared dependencies / the name of the variable containing the list of static ones + generate_static_dependencies("${ALIROOT_DEPENDENCIES}" "STATIC_ALIROOT_DEPENDENCIES") + target_link_libraries(${MODULE}-static ${STATIC_ALIROOT_DEPENDENCIES} Root RootExtra) + + # Public include folders that will be propagated to the dependecies + target_include_directories(${MODULE}-static PUBLIC ${incdirs}) + + set_target_properties(${MODULE}-static PROPERTIES LINK_FLAGS "-Wl,--whole-archive") + + # Installation + install(TARGETS ${MODULE}-static + ARCHIVE DESTINATION lib + LIBRARY DESTINATION lib) +endif(ALIROOT_STATIC) diff --git a/TRD/TRDrec/CMakeLists.txt b/TRD/TRDrec/CMakeLists.txt index 5d6f89a812b..978a198c0b4 100644 --- a/TRD/TRDrec/CMakeLists.txt +++ b/TRD/TRDrec/CMakeLists.txt @@ -21,7 +21,6 @@ include_directories(${AliRoot_SOURCE_DIR}/TRD/${MODULE}) # Additional include folders in alphabetical order except ROOT include_directories(${ROOT_INCLUDE_DIRS} - ${AliRoot_SOURCE_DIR}/RAW/RAWDatabase // this should not be here, but it is still asked, why? ${AliRoot_SOURCE_DIR}/RAW/RAWDatarec ${AliRoot_SOURCE_DIR}/STAT ${AliRoot_SOURCE_DIR}/STEER/ESD @@ -59,14 +58,16 @@ generate_rootmap("${MODULE}" "${LIBDEPS}" "${CMAKE_CURRENT_SOURCE_DIR}/${MODULE} # Create an object to be reused in case of static libraries # Otherwise the sources will be compiled twice add_library(${MODULE}-object OBJECT ${SRCS} G__${MODULE}.cxx) +# Follow headers dependencies +add_dependencies(${MODULE}-object ${ALIROOT_DEPENDENCIES}) # Add a library to the project using the object add_library(${MODULE} SHARED $) # Linking -target_link_libraries(${MODULE} ${ALIROOT_DEPENDENCIES} ${ROOT_DEPENDENCIES}) +target_link_libraries(${MODULE} RAWDatarec ${ALIROOT_DEPENDENCIES} ${ROOT_DEPENDENCIES}) # Public include folders that will be propagated to the dependecies -target_include_directories(${MODULE} PUBLIC ${incdirs}) +#target_include_directories(${MODULE} PUBLIC ${incdirs}) # Additional compilation flags set_target_properties(${MODULE}-object PROPERTIES COMPILE_FLAGS "-O -g") @@ -81,4 +82,3 @@ install(TARGETS ${MODULE} ARCHIVE DESTINATION lib LIBRARY DESTINATION lib) -install(FILES ${HDRS} DESTINATION include) \ No newline at end of file diff --git a/TRD/TRDsim/CMakeLists.txt b/TRD/TRDsim/CMakeLists.txt index 92c80628980..ef120fb2c2d 100644 --- a/TRD/TRDsim/CMakeLists.txt +++ b/TRD/TRDsim/CMakeLists.txt @@ -72,6 +72,8 @@ generate_rootmap("${MODULE}" "${LIBDEPS}" "${CMAKE_CURRENT_SOURCE_DIR}/${MODULE} # Create an object to be reused in case of static libraries # Otherwise the sources will be compiled twice add_library(${MODULE}-object OBJECT ${SRCS} G__${MODULE}.cxx) +# Follow headers dependencies +add_dependencies(${MODULE}-object ${ALIROOT_DEPENDENCIES}) # Add a library to the project using the object add_library(${MODULE} SHARED $) @@ -94,4 +96,3 @@ install(TARGETS ${MODULE} ARCHIVE DESTINATION lib LIBRARY DESTINATION lib) -install(FILES ${HDRS} DESTINATION include) \ No newline at end of file diff --git a/VZERO/CMakeLists.txt b/VZERO/CMakeLists.txt index de260db4e73..6eaf74af129 100644 --- a/VZERO/CMakeLists.txt +++ b/VZERO/CMakeLists.txt @@ -17,4 +17,8 @@ add_subdirectory(VZERObase) add_subdirectory(VZEROrec) add_subdirectory(VZEROsim) +if(DA) + add_subdirectory(DA) +endif(DA) + message(STATUS "VZERO enabled") diff --git a/VZERO/DA/CMakeLists.txt b/VZERO/DA/CMakeLists.txt new file mode 100644 index 00000000000..ab82bb49ec7 --- /dev/null +++ b/VZERO/DA/CMakeLists.txt @@ -0,0 +1,72 @@ +# ************************************************************************** +# * Copyright(c) 1998-2014, ALICE Experiment at CERN, All rights reserved. * +# * * +# * Author: The ALICE Off-line Project. * +# * Contributors are mentioned in the code where appropriate. * +# * * +# * Permission to use, copy, modify and distribute this software and its * +# * documentation strictly for non-commercial purposes is hereby granted * +# * without fee, provided that the above copyright notice appears in all * +# * copies and that both the copyright notice and this permission notice * +# * appear in the supporting documentation. The authors make no claims * +# * about the suitability of this software for any purpose. It is * +# * provided "as is" without express or implied warranty. * +# ************************************************************************** + +# Module include folder +include_directories(${AliRoot_SOURCE_DIR}/VZERO/DA) + +# Additional include folders in alphabetical order +include_directories( + ) + + +# DIM +link_directories(${DIMDIR}/${ODIR}) + +#daqDA flags +include_directories(${daqDA}) +link_directories(${daqDA}) + +# AMORE definitions +add_definitions(${AMORE_DEFINITIONS}) +include_directories(${AMORE_INCLUDE_DIR}) + +# Generating the DA executable +add_executable(VZEROCHANNELDELAYTUNINGda VZEROCHANNELDELAYTUNINGda.cxx) #1 +add_executable(VZEROda VZEROda.cxx) #2 +add_executable(VZEROINTEGRATIONGATETUNINGda VZEROINTEGRATIONGATETUNINGda.cxx) #3 +add_executable(VZEROPbPbda VZEROPbPbda.cxx) #4 + +target_link_libraries(VZEROCHANNELDELAYTUNINGda RAWDatarec-static STEERBase-static VZEROrec-static ${AMORE_AUXLIBS} daqDA ${DATE_MONLIBRARIES} ${DATE_RCPROXYLIBRARIES} Root RootExtra) # 1 +target_link_libraries(VZEROda RAWDatarec-static STEERBase-static VZEROrec-static ${AMORE_AUXLIBS} daqDA ${DATE_MONLIBRARIES} ${DATE_RCPROXYLIBRARIES} Root RootExtra) # 2 +target_link_libraries(VZEROINTEGRATIONGATETUNINGda RAWDatarec-static STEERBase-static VZEROrec-static ${AMORE_AUXLIBS} daqDA ${DATE_MONLIBRARIES} ${DATE_RCPROXYLIBRARIES} Root RootExtra) # 3 +target_link_libraries(VZEROPbPbda RAWDatarec-static STEERBase-static VZEROrec-static ${AMORE_AUXLIBS} daqDA ${DATE_MONLIBRARIES} ${DATE_RCPROXYLIBRARIES} Root RootExtra) # 4 + +set(MODULE_COMPILE_FLAGS) +set(MODULE_LINK_FLAGS) + +# different flags +set(MODULE_COMPILE_FLAGS "-O -g ${DATE_CFLAGS} ${AMORE_CFLAGS}") +set(MODULE_LINK_FLAGS "${DATE_LDFLAGS} ${AMORE_STATICLIBS}") + +set_target_properties(VZEROCHANNELDELAYTUNINGda PROPERTIES COMPILE_FLAGS ${MODULE_COMPILE_FLAGS}) # 1 +set_target_properties(VZEROCHANNELDELAYTUNINGda PROPERTIES LINK_FLAGS "${MODULE_LINK_FLAGS}") # 1 + +set_target_properties(VZEROda PROPERTIES COMPILE_FLAGS ${MODULE_COMPILE_FLAGS}) # 2 + set_target_properties(VZEROda PROPERTIES LINK_FLAGS "${MODULE_LINK_FLAGS}") # 2 + +set_target_properties(VZEROINTEGRATIONGATETUNINGda PROPERTIES COMPILE_FLAGS ${MODULE_COMPILE_FLAGS}) # 3 +set_target_properties(VZEROINTEGRATIONGATETUNINGda PROPERTIES LINK_FLAGS "${MODULE_LINK_FLAGS}") # 3 + +set_target_properties(VZEROPbPbda PROPERTIES COMPILE_FLAGS ${MODULE_COMPILE_FLAGS}) # 4 +set_target_properties(VZEROPbPbda PROPERTIES LINK_FLAGS "${MODULE_LINK_FLAGS}") # 4 + + +# Installation +install(TARGETS + VZEROCHANNELDELAYTUNINGda + VZEROda + VZEROINTEGRATIONGATETUNINGda + VZEROPbPbda + RUNTIME DESTINATION bin) \ No newline at end of file diff --git a/VZERO/VZEROCHANNELDELAYTUNINGda.cxx b/VZERO/DA/VZEROCHANNELDELAYTUNINGda.cxx similarity index 100% rename from VZERO/VZEROCHANNELDELAYTUNINGda.cxx rename to VZERO/DA/VZEROCHANNELDELAYTUNINGda.cxx diff --git a/VZERO/VZEROINTEGRATIONGATETUNINGda.cxx b/VZERO/DA/VZEROINTEGRATIONGATETUNINGda.cxx similarity index 100% rename from VZERO/VZEROINTEGRATIONGATETUNINGda.cxx rename to VZERO/DA/VZEROINTEGRATIONGATETUNINGda.cxx diff --git a/VZERO/VZEROPbPbda.cxx b/VZERO/DA/VZEROPbPbda.cxx similarity index 100% rename from VZERO/VZEROPbPbda.cxx rename to VZERO/DA/VZEROPbPbda.cxx diff --git a/VZERO/VZEROda.cxx b/VZERO/DA/VZEROda.cxx similarity index 100% rename from VZERO/VZEROda.cxx rename to VZERO/DA/VZEROda.cxx diff --git a/VZERO/VZEROrec/AliVZEROQADataMakerRec.cxx b/VZERO/VZERObase/AliVZEROQADataMakerRec.cxx similarity index 99% rename from VZERO/VZEROrec/AliVZEROQADataMakerRec.cxx rename to VZERO/VZERObase/AliVZEROQADataMakerRec.cxx index 761cb64088a..21f5a0f8bb6 100644 --- a/VZERO/VZEROrec/AliVZEROQADataMakerRec.cxx +++ b/VZERO/VZERObase/AliVZEROQADataMakerRec.cxx @@ -45,7 +45,7 @@ #include "AliVZERORawStream.h" #include "AliVZEROdigit.h" #include "AliVZEROConst.h" -#include "AliVZEROReconstructor.h" +//#include "AliVZEROReconstructor.h" #include "AliVZEROTrending.h" #include "AliVZEROCalibData.h" #include "AliVZEROTriggerData.h" diff --git a/VZERO/VZEROrec/AliVZEROQADataMakerRec.h b/VZERO/VZERObase/AliVZEROQADataMakerRec.h similarity index 100% rename from VZERO/VZEROrec/AliVZEROQADataMakerRec.h rename to VZERO/VZERObase/AliVZEROQADataMakerRec.h diff --git a/VZERO/VZEROrec/AliVZERORawStream.cxx b/VZERO/VZERObase/AliVZERORawStream.cxx similarity index 100% rename from VZERO/VZEROrec/AliVZERORawStream.cxx rename to VZERO/VZERObase/AliVZERORawStream.cxx diff --git a/VZERO/VZEROrec/AliVZERORawStream.h b/VZERO/VZERObase/AliVZERORawStream.h similarity index 100% rename from VZERO/VZEROrec/AliVZERORawStream.h rename to VZERO/VZERObase/AliVZERORawStream.h diff --git a/VZERO/VZERObase/CMakeLists.txt b/VZERO/VZERObase/CMakeLists.txt index f8d8e872d5e..15c7fc8ed2e 100644 --- a/VZERO/VZERObase/CMakeLists.txt +++ b/VZERO/VZERObase/CMakeLists.txt @@ -21,10 +21,13 @@ include_directories(${AliRoot_SOURCE_DIR}/VZERO/${MODULE}) # Additional include folders in alphabetical order except ROOT include_directories(${ROOT_INCLUDE_DIRS} + ${AliRoot_SOURCE_DIR}/RAW/dateStream + ${AliRoot_SOURCE_DIR}/RAW/RAWDatabase + ${AliRoot_SOURCE_DIR}/RAW/RAWDatarec ${AliRoot_SOURCE_DIR}/STEER/CDB + ${AliRoot_SOURCE_DIR}/STEER/ESD ${AliRoot_SOURCE_DIR}/STEER/STEER ${AliRoot_SOURCE_DIR}/STEER/STEERBase - ${AliRoot_SOURCE_DIR}/VZERO/VZEROrec ) # Sources in alphabetical order @@ -38,6 +41,8 @@ set(SRCS AliVZEROMisAligner.cxx AliVZEROPreprocessor.cxx AliVZEROQAChecker.cxx + AliVZEROQADataMakerRec.cxx + AliVZERORawStream.cxx AliVZEROSDigit.cxx AliVZEROTrending.cxx AliVZEROTriggerData.cxx @@ -52,17 +57,30 @@ string(REPLACE ".cxx" ".h" HDRS "${SRCS}") get_directory_property(incdirs INCLUDE_DIRECTORIES) generate_dictionary("${MODULE}" "${MODULE}LinkDef.h" "${HDRS}" "${incdirs}") +set(ROOT_DEPENDENCIES Core Gpad Graf Hist MathCore RIO Tree) +set(ALIROOT_DEPENDENCIES STEERBase STEER ESD CDB RAWDatabase RAWDatarec) + # Generate the ROOT map # Dependecies -set(LIBDEPS STEERBase STEER CDB VZEROrec) +set(LIBDEPS ${ALIROOT_DEPENDENCIES} ${ROOT_DEPENDENCIES}) generate_rootmap("${MODULE}" "${LIBDEPS}" "${CMAKE_CURRENT_SOURCE_DIR}/${MODULE}LinkDef.h") +# Create an object to be reused in case of static libraries +# Otherwise the sources will be compiled twice +add_library(${MODULE}-object OBJECT ${SRCS} G__${MODULE}.cxx) +# Follow headers dependencies +add_dependencies(${MODULE}-object ${ALIROOT_DEPENDENCIES}) +# Add a library to the project using the object +add_library(${MODULE} SHARED $) + +# Linking +target_link_libraries(${MODULE} ${ALIROOT_DEPENDENCIES} ${ROOT_DEPENDENCIES}) -# Add a library to the project using the specified source files -add_library(${MODULE} SHARED ${SRCS} G__${MODULE}.cxx) +# Public include folders that will be propagated to the dependecies +target_include_directories(${MODULE} PUBLIC ${incdirs}) # Additional compilation flags -set_target_properties(${MODULE} PROPERTIES COMPILE_FLAGS "-O -g") +set_target_properties(${MODULE} PROPERTIES COMPILE_FLAGS "") # System dependent: Modify the way the library is build if(${CMAKE_SYSTEM} MATCHES Darwin) @@ -74,4 +92,24 @@ install(TARGETS ${MODULE} ARCHIVE DESTINATION lib LIBRARY DESTINATION lib) -install(FILES ${HDRS} DESTINATION include) \ No newline at end of file +install(FILES ${HDRS} DESTINATION include) + +# Static version if DA enabled +if(ALIROOT_STATIC) + add_library(${MODULE}-static STATIC $) + set_target_properties(${MODULE}-static PROPERTIES OUTPUT_NAME ${MODULE}) + + # list of shared dependencies / the name of the variable containing the list of static ones + generate_static_dependencies("${ALIROOT_DEPENDENCIES}" "STATIC_ALIROOT_DEPENDENCIES") + target_link_libraries(${MODULE}-static ${STATIC_ALIROOT_DEPENDENCIES} Root RootExtra) + + # Public include folders that will be propagated to the dependecies + target_include_directories(${MODULE}-static PUBLIC ${incdirs}) + + set_target_properties(${MODULE}-static PROPERTIES LINK_FLAGS "-Wl,--whole-archive") + + # Installation + install(TARGETS ${MODULE}-static + ARCHIVE DESTINATION lib + LIBRARY DESTINATION lib) +endif(ALIROOT_STATIC) diff --git a/VZERO/VZERObase/VZERObaseLinkDef.h b/VZERO/VZERObase/VZERObaseLinkDef.h index 45ebb9a6c72..429217c94fa 100755 --- a/VZERO/VZERObase/VZERObaseLinkDef.h +++ b/VZERO/VZERObase/VZERObaseLinkDef.h @@ -20,4 +20,8 @@ #pragma link C++ class AliVZEROTriggerSimulator+; #pragma link C++ class AliVZEROTriggerData+; +// moved from VZEROrec +#pragma link C++ class AliVZEROQADataMakerRec+; +#pragma link C++ class AliVZERORawStream+; + #endif diff --git a/VZERO/VZEROrec/CMakeLists.txt b/VZERO/VZEROrec/CMakeLists.txt index a44333ad230..b42e7163fdd 100644 --- a/VZERO/VZEROrec/CMakeLists.txt +++ b/VZERO/VZEROrec/CMakeLists.txt @@ -21,7 +21,6 @@ include_directories(${AliRoot_SOURCE_DIR}/VZERO/${MODULE}) # Additional include folders in alphabetical order except ROOT include_directories(${ROOT_INCLUDE_DIRS} - ${AliRoot_SOURCE_DIR}/RAW/dateStream ${AliRoot_SOURCE_DIR}/RAW/RAWDatabase ${AliRoot_SOURCE_DIR}/RAW/RAWDatarec ${AliRoot_SOURCE_DIR}/STEER/CDB @@ -33,8 +32,6 @@ include_directories(${ROOT_INCLUDE_DIRS} # Sources in alphabetical order set(SRCS - AliVZEROQADataMakerRec.cxx - AliVZERORawStream.cxx AliVZEROReconstructor.cxx AliVZERORecoParam.cxx AliVZEROTrigger.cxx @@ -49,17 +46,31 @@ string(REPLACE ".cxx" ".h" HDRS "${SRCS}") get_directory_property(incdirs INCLUDE_DIRECTORIES) generate_dictionary("${MODULE}" "${MODULE}LinkDef.h" "${HDRS}" "${incdirs}") +set(ROOT_DEPENDENCIES Core Geom Hist Tree) +set(ALIROOT_DEPENDENCIES STEERBase STEER CDB ESD RAWDatabase RAWDatarec VZERObase) + # Generate the ROOT map # Dependecies -set(LIBDEPS STEERBase STEER CDB ESD RAWDatabase RAWDatarec VZERObase) +set(LIBDEPS ${ALIROOT_DEPENDENCIES} ${ROOT_DEPENDENCIES}) generate_rootmap("${MODULE}" "${LIBDEPS}" "${CMAKE_CURRENT_SOURCE_DIR}/${MODULE}LinkDef.h") +# Create an object to be reused in case of static libraries +# Otherwise the sources will be compiled twice +add_library(${MODULE}-object OBJECT ${SRCS} G__${MODULE}.cxx) +# Follow headers dependencies +add_dependencies(${MODULE}-object ${ALIROOT_DEPENDENCIES}) +# Add a library to the project using the object +add_library(${MODULE} SHARED $) + +# Linking +target_link_libraries(${MODULE} ${ALIROOT_DEPENDENCIES} ${ROOT_DEPENDENCIES}) + +# Public include folders that will be propagated to the dependecies +target_include_directories(${MODULE} PUBLIC ${incdirs}) -# Add a library to the project using the specified source files -add_library(${MODULE} SHARED ${SRCS} G__${MODULE}.cxx) # Additional compilation flags -set_target_properties(${MODULE} PROPERTIES COMPILE_FLAGS "-O -g") +set_target_properties(${MODULE} PROPERTIES COMPILE_FLAGS "") # System dependent: Modify the way the library is build if(${CMAKE_SYSTEM} MATCHES Darwin) @@ -71,4 +82,24 @@ install(TARGETS ${MODULE} ARCHIVE DESTINATION lib LIBRARY DESTINATION lib) -install(FILES ${HDRS} DESTINATION include) \ No newline at end of file +install(FILES ${HDRS} DESTINATION include) + +# Static version if DA enabled +if(ALIROOT_STATIC) + add_library(${MODULE}-static STATIC $) + set_target_properties(${MODULE}-static PROPERTIES OUTPUT_NAME ${MODULE}) + + # list of shared dependencies / the name of the variable containing the list of static ones + generate_static_dependencies("${ALIROOT_DEPENDENCIES}" "STATIC_ALIROOT_DEPENDENCIES") + target_link_libraries(${MODULE}-static ${STATIC_ALIROOT_DEPENDENCIES} Root RootExtra) + + # Public include folders that will be propagated to the dependecies + target_include_directories(${MODULE}-static PUBLIC ${incdirs}) + + set_target_properties(${MODULE}-static PROPERTIES LINK_FLAGS "-Wl,--whole-archive") + + # Installation + install(TARGETS ${MODULE}-static + ARCHIVE DESTINATION lib + LIBRARY DESTINATION lib) +endif(ALIROOT_STATIC) diff --git a/VZERO/VZEROrec/VZEROrecLinkDef.h b/VZERO/VZEROrec/VZEROrecLinkDef.h index 42343e738de..e7ac46bd0ef 100755 --- a/VZERO/VZEROrec/VZEROrecLinkDef.h +++ b/VZERO/VZEROrec/VZEROrecLinkDef.h @@ -7,8 +7,6 @@ #pragma link off all functions; #pragma link C++ class AliVZEROReconstructor+; -#pragma link C++ class AliVZERORawStream+; -#pragma link C++ class AliVZEROQADataMakerRec+; #pragma link C++ class AliVZEROTrigger+; #pragma link C++ class AliVZEROTriggerMask+; #pragma link C++ class AliVZERORecoParam+; -- 2.43.0