Bug fix: AliHLTComponent::ConfigureFromArgumentString
[u/mrichter/AliRoot.git] / CMakeLists.txt
CommitLineData
62e74968 1# -*- mode: cmake -*-
2
6db31708 3# Top level CMakeList.txt file for the AliRoot Build System
4#
5# Author: Johny Jose (johny.jose@cern.ch)
6# Port of previous Makefile build to cmake
e969a926 7
e969a926 8
6b06712c 9cmake_minimum_required(VERSION 2.8.4 FATAL_ERROR)
e969a926 10
6db31708 11#--------------------------------------------------------------------------------#
12# Set Basic CMake Configuration #
13#--------------------------------------------------------------------------------#
b07a2059 14
6db31708 15project(AliRoot CXX C Fortran)
bf4c2121 16
17# Environment variables
64cf46ff 18set(ALICE $ENV{ALICE})
6db31708 19if(NOT ALICE)
20 message(WARNING "Environment variable ALICE is not set")
21endif(NOT ALICE)
3ea0d710 22
64cf46ff 23set(ALICE_ROOT $ENV{ALICE_ROOT})
3ea0d710 24if(NOT ALICE_ROOT)
6db31708 25 message(FATAL_ERROR "Please set ALICE_ROOT to the AliRoot source directory")
3ea0d710 26endif(NOT ALICE_ROOT)
27
07044cfb 28set(ALICE_INSTALL $ENV{ALICE_INSTALL})
6db31708 29# Set AliRoot Installation directory
30if(NOT ALICE_INSTALL)
31 message(STATUS "AliRoot files will be installed in ${ALICE_ROOT}. You can specify a different location by setting ALICE_INSTALL environment variable")
32 set(ALICE_INSTALL ${ALICE_ROOT})
33else()
34 message(STATUS "AliRoot files will be installed in ${ALICE_INSTALL}")
35endif(NOT ALICE_INSTALL)
07044cfb 36if(${ALICE_INSTALL} STREQUAL ${CMAKE_BINARY_DIR})
37 message(FATAL_ERROR "Install dir should be different from build dir")
38endif()
24b052aa 39set(CMAKE_INSTALL_PREFIX ${ALICE_INSTALL})
6db31708 40
07044cfb 41# Environment for SHUTTLE
42set(DIMDIR $ENV{DIMDIR})
43set(ODIR $ENV{ODIR})
44
dad683d0 45get_filename_component(PROJECT_SOURCE_DIR "${PROJECT_SOURCE_DIR}" REALPATH)
f72dcc4f 46set(CMAKE_MODULE_PATH "${PROJECT_SOURCE_DIR}/cmake")
0742852a 47set(CPACK_COMPONENTS_ALL MDC)
e969a926 48
6db31708 49include(ALICE_CMake)
f2cec6fb 50
6db31708 51#--------------------------------------------------------------------------------#
52# Find Packages #
53#--------------------------------------------------------------------------------#
e969a926 54
6db31708 55# Subversion
56# ------------------------------
e969a926 57
6db31708 58find_package(Subversion REQUIRED)
f7d3fd75 59
6db31708 60# ROOT
61# ------------------------------
f7d3fd75 62
6db31708 63find_package(ROOT REQUIRED)
3ea0d710 64
6db31708 65# IRST Rule Checker
66# ------------------------------
e969a926 67
6db31708 68find_package(RuleChecker)
e969a926 69
6db31708 70# DATE
71# ------------------------------
e969a926 72
6db31708 73find_package(DATE)
e969a926 74
6db31708 75# GEANT3
76# ------------------------------
e969a926 77
6db31708 78find_package(GEANT3)
e969a926 79
6db31708 80# AMORE
81# ------------------------------
82
83find_package(AMORE)
84
0742852a 85# AliRoot CPack configuration
86#-------------------------------
87
88find_package(CPack)
89
7e0cf530 90# ZeroMQ
91# ------------------------------
92find_package(ZeroMQ)
0742852a 93
6db31708 94#--------------------------------------------------------------------------------#
95# Environment/Compiler Configuration #
96#--------------------------------------------------------------------------------#
97
98ALICE_CheckOutOfSourceBuild()
99ALICE_RootConfig(CMAKE_CXX_COMPILER --cxx)
100ALICE_RootConfig(CMAKE_C_COMPILER --cc)
101ALICE_RootConfig(CMAKE_Fortran_COMPILER --f77)
102ALICE_ConfigurePlatform()
103ALICE_ConfigureCompiler()
104
105
106#--------------------------------------------------------------------------------#
107# AliRoot Path Settings #
108#--------------------------------------------------------------------------------#
109
110ALICE_DevFlagsOutput()
111set(CMAKE_RUNTIME_OUTPUT_DIRECTORY "${PROJECT_BINARY_DIR}/bin/tgt_${ALICE_TARGET}")
112set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY "${PROJECT_BINARY_DIR}/lib/tgt_${ALICE_TARGET}")
113set(CMAKE_LIBRARY_OUTPUT_DIRECTORY "${PROJECT_BINARY_DIR}/lib/tgt_${ALICE_TARGET}")
114set(CMAKE_INCLUDE_EXPORT_DIRECTORY "${PROJECT_BINARY_DIR}/include")
115file(MAKE_DIRECTORY ${CMAKE_INCLUDE_EXPORT_DIRECTORY})
116set(EXPORTDIRS "${ALICE_INSTALL}/include")
117set(BINLIBDIRS "-L${CMAKE_LIBRARY_OUTPUT_DIRECTORY}")
118
0742852a 119
6db31708 120#--------------------------------------------------------------------------------#
121# AliRoot Modules #
122#--------------------------------------------------------------------------------#
123
124# Exclude Module from all target
125# ------------------------------
126
45526b5e 127#set(EXCLUDEMODULES THydjet SHUTTLE)
6db31708 128
0742852a 129
6db31708 130# Standard Modules
131# ------------------------------
34dbffe9 132set(ALIROOTMODULES STEER PHOS TRD TPC ZDC MUON PMD FMD TOF ITS ACORDE HMPID T0 BCM STRUCT VZERO THijing THbtp EMCAL THerwig TEPEMGEN FASTSIM TPHIC RAW MONITOR ANALYSIS JETAN HLT STAT TTherminator CORRFW DPMJET TDPMjet PWGPP PWG PWGCF PWGGA PWGHF PWGDQ PWGJE PWGLF PWGUD TRIGGER PYTHIA8 TAmpt OADB MFT TEvtGen)
45526b5e 133
134if(THydjet)
135 list(APPEND ALIROOTMODULES THydjet)
136endif(THydjet)
137
138if(SHUTTLE)
139 list(APPEND ALIROOTMODULES SHUTTLE)
140endif(SHUTTLE)
6db31708 141
142# Additional Modules
143# ------------------------------
144list(APPEND ALIROOTMODULES TUHKMgen EPOS)
145
146# EVE
147# ------------------------------
148ALICE_RootConfig(EVE --has-opengl)
149if(NOT EVE STREQUAL "no")
150 list(APPEND ALIROOTMODULES EVE)
151endif(NOT EVE STREQUAL "no")
152
153# CERN Modules
154# ------------------------------
155set(CERNMODULES LHAPDF HIJING MICROCERN HERWIG)
156
157# Check for Pythia 6
158if(EXISTS ${ROOTINCDIR}/TPythia6.h)
159 set(PYTHIA6 TRUE)
872bf9ef 160 list(APPEND CERNMODULES PYTHIA6 EVGEN)
811ffdcc 161elseif(NOT NOPYTHIA)
45526b5e 162 message(FATAL_ERROR "ROOT must have Pythia6 enabled !")
6db31708 163endif(EXISTS ${ROOTINCDIR}/TPythia6.h)
164
165# Set Final list of modules
166set(MODULES ${ALIROOTMODULES} ${CERNMODULES} ALIROOT)
167
168# Set Module directories
169set(MODDIRS ${MODULES})
170
171# Libraries for Linking
172# ------------------------------
820b4d9e 173set(ALILIBS MUON TPC PMD TRD FMD TOF ITS PHOS ACORDE HMPID VZERO ZDC STRUCT T0 EVGEN STEER TRIGGER MFT)
6db31708 174set(LIBS ${ROOTCLIBS} ${ROOTPLIBS} ${SYSLIBS})
175
176# Configure ARVerion.h
177# ------------------------------
178if(Subversion_FOUND)
bf4c2121 179 if(EXISTS ${PROJECT_SOURCE_DIR}/.svn/ )
6db31708 180 Subversion_WC_INFO(${PROJECT_SOURCE_DIR} PROJECT)
181 set(ALIROOT_SVN_REVISION ${PROJECT_WC_REVISION})
182 set(ALIROOT_SVN_BRANCH ${PROJECT_WC_URL})
183 string(REGEX MATCH "[^/]+$" ALIROOT_SVN_BRANCH ${ALIROOT_SVN_BRANCH})
bf4c2121 184
185 elseif(EXISTS ${PROJECT_SOURCE_DIR}/.git/ )
c7872b32 186 if(EXISTS ${PROJECT_SOURCE_DIR}/.git/svn/refs )
bf4c2121 187 execute_process(WORKING_DIRECTORY ${PROJECT_SOURCE_DIR} COMMAND git svn info OUTPUT_VARIABLE OUTPUTVAR)
188 string(REPLACE "\n" ";" OUTPUTVAR ${OUTPUTVAR})
189 foreach(f ${OUTPUTVAR})
190 if(${f} MATCHES URL)
191 string(REGEX MATCH "[^/]+$" ALIROOT_SVN_BRANCH ${f})
192 elseif(${f} MATCHES Revision)
855ce9b3 193 string(REGEX MATCH "[^: ]+$" ALIROOT_SVN_REVISION ${f})
bf4c2121 194 endif(${f} MATCHES URL)
195 endforeach()
c7872b32 196 else()
197 execute_process(WORKING_DIRECTORY ${PROJECT_SOURCE_DIR} COMMAND git log -1 OUTPUT_VARIABLE OUTPUTVAR)
198 string(REPLACE "\n" ";" OUTPUTVAR ${OUTPUTVAR})
199 foreach(f ${OUTPUTVAR})
200 if(${f} MATCHES "^[ ]*git-svn-id:")
201 string(REGEX REPLACE "^.*/(.*)[@].*$" "\\1" ALIROOT_SVN_BRANCH "${f}" )
202 string(REGEX REPLACE "^.*/.*[@](.*) .*$" "\\1" ALIROOT_SVN_REVISION "${f}" )
203 endif(${f} MATCHES "^[ ]*git-svn-id:")
204 endforeach()
205 if(${ALIROOT_SVN_BRANCH}x STREQUAL "x")
206 set(ALIROOT_SVN_BRANCH "git clone")
207 set(ALIROOT_SVN_REVISION "-1")
208 endif(${ALIROOT_SVN_BRANCH}x STREQUAL "x")
209 endif(EXISTS ${PROJECT_SOURCE_DIR}/.git/svn/refs )
bf4c2121 210 endif(EXISTS ${PROJECT_SOURCE_DIR}/.svn/ )
211
6db31708 212 message(STATUS "Aliroot Revision - ${ALIROOT_SVN_REVISION} Branch - ${ALIROOT_SVN_BRANCH}")
213 if(EXISTS ${CMAKE_INCLUDE_EXPORT_DIRECTORY}/ARVersion.h)
214 file(REMOVE ${CMAKE_INCLUDE_EXPORT_DIRECTORY}/ARVersion.h)
215 endif(EXISTS ${CMAKE_INCLUDE_EXPORT_DIRECTORY}/ARVersion.h)
216 configure_file(${PROJECT_SOURCE_DIR}/cmake/ARVersion.h.tmp ${CMAKE_INCLUDE_EXPORT_DIRECTORY}/ARVersion.h @ONLY)
217endif(Subversion_FOUND)
7251bfcc 218string (REPLACE "-" "." ALIROOT_SVN_BRANCH_SPEC "${ALIROOT_SVN_BRANCH}")
6db31708 219
220#--------------------------------------------------------------------------------#
221# Build Modules #
222#--------------------------------------------------------------------------------#
223
224# Module Variables
225# ------------------------------
226set(ALLLIBS)
227set(ALLEXECS)
228set(INCLUDEFILES)
229set(BINLIBS)
230set(EXPORTFILES)
231
232# Top Level Build Targets
233# ------------------------------
234
235add_custom_target(alilibs-static)
e93f6949 236add_custom_target(include-headers ALL)
45526b5e 237add_custom_target(DA-all)
e93f6949 238add_custom_target(check-all)
239add_custom_target(check-hxml)
ae388d3b 240add_custom_target(smell-all)
6a1caa6b 241add_custom_target(htmldoc)
6a9e2760 242add_custom_target(par-all)
3a8dbb31 243add_custom_target(test-par-all)
7531a2ac 244
6a1caa6b 245#NY file(GLOB CFILES_LIST ${CMAKE_SOURCE_DIR}/macros/*.C)
246
247add_custom_command(TARGET htmldoc
248 PRE_BUILD
249 COMMAND mkdir -p html
250 COMMAND rm -rf html/roothtml
251 COMMAND rm -f html/picts
252 COMMAND cd html &&
253 aliroot -q -b \"mkhtml.C(0,1)\"
254 WORKING_DIRECTORY ${CMAKE_SOURCE_DIR})
255
144f39dd 256# Include Vc, which provides the static libVc and the relevant CMake macros
257include(Vc/Vc.cmake)
258add_subdirectory(Vc)
6a1caa6b 259
260# Add Modules
6db31708 261# ------------------------------
262foreach(MODULE ${MODDIRS})
45526b5e 263 set(${MODULE}ALIBS)
e017f840 264#RS configure_file(${PROJECT_SOURCE_DIR}/cmake/Module.tmp ${PROJECT_SOURCE_DIR}/${MODULE}/CMakeLists.txt @ONLY)
6db31708 265 add_custom_target(${MODULE}-all ALL)
3a8dbb31 266 add_custom_target(${MODULE}-par-all)
267 add_custom_target(test-${MODULE}-par-all)
529f129e 268 add_custom_target(${MODULE}-all-static)
6db31708 269 add_dependencies(alilibs-static "${MODULE}-static")
270 add_subdirectory(${MODULE})
6a1caa6b 271
272#NY set(dir "${CMAKE_SOURCE_DIR}/${MODULE}")
273#NY if (EXISTS "${dir}")
274#NY file(GLOB CFILES_MOD ${dir}/*.C)
275#NY list(LENGTH CFILES_MOD len)
276#NY if (${len} GREATER 0)
277#NY list(APPEND CFILES_LIST "${CFILES_MOD}")
278#NY endif (${len} GREATER 0)
279#NY endif(EXISTS "${dir}")
6db31708 280endforeach(MODULE)
281
6a1caa6b 282#NY foreach(cfile ${CFILES_LIST})
283#NY add_custom_command(TARGET htmldoc
284#NY PRE_BUILD
285#NY COMMAND cd html &&
286#NY aliroot -b -q \"mkhtml.C(\"${cfile}\")\" > /dev/null
287#NY WORKING_DIRECTORY ${CMAKE_SOURCE_DIR})
288#NY endforeach(cfile)
289
5713c03f 290if(DATE_FOUND)
c3b22277 291 include (CMakeDA)
5713c03f 292endif(DATE_FOUND)
c3b22277 293
f09b91ba 294if(RULECHECKER_FOUND)
e93f6949 295 add_custom_target(factfile DEPENDS ${FACTFILE})
62e74968 296 add_custom_command( OUTPUT ${FACTFILE}
e93f6949 297 COMMAND ${CMAKE_COMMAND} -E echo "Re-generating factfile"
298 COMMAND ${JAVA_RUNTIME} -Xmx1024M -jar ${FACTEXTRACTOR_JAR} ${CMAKE_BINARY_DIR} ${CMAKE_BINARY_DIR}
299 DEPENDS check-hxml ${CMAKE_BINARY_DIR}/check-hxml-touchfile ${_factfile_deps}
62e74968 300 WORKING_DIRECTORY ${CMAKE_BINARY_DIR})
f09b91ba 301endif(RULECHECKER_FOUND)
62e74968 302
6db31708 303#--------------------------------------------------------------------------------#
304# Additional Targets #
305#--------------------------------------------------------------------------------#
306
7531a2ac 307# AliMdc RPM
308# ------------------------------
309
f17f29d0 310execute_process(
311COMMAND root-config --libdir
312OUTPUT_VARIABLE ROOTALIBDIR)
313string(REPLACE "\n" "" ROOTALIBDIR ${ROOTALIBDIR})
314
315execute_process(
316COMMAND root-config --arch
317OUTPUT_VARIABLE ARCHITECTURE)
318
319
320set(AEXT a)
321set(LIBPATH ${CMAKE_BINARY_DIR}/lib/tgt_${ALICE_TARGET})
322set(BINPATH ${CMAKE_BINARY_DIR}/bin/tgt_${ALICE_TARGET})
323set(EXPORTDIR ${ALICE_ROOT}/include)
324set(BINLIBDIRS -L${ALICE_ROOT}/${LIBPATH})
325set(RAWDIRO ${CMAKE_BINARY_DIR}/RAW)
326set(ALIMDCSPECFILE ${RAWDIRO}/alimdc.spec)
327set(RAWDatabaseALIB ${LIBPATH}/libRAWDatabase.${AEXT})
328set(ESDALIB ${LIBPATH}/libESD.${AEXT})
329set(STEERBaseALIB ${LIBPATH}/libSTEERBase.${AEXT})
330set(MDCALIB ${LIBPATH}/libMDC.${AEXT})
331set(MODDIRO RAW/tgt_${ALICE_TARGET})
332
333
334if( ${ARCHITECTURE} MATCHES "linuxx8664gcc" )
335set(ALIMDCARCHDIR x86_64)
336elseif( ${ARCHITECTURE} MATCHES "linux" )
337set(ALIMDCARCHDIR i386)
338elseif( ${ARCHITECTURE} MATCHES "linuxia64gcc" )
339set(ALIMDCARCHDIR ia64)
340elseif(NOT DEFINED ${ARCHITECTURE})
d9fbc3ca 341message("alimdc-rpm: Unknown architecture" )
f17f29d0 342else( ${ARCHITECTURE} MATCHES "linuxx8664gcc" )
d9fbc3ca 343message("alimdc-rpm: Unknown architecture" )
f17f29d0 344endif( ${ARCHITECTURE} MATCHES "linuxx8664gcc" )
345
346
347add_custom_target( alimdc-rpm
348DEPENDS alimdc-static alimdc-specfile
349)
350
351add_custom_command(
352TARGET alimdc-rpm
353POST_BUILD
354COMMAND rm -rf ${ALICE_ROOT}/alimdc-root
355COMMAND mkdir -p ${ALICE_ROOT}/alimdc-root/opt/alimdc/lib
356COMMAND mkdir -p ${ALICE_ROOT}/alimdc-root/opt/alimdc/include
357COMMAND cp ${ALICE_ROOT}/RAW/mdc.h ${ALICE_ROOT}/alimdc-root/opt/alimdc/include
358COMMAND cp ${LIBPATH}/libAliMDC.a ${ALICE_ROOT}/alimdc-root/opt/alimdc/lib
359COMMAND cp ${ROOTALIBDIR}/libRoot.a ${ALICE_ROOT}/alimdc-root/opt/alimdc/lib
d06540f4 360COMMAND cp ${ROOTALIBDIR}/liblzma.a ${ALICE_ROOT}/alimdc-root/opt/alimdc/lib
361COMMAND cp ${ROOTALIBDIR}/libpcre.a ${ALICE_ROOT}/alimdc-root/opt/alimdc/lib
f17f29d0 362COMMAND cp ${ROOTALIBDIR}/libfreetype.a ${ALICE_ROOT}/alimdc-root/opt/alimdc/lib
363COMMAND cp ${ROOTALIBDIR}/libpcre.a ${ALICE_ROOT}/alimdc-root/opt/alimdc/lib
364COMMAND rm -rf ${ALICE_ROOT}/RPMS
365COMMAND mkdir -p ${ALICE_ROOT}/RPMS/${ALIMDCARCHDIR}/
366COMMAND rpmbuild --verbose --define "_topdir ${ALICE_ROOT}" --define "_tmppath ${ALICE_ROOT}" -bb ${ALIMDCSPECFILE}
367COMMAND cp -p ${ALICE_ROOT}/RPMS/${ALIMDCARCHDIR}/alimdc-*.rpm .
368COMMAND rm -rf ${ALICE_ROOT}/alimdc-root
369COMMAND rm -rf ${ALICE_ROOT}/RPMS
370COMMAND echo "***** alimdc RPM created and put in ${CMAKE_BINARY_DIR} folder *****"
371)
372
373add_custom_command(
374TARGET ${RAWDIRO}
375COMMAND mkdir-p ${RAWDIRO}
376)
377
378
379add_custom_target( alimdc-specfile
380DEPENDS ${RAWDIRO}
381)
382
383add_custom_command(
384TARGET alimdc-specfile
385POST_BUILD
386COMMAND rm -rf ${ALIMDCSPECFILE}
387COMMAND @echo "***** Making alimdc RPM spec-file ${ALIMDCSPECFILE} *****"
388COMMAND @echo '\# RPM specfile for alimdc static libs' >> ${ALIMDCSPECFILE}
389COMMAND @echo '\# Package contains both ROOT and AliRoot' >> ${ALIMDCSPECFILE}
390COMMAND @echo '\# static libs needed by mStreamRecorder' >> ${ALIMDCSPECFILE}
391COMMAND @echo '\# in order to ROOT-ify the incoming raw' >> ${ALIMDCSPECFILE}
392COMMAND @echo '\# data' >> ${ALIMDCSPECFILE}
393COMMAND @echo '\# Example how-to build alimdc RPM:' >> ${ALIMDCSPECFILE}
394COMMAND @echo '\# cd ${ALICE_ROOT}' >> ${ALIMDCSPECFILE}
395COMMAND @echo '\# make alimdc-rpm' >> ${ALIMDCSPECFILE}
396COMMAND @echo "" >> ${ALIMDCSPECFILE}
397COMMAND @echo "Summary: AliMDC static libraries" >> ${ALIMDCSPECFILE}
398COMMAND @echo "Name: alimdc" >> ${ALIMDCSPECFILE}
7251bfcc 399COMMAND @echo "Version: ${ALIROOT_SVN_BRANCH_SPEC}" >> ${ALIMDCSPECFILE}
f17f29d0 400COMMAND @echo "Release: ${ALIROOT_SVN_REVISION}" >> ${ALIMDCSPECFILE}
401COMMAND @echo '\# Copyright: CERN Alice Off-line' >> ${ALIMDCSPECFILE}
402COMMAND @echo "License: CERN Alice Off-line" >> ${ALIMDCSPECFILE}
403COMMAND @echo "Vendor: ALICE Core Off-line Group" >> ${ALIMDCSPECFILE}
404COMMAND @echo "URL: http://aliceinfo.cern.ch" >> ${ALIMDCSPECFILE}
405COMMAND @echo "Group: Applications/Alice" >> ${ALIMDCSPECFILE}
406COMMAND @echo "Prefix: /opt/%{name}" >> ${ALIMDCSPECFILE}
407COMMAND @echo "BuildRoot: %{_tmppath}/%{name}-root" >> ${ALIMDCSPECFILE}
408COMMAND @echo "" >> ${ALIMDCSPECFILE}
409COMMAND @echo '\# automatic dependencies' >> ${ALIMDCSPECFILE}
410COMMAND @echo "AutoReqProv: yes" >> ${ALIMDCSPECFILE}
411COMMAND @echo "" >> ${ALIMDCSPECFILE}
412COMMAND @echo '\# list here required RPM packages for runtime' >> ${ALIMDCSPECFILE}
413COMMAND @echo "Requires: glibc" >> ${ALIMDCSPECFILE}
414COMMAND @echo "" >> ${ALIMDCSPECFILE}
415COMMAND @echo "Provides: alimdc" >> ${ALIMDCSPECFILE}
416COMMAND @echo "" >> ${ALIMDCSPECFILE}
417COMMAND @echo '\# description of the package' >> ${ALIMDCSPECFILE}
418COMMAND @echo "%description" >> ${ALIMDCSPECFILE}
419COMMAND @echo "Package contains both ROOT and AliRoot" >> ${ALIMDCSPECFILE}
420COMMAND @echo "static libs needed by mStreamRecorder" >> ${ALIMDCSPECFILE}
421COMMAND @echo "in order to ROOT-ify the incoming raw" >> ${ALIMDCSPECFILE}
422COMMAND @echo "data. The package version correspond to" >> ${ALIMDCSPECFILE}
423COMMAND @echo "the AliRoot one." >> ${ALIMDCSPECFILE}
424COMMAND @echo "" >> ${ALIMDCSPECFILE}
425COMMAND @echo '\# list of files to be installed' >> ${ALIMDCSPECFILE}
426COMMAND @echo "%files" >> ${ALIMDCSPECFILE}
427COMMAND @echo '%defattr (-,root,root)' >> ${ALIMDCSPECFILE}
428COMMAND @echo "%{prefix}/lib/libAliMDC.a" >> ${ALIMDCSPECFILE}
429COMMAND @echo "%{prefix}/lib/libRoot.a" >> ${ALIMDCSPECFILE}
430COMMAND @echo "%{prefix}/lib/libpcre.a" >> ${ALIMDCSPECFILE}
d06540f4 431COMMAND @echo "%{prefix}/lib/liblzma.a" >> ${ALIMDCSPECFILE}
f17f29d0 432COMMAND @echo "%{prefix}/lib/libfreetype.a" >> ${ALIMDCSPECFILE}
433COMMAND @echo "%{prefix}/include/mdc.h" >> ${ALIMDCSPECFILE}
434)
435
436
437add_custom_target( alimdc-static
438DEPENDS ${LIBPATH} ${BINPATH} RAW-all-static STEER-all-static )
439
440add_custom_command(
441TARGET alimdc-static
442POST_BUILD
443COMMAND ar r ${LIBPATH}/alimdccxxo.a ${CMAKE_BINARY_DIR}/RAW/CMakeFiles/alimdc.dir/alimdc_main.cxx.o
444COMMAND rm -rf ${LIBPATH}/libAliMDC.a
445COMMAND ar x ${RAWDatabaseALIB}
446COMMAND ar x ${MDCALIB}
447COMMAND ar x ${ESDALIB}
448COMMAND ar x ${STEERBaseALIB}
449COMMAND ar r ${LIBPATH}/libAliMDC.a *.o
450COMMAND ar t ${RAWDatabaseALIB} | xargs rm
451COMMAND ar t ${MDCALIB} | xargs rm
452COMMAND ar t ${ESDALIB} | xargs rm
453COMMAND ar t ${STEERBaseALIB} | xargs rm
d06540f4 454COMMAND ${CMAKE_CXX_COMPILER} ${LDFLAGS} -o ${BINPATH}/alimdca ${LIBPATH}/alimdccxxo.a ${LIBPATH}/libAliMDC.a ${ROOTALIBDIR}/libRoot.a ${ROOTALIBDIR}/libfreetype.a ${ROOTALIBDIR}/libpcre.a ${ROOTALIBDIR}/liblzma.a -pthread -ldl -lz
f17f29d0 455COMMAND @echo "Target alimdc-static made"
456)
457
458add_custom_command(
459TARGET ${LIBPATH}
460COMMAND mkdir -p ${LIBPATH}
461)
462
463
464#include (MakefileDA)
6db31708 465include (InstallRequiredSystemLibraries)
466include (CPack)
e969a926 467
d2884be9 468# Install data
469# ------------------------------
470install ( DIRECTORY data
471 DESTINATION . )
71d5ee50 472install ( DIRECTORY OCDB
473 DESTINATION .
474 PATTERN ".svn" EXCLUDE)
475install ( DIRECTORY QAref
476 DESTINATION .
477 PATTERN ".svn" EXCLUDE)
c2aad3ae 478install ( DIRECTORY GRP
479 DESTINATION .
480 PATTERN ".svn" EXCLUDE)
d2884be9 481
482#
483# EOF
484#
485