Warning, /eic-opticks/u4/tests/CMakeLists.txt is written in an unsupported language. File is not indexed.
0001 set(name U4Test)
0002
0003 find_package(CUDAToolkit REQUIRED)
0004
0005 #[=[
0006 Unlike most executables U4VPrimaryGeneratorTest
0007 needs the MOCK_CURAND macro in order to use CUDA
0008 curand using code on the CPU by mocking the curand
0009 functions
0010
0011 HMM: its kinda confusing to not build an executable
0012 depending on switches because when flipping the switch OFF
0013 the old executable still runs, but it is not updated and
0014 so it ignores any code changes made.
0015
0016 It is better to always build the executable and have it
0017 fail with an informative message when any needed switches
0018 are not defined.
0019
0020 #]=]
0021
0022 set(TGT U4VPrimaryGeneratorTest)
0023 add_executable(${TGT} U4VPrimaryGeneratorTest.cc)
0024 target_compile_definitions( ${TGT} PRIVATE MOCK_CURAND )
0025 target_link_libraries(${TGT} U4)
0026
0027 set(TEST_SOURCES
0028 U4Custom4Test.cc
0029 U4NistManagerTest.cc
0030 U4MaterialTest.cc
0031 U4MaterialPropertyVectorTest.cc
0032 Deprecated_U4PhotonInfoTest.cc
0033 U4TrackInfoTest.cc
0034 U4TrackTest.cc
0035 U4GDMLTest.cc
0036 U4GDMLReadTest.cc
0037 U4PhysicalConstantsTest.cc
0038 U4RandomTest.cc
0039 U4UniformRandTest.cc
0040 U4EngineTest.cc
0041 U4RandomMonitorTest.cc
0042 U4RandomArrayTest.cc
0043
0044
0045 U4VolumeMakerTest.cc
0046 U4LogTest.cc
0047 U4RotationMatrixTest.cc
0048 U4TransformTest.cc
0049 U4TraverseTest.cc
0050
0051
0052 U4Material_MakePropertyFold_MakeTest.cc
0053 U4Material_MakePropertyFold_LoadTest.cc
0054 U4TouchableTest.cc
0055 U4SurfaceTest.cc
0056 U4SolidTest.cc
0057 U4SolidMakerTest.cc
0058 U4SolidMakerTest2.cc
0059
0060 U4SensitiveDetectorTest.cc
0061
0062 U4Debug_Test.cc
0063 U4Hit_Debug_Test.cc
0064
0065 G4ThreeVectorTest.cc
0066
0067
0068 U4PhysicsTableTest.cc
0069 )
0070
0071 set(EXPECTED_TO_FAIL_SOURCES
0072 U4NavigatorTest.cc
0073 )
0074
0075 set(SLOW_SOURCES
0076 U4TreeTest.cc
0077 U4TreeCreateTest.cc
0078 U4TreeCreateSSimTest.cc
0079 U4TreeCreateSSimLoadTest.cc
0080 )
0081
0082 foreach(SRC ${TEST_SOURCES})
0083 get_filename_component(TGT ${SRC} NAME_WE)
0084 add_executable(${TGT} ${SRC})
0085 target_link_libraries(${TGT} U4)
0086
0087 add_test(
0088 NAME ${name}.${TGT}
0089 COMMAND bash ${CMAKE_CURRENT_SOURCE_DIR}/U4TestRunner.sh ${CMAKE_CURRENT_BINARY_DIR}/${TGT}
0090 )
0091 endforeach()
0092
0093 foreach(SRC ${EXPECTED_TO_FAIL_SOURCES})
0094 get_filename_component(TGT ${SRC} NAME_WE)
0095 add_executable(${TGT} ${SRC})
0096 target_link_libraries(${TGT} U4)
0097 endforeach()
0098
0099 foreach(SRC ${SLOW_SOURCES})
0100 get_filename_component(TGT ${SRC} NAME_WE)
0101 add_executable(${TGT} ${SRC})
0102 target_link_libraries(${TGT} U4)
0103 endforeach()
0104
0105 #[=[
0106 Note that the U4AppTest executable also
0107 needs the MOCK_CURAND macro in order to use CUDA
0108 curand using code on the CPU by mocking the curand
0109 functions
0110 #]=]
0111
0112 set(U4AppTest_SOURCES
0113 U4AppTest.cc
0114 )
0115
0116 set(TGT U4AppTest)
0117 add_executable(${TGT} ${U4AppTest_SOURCES})
0118 target_compile_definitions( ${TGT} PRIVATE MOCK_CURAND )
0119 target_link_libraries(${TGT} U4)
0120
0121
0122 set(U4HitTest_SOURCES
0123 U4HitTest.cc
0124 )
0125
0126 set(TGT U4HitTest)
0127 add_executable(${TGT} ${U4HitTest_SOURCES})
0128 target_link_libraries(${TGT} U4 CSG CUDA::cudart)
0129
0130 message(STATUS "${CMAKE_CURRENT_LIST_FILE} : PMTSim_standalone_FOUND : ${PMTSim_standalone_FOUND}")
0131 message(STATUS "${CMAKE_CURRENT_LIST_FILE} : Custom4_FOUND : ${Custom4_FOUND}")
0132
0133
0134 set(PMTSim_TESTS
0135 U4SimulateTest.cc
0136 U4SimtraceTest.cc
0137 U4PMTFastSimTest.cc
0138 U4PMTAccessorTest.cc
0139 )
0140
0141 if(PMTSim_standalone_FOUND)
0142
0143 foreach(SRC ${PMTSim_TESTS})
0144 get_filename_component(TGT ${SRC} NAME_WE)
0145 add_executable(${TGT} ${SRC})
0146 target_compile_definitions( ${TGT} PRIVATE MOCK_CURAND )
0147 target_compile_definitions( ${TGT} PRIVATE WITH_NP ) ## for _PMTSimParamData
0148 target_compile_definitions( ${TGT} PRIVATE POM_DEBUG )
0149
0150 target_link_libraries(${TGT} U4 SysRap)
0151
0152 target_compile_definitions( ${TGT} PRIVATE WITH_PMTSIM )
0153 target_compile_definitions( ${TGT} PRIVATE PMTSIM_STANDALONE )
0154 target_link_libraries(${TGT} PMTSim_standalone)
0155
0156 endforeach()
0157
0158 endif()