Warning, /eic-opticks/qudarap/CMakeLists.txt is written in an unsupported language. File is not indexed.
0001 set(name QUDARap)
0002
0003 set(Custom4_VERBOSE ON)
0004 find_package(Custom4 CONFIG)
0005
0006 set(DEV_SOURCES
0007 QSim_cerenkov_dev.cu
0008 )
0009
0010 set(SOURCES
0011 QUDARAP_LOG.cc
0012
0013 QCurandStateMonolithic.cc
0014 QCurandStateMonolithic.cu
0015 QCurandState.cu
0016
0017
0018 QSim.cc
0019 QSim.cu
0020
0021
0022 QPMT.cc
0023 QPMT.cu
0024
0025 QEvt.cc
0026 QEvt.cu
0027
0028 QDebug.cc
0029 QState.cc
0030
0031 QU.cc
0032
0033 QRng.cc
0034 QRng.cu
0035
0036 QTex.cc
0037 QTexRotate.cc
0038 QTex.cu
0039 QTexMaker.cc
0040 QTexLookup.cc
0041 QTexLookup.cu
0042
0043 QBase.cc
0044 QBnd.cc
0045 QBnd.cu
0046
0047
0048 QOptical.cc
0049 QOptical.cu
0050
0051 QScint.cc
0052 QScint.cu
0053
0054 QCerenkovIntegral.cc
0055 QCerenkov.cc
0056 QCerenkov.cu
0057
0058 QCK.cc
0059 QCK.hh
0060
0061 QPoly.cc
0062 QPoly.cu
0063
0064 QProp.cc
0065 QProp.cu
0066
0067 QMultiFilm.cc
0068 QMultiFilm.cu
0069
0070 QBuf.cc
0071 )
0072
0073 SET(HEADERS
0074 QUDARAP_LOG.hh
0075 QUDARAP_API_EXPORT.hh
0076 QUDA_CHECK.h
0077
0078
0079 QCurandStateMonolithic.hh
0080 qcurandwrap.h
0081
0082
0083 QSim.hh
0084 qsim.h
0085
0086 QPMT.hh
0087 qpmt.h
0088
0089 qgs.h
0090 qprop.h
0091
0092 QEvt.hh
0093
0094 QDebug.hh
0095 qdebug.h
0096
0097 QU.hh
0098 QRng.hh
0099 qrng.h
0100
0101 QTex.hh
0102 QTexRotate.hh
0103 QTexMaker.hh
0104 QTexLookup.hh
0105
0106 QState.hh
0107
0108 qmultifilm.h
0109
0110 QBase.hh
0111 qbase.h
0112
0113 QBnd.hh
0114 qbnd.h
0115
0116
0117
0118 QOptical.hh
0119
0120 QScint.hh
0121 qscint.h
0122
0123 QCerenkovIntegral.hh
0124 QCerenkov.hh
0125 qcerenkov.h
0126
0127 QPoly.hh
0128
0129 QProp.hh
0130
0131 QMultiFilm.hh
0132
0133 QBuf.hh
0134 )
0135
0136 add_library( ${name} ${SOURCES} )
0137
0138 get_target_property(ILL ${name} INTERFACE_LINK_LIBRARIES)
0139 message(STATUS "${name} INTERFACE_LINK_LIBRARIES:${ILL} " )
0140
0141 if(Custom4_FOUND)
0142 target_compile_definitions( ${name} PUBLIC WITH_CUSTOM4 )
0143 target_include_directories( ${name} PUBLIC ${Custom4_INCLUDE_DIR})
0144 endif()
0145
0146 find_package(OpenSSL REQUIRED)
0147
0148 target_link_libraries( ${name} SysRap
0149 OpenSSL::SSL
0150 OpenSSL::Crypto
0151 )
0152
0153 target_compile_definitions( ${name} PUBLIC OPTICKS_QUDARAP DEBUG_TAG)
0154
0155
0156 #[=[
0157
0158 Global compile definitions such as DEBUG_TAG and DEBUG_PIDX are defined in sysrap/CMakeLists.txt
0159 and should be flipped there, NOT HERE.
0160
0161 For local debugging do flips within files, and do not commit like that
0162 as they may cause difficult to debug build inconsistencies.
0163
0164 #]=]
0165
0166
0167 #[=[
0168
0169 WITH_THRUST compile definition
0170 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
0171
0172 * WITH_THRUST is needed for the Custom4 GPU complex math functions used by qpmt.h
0173
0174 * However Custom4 also used on CPU without WITH_THRUST (eg by junosw), so
0175 the WITH_THRUST definition must be PRIVATE to avoid interference with other
0176 Custom4 usage
0177
0178 #]=]
0179
0180 target_compile_definitions( ${name} PRIVATE WITH_THRUST )
0181
0182 target_include_directories( ${name} PUBLIC
0183 $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}>
0184 $<BUILD_INTERFACE:${CMAKE_BINARY_DIR}/sysrap/inc>
0185 $<INSTALL_INTERFACE:${CMAKE_INSTALL_INCLUDEDIR}>
0186 $<INSTALL_INTERFACE:${CMAKE_INSTALL_INCLUDEDIR}/${PROJECT_NAME}>
0187 $<INSTALL_INTERFACE:${CMAKE_INSTALL_INCLUDEDIR}/${PROJECT_NAME}/qudarap>
0188 )
0189
0190 install(FILES ${HEADERS} DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/${PROJECT_NAME}/qudarap)
0191
0192 install(TARGETS ${name}
0193 EXPORT ${PROJECT_NAME}Targets
0194 LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
0195 ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}
0196 )