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