]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - ITS/ITSbase/CMakeLists.txt
Merge branch 'master' of https://git.cern.ch/reps/AliRoot
[u/mrichter/AliRoot.git] / ITS / ITSbase / CMakeLists.txt
index e2347e094f47cc6a69f2d8e157dbc49722a75ebf..b1551ed561cfc571d11d4f99049a4b4f849e4ceb 100644 (file)
@@ -21,8 +21,6 @@ include_directories(${AliRoot_SOURCE_DIR}/ITS/${MODULE})
 
 # Additional include folders in alphabetical order except ROOT
 include_directories(${ROOT_INCLUDE_DIRS}
-                    ${AliRoot_SOURCE_DIR}/ITS/ITSrec
-                    ${AliRoot_SOURCE_DIR}/ITS/ITSsim
                     ${AliRoot_SOURCE_DIR}/RAW/RAWDatabase
                     ${AliRoot_SOURCE_DIR}/RAW/RAWDatarec
                     ${AliRoot_SOURCE_DIR}/RAW/RAWDatasim
@@ -31,7 +29,6 @@ include_directories(${ROOT_INCLUDE_DIRS}
                     ${AliRoot_SOURCE_DIR}/STEER/ESD
                     ${AliRoot_SOURCE_DIR}/STEER/STEERBase
                     ${AliRoot_SOURCE_DIR}/STEER/STEER
-                    ${AliRoot_SOURCE_DIR}/TPC
                    )
 
 # Sources in alphabetical order
@@ -44,6 +41,13 @@ set(SRCS
     AliITSCalibrationSSD.cxx
     AliITSChannelDaSSD.cxx
     AliITSChannelStatus.cxx
+    AliITSClusterFinder.cxx
+    AliITSClusterFinderSDDfast.cxx
+    AliITSClusterFinderV2SDD.cxx
+    AliITSClusterFinderV2SPD.cxx
+    AliITSClusterFinderV2SSD.cxx
+    AliITSClusterParam.cxx
+    AliITSclusterTable.cxx
     AliITSclusterV2.cxx
     AliITSCompressRawDataSDD.cxx
     AliITSCorrMap1DSDD.cxx
@@ -54,6 +58,7 @@ set(SRCS
     AliITSDDLModuleMapSDD.cxx
     AliITSDDLRawData.cxx
     AliITSdEdxSamples.cxx
+    AliITSDetTypeRec.cxx
     AliITSdigit.cxx
     AliITSdigitSDD.cxx
     AliITSdigitSPD.cxx
@@ -61,6 +66,7 @@ set(SRCS
     AliITSDriftSpeedArraySDD.cxx
     AliITSDriftSpeedSDD.cxx
     AliITSEventHeader.cxx
+    AliITSFOSignalsSPD.cxx
     AliITSGainSSD.cxx
     AliITSGainSSDv2.cxx
     AliITSgeom.cxx
@@ -77,6 +83,7 @@ set(SRCS
     AliITSMapSDD.cxx
     AliITSMisAligner.cxx
     AliITSModuleDaSSD.cxx
+    AliITSMultReconstructor.cxx
     AliITSNoiseSSD.cxx
     AliITSNoiseSSDv2.cxx
     AliITSPedestalSSD.cxx
@@ -87,6 +94,14 @@ set(SRCS
     AliITSPlaneEffSSD.cxx
     AliITSpList.cxx
     AliITSpListItem.cxx
+    AliITSQAChecker.cxx
+    AliITSQADataMakerRec.cxx
+    AliITSQASDDChecker.cxx
+    AliITSQASPDChecker.cxx
+    AliITSQASSDChecker.cxx
+    AliITSQASDDDataMakerRec.cxx
+    AliITSQASPDDataMakerRec.cxx
+    AliITSQASSDDataMakerRec.cxx
     AliITSRawStream.cxx
     AliITSRawStreamSDDCompressed.cxx
     AliITSRawStreamSDD.cxx
@@ -94,7 +109,10 @@ set(SRCS
     AliITSRawStreamSPDErrorLog.cxx
     AliITSRawStreamSSD.cxx
     AliITSRawStreamSSDv1.cxx
+    AliITSReconstructor.cxx
+    AliITSRecoParam.cxx
     AliITSRecPoint.cxx
+    AliITSRecPointContainer.cxx
     AliITSresponse.cxx
     AliITSresponseSDD.cxx
     AliITSresponseSPD.cxx
@@ -102,13 +120,33 @@ set(SRCS
     AliITSsegmentationSDD.cxx
     AliITSsegmentationSPD.cxx
     AliITSsegmentationSSD.cxx
+    AliITSSortTrkl.cxx
     AliITSSurveyToAlign.cxx
+    AliITStrackMI.cxx
+    AliITStrackerMI.cxx
+    AliITSTracklPairs.cxx
+    AliITStrackSA.cxx
+    AliITStrackV2.cxx
+    AliITStrackerSA.cxx
+    AliITStrackerV2.cxx
+    AliITSTrackleterSPDEff.cxx
     AliITSTransientDigit.cxx
     AliITSTriggerAlgorithmConditions.cxx
     AliITSTriggerConditions.cxx
+    AliITSV0Finder.cxx
+    AliITSVertexer.cxx
+    AliITSVertexer3D.cxx
+    AliITSVertexerCosmics.cxx
+    AliITSVertexerFast.cxx
+    AliITSVertexerFixed.cxx
+    AliITSVertexerZ.cxx
+    AliITSVertexerZD.cxx
+    AliITSZPoint.cxx
    )
 if (DATE_FOUND)
     set (SRCS ${SRCS} "AliITSHandleDaSSD.cxx")
+    # set the definitions per folder to be passed to ROOT
+    add_definitions(-DALI_DATE)
 endif (DATE_FOUND)
 
 # Headers from sources
@@ -119,17 +157,37 @@ string(REPLACE ".cxx" ".h" HDRS "${SRCS}")
 get_directory_property(incdirs INCLUDE_DIRECTORIES)
 generate_dictionary("${MODULE}" "${MODULE}LinkDef.h" "${HDRS}" "${incdirs}")
 
+# Setting the dependencies
+set(ROOT_DEPENDENCIES Core EG GenVector Geom Gpad Graf3d Graf Gui HistPainter Hist MathCore Matrix Minuit Physics RIO Tree)
+set(ALIROOT_DEPENDENCIES CDB ESD STEERBase STEER RAWDatabase RAWDatarec RAWDatasim)
+
 # Generate the ROOT map
 # Dependecies
-set(LIBDEPS CDB ESD STEERBase STEER ITSrec ITSsim RAWDatabase RAWDatarec RAWDatasim GenVector Gui)
+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)
+# Add a library to the project using the object
+add_library(${MODULE} SHARED $<TARGET_OBJECTS:${MODULE}-object>)
+
+target_link_libraries(${MODULE} ${ALIROOT_DEPENDENCIES} ${ROOT_DEPENDENCIES})
+
+# Setting the correct headers for the object as gathered from the dependencies
+target_include_directories(${MODULE}-object PUBLIC $<TARGET_PROPERTY:${MODULE},INCLUDE_DIRECTORIES>)
+set_target_properties(${MODULE}-object PROPERTIES COMPILE_DEFINITIONS $<TARGET_PROPERTY:${MODULE},COMPILE_DEFINITIONS>)
+
+# 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)
+set(MODULE_COMPILE_FLAGS " ")
+if(DATE_FOUND)
+    set(MODULE_COMPILE_FLAGS "${DATE_CFLAGS} ${MODULE_COMPILE_FLAGS}")
+endif(DATE_FOUND)
 
 # Additional compilation flags
-set_target_properties(${MODULE} PROPERTIES COMPILE_FLAGS "-O -g")
+set_target_properties(${MODULE}-object PROPERTIES COMPILE_FLAGS "${MODULE_COMPILE_FLAGS}")
 
 # System dependent: Modify the way the library is build
 if(${CMAKE_SYSTEM} MATCHES Darwin)
@@ -141,4 +199,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 $<TARGET_OBJECTS:${MODULE}-object>)
+    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)
+    
+    # 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)