Fixes for building of DA (Anshul)
authorhristov <hristov@f7af4fe6-9843-0410-8265-dc069ae4e863>
Mon, 18 Jul 2011 19:49:48 +0000 (19:49 +0000)
committerhristov <hristov@f7af4fe6-9843-0410-8265-dc069ae4e863>
Mon, 18 Jul 2011 19:49:48 +0000 (19:49 +0000)
FMD/FMDBaseda.cxx
FMD/FMDGainda.cxx
TPC/AliTPCMonitorDateMonitor.cxx
TPC/AliTPCMonitorDateMonitor.h
cmake/CMakeDA.cmake
cmake/FindDATE.cmake

index 388e8e7..398634a 100644 (file)
@@ -11,6 +11,7 @@
   Output Files:            conditions.csv
   Trigger types used:      PHYSICS_EVENT
 */
+#include <Riostream.h>
 #include "monitor.h"
 #include "event.h"
 #include <AliLog.h>
@@ -52,7 +53,7 @@ int main(int argc, char **argv)
   int status;
   /* define data source : this is argument 1 */  
   if (argc < 2) { 
-    std::cout << "No monitor source set" << std::endl;
+    cout << "No monitor source set" << endl;
     return -1;
   }
   status=monitorSetDataSource( argv[1] );
@@ -110,7 +111,7 @@ int main(int argc, char **argv)
       retval = 
        daqDA_FES_storeFile("conditions.csv", 
                            AliFMDParameters::Instance()->GetConditionsShuttleID());
-      if (retval != 0) std::cerr << "Base DA failed" << std::endl;
+      if (retval != 0) cerr << "Base DA failed" << endl;
       
       break;
     
index 4ab6a5b..ea6c7dd 100644 (file)
@@ -11,6 +11,7 @@
   Output Files:            gains.csv
   Trigger types used:      GAIN
 */
+#include <Riostream.h>
 #include <TSystem.h>
 #include <TString.h>
 #include <AliFMDParameters.h>
@@ -76,15 +77,15 @@ int main(int argc, char **argv)
     TString arg(argv[i]);
     if      (arg.Contains("--diagnostics=true")) diagnostics = kTRUE;
     else if (arg.Contains("--help")) { 
-      std::cout << "Usage: " << argv[0] << " FILENAME [OPTIONS]\n\n"
+      cout << "Usage: " << argv[0] << " FILENAME [OPTIONS]\n\n"
                << "Options:\n" 
                << "    --diagnostics=BOOL Make diagnostics ROOT file\n"
-               << std::endl;
+               << endl;
       return 0;
     }
     else { 
-      std::cerr << "Unknown option: " << arg << "\n"
-               << "Try '" << argv[0] << " --help" << std::endl;
+      cerr << "Unknown option: " << arg << "\n"
+               << "Try '" << argv[0] << " --help" << endl;
       return 1;
     }
   }
@@ -103,8 +104,8 @@ int main(int argc, char **argv)
     reader = new AliRawReaderRoot(fileName);
   else reader = new AliRawReaderDate(fileName);
   if (!reader) { 
-    std::cerr << "Don't know how to make reader for " << fileNam 
-             << std::endl;
+    cerr << "Don't know how to make reader for " << fileNam 
+             << endl;
     return -2;
   }
 
@@ -129,7 +130,7 @@ int main(int argc, char **argv)
                        AliFMDParameters::Instance()->GetGainShuttleID());
 
   if(retvalConditions!=0 || retvalGain!=0)
-    std::cerr << "Pedestal DA failed" << std::endl;
+    cerr << "Pedestal DA failed" << endl;
   
 #ifdef ALI_AMORE
   try { 
@@ -150,8 +151,8 @@ int main(int argc, char **argv)
       myAmore.Send(obj->GetName(), obj);
     
   }
