]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - CMakeLists.txt
Avoiding a warning during compilation
[u/mrichter/AliRoot.git] / CMakeLists.txt
index d6bd13f5f5179356b201276bb1b6bc6b7e708af1..312f56e169d8c9e9fcce8edda8919904d404776a 100644 (file)
@@ -1,3 +1,5 @@
+# -*- mode: cmake -*-
+
 # Top level CMakeList.txt file for the AliRoot Build System
 #
 # Author: Johny Jose (johny.jose@cern.ch)
@@ -11,8 +13,14 @@ cmake_minimum_required(VERSION 2.8 FATAL_ERROR)
 #--------------------------------------------------------------------------------#
 
 project(AliRoot CXX C Fortran)
+
+# Environment variables
 set(ALICE_ROOT $ENV{ALICE_ROOT})
 set(ALICE $ENV{ALICE})
+set(ALICE_INSTALL $ENV{ALICE_INSTALL})
+# Environment for SHUTTLE
+set(DIMDIR $ENV{DIMDIR})
+set(ODIR $ENV{ODIR})
 
 if(NOT ALICE)
   message(WARNING "Environment variable ALICE is not set")
@@ -29,8 +37,11 @@ if(NOT ALICE_INSTALL)
 else()
   message(STATUS "AliRoot files will be installed in ${ALICE_INSTALL}")
 endif(NOT ALICE_INSTALL)
+set(CMAKE_INSTALL_PREFIX ${ALICE_INSTALL})
 
-set(CMAKE_MODULE_PATH "${ALICE_ROOT}/cmake")
+get_filename_component(PROJECT_SOURCE_DIR "${PROJECT_SOURCE_DIR}" REALPATH)
+set(CMAKE_MODULE_PATH "${PROJECT_SOURCE_DIR}/cmake")
+set(CPACK_COMPONENTS_ALL MDC)
 
 include(ALICE_CMake)
 
@@ -68,6 +79,12 @@ find_package(GEANT3)
 
 find_package(AMORE)
 
+# AliRoot CPack configuration                                                    
+#-------------------------------
+
+find_package(CPack)
+
+
 #--------------------------------------------------------------------------------#
 # Environment/Compiler Configuration                                             #
 #--------------------------------------------------------------------------------#
@@ -93,6 +110,7 @@ file(MAKE_DIRECTORY ${CMAKE_INCLUDE_EXPORT_DIRECTORY})
 set(EXPORTDIRS "${ALICE_INSTALL}/include")
 set(BINLIBDIRS "-L${CMAKE_LIBRARY_OUTPUT_DIRECTORY}")
 
+
 #--------------------------------------------------------------------------------#
 # AliRoot Modules                                                                #
 #--------------------------------------------------------------------------------#
@@ -100,11 +118,20 @@ set(BINLIBDIRS "-L${CMAKE_LIBRARY_OUTPUT_DIRECTORY}")
 # Exclude Module from all target
 # ------------------------------
 
-set(EXCLUDEMODULES THydjet SHUTTLE)
+#set(EXCLUDEMODULES THydjet SHUTTLE)
+
 
 # Standard Modules
 # ------------------------------
-set(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 LHC ESDCheck STAT TTherminator CORRFW DPMJET TDPMjet PWG0 PWG1 PWG2 PWG3 PWG4 TRIGGER THydjet PYTHIA8)
+set(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 LHC STAT TTherminator CORRFW DPMJET TDPMjet PWG0 PWG1 PWG2 PWG3 PWG4 TRIGGER PYTHIA8 TAmpt OADB )
+
+if(THydjet)
+  list(APPEND ALIROOTMODULES THydjet)
+endif(THydjet)
+
+if(SHUTTLE)
+  list(APPEND ALIROOTMODULES SHUTTLE)
+endif(SHUTTLE)
 
 # Additional Modules
 # ------------------------------
@@ -124,9 +151,9 @@ set(CERNMODULES LHAPDF HIJING MICROCERN HERWIG)
 # Check for Pythia 6
 if(EXISTS ${ROOTINCDIR}/TPythia6.h)
   set(PYTHIA6 TRUE)
-  list(APPEND CERNMODULES PYTHIA6 RALICE EVGEN)
-else()
-  message(FATAL_ERROR "Pythia6 is required !")
+  list(APPEND CERNMODULES PYTHIA6 EVGEN)
+elseif(NOT NOPYTHIA)
+  message(FATAL_ERROR "ROOT must have Pythia6 enabled !")
 endif(EXISTS ${ROOTINCDIR}/TPythia6.h)
 
 # Set Final list of modules 
