Back to home page

EIC code displayed by LXR

 
 

    


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()