1- cmake_minimum_required (VERSION 2.8.12 ...4.0.0 )
1+ cmake_minimum_required (VERSION 3.21 ...4.0.0 )
22
33if (POLICY CMP0057)
44 cmake_policy (SET CMP0057 NEW ) # needed for llvm >= 16
@@ -7,7 +7,7 @@ if (POLICY CMP0074)
77 cmake_policy (SET CMP0074 NEW ) # allow user to set *_ROOT variables
88endif ()
99
10- project (python_wrapper )
10+ project (${SKBUILD_PROJECT_NAME} LANGUAGES C CXX )
1111
1212set (CMAKE_PREFIX_PATH ${SymEngine_DIR} ${CMAKE_PREFIX_PATH} )
1313
@@ -21,13 +21,28 @@ set(CMAKE_BUILD_TYPE ${SYMENGINE_BUILD_TYPE})
2121set (CMAKE_CXX_FLAGS_RELEASE ${SYMENGINE_CXX_FLAGS_RELEASE} )
2222set (CMAKE_CXX_FLAGS_DEBUG ${SYMENGINE_CXX_FLAGS_DEBUG} )
2323set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${SYMENGINE_CXX_FLAGS} " )
24- include_directories (${SYMENGINE_INCLUDE_DIRS} )
2524
26- set (WITH_PY_LIMITED_API OFF CACHE STRING "Use CPython's limited API" )
27- set (CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} "${CMAKE_CURRENT_SOURCE_DIR} /cmake/" )
28- find_package (Python REQUIRED )
29- find_package (Cython REQUIRED )
30- include_directories (${PYTHON_INCLUDE_PATH} )
25+ find_package (
26+ Python
27+ COMPONENTS
28+ Interpreter
29+ Development.Module
30+ ${SKBUILD_SABI_COMPONENT}
31+ REQUIRED
32+ )
33+
34+ if ("${SKBUILD_SABI_VERSION} " STREQUAL "" )
35+ set (CYTHON_MIN "0.29" )
36+ else ()
37+ set (CYTHON_MIN "3.2" )
38+ endif ()
39+
40+ find_package (Cython ${CYTHON_MIN} MODULE REQUIRED )
41+ include (UseCython )
42+
43+ if ("${CYTHON_VERSION} " VERSION_LESS "${CYTHON_MIN} " )
44+ message (FATAL_ERROR "Cython version found: ${CYTHON_VERSION} . Minimum required: ${CYTHON_MIN} " )
45+ endif ()
3146
3247if (MINGW AND ("${CMAKE_SIZEOF_VOID_P} " STREQUAL "8" ))
3348 set (CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} -DMS_WIN64" )
@@ -56,7 +71,6 @@ foreach (PKG MPC MPFR PIRANHA FLINT LLVM)
5671 set (HAVE_SYMENGINE_${PKG} False )
5772 endif ()
5873endforeach ()
59- option (SYMENGINE_INSTALL_PY_FILES "Install python files" ON )
6074
6175message ("CMAKE_SYSTEM_PROCESSOR : ${CMAKE_SYSTEM_PROCESSOR} " )
6276message ("CMAKE_BUILD_TYPE : ${CMAKE_BUILD_TYPE} " )
@@ -69,9 +83,5 @@ message("HAVE_SYMENGINE_PIRANHA : ${HAVE_SYMENGINE_PIRANHA}")
6983message ("HAVE_SYMENGINE_FLINT : ${HAVE_SYMENGINE_FLINT} " )
7084message ("HAVE_SYMENGINE_LLVM : ${HAVE_SYMENGINE_LLVM} " )
7185message ("HAVE_SYMENGINE_LLVM_LONG_DOUBLE : ${HAVE_SYMENGINE_LLVM_LONG_DOUBLE} " )
72- message ("SYMENGINE_COPY_EXTENSION : ${SYMENGINE_COPY_EXTENSION} " )
73-
74- message ("Copying source of python wrappers into: ${CMAKE_CURRENT_BINARY_DIR} " )
75- file (COPY symengine/ DESTINATION ${CMAKE_CURRENT_BINARY_DIR} /symengine )
7686
7787add_subdirectory (symengine )
0 commit comments