@@ -143,10 +170,24 @@ set(LIBS ${ROOTCLIBS} ${ROOTPLIBS} ${SYSLIBS})
 # Configure ARVerion.h
 # ------------------------------
 if(Subversion_FOUND)
+  if(EXISTS ${PROJECT_SOURCE_DIR}/.svn/ )
   Subversion_WC_INFO(${PROJECT_SOURCE_DIR} PROJECT)
   set(ALIROOT_SVN_REVISION ${PROJECT_WC_REVISION})
   set(ALIROOT_SVN_BRANCH ${PROJECT_WC_URL})
   string(REGEX MATCH "[^/]+$" ALIROOT_SVN_BRANCH ${ALIROOT_SVN_BRANCH})
+
+  elseif(EXISTS ${PROJECT_SOURCE_DIR}/.git/ )
+    execute_process(WORKING_DIRECTORY ${PROJECT_SOURCE_DIR} COMMAND git svn info OUTPUT_VARIABLE OUTPUTVAR)
+    string(REPLACE "\n" ";" OUTPUTVAR ${OUTPUTVAR})
+    foreach(f ${OUTPUTVAR})
+      if(${f} MATCHES URL)
+       string(REGEX MATCH "[^/]+$" ALIROOT_SVN_BRANCH ${f})
+      elseif(${f} MATCHES Revision)
+       string(REGEX MATCH "[^: ]+$" ALIROOT_SVN_REVISION ${f})
+      endif(${f} MATCHES URL)   
+    endforeach()
+  endif(EXISTS ${PROJECT_SOURCE_DIR}/.svn/ )
+
   message(STATUS "Aliroot Revision - ${ALIROOT_SVN_REVISION} Branch - ${ALIROOT_SVN_BRANCH}")
   if(EXISTS ${CMAKE_INCLUDE_EXPORT_DIRECTORY}/ARVersion.h)
     file(REMOVE ${CMAKE_INCLUDE_EXPORT_DIRECTORY}/ARVersion.h)
@@ -171,25 +212,49 @@ set(EXPORTFILES)
 
 add_custom_target(alilibs-static)
 add_custom_target(include-headers)
-if(DATE_FOUND AND AMORE_FOUND)
-  include (CMakeDA)
-endif(DATE_FOUND AND AMORE_FOUND)
+add_custom_target(DA-all)
+if(RULECHECKER_FOUND)
+  add_custom_target(check-all)
+  add_dependencies(check-all ${FACTFILE})
+endif(RULECHECKER_FOUND)
+add_custom_target(par-all)
+add_custom_target(test-par-all)
 
 # Add Modules
 # ------------------------------
 foreach(MODULE ${MODDIRS})
+  set(${MODULE}ALIBS)
   configure_file(${PROJECT_SOURCE_DIR}/cmake/Module.tmp ${PROJECT_SOURCE_DIR}/${MODULE}/CMakeLists.txt @ONLY)
   add_custom_target(${MODULE}-all ALL)
-  add_custom_target(${MODULE}-static)
+  add_custom_target(${MODULE}-check-all)
+  add_custom_target(${MODULE}-par-all)
+  add_custom_target(test-${MODULE}-par-all)
+  if(RULECHECKER_FOUND)
+    add_dependencies(check-all "${MODULE}-check-all")
+  endif(RULECHECKER_FOUND)
+  add_custom_target(${MODULE}-all-static)
   add_dependencies(alilibs-static "${MODULE}-static")
   add_subdirectory(${MODULE})
-
 endforeach(MODULE)
 
+if(DATE_FOUND AND AMORE_FOUND)
+  include (CMakeDA)
+endif(DATE_FOUND AND AMORE_FOUND)
+
+if(RULECHECKER_FOUND)
+    add_custom_command( OUTPUT ${FACTFILE}
+                        COMMAND ${JAVA_RUNTIME} -jar ${FACTEXTRACTOR_JAR} ${CMAKE_BINARY_DIR} ${CMAKE_BINARY_DIR}
+                       DEPENDS ${_factfile_deps}
+                        WORKING_DIRECTORY ${CMAKE_BINARY_DIR})
+endif(RULECHECKER_FOUND)
+
 #--------------------------------------------------------------------------------#
 # Additional Targets                                                             #
 #--------------------------------------------------------------------------------#
 
+# AliMdc RPM
+# ------------------------------
+
 include (InstallRequiredSystemLibraries)
 include (CPack)