@@ -13,20 +13,30 @@ else()
13
13
set (NB_SUFFIX_EXT "${CMAKE_SHARED_MODULE_SUFFIX} " )
14
14
endif ()
15
15
16
- # This was added in CMake 3.17+, also available earlier in scikit-build-core.
16
+ # Check if FindPython/scikit-build-core defined a SOABI/SOSABI variable
17
+ if (DEFINED SKBUILD_SOABI )
18
+ set (NB_SOABI "${SKBUILD_SOABI} " )
19
+ elif (DEFINED Python_SOABI )
20
+ set (NB_SOABI "${Python_SOABI} " )
21
+ endif ()
22
+
23
+ if (DEFINED SKBUILD_SOSABI )
24
+ set (NB_SOSABI "${SKBUILD_SOSABI} " )
25
+ elif (DEFINED Python_SOSABI )
26
+ set (NB_SOSABI "${Python_SOSABI} " )
27
+ endif ()
28
+
17
29
# PyPy sets an invalid SOABI (platform missing), causing older FindPythons to
18
30
# report an incorrect value. Only use it if it looks correct (X-X-X form).
19
- if (DEFINED Python_SOABI AND "${Python_SOABI } " MATCHES ".+-.+-.+" )
20
- set (NB_SUFFIX ".${Python_SOABI }${NB_SUFFIX_EXT} " )
31
+ if (DEFINED NB_SOABI AND "${NB_SOABI } " MATCHES ".+-.+-.+" )
32
+ set (NB_SUFFIX ".${NB_SOABI }${NB_SUFFIX_EXT} " )
21
33
endif ()
22
34
23
- # Python_SOSABI is guaranteed to be available in CMake 3.26+, and it may
24
- # also be available as part of backported FindPython in scikit-build-core.
25
- if (DEFINED Python_SOSABI )
26
- if (Python_SOSABI STREQUAL "" )
35
+ if (DEFINED NB_SOSABI )
36
+ if (NB_SOSABI STREQUAL "" )
27
37
set (NB_SUFFIX_S "${NB_SUFFIX_EXT} " )
28
38
else ()
29
- set (NB_SUFFIX_S ".${Python_SOSABI }${NB_SUFFIX_EXT} " )
39
+ set (NB_SUFFIX_S ".${NB_SOSABI }${NB_SUFFIX_EXT} " )
30
40
endif ()
31
41
endif ()
32
42
0 commit comments