/
CMakeLists.txt
98 lines (82 loc) · 3.65 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
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
# Python extension modules
include_directories(${PYNE_INCLUDE_DIRS})
# Print include dir
get_property(inc_dirs DIRECTORY PROPERTY INCLUDE_DIRECTORIES)
message("-- C_INCLUDE_PATH for ${CMAKE_CURRENT_SOURCE_DIR}: ${inc_dirs}")
# extra_types
set_source_files_properties("${PROJECT_SOURCE_DIR}/pyne/extra_types.pyx"
PROPERTIES CYTHON_IS_CXX TRUE)
cython_add_module(extra_types extra_types.pyx)
# dtypes
set_source_files_properties("${PROJECT_SOURCE_DIR}/pyne/dtypes.pyx"
PROPERTIES CYTHON_IS_CXX TRUE)
cython_add_module(dtypes dtypes.pyx)
# STL containers
# If the pyx file is a C++ file, we should specify that here.
# then, add the module
set_source_files_properties("${PROJECT_SOURCE_DIR}/pyne/stlcontainers.pyx"
PROPERTIES CYTHON_IS_CXX TRUE)
cython_add_module(stlcontainers stlcontainers.pyx)
# jsoncpp
set_source_files_properties("${PROJECT_SOURCE_DIR}/pyne/jsoncpp.pyx"
PROPERTIES CYTHON_IS_CXX TRUE)
cython_add_module(jsoncpp jsoncpp.pyx)
target_link_libraries(jsoncpp pyne)
# pyne_config
set_source_files_properties("${PROJECT_SOURCE_DIR}/pyne/pyne_config.pyx"
PROPERTIES CYTHON_IS_CXX TRUE)
cython_add_module(pyne_config pyne_config.pyx)
target_link_libraries(pyne_config pyne)
# _utils
set_source_files_properties("${PROJECT_SOURCE_DIR}/pyne/_utils.pyx"
PROPERTIES CYTHON_IS_CXX TRUE)
cython_add_module(_utils _utils.pyx)
target_link_libraries(_utils pyne)
# dagmc
if (MOAB_FOUND)
set_source_files_properties("${PROJECT_SOURCE_DIR}/pyne/dagmc.pyx"
PROPERTIES CYTHON_IS_CXX TRUE)
cython_add_module(_dagmc dagmc.pyx "${PROJECT_SOURCE_DIR}/cpp/dagmc_bridge.cpp")
target_link_libraries(_dagmc dagmc MOAB pyne)
set_target_properties(_dagmc PROPERTIES OUTPUT_NAME dagmc)
endif (MOAB_FOUND)
# endf
set_source_files_properties("${PROJECT_SOURCE_DIR}/pyne/endf.pyx"
PROPERTIES CYTHON_IS_CXX TRUE)
cython_add_module(endf endf.pyx)
target_link_libraries(endf pyne_nucname)
# nucname
set_source_files_properties("${PROJECT_SOURCE_DIR}/pyne/nucname.pyx"
PROPERTIES CYTHON_IS_CXX TRUE)
cython_add_module(nucname nucname.pyx)
target_link_libraries(nucname pyne pyne_nucname)
# rxname
set_source_files_properties("${PROJECT_SOURCE_DIR}/pyne/rxname.pyx"
PROPERTIES CYTHON_IS_CXX TRUE)
cython_add_module(rxname rxname.pyx)
target_link_libraries(rxname pyne pyne_rxname)
# data
set_source_files_properties("${PROJECT_SOURCE_DIR}/pyne/data.pyx"
PROPERTIES CYTHON_IS_CXX TRUE)
cython_add_module(data data.pyx)
target_link_libraries(data pyne pyne_nucname pyne_data hdf5)
# material
set_source_files_properties("${PROJECT_SOURCE_DIR}/pyne/material.pyx"
PROPERTIES CYTHON_IS_CXX TRUE)
cython_add_module(material material.pyx)
target_link_libraries(material pyne pyne_nucname pyne_data pyne_material hdf5)
# ace
set_source_files_properties("${PROJECT_SOURCE_DIR}/pyne/ace.pyx"
PROPERTIES CYTHON_IS_CXX TRUE)
cython_add_module(ace ace.pyx)
target_link_libraries(ace pyne pyne_nucname)
# enrichment
set_source_files_properties("${PROJECT_SOURCE_DIR}/pyne/enrichment.pyx"
PROPERTIES CYTHON_IS_CXX TRUE)
cython_add_module(enrichment enrichment.pyx)
target_link_libraries(enrichment pyne_enrichment pyne_material)
# tally
set_source_files_properties("${PROJECT_SOURCE_DIR}/pyne/tally.pyx"
PROPERTIES CYTHON_IS_CXX TRUE)
cython_add_module(tally tally.pyx)
target_link_libraries(tally pyne pyne_tally)