11set (SRC
2- symengine_wrapper.cpp
2+ ${CMAKE_CURRENT_BINARY_DIR} / symengine_wrapper.cpp
33 pywrapper.cpp
44 )
55
6- configure_file (config.pxi.in config.pxi )
6+ include_directories (BEFORE ${CMAKE_CURRENT_BINARY_DIR} )
77
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+ )
940
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)
1145add_python_library(symengine_wrapper ${SRC} )
1246target_link_libraries (symengine_wrapper ${SYMENGINE_LIBRARIES} )
1347if (CMAKE_CXX_COMPILER_ID MATCHES GNU|Clang)
@@ -18,20 +52,15 @@ if (CMAKE_CXX_COMPILER_ID MATCHES GNU|Clang)
1852 )
1953endif ()
2054
21- add_custom_target (cython
22- COMMAND cython symengine_wrapper.pyx
23- )
24-
2555set (PY_PATH ${PYTHON_INSTALL_PATH} /symengine/lib)
2656install (TARGETS symengine_wrapper
2757 RUNTIME DESTINATION ${PY_PATH}
2858 ARCHIVE DESTINATION ${PY_PATH}
2959 LIBRARY DESTINATION ${PY_PATH}
3060 )
3161install (FILES
32- ${CMAKE_CURRENT_BINARY_DIR} /config.pxi
3362 symengine.pxd
34- symengine_wrapper.pxd
63+ ${CMAKE_CURRENT_BINARY_DIR} / symengine_wrapper.pxd
3564 pywrapper.h
3665 DESTINATION ${PY_PATH}
3766 )
0 commit comments