6c94ac1df3a2b6deabfcb6e0d844b4abaec860ef
[u/mrichter/AliRoot.git] / RAW / RAWDatabase / 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 # Mandatory fields, set empty if not needed
17 # MODULE - target name
18 # MODULE_SRCS - list of sources that belong to the library
19 # MODULE_HDRS - list of headers that belong to the library
20 # MODULE_HDRS_INSTALL - list of headers that will be installed
21 # MODULE_INCLUDES - list of include directories
22 #                   ROOT and current folder are taken by default
23 #                   To add extra include folders use either 
24 #                       - include_directories(${MODULE} FOLDER)
25 #                       - target_include_directories(${MODULE}-object FOLDER)
26 # MODULE_ROOT_DEPENDENCIES
27 # MODULE_ALIROOT_DEPENDENCIES
28 # MODULE_COMPILE_FLAGS - compilation flags for the ${MODULE}-object target
29 # MODULE_LINK_FLAGS - linking flags for ${MODULE} target
30 #                   - other flags accesible thorough standard cmake procedures
31 #
32 # Target/directory properties are accesible thorough cmake standard procedures
33 # Target object name = ${MODULE}-object
34 # Target library name = ${MODULE}
35 # Shared and static library targets are using the same object target
36
37 ###########################################################################
38 # Library description
39 ###########################################################################
40
41 # Module name
42 set(MODULE RAWDatabase)
43
44 # Sources in alphabetical order
45 set(MODULE_SRCS
46     AliAltroMapping.cxx
47     AliCaloAltroMapping.cxx
48     AliRawDataArray.cxx
49     AliRawDataArrayV2.cxx
50     AliRawData.cxx
51     AliRawEquipment.cxx
52     AliRawEquipmentHeader.cxx
53     AliRawEquipmentV2.cxx
54     AliRawEvent.cxx
55     AliRawEventHeaderBase.cxx
56     AliRawEventTag.cxx
57     AliRawEventV2.cxx
58     AliRawVEquipment.cxx
59     AliRawVEvent.cxx
60     AliStats.cxx
61    )
62
63 # Headers from sources
64 string(REPLACE ".cxx" ".h" MODULE_HDRS "${MODULE_SRCS}")
65
66 # Extra headers in alphabetical order
67 set(MODULE_HDRS ${MODULE_HDRS}
68     AliRawDataHeader.h
69     AliRawDataHeaderV3.h
70     AliRawEventHeaderVersions.h
71    )
72
73 # List of headers to be installed
74 set(MODULE_HDRS_INSTALL ${MODULE_HDRS})
75
76 # List of include folders
77 set(MODULE_INCLUDES
78         STEER/ESD
79         STEER/STEERBase
80    )
81
82 # Root dependecies - please solve all symbols by searching them inside the *.rootmap files
83 set(MODULE_ROOT_DEPENDENCIES Core Hist RIO)
84 # AliRoot dependencies
85 set(MODULE_ALIROOT_DEPENDENCIES ESD STEERBase)
86
87 # Compilation and linking flags
88 set(MODULE_COMPILE_FLAGS)
89 set(MODULE_LINK_FLAGS)
90
91 if(DATE_FOUND)
92     set(MODULE_COMPILE_FLAGS "${DATE_CFLAGS}")
93     set(MODULE_LINK_FLAGS "${DATE_LDFLAGS} ${DATE_LIBS}")
94 endif(DATE_FOUND)
95
96 # Additional compilation and linking flags
97 set(MODULE_COMPILE_FLAGS " ${MODULE_COMPILE_FLAGS}")
98
99 # System dependent: Modify the way the library is build
100 if(${CMAKE_SYSTEM} MATCHES Darwin)
101     set(MODULE_LINK_FLAGS "-undefined dynamic_lookup ${MODULE_LINK_FLAGS}")
102 endif(${CMAKE_SYSTEM} MATCHES Darwin)
103
104 ###########################################################################
105 # Generating the libraries
106 ###########################################################################
107 # Shared librarys
108 generate_shared_library()
109
110 # Static library
111 if(ALIROOT_STATIC)
112     generate_static_library()
113 endif(ALIROOT_STATIC)