mirror of
https://github.com/pybind/pybind11.git
synced 2024-11-25 22:52:01 +00:00
fix: STATIC and SHARED flags not being detected (#2796)
* Fix STATIC and SHARED flags not being detected * fix: use classic naming for all lib types Co-authored-by: Henry Schreiner <henryschreineriii@gmail.com>
This commit is contained in:
parent
0855146357
commit
76a160070b
@ -180,27 +180,27 @@ function(pybind11_add_module target_name)
|
|||||||
cmake_parse_arguments(PARSE_ARGV 1 ARG
|
cmake_parse_arguments(PARSE_ARGV 1 ARG
|
||||||
"STATIC;SHARED;MODULE;THIN_LTO;OPT_SIZE;NO_EXTRAS;WITHOUT_SOABI" "" "")
|
"STATIC;SHARED;MODULE;THIN_LTO;OPT_SIZE;NO_EXTRAS;WITHOUT_SOABI" "" "")
|
||||||
|
|
||||||
if(ARG_ADD_LIBRARY_STATIC)
|
if(ARG_STATIC)
|
||||||
set(type STATIC)
|
set(lib_type STATIC)
|
||||||
elseif(ARG_ADD_LIBRARY_SHARED)
|
elseif(ARG_SHARED)
|
||||||
set(type SHARED)
|
set(lib_type SHARED)
|
||||||
else()
|
else()
|
||||||
set(type MODULE)
|
set(lib_type MODULE)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
if("${_Python}" STREQUAL "Python")
|
if("${_Python}" STREQUAL "Python")
|
||||||
python_add_library(${target_name} ${type} ${ARG_UNPARSED_ARGUMENTS})
|
python_add_library(${target_name} ${lib_type} ${ARG_UNPARSED_ARGUMENTS})
|
||||||
elseif("${_Python}" STREQUAL "Python3")
|
elseif("${_Python}" STREQUAL "Python3")
|
||||||
python3_add_library(${target_name} ${type} ${ARG_UNPARSED_ARGUMENTS})
|
python3_add_library(${target_name} ${lib_type} ${ARG_UNPARSED_ARGUMENTS})
|
||||||
elseif("${_Python}" STREQUAL "Python2")
|
elseif("${_Python}" STREQUAL "Python2")
|
||||||
python2_add_library(${target_name} ${type} ${ARG_UNPARSED_ARGUMENTS})
|
python2_add_library(${target_name} ${lib_type} ${ARG_UNPARSED_ARGUMENTS})
|
||||||
else()
|
else()
|
||||||
message(FATAL_ERROR "Cannot detect FindPython version: ${_Python}")
|
message(FATAL_ERROR "Cannot detect FindPython version: ${_Python}")
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
target_link_libraries(${target_name} PRIVATE pybind11::headers)
|
target_link_libraries(${target_name} PRIVATE pybind11::headers)
|
||||||
|
|
||||||
if(type STREQUAL "MODULE")
|
if(lib_type STREQUAL "MODULE")
|
||||||
target_link_libraries(${target_name} PRIVATE pybind11::module)
|
target_link_libraries(${target_name} PRIVATE pybind11::module)
|
||||||
else()
|
else()
|
||||||
target_link_libraries(${target_name} PRIVATE pybind11::embed)
|
target_link_libraries(${target_name} PRIVATE pybind11::embed)
|
||||||
@ -228,8 +228,7 @@ function(pybind11_add_module target_name)
|
|||||||
endif()
|
endif()
|
||||||
|
|
||||||
# If we don't pass a WITH_SOABI or WITHOUT_SOABI, use our own default handling of extensions
|
# If we don't pass a WITH_SOABI or WITHOUT_SOABI, use our own default handling of extensions
|
||||||
if("${type}" STREQUAL "MODULE" AND (NOT ARG_WITHOUT_SOABI OR NOT "WITH_SOABI" IN_LIST
|
if(NOT ARG_WITHOUT_SOABI OR NOT "WITH_SOABI" IN_LIST ARG_UNPARSED_ARGUMENTS)
|
||||||
ARG_UNPARSED_ARGUMENTS))
|
|
||||||
pybind11_extension(${target_name})
|
pybind11_extension(${target_name})
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user