set(ALICE_INSTALL $ENV{ALICE_INSTALL})
# Set AliRoot Installation directory
-if(NOT ALICE_INSTALL)
- message(STATUS "AliRoot files will be installed in ${ALICE_ROOT}. You can specify a different location by setting ALICE_INSTALL environment variable")
- set(ALICE_INSTALL ${ALICE_ROOT})
-else()
- message(STATUS "AliRoot files will be installed in ${ALICE_INSTALL}")
-endif(NOT ALICE_INSTALL)
-if(${ALICE_INSTALL} STREQUAL ${CMAKE_BINARY_DIR})
- message(FATAL_ERROR "Install dir should be different from build dir")
-endif()
-
# If CMAKE_INSTALL_PREFIX was not set than we set it to ALICE_INSTALL.
# If ALICE_INSTALL was not defined than it will default to source directory
if(CMAKE_INSTALL_PREFIX_INITIALIZED_TO_DEFAULT)
- set(CMAKE_INSTALL_PREFIX ${ALICE_INSTALL})
+ if(ALICE_INSTALL)
+ message(STATUS "AliRoot files will be installed in ${ALICE_INSTALL}")
+ else()
+ message(STATUS "AliRoot files will be installed in ${ALICE_ROOT}. You
+ can specify a different location by passing -DCMAKE_INSTALL_PREFIX or
+ by setting ALICE_INSTALL environment variable")
+ set(ALICE_INSTALL ${ALICE_ROOT})
+ if(${ALICE_INSTALL} STREQUAL ${CMAKE_BINARY_DIR})
+ message(FATAL_ERROR "The install directory must differ from the
+ build directory")
+ endif()
+ endif()
+ set(CMAKE_INSTALL_PREFIX ${ALICE_INSTALL} CACHE STRING "Install dir" FORCE)
endif()
+
# Environment for SHUTTLE
set(DIMDIR $ENV{DIMDIR})
set(ODIR $ENV{ODIR})
if(GIT_FOUND)
get_git_head_revision(GIT_REFSPEC GIT_SHA1)
- message(STATUS "Aliroot branch - ${GIT_REFSPEC} Revision - ${GIT_SHA1} ")
+
+ # GIT_REFSPEC is empty for detached mode = tags in detached mode or checkout to specific hash
+
+
+ # returns the closest reference to the current hash
+ # name of the current tag or heads/branch in the case of branches
+ git_describe(ALIROOT_GIT_TAG "--all" "--abbrev=0")
STRING(REGEX REPLACE "^(.+/)(.+)/(.*)$" "\\2" BRANCH_TYPE "${GIT_REFSPEC}" )
-
+
+ # the revision is not set in the case of a branch, it means we are doing development
+ # and the revision will trigger a reconfiguration
if(BRANCH_TYPE STREQUAL "heads")
set(ALIROOT_REVISION "ThisIsaBranchNoRevisionProvided")
+ STRING(REGEX REPLACE "^(.+/)(.+/)(.*)$" "\\3" SHORT_BRANCH "${GIT_REFSPEC}" )
else()
+ set(SHORT_BRANCH ${ALIROOT_GIT_TAG})
set(ALIROOT_REVISION ${GIT_SHA1})
endif()
- STRING(REGEX REPLACE "^(.+/)(.+/)(.*)$" "\\3" SHORT_BRANCH "${GIT_REFSPEC}" )
-
set(ALIROOT_BRANCH ${SHORT_BRANCH})
+ message(STATUS "Aliroot branch/tag: \"${ALIROOT_BRANCH}\" - Revision: \"${GIT_SHA1}\" ")
else()
message("Git not installed. I can't tell you which revision you are using!")
message("AliRoot sources not downloaded from a Version Control System. I can't tell which revision you are using!")
endif(EXISTS ${PROJECT_SOURCE_DIR}/.git/)
-configure_file(${PROJECT_SOURCE_DIR}/cmake/ARVersion.h.tmp ${CMAKE_INCLUDE_EXPORT_DIRECTORY}/ARVersion.h @ONLY)
+configure_file(${PROJECT_SOURCE_DIR}/cmake/ARVersion.h.tmp ${CMAKE_INCLUDE_EXPORT_DIRECTORY}/FromTemplate/ARVersion.h @ONLY)
string (REPLACE "-" "." ALIROOT_BRANCH_SPEC "${ALIROOT_BRANCH}")
set(LIBPATH ${CMAKE_BINARY_DIR}/lib/tgt_${ALICE_TARGET})
set(BINPATH ${CMAKE_BINARY_DIR}/bin/tgt_${ALICE_TARGET})
set(EXPORTDIR ${ALICE_ROOT}/include)
-set(BINLIBDIRS -L${ALICE_ROOT}/${LIBPATH})
+#set(BINLIBDIRS -L${ALICE_ROOT}/${LIBPATH})
set(RAWDIRO ${CMAKE_BINARY_DIR}/RAW)
set(ALIMDCSPECFILE ${RAWDIRO}/alimdc.spec)
set(RAWDatabaseALIB ${LIBPATH}/libRAWDatabase.${AEXT})