1
- cmake_minimum_required (VERSION 3.21 ...3.25 FATAL_ERROR )
1
+ cmake_minimum_required (VERSION 3.27 ...3.28 FATAL_ERROR )
2
2
3
- if (${CMAKE_VERSION} VERSION_GREATER_EQUAL "3.24" )
4
- cmake_policy (SET CMP0135 NEW )
5
- endif ()
3
+ cmake_policy (SET CMP0135 NEW )
6
4
7
5
project (mkl_umath
8
6
LANGUAGES C
@@ -11,7 +9,6 @@ project(mkl_umath
11
9
12
10
find_package (Python COMPONENTS Interpreter Development REQUIRED )
13
11
find_package (NumPy REQUIRED )
14
- find_package (PythonExtensions REQUIRED )
15
12
16
13
set (CYTHON_FLAGS "-t -w \" ${CMAKE_SOURCE_DIR} \" " )
17
14
find_package (Cython REQUIRED )
@@ -20,14 +17,6 @@ set(MKL_ARCH intel64)
20
17
set (MKL_LINK sdl )
21
18
set (MKL_THREADING intel_thread )
22
19
set (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
31
20
find_package (MKL REQUIRED )
32
21
33
22
if (WIN32 )
@@ -97,32 +86,32 @@ set(_linker_options ${MKL_UMATH_LINKER_OPTIONS})
97
86
set (_trgt mkl_umath_loops )
98
87
add_library (${_trgt} SHARED "mkl_umath/src/mkl_umath_loops.c" )
99
88
set_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} )
101
90
target_link_libraries (${_trgt} PRIVATE mkl_rt ${Python_LIBRARIES} )
102
91
target_link_options (${_trgt} PRIVATE ${_linker_options} )
92
+ target_compile_options (${_trgt} PRIVATE -fveclib=SVML )
93
+ target_compile_options (${_trgt} PRIVATE -fvectorize )
103
94
install (TARGETS ${_trgt}
104
95
LIBRARY DESTINATION mkl_umath
105
96
ARCHIVE DESTINATION mkl_umath
106
97
RUNTIME DESTINATION mkl_umath
107
98
)
108
99
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" )
110
101
target_include_directories (_ufuncs PRIVATE "mkl_umath/src" ${NumPy_INCLUDE_DIR} ${MKL_INCLUDE_DIR} )
111
102
target_compile_definitions (_ufuncs PUBLIC NPY_NO_DEPRECATED_API=NPY_1_7_API_VERSION )
112
103
target_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 )
115
105
if (UNIX )
116
106
set_target_properties (_ufuncs PROPERTIES INSTALL_RPATH "$ORIGIN" )
117
107
endif ()
118
108
install (TARGETS _ufuncs LIBRARY DESTINATION mkl_umath )
119
109
120
110
add_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} )
122
112
target_include_directories (_patch PRIVATE "mkl_umath/src/" ${NumPy_INCLUDE_DIR} ${PYTHON_INCLUDE_DIR} )
123
113
target_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 )
126
115
if (UNIX )
127
116
set_target_properties (_patch PROPERTIES INSTALL_RPATH "$ORIGIN" )
128
117
endif ()
0 commit comments