Commit 902886cb authored by Nabil Chouika's avatar Nabil Chouika
Browse files
parents 23562da9 032a22e9
cmake_minimum_required(VERSION 2.6)
# BASIC DEFINITIONS ========================================================================
#Configuration du projet
# define minimum version of cmake
cmake_minimum_required(VERSION 2.6)
# define project name and its language
project(PARTONS_release CXX)
# Force C++98 warnings
# define c++ standard and issue all the warning demanded by this standard
add_definitions(-std=c++98 -pedantic)
# Tell CMake to run moc when necessary:
# AUTOMOC ==================================================================================
# tell cmake to run Qt moc when necessary
set(CMAKE_AUTOMOC ON)
# As moc files are generated in the binary dir, tell CMake
# to always look for includes there:
# as moc files are generated in the binary dir, tell cmake to always look for includes there
set(CMAKE_INCLUDE_CURRENT_DIR ON)
# this command finds Qt4 libraries and sets all required variables
# note that it's Qt4, not QT4 or qt4
FIND_PACKAGE( Qt4 REQUIRED QtCore QtSql )
# FIND LIBRARIES ===========================================================================
# add some useful macros and variables
# (QT_USE_FILE is a variable defined by FIND_PACKAGE( Qt4 ) that contains a path to CMake script)
INCLUDE( ${QT_USE_FILE})
ADD_DEFINITIONS (${QT_DEFINITIONS})
# find libraries: Qt4
find_package(Qt4 REQUIRED QtCore QtSql)
# placez vos exécutables dans des dossiers portant le nom du type de compilation (Release, Debug...). Ce dernier est défini par la variable CMAKE_BUILD_TYPE (qui n'a d'effet seulement si le générateur choisi est basé sur Make)
# add some useful macros and variables
include(${QT_USE_FILE})
add_definitions(${QT_DEFINITIONS})
set(EXECUTABLE_OUTPUT_PATH ${CMAKE_CURRENT_SOURCE_DIR}/bin)
# Recherche de librairies
# find libraries: additional modules
set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} "${CMAKE_SOURCE_DIR}/cmake/Modules/")
FIND_PACKAGE(ROOT COMPONENTS Core Hist REQUIRED)
find_package(SFML COMPONENTS system REQUIRED)
# ElementaryUtils
FIND_PACKAGE(ElementaryUtils REQUIRED)
# Awful hack not need anymore:
#set(ELEMENTARY_UTILS_INCLUDE_DIR "${CMAKE_SOURCE_DIR}/../ElementaryUtils/include")
#set(ELEMENTARY_UTILS_LIB_DIR "${CMAKE_SOURCE_DIR}/../ElementaryUtils/lib")
#set(ELEMENTARY_UTILS_LIBRARIES ElementaryUtils)
# NumA++
FIND_PACKAGE(NumA++ REQUIRED)
# Awful hack not need anymore:
#set(NUMA_INCLUDE_DIR "${CMAKE_SOURCE_DIR}/../NumA++/include")
#set(NUMA_LIB_DIR "${CMAKE_SOURCE_DIR}/../NumA++/lib")
#set(NUMA_LIBRARIES NumA++)
# find libraries: ElementaryUtils
find_package(ElementaryUtils REQUIRED)
# PARTONS
FIND_PACKAGE(PARTONS REQUIRED)
# Awful hack not need anymore:
#set(PARTONS_INCLUDE_DIR "${CMAKE_SOURCE_DIR}/../PARTONS/include")
#set(PARTONS_LIB_DIR "${CMAKE_SOURCE_DIR}/../PARTONS/lib")
#set(PARTONS_LIBRARIES PARTONS)
# find libraries: NumA++
find_package(NumA++ REQUIRED)
# Inclusion de librairies
# find libraries: PARTONS
find_package(PARTONS REQUIRED)
INCLUDE_DIRECTORIES( ${ELEMENTARY_UTILS_INCLUDE_DIR} ${QT_INCLUDE_DIRS} ${ROOT_INCLUDE_DIR} ${PARTONS_INCLUDE_DIR} ${NUMA_INCLUDE_DIR} ${SFML_INCLUDE_DIR})
# directories containing headers
include_directories(${ELEMENTARY_UTILS_INCLUDE_DIR} ${QT_INCLUDE_DIRS} ${PARTONS_INCLUDE_DIR} ${NUMA_INCLUDE_DIR} ${SFML_INCLUDE_DIR})
# Link libraries # not needed anymore
#LINK_DIRECTORIES( ${ELEMENTARY_UTILS_LIB_DIR} ${PARTONS_LIB_DIR} ${NUMA_LIB_DIR})
#Génération de la liste des fichiers sources
# FINALIZE ==================================================================================
# generate list of source files
file(
GLOB_RECURSE
......@@ -71,6 +53,10 @@ file(
src/*
)
# define target executable
set(EXECUTABLE_OUTPUT_PATH ${CMAKE_CURRENT_SOURCE_DIR}/bin)
add_executable(
PARTONS_release
......@@ -78,7 +64,7 @@ add_executable(
${source_files}
)
#Configuration de l'édition de liens
# define libraries to be linked
target_link_libraries(
PARTONS_release
......@@ -87,8 +73,6 @@ target_link_libraries(
${ELEMENTARY_UTILS_LIBRARIES}
${ROOT_LIBRARIES}
${NUMA_LIBRARIES}
${QT_LIBRARIES}
......
# - Finds ROOT instalation
# This module sets up ROOT information
# It defines:
# ROOT_FOUND If the ROOT is found
# ROOT_INCLUDE_DIR PATH to the include directory
# ROOT_INCLUDE_DIRS PATH to the include directories (not cached)
# ROOT_LIBRARIES Most common libraries
# ROOT_<name>_LIBRARY Full path to the library <name>
# ROOT_LIBRARY_DIR PATH to the library directory
# ROOT_ETC_DIR PATH to the etc directory
# ROOT_DEFINITIONS Compiler definitions
# ROOT_CXX_FLAGS Compiler flags to used by client packages
# ROOT_C_FLAGS Compiler flags to used by client packages
# ROOT_EXE_LINKER_FLAGS Linker flags to used by client packages
#
# Updated by K. Smith (ksmith37@nd.edu) to properly handle
# dependencies in ROOT_GENERATE_DICTIONARY
find_program(ROOT_CONFIG_EXECUTABLE root-config
HINTS $ENV{ROOTSYS}/bin)
execute_process(
COMMAND ${ROOT_CONFIG_EXECUTABLE} --prefix
OUTPUT_VARIABLE ROOTSYS
OUTPUT_STRIP_TRAILING_WHITESPACE)
execute_process(
COMMAND ${ROOT_CONFIG_EXECUTABLE} --version
OUTPUT_VARIABLE ROOT_VERSION
OUTPUT_STRIP_TRAILING_WHITESPACE)
execute_process(
COMMAND ${ROOT_CONFIG_EXECUTABLE} --incdir
OUTPUT_VARIABLE ROOT_INCLUDE_DIR
OUTPUT_STRIP_TRAILING_WHITESPACE)
set(ROOT_INCLUDE_DIRS ${ROOT_INCLUDE_DIR})
execute_process(
COMMAND ${ROOT_CONFIG_EXECUTABLE} --etcdir
OUTPUT_VARIABLE ROOT_ETC_DIR
OUTPUT_STRIP_TRAILING_WHITESPACE)
set(ROOT_ETC_DIRS ${ROOT_ETC_DIR})
execute_process(
COMMAND ${ROOT_CONFIG_EXECUTABLE} --libdir
OUTPUT_VARIABLE ROOT_LIBRARY_DIR
OUTPUT_STRIP_TRAILING_WHITESPACE)
set(ROOT_LIBRARY_DIRS ${ROOT_LIBRARY_DIR})
set(rootlibs Core RIO Net Hist Graf Graf3d Gpad Tree Rint Postscript Matrix Physics MathCore Thread MultiProc)
set(ROOT_LIBRARIES)
foreach(_cpt ${rootlibs} ${ROOT_FIND_COMPONENTS})
find_library(ROOT_${_cpt}_LIBRARY ${_cpt} HINTS ${ROOT_LIBRARY_DIR})
if(ROOT_${_cpt}_LIBRARY)
mark_as_advanced(ROOT_${_cpt}_LIBRARY)
list(APPEND ROOT_LIBRARIES ${ROOT_${_cpt}_LIBRARY})
if(ROOT_FIND_COMPONENTS)
list(REMOVE_ITEM ROOT_FIND_COMPONENTS ${_cpt})
endif()
endif()
endforeach()
if(ROOT_LIBRARIES)
list(REMOVE_DUPLICATES ROOT_LIBRARIES)
endif()
execute_process(
COMMAND ${ROOT_CONFIG_EXECUTABLE} --cflags
OUTPUT_VARIABLE __cflags
OUTPUT_STRIP_TRAILING_WHITESPACE)
string(REGEX MATCHALL "-(D|U)[^ ]*" ROOT_DEFINITIONS "${__cflags}")
string(REGEX REPLACE "(^|[ ]*)-I[^ ]*" "" ROOT_CXX_FLAGS "${__cflags}")
string(REGEX REPLACE "(^|[ ]*)-I[^ ]*" "" ROOT_C_FLAGS "${__cflags}")
execute_process(
COMMAND ${ROOT_CONFIG_EXECUTABLE} --ldflags
OUTPUT_VARIABLE __ldflags
OUTPUT_STRIP_TRAILING_WHITESPACE)
set(ROOT_EXE_LINKER_FLAGS "${__ldflags}")
set(ROOT_USE_FILE ${CMAKE_CURRENT_LIST_DIR}/RootUseFile.cmake)
execute_process(
COMMAND ${ROOT_CONFIG_EXECUTABLE} --features
OUTPUT_VARIABLE _root_options
OUTPUT_STRIP_TRAILING_WHITESPACE)
separate_arguments(_root_options)
foreach(_opt ${_root_options})
set(ROOT_${_opt}_FOUND TRUE)
endforeach()
include(FindPackageHandleStandardArgs)
find_package_handle_standard_args(ROOT DEFAULT_MSG ROOT_CONFIG_EXECUTABLE
ROOTSYS ROOT_VERSION ROOT_INCLUDE_DIR ROOT_LIBRARIES ROOT_LIBRARY_DIR)
mark_as_advanced(ROOT_CONFIG_EXECUTABLE)
include(CMakeParseArguments)
find_program(ROOTCLING_EXECUTABLE rootcling HINTS $ENV{ROOTSYS}/bin)
find_program(GENREFLEX_EXECUTABLE genreflex HINTS $ENV{ROOTSYS}/bin)
find_package(GCCXML)
#----------------------------------------------------------------------------
# function ROOT_GENERATE_DICTIONARY( dictionary
# header1 header2 ...
# LINKDEF linkdef1 ...
# OPTIONS opt1...)
function(ROOT_GENERATE_DICTIONARY dictionary)
CMAKE_PARSE_ARGUMENTS(ARG "" "" "LINKDEF;OPTIONS" "" ${ARGN})
#---Get the list of include directories------------------
get_directory_property(incdirs INCLUDE_DIRECTORIES)
set(includedirs)
foreach( d ${incdirs})
set(includedirs ${includedirs} -I${d})
endforeach()
#---Get the list of header files-------------------------
set(headerfiles)
foreach(fp ${ARG_UNPARSED_ARGUMENTS})
if(${fp} MATCHES "[*?]") # Is this header a globbing expression?
file(GLOB files ${fp})
foreach(f ${files})
if(NOT f MATCHES LinkDef) # skip LinkDefs from globbing result
set(headerfiles ${headerfiles} ${f})
endif()
endforeach()
else()
find_file(headerFile ${fp} HINTS ${incdirs})
set(headerfiles ${headerfiles} ${headerFile})
unset(headerFile CACHE)
endif()
endforeach()
#---Get LinkDef.h file------------------------------------
set(linkdefs)
foreach( f ${ARG_LINKDEF})
find_file(linkFile ${f} HINTS ${incdirs})
set(linkdefs ${linkdefs} ${linkFile})
unset(linkFile CACHE)
endforeach()
#---call rootcling------------------------------------------
add_custom_command(OUTPUT ${dictionary}.cxx
COMMAND ${ROOTCLING_EXECUTABLE} -f ${dictionary}.cxx
-c ${ARG_OPTIONS} ${includedirs} ${headerfiles} ${linkdefs}
DEPENDS ${headerfiles} ${linkdefs} VERBATIM)
endfunction()
#----------------------------------------------------------------------------
# function REFLEX_GENERATE_DICTIONARY(dictionary
# header1 header2 ...
# SELECTION selectionfile ...
# OPTIONS opt1...)
function(REFLEX_GENERATE_DICTIONARY dictionary)
CMAKE_PARSE_ARGUMENTS(ARG "" "" "SELECTION;OPTIONS" "" ${ARGN})
#---Get the list of header files-------------------------
set(headerfiles)
foreach(fp ${ARG_UNPARSED_ARGUMENTS})
file(GLOB files ${fp})
if(files)
foreach(f ${files})
set(headerfiles ${headerfiles} ${f})
endforeach()
else()
set(headerfiles ${headerfiles} ${fp})
endif()
endforeach()
#---Get Selection file------------------------------------
if(IS_ABSOLUTE ${ARG_SELECTION})
set(selectionfile ${ARG_SELECTION})
else()
set(selectionfile ${CMAKE_CURRENT_SOURCE_DIR}/${ARG_SELECTION})
endif()
#---Get the list of include directories------------------
get_directory_property(incdirs INCLUDE_DIRECTORIES)
set(includedirs)
foreach( d ${incdirs})
set(includedirs ${includedirs} -I${d})
endforeach()
#---Get preprocessor definitions--------------------------
get_directory_property(defs COMPILE_DEFINITIONS)
foreach( d ${defs})
set(definitions ${definitions} -D${d})
endforeach()
#---Nanes and others---------------------------------------
set(gensrcdict ${dictionary}.cpp)
if(MSVC)
set(gccxmlopts "--gccxmlopt=\"--gccxml-compiler cl\"")
else()
#set(gccxmlopts "--gccxmlopt=\'--gccxml-cxxflags -m64 \'")
set(gccxmlopts)
endif()
#set(rootmapname ${dictionary}Dict.rootmap)
#set(rootmapopts --rootmap=${rootmapname} --rootmap-lib=${libprefix}${dictionary}Dict)
#---Check GCCXML and get path-----------------------------
if(GCCXML)
get_filename_component(gccxmlpath ${GCCXML} PATH)
else()
message(WARNING "GCCXML not found. Install and setup your environment to find 'gccxml' executable")
endif()
#---Actual command----------------------------------------
add_custom_command(OUTPUT ${gensrcdict} ${rootmapname}
COMMAND ${GENREFLEX_EXECUTABLE} ${headerfiles} -o ${gensrcdict} ${gccxmlopts} ${rootmapopts} --select=${selectionfile}
--gccxmlpath=${gccxmlpath} ${ARG_OPTIONS} ${includedirs} ${definitions}
DEPENDS ${headerfiles} ${selectionfile})
endfunction()
###############################################################################
# cmake module for finding ROOT
#
# Following cmake variables are returned by this module:
#
# ROOT_FOUND # set to TRUE if ROOT was successfully found
# ROOT_INCLUDE_DIRS # list of directories where ROOT headers live
# ROOT_LIBRARIES # list of all ROOT libraries (including components)
# ROOT_DEFINITIONS # definitions set by this module (-DUSE_ROOT ...)
# ROOT_${COMPONENT}_FOUND # for ROOT components, e.g. Minuit2 MathMore ...
#
#
# Please note that by convention components should be entered exactly as
# the library names, i.e. the component name equivalent to the library
# $ROOTSYS/lib/libMathMore.so should be called MathMore and NOT:
# mathmore or Mathmore or MATHMORE
#
# However to follow the usual cmake convention it is agreed that the
# ROOT_${COMPONENT}_FOUND variables are ALL uppercase, i.e. the MathMore
# component returns: ROOT_MATHMORE_FOUND and NOT ROOT_MathMore_FOUND
#
#
# The additional ROOT components can be defined directly in the cmake commando:
# FIND_PACKAGE( ROOT COMPONENTS MathMore Gdml Geo ...)
#
# Or in the variable ROOT_USE_COMPONENTS before calling find_package, i.e.:
# SET( ROOT_USE_COMPONENTS MathMore Gdml Geo )
# FIND_PACKAGE( ROOT )
#
# The Minuit2 component is always added for backwards compatibility.
#
# @author Jan Engels, DESY
###############################################################################
SET( ROOT_FOUND FALSE )
MARK_AS_ADVANCED( ROOT_FOUND )
# Threads library is needed for root
#FIND_PACKAGE( Threads REQUIRED)
# set ROOTSYS for running root-config
IF( DEFINED ROOT_HOME )
SET( ENV{ROOTSYS} "${ROOT_HOME}" )
ENDIF()
# ==============================================
# === ROOT_INCLUDE_DIR ===
# ==============================================
# get include dir from root-config output
EXEC_PROGRAM( "${ROOT_HOME}/bin/root-config" "${ROOT_HOME}/bin"
ARGS --incdir
OUTPUT_VARIABLE ROOT_INC_DIR
RETURN_VALUE exit_code
)
IF( NOT exit_code EQUAL 0 )
# clear ROOT_INC_DIR if root-config exits with error
# it could have garbage output
SET( ROOT_INC_DIR )
ENDIF()
SET( ROOT_INCLUDE_DIR ROOT_INCLUDE_DIR-NOTFOUND )
MARK_AS_ADVANCED( ROOT_INCLUDE_DIR )
FIND_PATH( ROOT_INCLUDE_DIR
NAMES TH1.h
PATHS ${ROOT_HOME}/include ${ROOT_INC_DIR}
NO_DEFAULT_PATH )
IF( NOT ROOT_INCLUDE_DIR AND NOT ROOT_FIND_QUIETLY )
MESSAGE( STATUS "Check for ROOT: ${ROOT_HOME}"
" -- failed to find ROOT include directory!!" )
ENDIF()
# ==============================================
# === ROOT_LIBRARIES ===
# ==============================================
# check if this flag is set to FALSE at the end of
# this module to make sure all libraries were found
SET( ROOT_FINDLIB_FAILED FALSE )
MARK_AS_ADVANCED( ROOT_FINDLIB_FAILED )
# get library dir from root-config output
EXEC_PROGRAM( "${ROOT_HOME}/bin/root-config" "${ROOT_HOME}/bin"
ARGS --libdir
OUTPUT_VARIABLE ROOT_LIB_DIR
RETURN_VALUE exit_code
)
IF( NOT exit_code EQUAL 0 )
# clear ROOT_LIB_DIR if root-config exits with error
# it could have garbage output
SET( ROOT_LIB_DIR )
ENDIF()
# ========== look for standard root libraries =================
# standard root libraries (without components)
SET( ROOT_LIB_NAMES )
SET( ROOT_LIBS )
MARK_AS_ADVANCED( ROOT_LIB_NAMES ROOT_LIBS )
# get standard root libraries from 'root-config --libs' output
EXEC_PROGRAM( "${ROOT_HOME}/bin/root-config" "${ROOT_HOME}/bin"
#ARGS --noauxlibs --glibs
ARGS --noauxlibs --libs
OUTPUT_VARIABLE cmd_output
RETURN_VALUE exit_code
)
IF( exit_code EQUAL 0 )
# create a list out of the output
SEPARATE_ARGUMENTS( cmd_output )
# remove first item -L compiler flag
LIST( REMOVE_AT cmd_output 0 )
FOREACH( lib ${cmd_output} )
# extract libnames from -l compiler flags
STRING( REGEX REPLACE "^-.(.*)$" "\\1" libname "${lib}")
# append all library names into a list
LIST( APPEND ROOT_LIB_NAMES ${libname} )
SET( ROOT_LIB_${libname} ROOT_LIB_${libname}-NOTFOUND )
MARK_AS_ADVANCED( ROOT_LIB_${libname} )
FIND_LIBRARY( ROOT_LIB_${libname}
NAMES ${libname}
PATHS ${ROOT_HOME}/lib ${ROOT_LIB_DIR}
NO_DEFAULT_PATH
)
IF( NOT ROOT_LIB_${libname} )
SET( ROOT_FINDLIB_FAILED TRUE )
IF( NOT ROOT_FIND_QUIETLY )
MESSAGE( STATUS "Check for ROOT: ${ROOT_HOME}"
" -- failed to find ROOT library: ${libname}" )
ENDIF()
ELSE()
LIST( APPEND ROOT_LIBS ${ROOT_LIB_${libname}} )
ENDIF()
ENDFOREACH()
IF( NOT ROOT_FIND_QUIETLY )
MESSAGE( STATUS "Check for ROOT: detected libraries: ${ROOT_LIB_NAMES}" )
ENDIF()
ELSE()
SET( ROOT_FINDLIB_FAILED TRUE )
ENDIF()
# ========== look for additional root components =================
SET( ROOT_COMPONENT_LIBS )
MARK_AS_ADVANCED( ROOT_COMPONENT_LIBS )
# Minuit2 is always included (for backwards compatibility )
LIST( APPEND ROOT_FIND_COMPONENTS Minuit2 )
# append components defined in the variable ROOT_USE_COMPONENTS
IF( DEFINED ROOT_USE_COMPONENTS )
LIST( APPEND ROOT_FIND_COMPONENTS ${ROOT_USE_COMPONENTS} )
ENDIF()
# REMOVE_DUPLICATES is only available in cmake versions >= 2.6
# it is not a problem if a component is duplicated in the list, this is just done
# for consistency and to display the message below without duplicate components
IF( ${CMAKE_MAJOR_VERSION}.${CMAKE_MINOR_VERSION} EQUAL 2.6 OR
${CMAKE_MAJOR_VERSION}.${CMAKE_MINOR_VERSION} GREATER 2.6 )
IF( ROOT_FIND_COMPONENTS )
LIST(REMOVE_DUPLICATES ROOT_FIND_COMPONENTS)
ENDIF()
ENDIF()
IF( NOT ROOT_FIND_QUIETLY )
MESSAGE( STATUS "Check for ROOT: additional components: ${ROOT_FIND_COMPONENTS}" )
ENDIF()
FOREACH( libname ${ROOT_FIND_COMPONENTS} )
# name of the component in upper case
STRING( TOUPPER ${libname} upper_component_name)
SET( ROOT_LIB_${libname} ROOT_LIB_${libname}-NOTFOUND )
MARK_AS_ADVANCED( ROOT_LIB_${libname} )
FIND_LIBRARY( ROOT_LIB_${libname}
NAMES ${libname}
PATHS ${ROOT_HOME}/lib ${ROOT_LIB_DIR}
NO_DEFAULT_PATH
)
IF( NOT ROOT_LIB_${libname} )
#SET( ROOT_FINDLIB_FAILED TRUE )
IF( NOT ROOT_FIND_QUIETLY )
MESSAGE( STATUS "Check for ROOT: ${ROOT_HOME}"
" -- failed to find ROOT component: ${libname}" )
ENDIF()
ELSE()
SET( ROOT_${upper_component}_FOUND TRUE )
LIST( APPEND ROOT_COMPONENT_LIBS ${ROOT_LIB_${libname}} )
ENDIF()
ENDFOREACH()
# ====== DL LIBRARY ==================================================
# comment out this code due to cmake bug in 64 bit:
# see: http://public.kitware.com/mantis/view.php?id=10813
#
#FIND_LIBRARY( DL_LIB NAMES ${CMAKE_DL_LIBS} dl )
#IF( NOT DL_LIB AND NOT ROOT_FIND_QUIETLY )
# MESSAGE( STATUS "Check for ROOT: failed to find libdl.so" )
# SET( ROOT_FINDLIB_FAILED TRUE )
#ELSE()
# MESSAGE( STATUS "Check for ROOT: using dl library: ${DL_LIB}" )
#ENDIF()
# set variables and display results
IF( ROOT_INCLUDE_DIR AND NOT ROOT_FINDLIB_FAILED )
SET( ROOT_FOUND TRUE )
SET( ROOT_INCLUDE_DIRS ${ROOT_INCLUDE_DIR} )
#SET( ROOT_LIBRARIES ${ROOT_LIBS} ${DL_LIB} ${CMAKE_THREAD_LIBS_INIT} )
#SET( ROOT_LIBRARIES ${ROOT_LIBS} ${ROOT_COMPONENT_LIBS} ${DL_LIB} )
SET( ROOT_LIBRARIES ${ROOT_LIBS} ${ROOT_COMPONENT_LIBS} )
SET( ROOT_DEFINITIONS "-DUSEROOT -DUSE_ROOT -DMARLIN_USE_ROOT" )
MARK_AS_ADVANCED( ROOT_LIBRARIES ROOT_DEFINITIONS )
MESSAGE( STATUS "Check for ROOT: ${ROOT_HOME} -- works" )
ELSE()
IF( ROOT_FIND_REQUIRED )
MESSAGE( FATAL_ERROR "did you set ROOT_HOME with -DROOT_HOME=<path_to_ROOT>?" )
ENDIF()
IF( NOT ROOT_FIND_QUIETLY )
MESSAGE( STATUS "Check for ROOT -- failed!! skip this package..." )
ENDIF()
ENDIF()
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment