Back to home page

sPhenix code displayed by LXR

 
 

    


Warning, /JETSCAPE/jail/origCMakeLists.txt is written in an unsupported language. File is not indexed.

0001 cmake_minimum_required(VERSION 3.0 FATAL_ERROR)
0002 project (testJetScape)
0003 
0004 # Fail if cmake is called in the source directory
0005 if(CMAKE_SOURCE_DIR STREQUAL CMAKE_BINARY_DIR)
0006     message("source directory:" ${CMAKE_SOURCE_DIR})
0007     message("binary directory:" ${CMAKE_BINARY_DIR})
0008     message(FATAL_ERROR "You don't want to configure in the source directory!")
0009 endif()
0010 
0011 cmake_policy(SET CMP0042 NEW)
0012 
0013 message("Compiler and Linker flags ...")
0014 
0015 #set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -O -fPIC -pipe -Wall -g -Wno-reorder -Wno-unused-variable ")
0016 set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -O -fPIC -pipe -Wall -Wno-reorder -Wno-unused-variable ")
0017 
0018 if (APPLE)
0019      message( STATUS "Apple : " ${CMAKE_HOST_SYSTEM})
0020 
0021      set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wno-unused-private-field -Wno-macro-redefined -std=c++11 -stdlib=libc++")
0022      if(${MPI_FOUND})
0023           set(CMAKE_CXX_COMPILE_FLAGS ${CMAKE_CXX_COMPILE_FLAGS} ${MPI_COMPILE_FLAGS})
0024           set(CMAKE_CXX_LINK_FLAGS ${CMAKE_CXX_LINK_FLAGS} ${MPI_LINK_FLAGS})
0025      endif(${MPI_FOUND})
0026 
0027      message(STATUS "CXX_FLAGS = " ${CMAKE_CXX_FLAGS})  
0028      message(STATUS "LD_FLAGS = " ${CMAKE_EXE_LINKER_FLAGS})
0029 elseif(UNIX) 
0030     message( STATUS "Linux : " ${CMAKE_HOST_SYSTEM})
0031     #set(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} -g -O0 -fprofile-arcs -ftest-coverage -fPIC -pipe -Wall -g -Wno-reorder -Wno-unused-variable") 
0032     set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11 -Wno-sign-compare -Wno-unused-but-set-variable -Wno-parentheses -fprofile-arcs -ftest-coverage")
0033     #set(CMAKE_BUILD_TYPE Debug)
0034 endif()   
0035 
0036 
0037 # add the library path and inclusion path of trento to jetscape
0038 # needs to come early for some compilers
0039 add_subdirectory(3rdparty/trento/)
0040 include_directories("${CMAKE_SOURCE_DIR}/3rdparty/trento/src/")
0041 
0042 # Tell cmake where to find modules
0043 list(APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_LIST_DIR}/Modules")
0044 
0045 message("Looking for ZLIB ...")
0046 find_package(ZLIB)
0047 if(${ZLIB_FOUND})
0048    message(STATUS "ZLib found")
0049 endif()
0050 
0051 message("Looking for HepMC ...")
0052 find_package(HEPMC)
0053 
0054 message("Looking for ROOT ...")
0055 find_package(ROOT)
0056     
0057 message("Looking for Pythia8 ...")
0058 find_package(Pythia8)
0059 
0060 if (NOT ${PYTHIA8_FOUND} )
0061     message(FATAL_ERROR "Pythia8 not found - required dependency")
0062 endif()
0063 
0064 
0065 
0066 message("Looking for HDF5 ...")
0067 find_package(HDF5)
0068 if(${HDF5_FOUND})
0069     message(STATUS "HDF5 Include dir : " ${HDF5_INCLUDE_DIRS})
0070     include_directories(${HDF5_INCLUDE_DIRS})
0071     set(_hdf5_libs ${HDF5_LIBRARIES} ${HDF5_CXX_LIBRARIES} ${HDF5_HL_LIBRARIES})
0072 endif(${HDF5_FOUND})
0073 
0074 
0075 message("Looking for MPI ...")
0076 find_package(MPI)
0077 if(${MPI_FOUND})
0078   include_directories(${MPI_INCLUDE_PATH})
0079 endif(${MPI_FOUND})
0080 message("Looking for GSL ...")
0081 find_package(GSL)
0082 if(${GSL_FOUND})
0083   include_directories(${GSL_INCLUDE_DIR})
0084 endif(${GSL_FOUND})
0085 #include_directories(./3rdparty/music ./3rdparty/music/src )
0086 
0087 message ("Include Directories ...")
0088 
0089 if (${HEPMC_FOUND})
0090     include_directories(${HEPMC_INCLUDE_DIR})
0091     Message(STATUS "HepMC Include dir : " ${HEPMC_INCLUDE_DIR})
0092 endif()
0093 
0094 include_directories(${PYTHIA8_INCLUDE_DIR})
0095 Message(STATUS "Pythia8 Include dir : " ${PYTHIA8_INCLUDE_DIR})
0096 
0097 if (${ROOT_FOUND})
0098     include_directories(${ROOT_INCLUDES})
0099     Message(STATUS "ROOT Include dir : " ${ROOT_INCLUDES})
0100     #Message(STATUS ${ROOT_LIBRARIES})
0101     
0102     #set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -m64")
0103     #set(CMAKE_EXE_LINKER_FLAGS  "${CMAKE_EXE_LINKER_FLAGS} -m64")    
0104 endif()
0105 
0106 include_directories(./src ./test ./hydro ./jet ./gtl/include ./reader) #for test case ...
0107 include_directories(./3rdparty/hydro_from_external_file)
0108 
0109 # have binary in the build directory, easier to access
0110 SET(EXECUTABLE_OUTPUT_PATH ${PROJECT_BINARY_DIR})
0111 
0112 # Find and use Boost.
0113 find_package(Boost 1.50 REQUIRED COMPONENTS filesystem program_options system)
0114 include_directories(SYSTEM ${Boost_INCLUDE_DIRS})
0115 
0116 # Options. Turn on with 'cmake -Dtest=ON'.
0117 option(test "Build all tests." ON) # Makes boolean 'test' available.
0118 
0119 # Options. Turn on with 'cmake -Dmusic=ON'.
0120 option(music "Build tests for MUSIC" OFF) # Makes boolean 'test' available.
0121 
0122 option(iSS "Build tests for iSS" OFF) # Makes boolean 'test' available.
0123 
0124 if (iSS)
0125     include_directories(./3rdparty/iSS ./3rdparty/iSS/src)
0126 endif (iSS)
0127 
0128 if (music)
0129     message("Includes for music ...")
0130     include_directories(./3rdparty/music ./3rdparty/music/src)
0131 endif (music)
0132 
0133 # w/o not compiling library automatically
0134 add_subdirectory(./gtl)
0135 add_subdirectory(./src)
0136 add_subdirectory(./hydro) #for test case fluid_dynamics ...
0137 add_subdirectory(./jet)  #for test case jet classes …
0138 add_subdirectory(./test)  #for test case ...
0139 add_subdirectory(./reader)  #for test case ...
0140 add_subdirectory(./3rdparty/hydro_from_external_file)  #for test case ...
0141 
0142 link_directories(./lib)
0143 
0144 add_executable(testJetScape ./src/testJetScape.cc)
0145 add_executable(readerTest ./reader/readerTest.cc)
0146 add_executable(FinalStateHadrons ./reader/FinalStateHadrons.cc)
0147 add_executable(FinalStatePartons ./reader/FinalStatePartons.cc)
0148 add_executable(hydroFileTest ./src/hydroFileTest.cc)
0149 add_executable(hydroJetTest ./src/hydroJetTest.cc)
0150 
0151 target_link_libraries(testJetScape JetScape JetScapeHydro JetScapeTest hydroFromFile)
0152 target_link_libraries(readerTest JetScape JetScapeHydro  JetScapeReader)
0153 target_link_libraries(FinalStatePartons JetScape JetScapeHydro  JetScapeReader)
0154 target_link_libraries(FinalStateHadrons JetScape JetScapeHydro  JetScapeReader)
0155 target_link_libraries(hydroFileTest JetScape JetScapeHydro JetScapeTest hydroFromFile)
0156 target_link_libraries(hydroJetTest JetScape JetScapeHydro  JetScapeTest)
0157 
0158 if (${HDF5_FOUND})
0159     set_target_properties (hydroFileTest PROPERTIES COMPILE_FLAGS "-DUSE_HDF5")
0160     set_target_properties (hydroJetTest PROPERTIES COMPILE_FLAGS "-DUSE_HDF5")
0161     target_link_libraries (hydroFileTest ${_hdf5_libs})
0162     target_link_libraries (hydroJetTest ${_hdf5_libs})
0163 endif()
0164 
0165 
0166 #Check how to set env variables ...
0167 if (${ROOT_FOUND})
0168    target_link_libraries(testJetScape ${ROOT_LIBRARIES})
0169    target_link_libraries(hydroFileTest ${ROOT_LIBRARIES})
0170 endif()
0171 
0172 add_executable(writerTest ./src/writerTest.cc)
0173 add_executable(brickTest ./src/brickTest.cc)
0174 add_executable(LBT_brickTest ./src/LBT_brickTest.cc)
0175 add_executable(PythiaBrickTest ./src/PythiaBrickTest.cc)
0176 
0177 target_link_libraries(writerTest JetScape JetScapeHydro JetScapeTest)
0178 target_link_libraries(brickTest JetScape JetScapeHydro  JetScapeTest)
0179 target_link_libraries(LBT_brickTest JetScape JetScapeHydro  JetScapeTest)
0180 target_link_libraries(PythiaBrickTest JetScape JetScapeHydro  JetScapeTest )
0181 target_link_libraries(testJetScape )
0182 target_link_libraries(brickTest)
0183 target_link_libraries(hydroJetTest)
0184 target_link_libraries(LBT_brickTest)
0185 target_link_libraries(PythiaBrickTest)
0186 if (${ROOT_FOUND})
0187   target_link_libraries(brickTest ${ROOT_LIBRARIES})
0188   target_link_libraries(hydroJetTest ${ROOT_LIBRARIES})
0189   target_link_libraries(LBT_brickTest ${ROOT_LIBRARIES})
0190   target_link_libraries(PythiaBrickTest ${ROOT_LIBRARIES})
0191   target_link_libraries(writerTest ${ROOT_LIBRARIES})
0192 endif(${ROOT_FOUND})
0193 target_link_libraries(hydroFileTest)
0194 target_link_libraries(writerTest)
0195 
0196 # Don't compile tests modules if test is not switched on
0197 if (test)
0198   # add gtest for the unit test# 
0199   add_subdirectory("${CMAKE_SOURCE_DIR}/3rdparty/googletest/")
0200   enable_testing()
0201   # Include the gtest library. gtest_SOURCE_DIR is available due to
0202   # 'project(gtest)' above.
0203   include_directories(${gtest_SOURCE_DIR}/include ${gtest_SOURCE_DIR})
0204 endif()
0205 
0206 if (iSS)
0207     add_subdirectory(./3rdparty/iSS)
0208 endif (iSS)
0209 
0210 if (music)
0211     message("Building MUSIC ...")
0212     add_subdirectory(./3rdparty/music)
0213     if (${MPI_FOUND} AND ${GSL_FOUND})
0214         add_executable(MUSICTest ./src/MUSICTest.cc)
0215         target_link_libraries(MUSICTest ${MPI_LIBRARIES} ${GSL_LIBRARIES})
0216         target_link_libraries(testJetScape JetScape JetScapeHydro JetScapeTest hydroFromFile music_lib)
0217         target_link_libraries(MUSICTest JetScape JetScapeHydro JetScapeTest music_lib iSS_lib)
0218         file(MAKE_DIRECTORY ${CMAKE_BINARY_DIR}/EOS)
0219         file(COPY ./3rdparty/music/EOS/
0220                 DESTINATION ${CMAKE_BINARY_DIR}/EOS)
0221         file(COPY ./test/test_music_files/music_input
0222                 DESTINATION ${CMAKE_BINARY_DIR})
0223     endif()
0224 endif (music)
0225 
0226 
0227 # -----------------------------------------------------------
0228 #### copy jetscape_init.xml to build/, such that one can test xml reading in build/ directory
0229 file(COPY ${CMAKE_CURRENT_SOURCE_DIR}/jetscape_init.xml DESTINATION ${CMAKE_BINARY_DIR}/)
0230 
0231 #### copy essential files for iSS to build/
0232 if (iSS)
0233     file(COPY ./3rdparty/iSS/iSS_tables DESTINATION ${CMAKE_BINARY_DIR}/)
0234     file(COPY ./3rdparty/iSS/iSS_parameters.dat DESTINATION ${CMAKE_BINARY_DIR}/)
0235 endif (iSS)
0236 
0237 #### same for pythi gun
0238 file(COPY ${CMAKE_CURRENT_SOURCE_DIR}/jetscape_init_pythiagun.xml DESTINATION ${CMAKE_BINARY_DIR}/)
0239 
0240 if(EXISTS "${CMAKE_SOURCE_DIR}/3rdparty/LBT-tables")
0241     execute_process(COMMAND ${CMAKE_COMMAND} -E create_symlink ${CMAKE_SOURCE_DIR}/3rdparty/LBT-tables ${CMAKE_BINARY_DIR}/LBT-tables)
0242 else()
0243     message("Warning: LBT-tables have not been downloaded in 3rdparty by ./get_lbtTab.sh; LBT-brickTest will NOT run properly.")
0244 endif()
0245 
0246 
0247 #set(LIBS ${LIBS} ${ROOT_LIBRARIES})
0248 #However, the file(GLOB...) allows for wildcard additions:
0249 #file(GLOB SOURCES "src/*.cpp")
0250