1- cmake_minimum_required (VERSION 3.21 ...3.25 FATAL_ERROR)
1+ cmake_minimum_required (VERSION 3.27 ...3.28 FATAL_ERROR)
22
3- if (${CMAKE_VERSION} VERSION_GREATER_EQUAL "3.24" )
4- cmake_policy (SET CMP0135 NEW)
5- endif ()
3+ cmake_policy (SET CMP0135 NEW)
64
75project (mkl_umath
86 LANGUAGES C
@@ -11,7 +9,6 @@ project(mkl_umath
119
1210find_package (Python COMPONENTS Interpreter Development REQUIRED)
1311find_package (NumPy REQUIRED)
14- find_package (PythonExtensions REQUIRED)
1512
1613set (CYTHON_FLAGS "-t -w \" ${CMAKE_SOURCE_DIR} \" " )
1714find_package (Cython REQUIRED)
@@ -20,14 +17,6 @@ set(MKL_ARCH intel64)
2017set (MKL_LINK sdl)
2118set (MKL_THREADING intel_thread)
2219set (MKL_INTERFACE ilp64)
23- # MKL_ARCH: None, set to ` intel64` by default
24- # MKL_ROOT /localdisk/work/aguzmanb/Development/miniconda3.py310/envs/numpy_umath_prefix.v5
25- # MKL_DPCPP_LINK: None, set to ` dynamic` by default
26- # MKL_LINK: None, set to ` dynamic` by default
27- # MKL_DPCPP_INTERFACE_FULL: None, set to ` intel_ilp64` by default
28- # MKL_INTERFACE_FULL: None, set to ` intel_ilp64` by default
29- # MKL_DPCPP_THREADING: None, set to ` tbb_thread` by default
30- # MKL_THREADING: None, set to ` intel_thread` by default
3120find_package (MKL REQUIRED)
3221
3322if (WIN32 )
@@ -97,32 +86,32 @@ set(_linker_options ${MKL_UMATH_LINKER_OPTIONS})
9786set (_trgt mkl_umath_loops)
9887add_library (${_trgt} SHARED "mkl_umath/src/mkl_umath_loops.c" )
9988set_target_properties (${_trgt} PROPERTIES CMAKE_POSITION_INDEPENDENT_CODE ON )
100- target_include_directories (${_trgt} PRIVATE "mkl_umath/src/" ${NumPy_INCLUDE_DIR} ${PYTHON_INCLUDE_DIR} "C:/Users/aguzmanb/Development/mambaforge/envs/mkl_umath_prefix/Library/include" )
89+ target_include_directories (${_trgt} PRIVATE "mkl_umath/src/" ${NumPy_INCLUDE_DIR} ${PYTHON_INCLUDE_DIR} )
10190target_link_libraries (${_trgt} PRIVATE mkl_rt ${Python_LIBRARIES} )
10291target_link_options (${_trgt} PRIVATE ${_linker_options} )
92+ target_compile_options (${_trgt} PRIVATE -fveclib=SVML)
93+ target_compile_options (${_trgt} PRIVATE -fvectorize)
10394install (TARGETS ${_trgt}
10495 LIBRARY DESTINATION mkl_umath
10596 ARCHIVE DESTINATION mkl_umath
10697 RUNTIME DESTINATION mkl_umath
10798)
10899
109- add_library (_ufuncs MODULE "mkl_umath/src/ufuncsmodule.c" "mkl_umath/src/__umath_generated.c" )
100+ Python_add_library (_ufuncs MODULE WITH_SOABI "mkl_umath/src/ufuncsmodule.c" "mkl_umath/src/__umath_generated.c" )
110101target_include_directories (_ufuncs PRIVATE "mkl_umath/src" ${NumPy_INCLUDE_DIR} ${MKL_INCLUDE_DIR} )
111102target_compile_definitions (_ufuncs PUBLIC NPY_NO_DEPRECATED_API=NPY_1_7_API_VERSION)
112103target_link_options (_ufuncs PRIVATE ${_linker_options} )
113- target_link_libraries (_ufuncs mkl_umath_loops)
114- python_extension_module(_ufuncs)
104+ target_link_libraries (_ufuncs PRIVATE mkl_umath_loops)
115105if (UNIX )
116106 set_target_properties (_ufuncs PROPERTIES INSTALL_RPATH "$ORIGIN" )
117107endif ()
118108install (TARGETS _ufuncs LIBRARY DESTINATION mkl_umath)
119109
120110add_cython_target(_patch "mkl_umath/src/_patch.pyx" C OUTPUT_VAR _generated_src)
121- add_library (_patch MODULE ${_generated_src} )
111+ Python_add_library (_patch MODULE WITH_SOABI ${_generated_src} )
122112target_include_directories (_patch PRIVATE "mkl_umath/src/" ${NumPy_INCLUDE_DIR} ${PYTHON_INCLUDE_DIR} )
123113target_compile_definitions (_patch PUBLIC NPY_NO_DEPRECATED_API=NPY_1_7_API_VERSION)
124- target_link_libraries (_patch mkl_umath_loops)
125- python_extension_module(_patch)
114+ target_link_libraries (_patch PRIVATE mkl_umath_loops)
126115if (UNIX )
127116 set_target_properties (_patch PROPERTIES INSTALL_RPATH "$ORIGIN" )
128117endif ()
0 commit comments