Back to home page

EIC code displayed by LXR

 
 

    


Warning, /acts/Examples/Io/HepMC3/CMakeLists.txt is written in an unsupported language. File is not indexed.

0001 acts_add_library(
0002     ExamplesIoHepMC3
0003     SHARED
0004     src/HepMC3Reader.cpp
0005     src/HepMC3Writer.cpp
0006     src/HepMC3InputConverter.cpp
0007     src/HepMC3OutputConverter.cpp
0008     src/HepMC3Util.cpp
0009     src/HepMC3FactoryWrappers.cpp
0010     src/HepMC3Metadata.cpp
0011 )
0012 target_include_directories(
0013     ActsExamplesIoHepMC3
0014     SYSTEM
0015     PUBLIC ${HEPMC3_INCLUDE_DIR}
0016 )
0017 target_include_directories(
0018     ActsExamplesIoHepMC3
0019     PUBLIC $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include>
0020 )
0021 target_link_libraries(
0022     ActsExamplesIoHepMC3
0023     PUBLIC Acts::ExamplesFramework ${HEPMC3_LIBRARIES}
0024     PRIVATE Acts::Fatras nlohmann_json::nlohmann_json
0025 )
0026 
0027 # HepMC3 version < 3.3.0 had non-inline pseudo static members that give linker errors:
0028 # https://gitlab.cern.ch/hepmc/HepMC3/-/merge_requests/284
0029 if(${HEPMC3_VERSION} VERSION_GREATER_EQUAL 3.2.7)
0030     # The code below conditionally tries to find a number of compression libraries,
0031     # and will then configure the HepMC3 IO targets to make use of them
0032     # conditionally.
0033     target_compile_definitions(
0034         ActsExamplesIoHepMC3
0035         PRIVATE HEPMC3_USE_COMPRESSION
0036     )
0037 
0038     message(CHECK_START "Examples HepMC3 IO: checking for zlib")
0039     find_package(ZLIB QUIET)
0040     if(ZLIB_FOUND)
0041         message(CHECK_PASS "found")
0042         target_link_libraries(ActsExamplesIoHepMC3 PRIVATE ZLIB::ZLIB)
0043         target_compile_definitions(
0044             ActsExamplesIoHepMC3
0045             PRIVATE HEPMC3_Z_SUPPORT=1
0046         )
0047     else()
0048         message(CHECK_PASS "not found")
0049     endif()
0050 
0051     message(CHECK_START "Examples HepMC3 IO: checking for lzma")
0052     find_package(LibLZMA QUIET)
0053     if(LIBLZMA_FOUND)
0054         message(CHECK_PASS "found")
0055         target_link_libraries(ActsExamplesIoHepMC3 PRIVATE LibLZMA::LibLZMA)
0056         target_compile_definitions(
0057             ActsExamplesIoHepMC3
0058             PRIVATE HEPMC3_LZMA_SUPPORT=1
0059         )
0060     else()
0061         message(CHECK_PASS "not found")
0062     endif()
0063 
0064     message(CHECK_START "Examples HepMC3 IO: checking for bzip2")
0065     find_package(BZip2 QUIET)
0066     if(BZIP2_FOUND)
0067         message(CHECK_PASS "found")
0068         target_link_libraries(ActsExamplesIoHepMC3 PRIVATE BZip2::BZip2)
0069         target_compile_definitions(
0070             ActsExamplesIoHepMC3
0071             PRIVATE HEPMC3_BZ2_SUPPORT=1
0072         )
0073     else()
0074         message(CHECK_PASS "not found")
0075     endif()
0076 
0077     message(CHECK_START "Examples HepMC3 IO: checking for zstd")
0078     find_package(ZSTD QUIET)
0079     if(ZSTD_FOUND)
0080         message(CHECK_PASS "found")
0081         target_link_libraries(ActsExamplesIoHepMC3 PRIVATE ZSTD::ZSTD)
0082         target_compile_definitions(
0083             ActsExamplesIoHepMC3
0084             PRIVATE HEPMC3_ZSTD_SUPPORT=1
0085         )
0086     else()
0087         message(CHECK_PASS "not found")
0088     endif()
0089 endif()
0090 
0091 message(CHECK_START "Examples HepMC3 IO: checking for ROOT IO")
0092 if(TARGET HepMC3::rootIO)
0093     message(CHECK_PASS "found")
0094     target_link_libraries(ActsExamplesIoHepMC3 PRIVATE HepMC3::rootIO)
0095     target_compile_definitions(
0096         ActsExamplesIoHepMC3
0097         PRIVATE HEPMC3_ROOT_SUPPORT=1
0098     )
0099 else()
0100     message(CHECK_PASS "not found")
0101 endif()