From 76a160070b369f8d82b945c97924227e8b835c94 Mon Sep 17 00:00:00 2001 From: heyer2 Date: Fri, 15 Jan 2021 03:51:41 +0900 Subject: [PATCH] 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 --- tools/pybind11NewTools.cmake | 21 ++++++++++----------- 1 file changed, 10 insertions(+), 11 deletions(-) diff --git a/tools/pybind11NewTools.cmake b/tools/pybind11NewTools.cmake index 96879d3ce..4dc91a191 100644 --- a/tools/pybind11NewTools.cmake +++ b/tools/pybind11NewTools.cmake @@ -180,27 +180,27 @@ function(pybind11_add_module target_name) cmake_parse_arguments(PARSE_ARGV 1 ARG "STATIC;SHARED;MODULE;THIN_LTO;OPT_SIZE;NO_EXTRAS;WITHOUT_SOABI" "" "") - if(ARG_ADD_LIBRARY_STATIC) - set(type STATIC) - elseif(ARG_ADD_LIBRARY_SHARED) - set(type SHARED) + if(ARG_STATIC) + set(lib_type STATIC) + elseif(ARG_SHARED) + set(lib_type SHARED) else() - set(type MODULE) + set(lib_type MODULE) endif() 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") - python3_add_library(${target_name} ${type} ${ARG_UNPARSED_ARGUMENTS}) + python3_add_library(${target_name} ${lib_type} ${ARG_UNPARSED_ARGUMENTS}) elseif("${_Python}" STREQUAL "Python2") - python2_add_library(${target_name} ${type} ${ARG_UNPARSED_ARGUMENTS}) + python2_add_library(${target_name} ${lib_type} ${ARG_UNPARSED_ARGUMENTS}) else() message(FATAL_ERROR "Cannot detect FindPython version: ${_Python}") endif() 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) else() target_link_libraries(${target_name} PRIVATE pybind11::embed) @@ -228,8 +228,7 @@ function(pybind11_add_module target_name) endif() # 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 - ARG_UNPARSED_ARGUMENTS)) + if(NOT ARG_WITHOUT_SOABI OR NOT "WITH_SOABI" IN_LIST ARG_UNPARSED_ARGUMENTS) pybind11_extension(${target_name}) endif()