-  catch (std::exception& e) {
-    std::cerr << "Failed to make AMORE instance: " << e.what() << std::endl;
+  catch (exception& e) {
+    cerr << "Failed to make AMORE instance: " << e.what() << endl;
   }
                               
 #endif
index 2afe5d5..b5e96ca 100755 (executable)
@@ -86,7 +86,7 @@ Int_t AliTPCMonitorDateMonitor::OpenMonitoring(string name){
 }
 
 //_____________________________________________________________________________
-char* AliTPCMonitorDateMonitor::DecodeError(Int_t error  ){
+const char* AliTPCMonitorDateMonitor::DecodeError(Int_t error  ){
   // Return decoded error string 
   return monitorDecodeError(error);
 }
index 102f771..949e5d1 100755 (executable)
@@ -33,7 +33,7 @@ class AliTPCMonitorDateMonitor : public TNamed {
     
     void    Free();
     Int_t   OpenMonitoring(string name);
-    Char_t* DecodeError(int error);
+    const Char_t* DecodeError(int error);
     Int_t   DeclareMonitor(string name); 
     Int_t   FlushEvents();
     Int_t   GetEvent();
index 0b829bf..1f1344f 100644 (file)
@@ -1,10 +1,17 @@
+#--------------------------------------------------------------------
+# CMakeDA.cmake file for AliRoot Build System
+#
+# Author: Anshul Goel (anshul.goel@cern.ch)
+#         Port of previous Makefile build to DAQ targets and RPM
+#
+
 cmake_minimum_required(VERSION 2.8.4 FATAL_ERROR)
 
 # -----------Utilities--------------------
 
 #list of detectors 
-set(ONLINEDETECTORS SPD SDD SSD TPC TRD TOF HMP PHS CPV PMD MCH MTR FMD T00 V00 ZDC ACO TRI EMC HLT TST GRP)
-
+#set(ONLINEDETECTORS SPD SDD SSD TRD TPC FMD TOF HMP PHS CPV PMD MCH MTR T00 V00 ZDC ACO TRI EMC HLT TST GRP)
+set(ONLINEDETECTORS SPD SDD SSD TRD ACO)
 function(expand output input)
     string(REGEX MATCH "\\\${[^}]*}" m "${input}")
     while(m)
@@ -52,6 +59,13 @@ function (getinfo _info pattern file)
   set(${_info} ${_data} PARENT_SCOPE)
 endfunction()
 
+
+foreach(oldetect ${ONLINEDETECTORS})
+detector_module(h_module ${oldetect})
+list(APPEND mod "-I${ALICE_ROOT}/${h_module}")
+endforeach(oldetect ${ONLINEDETECTORS})
+list(APPEND mod "-I$ALICE_ROOT}/include" "-I${ALICE_ROOT}/STEER" "-I${ALICE_ROOT}/MUON/mapping" "-I$ENV{AMORE}/include/amore")
+
 # ----------Common stuff-------------------
 
 file(GLOB_RECURSE _dafiles $ENV{ALICE_ROOT}/*da.cxx)
@@ -136,11 +150,11 @@ foreach(detector ${ONLINEDETECTORS} )
 
          set(DATARGETDIR "${DAINSTALL}/${DAMODULE}/tgt_$ENV{ALICE_TARGET}")
          file(MAKE_DIRECTORY ${DATARGETDIR})
-
+         set(DAOBJ "${DATARGETDIR}/${DAMODULE}${SUBDAMODULE}${DANAME}da.o")
          set(DASRC "${DAMODULE}/${DAMODULE}${SUBDAMODULE}${DANAME}da.cxx")
          set(DALIB "${DAMODULE}${SUBDAMODULE}${DANAME}DA")
          set(DAEXE "${DAMODULE}${SUBDAMODULE}${DANAME}da.exe")
-         
+         set(DADEP "${DATARGETDIR}/${DAMODULE}${SUBDAMODULE}${DANAME}da.d") 
        # DAVERSION
          execute_process(COMMAND svn info $ENV{ALICE_ROOT}/${DASRC} OUTPUT_VARIABLE _daversion OUTPUT_STRIP_TRAILING_WHITESPACE)
          string(REGEX REPLACE ".*Last Changed Rev: ([^\n]+)\n.*" "\\1" DAVERSION ${_daversion})
@@ -153,17 +167,13 @@ foreach(detector ${ONLINEDETECTORS} )
          string(REGEX REPLACE ".*URL: .*/(.+)/${DASRC}.*$" "\\1" DAALIROOTRELEASE ${_daversion})
        
          set(DAARCNAME "${DATARGETNAME}")
+         string(REPLACE "-" "" DAARCNAME "${DAARCNAME}")
          set(DAARC "${DAARCNAME}-${DAVERSION}")
          set(DATAR "${DATARGETDIR}/${DAARC}.src.tar.gz")
          set(DASPECFILE "${DATARGETDIR}/${DAMODULE}${SUBDAMODULE}${DANAME}da.spec")
          set(DAMAKEFILE "${DATARGETDIR}/${DAMODULE}${SUBDAMODULE}${DANAME}da.make")
 
-
-          
-         if(EXTRADAMODULE)
-           ##**set
-         endif(EXTRADAMODULE)
-
+  
          file(READ "$ENV{ALICE_ROOT}/${DASRC}" _dasrc)
          getinfo(DACONTACT "Contact" ${_dasrc})
          getinfo(DALINKPAGE "Link" ${_dasrc})
@@ -187,30 +197,277 @@ foreach(detector ${ONLINEDETECTORS} )
          set(CMAKE_SHARED_LINKER_FLAGS ${SOFLAGS}) 
          set(CMAKE_MODULE_LINKER_FLAGS ${LDFLAGS})
 
-         set(ZIP)
-         foreach(_lib ${ALIROOTALIBS})
-          string(REGEX REPLACE "-static" "" _lib ${_lib})
-          list(APPEND ZIP && ar x "../lib${_lib}.a")
-         endforeach(_lib)
-         list (APPEND ZIP && ar r "../lib${DALIB}.a" "*.o")
-
-         add_custom_target( ${DALIB} COMMAND rm -rf junk${DAEXE} && mkdir -p junk${DAEXE} 
-                               COMMAND cd junk${DAEXE} ${ZIP}
-                               COMMAND cd ../ && rm -rf junk${DAEXE}
-                               DEPENDS ${ALIROOTALIBS}
-                               WORKING_DIRECTORY ${CMAKE_LIBRARY_OUTPUT_DIRECTORY})
-         add_custom_command( TARGET clean
-                            COMMAND rm -rf junk${DAEXE}
-                            WORKING_DIRECTORY ${CMAKE_LIBRARY_OUTPUT_DIRECTORY})
-           
-
-         add_custom_target(${DATARGETNAME})
-         add_executable(${DAEXE} ${DASRC})
-         set_property(TARGET ${DAEXE} PROPERTY EXCLUDE_FROM_ALL TRUE)
-         add_dependencies(${DAEXE} ${DALIB})
-         add_dependencies(DA-all ${DATARGETNAME})
-         target_link_libraries(${DAEXE} "-L${CMAKE_LIBRARY_OUTPUT_DIRECTORY}" "${CMAKE_LIBRARY_OUTPUT_DIRECTORY}/lib${DALIB}.a" ${EXTRAROOTLIB} "${ROOTLIBDIR}/libRoot.a" "${ROOTLIBDIR}/libfreetype.a" "${ROOTLIBDIR}/libpcre.a" ${SYSLIBS} ${DAQDALIB} ${MONITORLIBS} ${AMOREDALIBS})
-         add_dependencies(${DATARGETNAME} ${DAEXE})
+add_dependencies(DA-all ${DATARGETNAME} )
+add_custom_target(${DATARGETNAME}
+WORKING_DIRECTORY ${CMAKE_LIBRARY_OUTPUT_DIRECTORY}
+)
+add_dependencies(${DATARGETNAME} ${DAEXE})
+
+set(ZIP)
+foreach(_lib ${ALIROOTALIBS})
+string(REGEX REPLACE "-static" "" _lib ${_lib})
+list(APPEND ZIP && ar x "../lib${_lib}.a")
+endforeach(_lib)
+list (APPEND ZIP && ar r "../lib${DALIB}.a" "*.o")
+
+add_custom_target(${DALIB}.a
+COMMAND rm -rf junk${DAEXE} && mkdir -p junk${DAEXE}
+COMMAND cd junk${DAEXE} ${ZIP}
+COMMAND cd ../ && rm -rf junk${DAEXE}
+DEPENDS ${ALIROOTALIBS} 
+WORKING_DIRECTORY ${CMAKE_LIBRARY_OUTPUT_DIRECTORY} 
+)
+
+add_custom_command(
+TARGET ${DATARGETNAME}-clean
+COMMAND echo "***** Cleaning ${DAMODULE} ${SUBDAMODULE} ${DANAME} detector-algorithm *****"
+COMMAND rm -f ${DASPECFILE}
+COMMAND rm -f ${DATAR}
+COMMAND rm -f ${DAEXE}
+COMMAND rm -f ${DAOBJ}
+COMMAND rm -f ${DADEP}
+COMMAND rm -f ${DAMAKEFILE}
+COMMAND rm -f ${DALIB}.a
+COMMAND rm -f ${ALIROOTALIBS}
+COMMAND rm -f ${EXTRAROOTLIB}
+)
+
+string(REPLACE "\\" "" SYSLIBS "${SYSLIBS}")
+
+
+add_custom_target(DAMAKEFILE_${DAEXE}_)
+add_custom_command( 
+TARGET DAMAKEFILE_${DAEXE}_
+COMMAND rm -f ${DAMAKEFILE}
+COMMAND @echo "***** Making makefile ${DAMAKEFILE} *****"
+COMMAND @echo '\#***************************************************' >> ${DAMAKEFILE}
+COMMAND @echo '\# Makefile for Detector Algorithm' >> ${DAMAKEFILE}
+COMMAND @echo '\#' >> ${DAMAKEFILE}
+COMMAND @echo '\# It is necessary to setup build environment before' >> ${DAMAKEFILE}
+COMMAND @echo '\# using make:' >> ${DAMAKEFILE}
+COMMAND @echo '\# - define path to daqDAlib (env. DAQDALIB_PATH)' >> ${DAMAKEFILE}
+COMMAND @echo '\#' >> ${DAMAKEFILE}
+COMMAND @echo '\#*****************************************************' >> ${DAMAKEFILE}
+COMMAND @echo "" >> ${DAMAKEFILE}
+COMMAND @echo "CXX=g++" >> ${DAMAKEFILE}
+COMMAND @echo "LD=g++" >> ${DAMAKEFILE}
+COMMAND @echo "" >> ${DAMAKEFILE}
+COMMAND @echo "CXXFLAGS=${CXXFLAGS}" >> ${DAMAKEFILE}
+COMMAND @echo "LDFLAGS=${LDFLAGS}" >> ${DAMAKEFILE}
+COMMAND @echo "" >> ${DAMAKEFILE}
+COMMAND @echo 'ifeq ($$(DAQDALIB_PATH),)' >> ${DAMAKEFILE}
+COMMAND @echo "DAQDADIR=${ALICE}/daqDAlib" >> ${DAMAKEFILE}
+COMMAND @echo "else" >> ${DAMAKEFILE}
+COMMAND @echo 'DAQDADIR=$$(DAQDALIB_PATH)' >> ${DAMAKEFILE}
+COMMAND @echo "endif" >> ${DAMAKEFILE}
+COMMAND @echo "" >> ${DAMAKEFILE}
+COMMAND @echo 'DAQDALIB=$$(DAQDADIR)/libdaqDA.a' >> ${DAMAKEFILE}
+COMMAND @echo 'AMOREDALIBS=-static $$(shell $$(AMORE)/amore-config --ldflags-da-static) $$(shell date-config --rcproxylibs)' >> ${DAMAKEFILE}
+COMMAND @echo 'MONITORLIBS=$$(shell date-config --monitorlibs=noshift)' >> ${DAMAKEFILE}
+COMMAND @echo "" >> ${DAMAKEFILE}
+COMMAND @echo "${DAMODULE}${SUBDAMODULE}${DANAME}da.exe: ${DAMODULE}${SUBDAMODULE}${DANAME}da.o" >> ${DAMAKEFILE}
+COMMAND @echo -e '\t$$(LD) $$(LDFLAGS) -o ''$$''@ ''$$''< \\ \n' >> ${DAMAKEFILE}
+COMMAND @echo -e '\tlib${DALIB}.a \\ \n' >> ${DAMAKEFILE}
+COMMAND @echo -e '\t${EXTRAROOTLIB} \\ \n' >> ${DAMAKEFILE}
+COMMAND @echo -e '\t$$(ROOTSYS)/lib/libRoot.a \\ \n' >> ${DAMAKEFILE}
+COMMAND @echo -e '\t$$(ROOTSYS)/lib/libfreetype.a $$(ROOTSYS)/lib/libpcre.a \\ \n' >> ${DAMAKEFILE}
+COMMAND @echo -e '\t${SYSLIBS} \\ \n' >> ${DAMAKEFILE}
+COMMAND @echo -e '\t$$(DAQDALIB) $$(MONITORLIBS) $$(AMOREDALIBS) \n' >> ${DAMAKEFILE}
+COMMAND @echo "" >> ${DAMAKEFILE}
+COMMAND @echo "${DAMODULE}${SUBDAMODULE}${DANAME}da.o: ${DAMODULE}${SUBDAMODULE}${DANAME}da.cxx" >> ${DAMAKEFILE}
+COMMAND @echo '         $$(CXX) -c $$(CXXFLAGS) -I$$(DAQDADIR) ''$$''< -o ''$$''@' >> ${DAMAKEFILE}
+COMMAND @echo "" >> ${DAMAKEFILE}
+COMMAND @echo "clean:" >> ${DAMAKEFILE}
+COMMAND @echo "         @rm -f ${DAMODULE}${SUBDAMODULE}${DANAME}da.exe ${DAMODULE}${SUBDAMODULE}${DANAME}da.o" >> ${DAMAKEFILE}
+COMMAND @echo "" >> ${DAMAKEFILE}
+COMMAND @echo "install: ${DAMODULE}${SUBDAMODULE}${DANAME}da.exe" >> ${DAMAKEFILE}
+COMMAND @echo '         if [ $$(INSTALL_PATH) == '' ]; then \\' >> ${DAMAKEFILE}
+COMMAND @echo '        echo Environment variable INSTALL_PATH undefined, cannot continue;; \\' >> ${DAMAKEFILE}
+COMMAND @echo '         exit 1;; \\' >> ${DAMAKEFILE}
+COMMAND @echo "         fi" >> ${DAMAKEFILE}
+COMMAND @echo '         @cp -p ${DAMODULE}${SUBDAMODULE}${DANAME}da.exe $$(INSTALL_PATH)' >> ${DAMAKEFILE}
+)
+
+add_custom_target(DATAR_${DAEXE}_)
+add_custom_command( 
+TARGET DATAR_${DAEXE}_
+COMMAND @echo "***** Making archive ${DATAR} *****"
+COMMAND rm -rf ${DATAR}
+COMMAND rm -rf junk
+COMMAND mkdir junk && mkdir junk/${DAARC} 
+COMMAND cp -a ${ALICE_ROOT}/${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 cd .. && rm -rf junk
+)
+add_dependencies(DATAR_${DAEXE}_ DAMAKEFILE_${DAEXE}_ DASPECFILE_${DAEXE}_ ${DASRC}) 
+
+add_custom_target(DASPECFILE_${DAEXE}_)
+
+add_custom_command(
+TARGET DASPECFILE_${DAEXE}_
+COMMAND rm -f ${DASPECFILE}
+COMMAND @echo "***** Making RPM spec-file ${DASPECFILE} *****"
+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}" >> ${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 "Prefix: /opt/%{name}" >> ${DASPECFILE}
+COMMAND @echo "BuildRoot: %{_tmppath}/%{name}-root" >> ${DASPECFILE}
+COMMAND @echo "" >> ${DASPECFILE}
+COMMAND @echo '\# automatic dependencies' >> ${DASPECFILE}
+COMMAND @echo "AutoReqProv: yes" >> ${DASPECFILE}
+COMMAND @echo "" >> ${DASPECFILE}
+COMMAND @echo '\# list here required RPM packages for compilation' >> ${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 "" >> ${DASPECFILE}    
+COMMAND @echo '\# You can specify other dependencies in the description tag below.' >> ${DASPECFILE}
+COMMAND @echo "" >> ${DASPECFILE}
+COMMAND @echo '\# description of the package' >> ${DASPECFILE}
+COMMAND @echo "%description" >> ${DASPECFILE}
+COMMAND @echo "This is the ${ONLINEDETECTORNAME} ${DANAME} DA for online calibration." >> ${DASPECFILE}
+COMMAND @echo "It uses data from ${DAMODULE} detectors at run time." >> ${DASPECFILE}
+COMMAND @echo "Build requires: daqDAlib, date, AliRoot ${DAALIROOTRELEASE},ROOT ${DAROOTRELEASE}." >> ${DASPECFILE}
+COMMAND @echo "Runtime requires: date." >> ${DASPECFILE}
+COMMAND @echo "\"Contact: ${DACONTACT}\"" >> ${DASPECFILE}
+COMMAND @echo "\"Link: ${DALINKPAGE}\"" >> ${DASPECFILE}
+COMMAND @echo "\"Reference Run: ${DAREFRUN}\"" >> ${DASPECFILE}
+COMMAND @echo "\"Run type: ${DARUNTYPE}\"" >> ${DASPECFILE}
+COMMAND @echo "\"DA type: ${DATYPE}\"" >> ${DASPECFILE}
+COMMAND @echo "\"Number of events needed: ${DANUMBEROFEVENTS}\"" >> ${DASPECFILE}
+COMMAND @echo "\"Input files: ${DAINPUTFILES}\"" >> ${DASPECFILE}
+COMMAND @echo "\"Output files: ${DAOUTPUTFILES}\"" >> ${DASPECFILE}
+COMMAND @echo "\"Trigger types used: ${DATRIGGERTYPE}\"" >> ${DASPECFILE}
+COMMAND @echo "" >> ${DASPECFILE}
+COMMAND @echo '\#*****************************************************************' >> ${DASPECFILE}
+COMMAND @echo '\# Do not modify following scripts' >> ${DASPECFILE}
+COMMAND @echo '\#*****************************************************************' >> ${DASPECFILE}
+COMMAND @echo "" >> ${DASPECFILE}
+COMMAND @echo "%define debug_package %{nil}" >> ${DASPECFILE}
+COMMAND @echo "%define __os_install_post %{nil}" >> ${DASPECFILE}
+COMMAND @echo "" >> ${DASPECFILE}
+COMMAND @echo '\# here is defined the installation root directory' >> ${DASPECFILE}
+COMMAND @echo "%define pkgname %{name}-%{version}" >> ${DASPECFILE}
+COMMAND @echo "%define destdir %{prefix}" >> ${DASPECFILE}
+COMMAND @echo "" >> ${DASPECFILE}
+COMMAND @echo '\# pre-compilation script: extract from tarball' >> ${DASPECFILE}
+COMMAND @echo "%prep" >> ${DASPECFILE}
+COMMAND @echo '\# extract archive' >> ${DASPECFILE}
+COMMAND @echo "%setup -n %{pkgname}" >> ${DASPECFILE}
+COMMAND @echo "" >> ${DASPECFILE}
+COMMAND @echo '\# compile' >> ${DASPECFILE}
+COMMAND @echo "%build" >> ${DASPECFILE}
+COMMAND @echo "export DATE_SITE=" >> ${DASPECFILE}
+COMMAND @echo ". /date/setup.sh" >> ${DASPECFILE}
+COMMAND @echo "gmake" >> ${DASPECFILE}
+COMMAND @echo "" >> ${DASPECFILE}
+COMMAND @echo '\# install runtime files' >> ${DASPECFILE}
+COMMAND @echo "%install" >> ${DASPECFILE}
+COMMAND @echo '\#remove install dir if existing' >> ${DASPECFILE}
+COMMAND echo  '[ -d ''$$''RPM_BUILD_ROOT ] && rm -rf ''$$''RPM_BUILD_ROOT' >> ${DASPECFILE}
+COMMAND @echo '\#make install in install root directory' >> ${DASPECFILE}
+COMMAND @echo 'mkdir -p ''$$''RPM_BUILD_ROOT/%{prefix}' >> ${DASPECFILE}
+COMMAND @echo 'make install INSTALL_PATH=''$$''RPM_BUILD_ROOT/%{prefix}' >> ${DASPECFILE}
+COMMAND @echo "" >> ${DASPECFILE}
+COMMAND @echo '\# clean RPM build files' >> ${DASPECFILE}
+COMMAND @echo "%clean" >> ${DASPECFILE}
+COMMAND @echo '\# remove installed files' >> ${DASPECFILE}
+COMMAND @echo 'rm -rf ''$$''RPM_BUILD_ROOT' >> ${DASPECFILE}
+COMMAND @echo '\# remove source files' >> ${DASPECFILE}
+COMMAND @echo 'rm -rf ''$$''RPM_BUILD_DIR/%{pkgname}' >> ${DASPECFILE}
+COMMAND @echo "" >> ${DASPECFILE}
+COMMAND @echo '\# pre-install script' >> ${DASPECFILE}
+COMMAND @echo "%pre" >> ${DASPECFILE}
+COMMAND @echo "" >> ${DASPECFILE}
+COMMAND @echo '\# list of files to be installed' >> ${DASPECFILE}
+COMMAND @echo "%files" >> ${DASPECFILE}
+COMMAND @echo '%defattr (-,root,root)' >> ${DASPECFILE}
+COMMAND @echo "%{destdir}" >> ${DASPECFILE}
+COMMAND @echo "" >> ${DASPECFILE}
+COMMAND @echo '\# post-install script' >> ${DASPECFILE}
+COMMAND @echo '\# launched after rpm installed' >> ${DASPECFILE}
+COMMAND @echo "%post" >> ${DASPECFILE}
+COMMAND @echo "" >> ${DASPECFILE}
+COMMAND @echo '\# post-uninstall script' >> ${DASPECFILE}
+COMMAND @echo '\# launched after rpm removed' >> ${DASPECFILE}
+COMMAND @echo "%postun" >> ${DASPECFILE}
+)
+
+add_custom_target( ${DATARGETNAME}-rpm
+)
+add_dependencies(${DATARGETNAME}-rpm DATAR_${DAEXE}_ DASPECFILE_${DAEXE}_ ${LIBPATH} ${DALIB}.a DADEP_${DAEXE}_ ${EXTRAROOTLIB}     
+)
+
+add_custom_command(
+TARGET ${DATARGETNAME}-rpm  
+COMMAND echo "***** Making RPMS for ${DAMODULE}${SUBDAMODULE}${DANAME} detector-algorithm *****"
+COMMAND rm -rf junk
+COMMAND mkdir -p junk/SOURCES junk/SPECS junk/BUILD junk/RPMS junk/SRPMS
+COMMAND cp ${DATAR} junk/SOURCES
+COMMAND rpmbuild --quiet --define "_topdir ${ALICE_ROOT}/junk/" --nodeps -bb ${DASPECFILE}
+COMMAND find junk/ -name "${DAARC}-*.rpm" -exec cp -p {} . \;
+COMMAND rm -rf junk
+COMMAND echo "***** RPMS created and put ${ALICE_ROOT} folder *****"
+#WORKING_DIRECTORY ${ALICE_ROOT}
+)
+
+
+add_custom_target(${DAEXE}
+COMMAND echo "***** Making executable ${DAEXE} *****"
+WORKING_DIRECTORY ${CMAKE_LIBRARY_OUTPUT_DIRECTORY}
+)
+target_link_libraries(${DAEXE} "-L" "lib${DALIB}.a" ${DAOBJ} ${EXTRAROOTLIB} "${ROOTALIBDIR}/libRoot.a" "${ROOTALIBDIR}/libfreetype.a" "${ROOTALIBDIR}/libpcre.a" ${SYSLIBS} ${DAQDALIB} ${MONITORLIBS} ${AMOREDALIBS})
+
+add_dependencies(${DAEXE} ${DASRC} DAOBJ_${DAEXE}_ ${BINPATH} ${LIBPATH} ${DALIB}.a ${DAQDALIB} ${EXTRAROOTLIB} )
+
+
+
+
+add_custom_target(DAOBJ_${DAEXE}_
+)
+add_custom_command(
+TARGET DAOBJ_${DAEXE}_
+COMMAND echo "***** Compiling ${DASRC} *****"
+COMMAND g++ -c  -DLinux -DDATE_SYS=Linux -Dlong32="int" -Dlong64="long long" -DdatePointer="long" -I/date/rorc -I/date/runControl -I/date/readList -I/date/eventBuilder -I/date/banksManager -I/date/bufferManager -I/date/db -I/date/commonDefs -I/date/monitoring -I/date/infoLogger -I/date/logbook -I${DAQDADIR} -I${ALICE_ROOT}/RAW -I${CMAKE_BINARY_DIR}/include -I$ENV{ROOTSYS}/include ${mod} ${date_head} ${ALICE_ROOT}/${DASRC} -o ${DAOBJ}
+WORKING_DIRECTORY ${ALICE_ROOT} 
+)
+add_dependencies(DAOBJ_${DAEXE}_ DADEP_${DAEXE}_ )
+
+
+
+add_custom_target(DADEP_${DAEXE}_)
+add_custom_command(
+TARGET DADEP_${DAEXE}_
+COMMAND echo "***** Making detector-algorithm dependencies ${DADEP} *****"
+COMMAND g++ -MM -DLinux -DDATE_SYS=Linux -Dlong32="int" -Dlong64="long long" -DdatePointer="long" -I/date/rorc -I/date/runControl -I/date/readList -I/date/eventBuilder -I/date/banksManager -I/date/bufferManager -I/date/db -I/date/commonDefs -I/date/monitoring -I/date/infoLogger -I/date/logbook -I${DAQDADIR} -I${ALICE_ROOT}/RAW -I${CMAKE_BINARY_DIR}/include -I$ENV{ROOTSYS}/include ${mod} ${date_head} ${ALICE_ROOT}/${DASRC} > ${DADEP}
+WORKING_DIRECTORY ${ALICE_ROOT}
+)
+
+
+
+
+
+
+
+add_custom_command(TARGET clean
+COMMAND rm -rf junk*.exe
+WORKING_DIRECTORY ${CMAKE_LIBRARY_OUTPUT_DIRECTORY})
+
+
+
+
+
+
+
+
          
 
        endif(match)
index 2966b10..f8c82e9 100644 (file)
@@ -13,10 +13,9 @@ if(DATE_CONFIG)
   set(DATE_COMMON_DEFS $ENV{DATE_COMMON_DEFS})
   set(DATE_MONITOR_DIR $ENV{DATE_MONITOR_DIR})
   execute_process(COMMAND date-config --cflags OUTPUT_VARIABLE DATEFLAGS OUTPUT_STRIP_TRAILING_WHITESPACE)
-  string(REGEX REPLACE "\"" "'" DATEFLAGS ${DATEFLAGS})
-  set(DATEFLAGS "-DALI_DATE ${DATEFLAGS}")
   execute_process(COMMAND date-config --monitorlibs OUTPUT_VARIABLE DMONLIBS OUTPUT_STRIP_TRAILING_WHITESPACE)
 else()
   set(DATEFLAGS "-D${CMAKE_SYSTEM_NAME} -DDATE_SYS=${CMAKE_SYSTEM_NAME} -Dlong32='int' -Dlong64='long long' -DdatePointer='long'")
 endif(DATE_CONFIG)
-
+string ( REPLACE "\\" "" DATEFLAGS "${DATEFLAGS}" )
+message(STATUS "DATEFLAGS: ${DATEFLAGS}")