forked from nuclearfreesoftware/onms
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathCMakeLists.txt
64 lines (44 loc) · 1.85 KB
/
CMakeLists.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
cmake_minimum_required(VERSION 2.6 FATAL_ERROR)
project(nms)
message(STATUS "Building NMS (main cmake folder)")
message(STATUS "Source folder: ${CMAKE_SOURCE_DIR}")
# FISSION (in source tree)
add_subdirectory(fission)
include_directories(${PROJECT_SOURCE_DIR}/fission/include)
# NMS libraries in project tree
add_subdirectory(NMSAlphaNData)
include_directories(${PROJECT_SOURCE_DIR}/NMSAlphaNData/include)
add_subdirectory(NMSMaterialDecay)
include_directories(${PROJECT_SOURCE_DIR}/NMSMaterialDecay/include)
add_subdirectory(NMSPulsetrainAnalysis)
include_directories(${PROJECT_SOURCE_DIR}/NMSPulsetrainAnalysis/include)
# GEANT
find_package(Geant4 REQUIRED vis_all)
include(${Geant4_USE_FILE})
include_directories(${PROJECT_SOURCE_DIR}/include)
# SOURCES AND HEADERS of PROJECT
file(GLOB sources ${PROJECT_SOURCE_DIR}/src/*.cc)
file(GLOB headers ${PROJECT_SOURCE_DIR}/include/*.hh)
# EXECUTABLE
add_executable(nms nms.cc ${sources} ${headers})
###### LINK TO LIBRARIES
#----- Geant
target_link_libraries(nms ${Geant4_LIBRARIES})
#----- NMSAlphaNData
target_link_libraries(nms NMSAlphaNData)
#----- NMSMaterialDecay
target_link_libraries(nms NMSMaterialDecay)
#----- NMSPulsetrainAnalysis
target_link_libraries(nms NMSPulsetrainAnalysis)
#----- FISSION Lib from LLNL (FIXME: add cmake for compilation of sources later)
target_link_libraries(nms Fission)
# There was a good reason for linking NMSMaterialDecay before Fission!
file(GLOB ALL_MAC *.mac)
foreach(_macfile ${ALL_MAC})
message(STATUS "Copy .mac script '${_macfile}'")
configure_file(${_macfile} ${PROJECT_BINARY_DIR} COPYONLY)
endforeach()
# copy GDML files, schema files and examples
file(COPY ${PROJECT_SOURCE_DIR}/gdml DESTINATION ${PROJECT_BINARY_DIR})
file(COPY ${PROJECT_SOURCE_DIR}/macros DESTINATION ${PROJECT_BINARY_DIR})
file(COPY ${PROJECT_SOURCE_DIR}/examples DESTINATION ${PROJECT_BINARY_DIR})