]> git.uio.no Git - u/mrichter/AliRoot.git/blame - ANALYSIS/ANALYSIS/CMakeLists.txt
ANALYSIS does not depend on STEER
[u/mrichter/AliRoot.git] / ANALYSIS / ANALYSIS / CMakeLists.txt
CommitLineData
7205bde1 1# **************************************************************************
2# * Copyright(c) 1998-2014, ALICE Experiment at CERN, All rights reserved. *
3# * *
4# * Author: The ALICE Off-line Project. *
5# * Contributors are mentioned in the code where appropriate. *
6# * *
7# * Permission to use, copy, modify and distribute this software and its *
8# * documentation strictly for non-commercial purposes is hereby granted *
9# * without fee, provided that the above copyright notice appears in all *
10# * copies and that both the copyright notice and this permission notice *
11# * appear in the supporting documentation. The authors make no claims *
12# * about the suitability of this software for any purpose. It is *
13# * provided "as is" without express or implied warranty. *
14# **************************************************************************
15
16# Module
17set(MODULE ANALYSIS)
18
19# Module include folder
427d561c 20include_directories(${AliRoot_SOURCE_DIR}/ANALYSIS/${MODULE})
7205bde1 21
22# Additional include folders in alphabetical order except ROOT
adf1619a 23include_directories(${AliRoot_SOURCE_DIR}/STEER/STEERBase
7205bde1 24 )
25
0224bae4 26# Sources in alphabetical order
7205bde1 27set(SRCS
28 AliAnalysisDataContainer.cxx
29 AliAnalysisDataSlot.cxx
30 AliAnalysisGrid.cxx
31 AliAnalysisManager.cxx
32 AliAnalysisSelector.cxx
33 AliAnalysisStatistics.cxx
34 AliAnalysisTaskCfg.cxx
35 AliAnalysisTask.cxx
36 AliXMLParser.cxx
37 )
38
39# Headers from sources
40string(REPLACE ".cxx" ".h" HDRS "${SRCS}")
41
42# Generate the dictionary
43# It will create G_ARG1.cxx and G_ARG1.h / ARG1 = function first argument
44get_directory_property(incdirs INCLUDE_DIRECTORIES)
45generate_dictionary("${MODULE}" "${MODULE}LinkDef.h" "${HDRS}" "${incdirs}")
46
0224bae4 47# Generate the ROOT map
48# Dependecies
6734f705 49set(LIBDEPS STEERBase Core Gpad Hist Net RIO Tree XMLParser)
0224bae4 50generate_rootmap("${MODULE}" "${LIBDEPS}" "${CMAKE_CURRENT_SOURCE_DIR}/${MODULE}LinkDef.h")
51
f82bfa66 52# Create an object to be reused in case of static libraries
53# Otherwise the sources will be compiled twice
54add_library(ANALYSIS-object OBJECT ${SRCS} G__${MODULE}.cxx)
55# Add a library to the project using the object
56add_library(ANALYSIS SHARED $<TARGET_OBJECTS:ANALYSIS-object>)
57
58# linking
3c77e1ef 59target_link_libraries(${MODULE} STEERBase Core Gpad Hist Net RIO Tree XMLParser)
7205bde1 60
61# Additional compilation flags
f82bfa66 62set_target_properties(${MODULE}-object PROPERTIES COMPILE_FLAGS "-fPIC -O -g")
7205bde1 63
64# System dependent: Modify the way the library is build
65if(${CMAKE_SYSTEM} MATCHES Darwin)
66 set_target_properties(${MODULE} PROPERTIES LINK_FLAGS "-undefined dynamic_lookup")
67endif(${CMAKE_SYSTEM} MATCHES Darwin)
68
69# Installation
70install(TARGETS ${MODULE}
234c484d 71 ARCHIVE DESTINATION lib
72 LIBRARY DESTINATION lib)
7205bde1 73
f82bfa66 74install(FILES ${HDRS} DESTINATION include)
75
76# Static version if DA enabled
77if(ALIROOT_STATIC)
78 add_library(${MODULE}-static STATIC $<TARGET_OBJECTS:ANALYSIS-object>)
79 set_target_properties(${MODULE}-static PROPERTIES OUTPUT_NAME ${MODULE})
80 target_link_libraries(${MODULE}-static STEERBase-static Root)
81 set_target_properties(${MODULE}-static PROPERTIES LINK_FLAGS "-Wl,--whole-archive")
82
83 # Installation
84 install(TARGETS ${MODULE}-static
85 ARCHIVE DESTINATION lib
86 LIBRARY DESTINATION lib)
87endif(ALIROOT_STATIC)