]> git.uio.no Git - u/mrichter/AliRoot.git/blame - TPC/TPCmon/CMakeLists.txt
New CMake build implementation
[u/mrichter/AliRoot.git] / TPC / TPCmon / CMakeLists.txt
CommitLineData
73ba6874 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 TPCmon)
18
19# Module include folder
427d561c 20include_directories(${AliRoot_SOURCE_DIR}/TPC/${MODULE})
73ba6874 21
22# Additional include folders in alphabetical order except ROOT
23include_directories(${ROOT_INCLUDE_DIRS}
427d561c 24 ${AliRoot_SOURCE_DIR}/RAW/dateStream
25 ${AliRoot_SOURCE_DIR}/RAW/RAWDatabase
26 ${AliRoot_SOURCE_DIR}/RAW/RAWDatarec
27 ${AliRoot_SOURCE_DIR}/RAW/RAWDatarecOnline
28 ${AliRoot_SOURCE_DIR}/STEER/ESD
29 ${AliRoot_SOURCE_DIR}/STEER/STEERBase
73ba6874 30 )
31
32# Sources in alphabetical order
33set(SRCS
34 AliTPCMonitorAltro.cxx
35 AliTPCMonitorConfig.cxx
36 AliTPCMonitor.cxx
37 AliTPCMonitorDateFile.cxx
38 AliTPCMonitorDateFormat.cxx
39 AliTPCMonitorDialog.cxx
40 AliTPCMonitorFFT.cxx
41 AliTPCMonitorMappingHandler.cxx
42 )
43
44# Check for DATE
45if(DATE_FOUND)
46 set(SRCS ${SRCS} AliTPCMonitorDateMonitor.cxx)
47endif(DATE_FOUND)
48
49# Headers from sources
50string(REPLACE ".cxx" ".h" HDRS "${SRCS}")
51
52# Generate the dictionary
53# It will create G_ARG1.cxx and G_ARG1.h / ARG1 = function first argument
54get_directory_property(incdirs INCLUDE_DIRECTORIES)
55generate_dictionary("${MODULE}" "${MODULE}LinkDef.h" "${HDRS}" "${incdirs}")
56
57# Generate the ROOT map
58# Dependecies
852a1808 59set(LIBDEPS STEERBase ESD RAWDatabase RAWDatarec RAWDatarecOnline Core Gpad Graf Gui Hist RIO)
73ba6874 60generate_rootmap("${MODULE}" "${LIBDEPS}" "${CMAKE_CURRENT_SOURCE_DIR}/${MODULE}LinkDef.h")
61
62
63# Add a library to the project using the specified source files
64add_library(${MODULE} SHARED ${SRCS} G__${MODULE}.cxx)
852a1808 65target_link_libraries(${MODULE} STEERBase ESD RAWDatabase RAWDatarec RAWDatarecOnline Core Gpad Graf Gui Hist RIO)
73ba6874 66
ca331a9c 67set(MODULE_COMPILE_FLAGS)
68set(MODULE_LINK_FLAGS)
69
70if(DATE_FOUND)
71 set(MODULE_COMPILE_FLAGS "${DATE_CFLAGS}")
72 set(MODULE_LINK_FLAGS "${DATE_LDFLAGS} ${DATE_LIBS}")
73endif(DATE_FOUND)
74
75# Additional compilation and linking flags
68aeb13b 76set(MODULE_COMPILE_FLAGS " ${MODULE_COMPILE_FLAGS}")
73ba6874 77
78# System dependent: Modify the way the library is build
79if(${CMAKE_SYSTEM} MATCHES Darwin)
ca331a9c 80 set(MODULE_LINK_FLAGS "-undefined dynamic_lookup ${MODULE_LINK_FLAGS}")
73ba6874 81endif(${CMAKE_SYSTEM} MATCHES Darwin)
82
ca331a9c 83# Setting target compile and linking flags
84set_target_properties(${MODULE} PROPERTIES COMPILE_FLAGS "${MODULE_COMPILE_FLAGS}")
85set_target_properties(${MODULE} PROPERTIES LINK_FLAGS "${MODULE_LINK_FLAGS}")
86
73ba6874 87# Installation
88install(TARGETS ${MODULE}
89 ARCHIVE DESTINATION lib
90 LIBRARY DESTINATION lib)
91
92install(FILES ${HDRS} DESTINATION include)
93
94# Installing the macros
6cc87626 95install(DIRECTORY macros DESTINATION TPC/${MODULE})