Adding Domenico Colella as responsible for SPD part in TRI pp
[u/mrichter/AliRoot.git] / STRUCT / CMakeLists.txt
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
17 set(MODULE STRUCT)
18
19 # Module include folders
20 include_directories(${AliRoot_SOURCE_DIR}/${MODULE})
21
22 # Additional include directories in alphabetical order except ROOT
23 include_directories(${ROOT_INCLUDE_DIR}
24                     ${AliRoot_SOURCE_DIR}/STEER/STEER
25                     ${AliRoot_SOURCE_DIR}/STEER/STEERBase
26                    )
27 # Sources in alphabetical order
28 set(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
51 string(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
55 get_directory_property(incdirs INCLUDE_DIRECTORIES)
56 generate_dictionary("${MODULE}" "${MODULE}LinkDef.h" "${HDRS}" "${incdirs}")
57
58 # Generate the ROOT map
59 # Dependecies
60 set(LIBDEPS STEERBase STEER)
61 generate_rootmap("${MODULE}" "${LIBDEPS}" "${CMAKE_CURRENT_SOURCE_DIR}/${MODULE}LinkDef.h")
62
63 # Add a library to the project using the specified source files
64 add_library(${MODULE} SHARED ${SRCS} G__${MODULE}.cxx)
65
66 # Additional compilation flags
67 set_target_properties(${MODULE} PROPERTIES COMPILE_FLAGS "")
68
69 # Linking the library
70 target_link_libraries(${MODULE} ${LIBDEPS})
71
72 # System dependent: Modify the way the library is build
73 if(${CMAKE_SYSTEM} MATCHES Darwin)
74     set_target_properties(${MODULE} PROPERTIES LINK_FLAGS "-undefined dynamic_lookup")
75 endif(${CMAKE_SYSTEM} MATCHES Darwin)
76
77 # Installation
78 install(TARGETS ${MODULE}
79   ARCHIVE DESTINATION lib
80   LIBRARY DESTINATION lib)
81 install(FILES ${HDRS} DESTINATION include)
82
83 message(STATUS "${MODULE} enabled")