# Port of previous Makefile build to DAQ targets and RPM
#
-cmake_minimum_required(VERSION 2.8.4 FATAL_ERROR)
+cmake_minimum_required(VERSION 2.8.8 FATAL_ERROR)
# -----------Utilities--------------------
foreach(oldetect ${ONLINEDETECTORS})
detector_module(h_module ${oldetect})
- list(APPEND mod "-I${CMAKE_SOURCE_DIR}/${h_module}")
+ list(APPEND mod "-I${AliRoot_SOURCE_DIR}/${h_module}")
endforeach(oldetect ${ONLINEDETECTORS})
-list(APPEND mod "-I${CMAKE_SOURCE_DIR}/include" "-I${CMAKE_SOURCE_DIR}/STEER" "-I${CMAKE_SOURCE_DIR}/ANALYSIS" "-I${CMAKE_SOURCE_DIR}/RAW" "-I${CMAKE_SOURCE_DIR}/STEER/STEER" "-I${CMAKE_SOURCE_DIR}/STEER/CDB" "-I${ROOTINCDIR}" "-I${CMAKE_SOURCE_DIR}/STEER/STEERBase" "-I${CMAKE_SOURCE_DIR}/STEER/AOD" "-I${CMAKE_SOURCE_DIR}/STEER/ESD" "-I${CMAKE_SOURCE_DIR}/MUON/mapping" "-I${CMAKE_SOURCE_DIR}/TPC/Base" "-I$ENV{AMORE}/include/amore")
+list(APPEND mod "-I${AliRoot_SOURCE_DIR}/include" "-I${AliRoot_SOURCE_DIR}/STEER" "-I${AliRoot_SOURCE_DIR}/ANALYSIS" "-I${AliRoot_SOURCE_DIR}/RAW" "-I${AliRoot_SOURCE_DIR}/STEER/STEER" "-I${AliRoot_SOURCE_DIR}/STEER/CDB" "-I${ROOTINCDIR}" "-I${AliRoot_SOURCE_DIR}/STEER/STEERBase" "-I${AliRoot_SOURCE_DIR}/STEER/AOD" "-I${AliRoot_SOURCE_DIR}/STEER/ESD" "-I${AliRoot_SOURCE_DIR}/MUON/mapping" "-I${AliRoot_SOURCE_DIR}/TPC/Base" "-I$ENV{AMORE}/include/amore")
# ----------Common stuff-------------------
#file(GLOB_RECURSE _dafiles $ENV{ALICE_ROOT}/*da.cxx)
-file(GLOB_RECURSE _dafiles ${CMAKE_SOURCE_DIR}/*da.cxx)
+file(GLOB_RECURSE _dafiles ${AliRoot_SOURCE_DIR}/*da.cxx)
set (DAINSTALL "$ENV{ALICE_INSTALL}/DA")
if(DAINSTALL STREQUAL "/DA")
endif(DAQDALIB_PATH)
set(DAQDALIB "${DAQDADIR}/libdaqDA.a")
-include_directories(${DAQDADIR} ${CMAKE_SOURCE_DIR}/RAW ${CMAKE_SOURCE_DIR}/include ${CMAKE_SOURCE_DIR}/STEER)
+include_directories(${DAQDADIR} ${AliRoot_SOURCE_DIR}/RAW ${AliRoot_SOURCE_DIR}/include ${AliRoot_SOURCE_DIR}/STEER)
include_directories(SYSTEM ${ROOTINCDIR})
# ----------Create All Valid targets---------
#Get detector algorithms for this detector
foreach(dafile ${_dafiles})
- string(REGEX MATCH "${CMAKE_SOURCE_DIR}/${DAMODULE}/${DAMODULE}${SUBDAMODULE}" match ${dafile})
+ string(REGEX MATCH "${AliRoot_SOURCE_DIR}/${DAMODULE}/${DAMODULE}${SUBDAMODULE}" match ${dafile})
#Found a valid target name
if(match)
- string(REGEX REPLACE "${CMAKE_SOURCE_DIR}/${DAMODULE}/${DAMODULE}${SUBDAMODULE}(.*)da\\.cxx" "\\1" DANAME ${dafile})
+ string(REGEX REPLACE "${AliRoot_SOURCE_DIR}/${DAMODULE}/${DAMODULE}${SUBDAMODULE}(.*)da\\.cxx" "\\1" DANAME ${dafile})
#Check for default DA
if(DANAME)
set(DATARGETNAME "daqDA-${ONLINEDETECTORNAME}-${DANAME}")
set(DAEXE "${DAMODULE}${SUBDAMODULE}${DANAME}da.exe")
set(DADEP "${DATARGETDIR}/${DAMODULE}${SUBDAMODULE}${DANAME}da.d")
- # DAVERSION
- # execute_process(COMMAND svn info ${CMAKE_SOURCE_DIR}/${DASRC} OUTPUT_VARIABLE _daversion OUTPUT_STRIP_TRAILING_WHITESPACE)
- # string(REGEX REPLACE ".*Last Changed Rev: ([^\n]+)\n.*" "\\1" DAVERSION ${_daversion}e)
- execute_process(COMMAND git log -1 --format=%h ${DASRC}
- WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}
- OUTPUT_STRIP_TRAILING_WHITESPACE
- OUTPUT_VARIABLE DAVERSION)
-
- #DAREVISION
- # execute_process(COMMAND svn info ${CMAKE_SOURCE_DIR} OUTPUT_VARIABLE _darevision OUTPUT_STRIP_TRAILING_WHITESPACE)
- # string(REGEX REPLACE ".*Revision: ([^\n]+)\n.*" "\\1" DAREVISION ${_darevision})
- execute_process(COMMAND git log -1 --format=%h ${DASRC}
- WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}
- OUTPUT_STRIP_TRAILING_WHITESPACE
- OUTPUT_VARIABLE DAREVISION)
-
# DAROOTRELEASE
execute_process(COMMAND root-config --version OUTPUT_VARIABLE _darootrelease OUTPUT_STRIP_TRAILING_WHITESPACE)
string(REGEX REPLACE "/" "." DAROOTRELEASE ${_darootrelease})
set(DAARCNAME "${DATARGETNAME}")
#string(REPLACE "-" "" DAARCNAME "${DAARCNAME}")
- set(DAARC "${DAARCNAME}-${DAVERSION}")
+ set(DAARC "${DAARCNAME}-${ALIROOT_BRANCH_SPEC}")
set(DATAR "${DATARGETDIR}/${DAARC}.src.tar.gz")
set(DASPECFILE "${DATARGETDIR}/${DAMODULE}${SUBDAMODULE}${DANAME}da.spec")
set(DAMAKEFILE "${DATARGETDIR}/${DAMODULE}${SUBDAMODULE}${DANAME}da.make")
- file(READ "${CMAKE_SOURCE_DIR}/${DASRC}" _dasrc)
+ file(READ "${AliRoot_SOURCE_DIR}/${DASRC}" _dasrc)
getinfo(DACONTACT "Contact" ${_dasrc})
getinfo(DALINKPAGE "Link" ${_dasrc})
getinfo(DAREFRUN "Reference Run" ${_dasrc})
COMMAND rm -rf ${DATAR}
COMMAND rm -rf junk
COMMAND mkdir junk && mkdir junk/${DAARC}
- COMMAND cp -a ${CMAKE_SOURCE_DIR}/${DASRC} junk/${DAARC}
+ COMMAND cp -a ${AliRoot_SOURCE_DIR}/${DASRC} junk/${DAARC}
COMMAND cp -a ${DAMAKEFILE} junk/${DAARC}/Makefile
COMMAND cp -a ${DASPECFILE} junk/${DAARC}/${DAMODULE}${SUBDAMODULE}${DANAME}da.spec
COMMAND cd junk && tar czf ${DATAR} *
COMMAND @echo '\# RPM specfile for $(DAMODULE)${SUBDAMODULE}$(DANAME) Detector Algorithm' >> ${DASPECFILE}
COMMAND @echo "Summary: ${ONLINEDETECTORNAME} Detector Algorithm" >> ${DASPECFILE}
COMMAND @echo "Name: ${DAARCNAME}" >> ${DASPECFILE}
-COMMAND @echo "Version: ${DAVERSION}" >> ${DASPECFILE}
-COMMAND @echo "Release: ${DAALIROOTRELEASE}.${DAREVISION}" >> ${DASPECFILE}
+COMMAND @echo "Version: ${ALIROOT_BRANCH_SPEC}" >> ${DASPECFILE}
+COMMAND @echo "Release: ${GIT_SHORT_SHA1}" >> ${DASPECFILE}
COMMAND @echo "License: CERN Alice DAQ/Offine" >> ${DASPECFILE}
COMMAND @echo "Source: %{name}-%{version}.src.tar.gz" >> ${DASPECFILE}
COMMAND @echo "Group: Applications/Alice" >> ${DASPECFILE}
COMMAND @echo "BuildRequires: date" >> ${DASPECFILE}
COMMAND @echo "" >> ${DASPECFILE}
COMMAND @echo '\# list here required RPM packages for runtime' >> ${DASPECFILE}
-COMMAND @echo "Requires: date" >> ${DASPECFILE}
+COMMAND @echo "Requires: date, daqDA-lib" >> ${DASPECFILE}
COMMAND @echo "" >> ${DASPECFILE}
COMMAND @echo '\# You can specify other dependencies in the description tag below.' >> ${DASPECFILE}
COMMAND @echo "" >> ${DASPECFILE}
TARGET DAOBJ_${DAEXE}_
COMMAND echo "***** Compiling ${DASRC} *****"
COMMAND echo "${DFLAGS}"
- COMMAND g++ -c ${AMOREDEFINITIONS} -D${CMAKE_SYSTEM_NAME} ${DATE_CFLAGS} -I${DATE_ROOT}/infoLogger -I${DATE_ROOT}/logbook -I${DAQDADIR} -I${CMAKE_SOURCE_DIR}/RAW -I${CMAKE_BINARY_DIR}/include -I${ROOTINCDIR} ${mod} ${date_head} ${CMAKE_SOURCE_DIR}/${DASRC} -o ${DAOBJ}
+ COMMAND g++ -c ${AMOREDEFINITIONS} -D${CMAKE_SYSTEM_NAME} ${DATE_CFLAGS} -I${DATE_ROOT}/infoLogger -I${DATE_ROOT}/logbook -I${DAQDADIR} -I${AliRoot_SOURCE_DIR}/RAW -I${CMAKE_BINARY_DIR}/include -I${ROOTINCDIR} ${mod} ${date_head} ${AliRoot_SOURCE_DIR}/${DASRC} -o ${DAOBJ}
WORKING_DIRECTORY ${CMAKE_BINARY_DIR}
)
add_dependencies(DAOBJ_${DAEXE}_ DADEP_${DAEXE}_ )
add_custom_command(
TARGET DADEP_${DAEXE}_
COMMAND echo "***** Making detector-algorithm dependencies ${DADEP} *****"
- COMMAND g++ -MM ${DATE_CFLAGS} -I${DAQDADIR} -I${CMAKE_SOURCE_DIR}/RAW -I${CMAKE_BINARY_DIR}/include -I${ROOTINCDIR} ${mod} ${date_head} ${CMAKE_SOURCE_DIR}/${DASRC} > ${DADEP}
+ COMMAND g++ -MM ${DATE_CFLAGS} -I${DAQDADIR} -I${AliRoot_SOURCE_DIR}/RAW -I${CMAKE_BINARY_DIR}/include -I${ROOTINCDIR} ${mod} ${date_head} ${AliRoot_SOURCE_DIR}/${DASRC} > ${DADEP}
WORKING_DIRECTORY ${CMAKE_BINARY_DIR}
)