CMAKE_MINIMUM_REQUIRED(VERSION 2.8.2 FATAL_ERROR) PROJECT(HIGHWAY) SET(CMAKE_MODULE_PATH "${CMAKE_SOURCE_DIR}/cmake/modules") INCLUDE(FairMacros) INCLUDE(WriteConfigFile) INCLUDE(CheckCompiler) #Check the compiler and set the compile and link flags IF(NOT CMAKE_BUILD_TYPE) MESSAGE("Set BuildType DEBUG") SET(CMAKE_BUILD_TYPE Debug) ENDIF(NOT CMAKE_BUILD_TYPE) Check_Compiler() ENABLE_TESTING() INCLUDE(CTest) # export file: copy it to the build tree on every build invocation and add rule for installation FUNCTION(CM_EXPORT_FILE FILE DEST) IF (NOT TARGET export-files) ADD_CUSTOM_TARGET(export-files ALL COMMENT "Exporting files into build tree") ENDIF(NOT TARGET export-files) GET_FILENAME_COMPONENT(FILENAME "${FILE}" NAME) ADD_CUSTOM_COMMAND(TARGET export-files COMMAND ${CMAKE_COMMAND} -E copy_if_different "${CMAKE_CURRENT_SOURCE_DIR}/${FILE}" "${CMAKE_CURRENT_BINARY_DIR}/${DEST}/${FILENAME}") INSTALL(FILES "${FILE}" DESTINATION "${DEST}") ENDFUNCTION(CM_EXPORT_FILE) SET(LIBRARY_OUTPUT_PATH "${CMAKE_BINARY_DIR}/lib") SET(EXECUTABLE_OUTPUT_PATH "${CMAKE_BINARY_DIR}/bin") SET(INCLUDE_OUTPUT_DIRECTORY "${PROJECT_BINARY_DIR}/include") SET(HIGHWAY_MAJOR_VERSION 0) SET(HIGHWAY_MINOR_VERSION 0) SET(HIGHWAY_PATCH_VERSION 0) IF(NOT DEFINED ENV{SIMPATH}) MESSAGE(FATAL_ERROR "You did not define the environment variable SIMPATH which is needed to find the external packages. Please set this variable and execute cmake again.") ENDIF(NOT DEFINED ENV{SIMPATH}) STRING(REGEX MATCHALL "[^:]+" PATH $ENV{PATH}) SET(SIMPATH $ENV{SIMPATH}) MESSAGE(STATUS "SIMPATH - ${SIMPATH}") MESSAGE(STATUS "ENV{PANDAROOT} - $ENV{PANDAROOT}") SET(ROOTSYS ${SIMPATH}) SET(ROOT_MIN_VERSION "5.24/00") find_package(ROOT REQUIRED) IF(ROOT_INSTALLED_VERSION_TOO_OLD) MESSAGE( FATAL_ERROR "Invalid ROOT version \"${ROOTVERSION}\", at least version \"${ROOT_MIN_VERSION}\" is required, or external packages jul09") ENDIF (ROOT_INSTALLED_VERSION_TOO_OLD) SET(CMAKE_CXX_FLAGS ${CMAKE_CXX_FLAGS} "-std=c++11" ) #FIND_PACKAGE(RuleChecker) FIND_PACKAGE(GTest) FIND_PACKAGE(Threads) FIND_PACKAGE(ZeroMQ) SET(Boost_NO_SYSTEM_PATHS TRUE) SET(Boost_NO_BOOST_CMAKE TRUE) set(BOOST_ROOT ${SIMPATH}) SET(Boost_USE_MULTITHREADED ON) FIND_PACKAGE(Boost COMPONENTS regex system filesystem) SET(PANDAROOT_INCLUDE_DIR $ENV{PANDAROOT} "$ENV{PANDAROOT}/base" "$ENV{PANDAROOT}/fairtools" "$ENV{PANDAROOT}/pnddata/TrackData" "$ENV{PANDAROOT}/trackbase" "$ENV{PANDAROOT}/pnddata" ) SET(PANDAROOT_LIBRARY_DIR "$ENV{PANDAROOT}/build/lib") ADD_SUBDIRECTORY(src) ADD_SUBDIRECTORY(unit)