-
Notifications
You must be signed in to change notification settings - Fork 23
/
Copy pathCMakeLists.txt
67 lines (62 loc) · 2.58 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
cmake_minimum_required(VERSION 3.18)
project(RMextract C CXX Fortran)
find_package(PythonExtensions REQUIRED)
find_package(Python COMPONENTS Interpreter Development.Module REQUIRED)
find_package(F2PY REQUIRED)
if(SKBUILD)
message(STATUS "The project is built using scikit-build")
set(PYTHON_INCLUDE_DIRS
${Python_INCLUDE_DIR}
${Python_NumPy_INCLUDE_DIRS}
)
else()
set(PYTHON_INCLUDE_DIRS ${Python_INCLUDE_DIRS})
endif()
## -- Python module: RMextract.EMM._EMM_Model -- ##
add_library(_EMM_Model MODULE
RMextract/EMM/EMM_Model.cc
RMextract/EMM/EMM_Model_wrap.cc
RMextract/EMM/GeomagnetismLibrary.c)
python_extension_module(_EMM_Model)
install(TARGETS _EMM_Model LIBRARY DESTINATION RMextract/EMM)
## -- Python module: RMextract.pyiri._iri -- ##
set(F2PY_MODULE_NAME "_iri")
set(F2PY_MODULE_FILE ${CMAKE_CURRENT_BINARY_DIR}/${F2PY_MODULE_NAME}${PYTHON_EXTENSION_MODULE_SUFFIX})
set(F2PY_MODULE_SRC
${CMAKE_SOURCE_DIR}/RMextract/pyiri/iri.pyf
${CMAKE_SOURCE_DIR}/RMextract/pyiri/cira.for
${CMAKE_SOURCE_DIR}/RMextract/pyiri/igrf.for
${CMAKE_SOURCE_DIR}/RMextract/pyiri/iridreg.for
${CMAKE_SOURCE_DIR}/RMextract/pyiri/iriflip.for
${CMAKE_SOURCE_DIR}/RMextract/pyiri/irifun.for
${CMAKE_SOURCE_DIR}/RMextract/pyiri/irisub.for
${CMAKE_SOURCE_DIR}/RMextract/pyiri/iritec.for
${CMAKE_SOURCE_DIR}/RMextract/pyiri/iriget.for)
add_custom_target(${F2PY_MODULE_NAME} ALL
DEPENDS ${F2PY_MODULE_FILE}
)
add_custom_command(
OUTPUT ${F2PY_MODULE_FILE}
COMMAND ${F2PY_EXECUTABLE} -m ${F2PY_MODULE_NAME} -c ${F2PY_MODULE_SRC}
COMMENT "[F2PY] Building python extension module ${F2PY_MODULE_NAME}"
)
install(FILES ${F2PY_MODULE_FILE} DESTINATION RMextract/pyiri)
## -- Python module: RMextract.pyiriplas._iriplas -- ##
set(F2PY_MODULE_NAME "_iriplas")
set(F2PY_MODULE_FILE ${CMAKE_CURRENT_BINARY_DIR}/${F2PY_MODULE_NAME}${PYTHON_EXTENSION_MODULE_SUFFIX})
set(F2PY_MODULE_SRC
${CMAKE_SOURCE_DIR}/RMextract/pyiriplas/Iris2017.for
${CMAKE_SOURCE_DIR}/RMextract/pyiriplas/igrf.for
${CMAKE_SOURCE_DIR}/RMextract/pyiriplas/indx2017.for
${CMAKE_SOURCE_DIR}/RMextract/pyiriplas/irif2019.for
${CMAKE_SOURCE_DIR}/RMextract/pyiriplas/iriplas.pyf
${CMAKE_SOURCE_DIR}/RMextract/pyiriplas/iriplas_main.for)
add_custom_target(${F2PY_MODULE_NAME} ALL
DEPENDS ${F2PY_MODULE_FILE}
)
add_custom_command(
OUTPUT ${F2PY_MODULE_FILE}
COMMAND ${F2PY_EXECUTABLE} -m ${F2PY_MODULE_NAME} -c ${F2PY_MODULE_SRC}
COMMENT "[F2PY] Building python extension module ${F2PY_MODULE_NAME}"
)
install(FILES ${F2PY_MODULE_FILE} DESTINATION RMextract/pyiriplas)