1
1
set (SRC
2
- symengine_wrapper.cpp
2
+ ${CMAKE_CURRENT_BINARY_DIR} / symengine_wrapper.cpp
3
3
pywrapper.cpp
4
4
)
5
5
6
- configure_file ( config.pxi.in config.pxi )
6
+ include_directories ( BEFORE ${CMAKE_CURRENT_BINARY_DIR} )
7
7
8
- include_directories (BEFORE ${python_wrapper_BINARY_DIR} /symengine/lib )
8
+ add_custom_command (
9
+ OUTPUT ${CMAKE_CURRENT_BINARY_DIR} /symengine_wrapper.pxd
10
+ DEPENDS ${CMAKE_CURRENT_SOURCE_DIR} /symengine_wrapper.in.pxd
11
+ ${PROJECT_SOURCE_DIR} /cmake/preprocess.py
12
+ COMMAND ${PYTHON_BIN} ${PROJECT_SOURCE_DIR} /cmake/preprocess.py
13
+ ${CMAKE_CURRENT_SOURCE_DIR} /symengine_wrapper.in.pxd
14
+ ${CMAKE_CURRENT_BINARY_DIR} /symengine_wrapper.pxd
15
+ HAVE_SYMENGINE_MPFR=${HAVE_SYMENGINE_MPFR}
16
+ HAVE_SYMENGINE_MPC=${HAVE_SYMENGINE_MPC}
17
+ HAVE_SYMENGINE_PIRANHA=${HAVE_SYMENGINE_PIRANHA}
18
+ HAVE_SYMENGINE_FLINT=${HAVE_SYMENGINE_FLINT}
19
+ HAVE_SYMENGINE_LLVM=${HAVE_SYMENGINE_LLVM}
20
+ HAVE_SYMENGINE_LLVM_LONG_DOUBLE=${HAVE_SYMENGINE_LLVM_LONG_DOUBLE}
21
+ COMMENT "Preprocessing symengine_wrapper.in.pxd"
22
+ )
23
+ add_custom_command (
24
+ OUTPUT ${CMAKE_CURRENT_BINARY_DIR} /symengine_wrapper.pyx
25
+ DEPENDS ${CMAKE_CURRENT_SOURCE_DIR} /symengine_wrapper.in.pyx
26
+ ${CMAKE_CURRENT_SOURCE_DIR} /symengine_wrapper.in.pxd
27
+ ${CMAKE_CURRENT_BINARY_DIR} /symengine_wrapper.pxd
28
+ ${PROJECT_SOURCE_DIR} /cmake/preprocess.py
29
+ COMMAND ${PYTHON_BIN} ${PROJECT_SOURCE_DIR} /cmake/preprocess.py
30
+ ${CMAKE_CURRENT_SOURCE_DIR} /symengine_wrapper.in.pyx
31
+ ${CMAKE_CURRENT_BINARY_DIR} /symengine_wrapper.pyx
32
+ HAVE_SYMENGINE_MPFR=${HAVE_SYMENGINE_MPFR}
33
+ HAVE_SYMENGINE_MPC=${HAVE_SYMENGINE_MPC}
34
+ HAVE_SYMENGINE_PIRANHA=${HAVE_SYMENGINE_PIRANHA}
35
+ HAVE_SYMENGINE_FLINT=${HAVE_SYMENGINE_FLINT}
36
+ HAVE_SYMENGINE_LLVM=${HAVE_SYMENGINE_LLVM}
37
+ HAVE_SYMENGINE_LLVM_LONG_DOUBLE=${HAVE_SYMENGINE_LLVM_LONG_DOUBLE}
38
+ COMMENT "Preprocessing symengine_wrapper.in.pyx"
39
+ )
9
40
10
- cython_add_module_pyx (symengine_wrapper symengine.pxd )
41
+ cython_add_module_pyx (symengine_wrapper.cpp
42
+ ${CMAKE_CURRENT_BINARY_DIR} /symengine_wrapper.pyx
43
+ ${CMAKE_CURRENT_BINARY_DIR} /symengine_wrapper.pxd
44
+ ${CMAKE_CURRENT_SOURCE_DIR} /symengine.pxd )
11
45
add_python_library (symengine_wrapper ${SRC} )
12
46
target_link_libraries (symengine_wrapper ${SYMENGINE_LIBRARIES} )
13
47
if (CMAKE_CXX_COMPILER_ID MATCHES GNU|Clang )
@@ -18,20 +52,15 @@ if (CMAKE_CXX_COMPILER_ID MATCHES GNU|Clang)
18
52
)
19
53
endif ()
20
54
21
- add_custom_target (cython
22
- COMMAND cython symengine_wrapper.pyx
23
- )
24
-
25
55
set (PY_PATH ${PYTHON_INSTALL_PATH} /symengine/lib )
26
56
install (TARGETS symengine_wrapper
27
57
RUNTIME DESTINATION ${PY_PATH}
28
58
ARCHIVE DESTINATION ${PY_PATH}
29
59
LIBRARY DESTINATION ${PY_PATH}
30
60
)
31
61
install (FILES
32
- ${CMAKE_CURRENT_BINARY_DIR} /config.pxi
33
62
symengine.pxd
34
- symengine_wrapper.pxd
63
+ ${CMAKE_CURRENT_BINARY_DIR} / symengine_wrapper.pxd
35
64
pywrapper.h
36
65
DESTINATION ${PY_PATH}
37
66
)
0 commit comments