Adding Domenico Colella as responsible for SPD part in TRI pp
[u/mrichter/AliRoot.git] / STRUCT / CMakeLists.txt
CommitLineData
73230f04 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# **************************************************************************
6d839a5c 15
73230f04 16# Module
17set(MODULE STRUCT)
6d839a5c 18
73230f04 19# Module include folders
427d561c 20include_directories(${AliRoot_SOURCE_DIR}/${MODULE})
6d839a5c 21
73230f04 22# Additional include directories in alphabetical order except ROOT
f0315837 23include_directories(${ROOT_INCLUDE_DIR}
427d561c 24 ${AliRoot_SOURCE_DIR}/STEER/STEER
25 ${AliRoot_SOURCE_DIR}/STEER/STEERBase
73230f04 26 )
27# Sources in alphabetical order
28set(SRCS
29 AliABSO.cxx
30 AliABSOv3.cxx
31 AliBODY.cxx
32 AliDIPO.cxx
33 AliDIPOv2.cxx
34 AliDIPOv3.cxx
35 AliFRAME.cxx
36 AliFRAMEv2.cxx
37 AliFRAMEv3.cxx
38 AliHALL.cxx
39 AliHALLv3.cxx
40 AliMAG.cxx
41 AliPIPE.cxx
42 AliPIPEupgrade.cxx
43 AliPIPEv0.cxx
44 AliPIPEv3.cxx
45 AliPIPEv4.cxx
46 AliSHIL.cxx
47 AliSHILv3.cxx
48 )
49
50# Headers from sources
51string(REPLACE ".cxx" ".h" HDRS "${SRCS}")
52
53# Generate the dictionary
54# It will create G_ARG1.cxx and G_ARG1.h / ARG1 = function first argument
55get_directory_property(incdirs INCLUDE_DIRECTORIES)
56generate_dictionary("${MODULE}" "${MODULE}LinkDef.h" "${HDRS}" "${incdirs}")
57
58# Generate the ROOT map
59# Dependecies
60set(LIBDEPS STEERBase STEER)
61generate_rootmap("${MODULE}" "${LIBDEPS}" "${CMAKE_CURRENT_SOURCE_DIR}/${MODULE}LinkDef.h")
62
63# Add a library to the project using the specified source files
64add_library(${MODULE} SHARED ${SRCS} G__${MODULE}.cxx)
65
66# Additional compilation flags
68aeb13b 67set_target_properties(${MODULE} PROPERTIES COMPILE_FLAGS "")
73230f04 68
2a1514aa 69# Linking the library
70target_link_libraries(${MODULE} ${LIBDEPS})
71
73230f04 72# System dependent: Modify the way the library is build
73if(${CMAKE_SYSTEM} MATCHES Darwin)
74 set_target_properties(${MODULE} PROPERTIES LINK_FLAGS "-undefined dynamic_lookup")
75endif(${CMAKE_SYSTEM} MATCHES Darwin)
76
77# Installation
78install(TARGETS ${MODULE}
79 ARCHIVE DESTINATION lib
80 LIBRARY DESTINATION lib)
81install(FILES ${HDRS} DESTINATION include)
82
83message(STATUS "${MODULE} enabled")