-Add_subdirectory(SHUTTLE)
-endif(SHUTTLE)
-Add_subdirectory(STAT)
-Add_subdirectory(STEER)
-Add_subdirectory(STRUCT)
-Add_subdirectory(T0)
-Add_subdirectory(TDPMjet)
-Add_subdirectory(TEPEMGEN)
-Add_subdirectory(THbtp)
-Add_subdirectory(THerwig)
-Add_subdirectory(THijing)
-if(TFLUKA)
-Add_subdirectory(TFluka)
-endif(TFLUKA)
-if(THYDJET)
-Add_subdirectory(THydjet)
-endif(THYDJET)
-Add_subdirectory(TOF)
-Add_subdirectory(TPC)
-Add_subdirectory(TRD)
-Add_subdirectory(TRIGGER)
-Add_subdirectory(TTherminator)
-Add_subdirectory(TUHKMgen)
-Add_subdirectory(VZERO)
-Add_subdirectory(ZDC)
-Add_subdirectory(ALIROOT)
-add_subdirectory(test)
-add_test ("Aliroot_executable" aliroot -q)
-#copy testing files
-if(EXISTS "${CTEST_SOURCE_DIRECTORY}/CTestCustom.cmake")
-configure_file("CTestCustom.cmake" "${CTEST_BINARY_DIRECTORY}" COPYONLY)
-endif(EXISTS "${CTEST_SOURCE_DIRECTORY}/CTestCustom.cmake")
-execute_process(COMMAND "cmake" "-E" "copy_directory" "${ALICE_ROOT}/test" "${ALICE_INSTALL}/test")
-
-message("Note : In order for the warnings test to execute successfully you need to log your make build output to make.log in the ALICE_INSTALL Directory using this command \n make -k > make.log 2>&1")
+ list(APPEND ALIROOTMODULES SHUTTLE)
+endif(SHUTTLE)
+
+# Additional Modules
+# ------------------------------
+list(APPEND ALIROOTMODULES TUHKMgen EPOS)
+
+# EVE
+# ------------------------------
+ALICE_RootConfig(EVE --has-opengl)
+if(NOT EVE STREQUAL "no")
+ list(APPEND ALIROOTMODULES EVE)
+endif(NOT EVE STREQUAL "no")
+
+# CERN Modules
+# ------------------------------
+set(CERNMODULES LHAPDF HIJING MICROCERN HERWIG)
+
+# Check for Pythia 6
+if(EXISTS ${ROOTINCDIR}/TPythia6.h)
+ set(PYTHIA6 TRUE)
+ 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
+set(MODULES ${ALIROOTMODULES} ${CERNMODULES} ALIROOT)
+
+# Set Module directories
+set(MODDIRS ${MODULES})
+
+# Libraries for Linking
+# ------------------------------
+set(ALILIBS MUON TPC PMD TRD FMD TOF ITS PHOS ACORDE HMPID VZERO ZDC STRUCT T0 EVGEN STEER TRIGGER)
+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)
+ endif(EXISTS ${CMAKE_INCLUDE_EXPORT_DIRECTORY}/ARVersion.h)
+ configure_file(${PROJECT_SOURCE_DIR}/cmake/ARVersion.h.tmp ${CMAKE_INCLUDE_EXPORT_DIRECTORY}/ARVersion.h @ONLY)
+endif(Subversion_FOUND)
+
+#--------------------------------------------------------------------------------#
+# Build Modules #
+#--------------------------------------------------------------------------------#
+
+# Module Variables
+# ------------------------------
+set(ALLLIBS)
+set(ALLEXECS)
+set(INCLUDEFILES)
+set(BINLIBS)
+set(EXPORTFILES)
+
+# Top Level Build Targets
+# ------------------------------
+
+add_custom_target(alilibs-static)
+add_custom_target(include-headers ALL)
+add_custom_target(DA-all)
+add_custom_target(check-all)
+add_custom_target(check-hxml)
+add_custom_target(smell-all)
+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}-par-all)
+ add_custom_target(test-${MODULE}-par-all)
+ 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_target(factfile DEPENDS ${FACTFILE})
+ add_custom_command( OUTPUT ${FACTFILE}
+ COMMAND ${CMAKE_COMMAND} -E echo "Re-generating factfile"
+ COMMAND ${JAVA_RUNTIME} -Xmx1024M -jar ${FACTEXTRACTOR_JAR} ${CMAKE_BINARY_DIR} ${CMAKE_BINARY_DIR}
+ DEPENDS check-hxml ${CMAKE_BINARY_DIR}/check-hxml-touchfile ${_factfile_deps}
+ WORKING_DIRECTORY ${CMAKE_BINARY_DIR})
+endif(RULECHECKER_FOUND)
+
+#--------------------------------------------------------------------------------#
+# Additional Targets #
+#--------------------------------------------------------------------------------#
+
+# AliMdc RPM
+# ------------------------------
+
+include (InstallRequiredSystemLibraries)
+include (CPack)
+