mirror of
https://github.com/pybind/pybind11.git
synced 2024-11-25 22:52:01 +00:00
Don't force hidden visibility on the embed target, just the module target
Embedding may well be used in places where hidden visibility isn't desired. It should be relatively safe to allow it there; any potential conflict would come in if modules are loaded into that embedded interpreter, but as long as the modules are compiled with hidden visibility they shouldn't conflict. There could still be warnings if the embedded code attempts to export classes with internal (hidden) pybind members, but that seems a legitimate warning (and already has a FAQ entry).
This commit is contained in:
parent
f580649871
commit
0d703f6e7c
@ -91,12 +91,12 @@ if(NOT (CMAKE_VERSION VERSION_LESS 3.0)) # CMake >= 3.0
|
|||||||
$<BUILD_INTERFACE:${PYTHON_INCLUDE_DIRS}>
|
$<BUILD_INTERFACE:${PYTHON_INCLUDE_DIRS}>
|
||||||
$<INSTALL_INTERFACE:${CMAKE_INSTALL_INCLUDEDIR}>)
|
$<INSTALL_INTERFACE:${CMAKE_INSTALL_INCLUDEDIR}>)
|
||||||
target_compile_options(pybind11 INTERFACE $<BUILD_INTERFACE:${PYBIND11_CPP_STANDARD}>)
|
target_compile_options(pybind11 INTERFACE $<BUILD_INTERFACE:${PYBIND11_CPP_STANDARD}>)
|
||||||
if(NOT MSVC)
|
|
||||||
target_compile_options(pybind11 INTERFACE -fvisibility=hidden)
|
|
||||||
endif()
|
|
||||||
|
|
||||||
add_library(module INTERFACE)
|
add_library(module INTERFACE)
|
||||||
add_library(pybind11::module ALIAS module)
|
add_library(pybind11::module ALIAS module)
|
||||||
|
if(NOT MSVC)
|
||||||
|
target_compile_options(module INTERFACE -fvisibility=hidden)
|
||||||
|
endif()
|
||||||
target_link_libraries(module INTERFACE pybind11::pybind11)
|
target_link_libraries(module INTERFACE pybind11::pybind11)
|
||||||
if(WIN32 OR CYGWIN)
|
if(WIN32 OR CYGWIN)
|
||||||
target_link_libraries(module INTERFACE $<BUILD_INTERFACE:${PYTHON_LIBRARIES}>)
|
target_link_libraries(module INTERFACE $<BUILD_INTERFACE:${PYTHON_LIBRARIES}>)
|
||||||
|
Loading…
Reference in New Issue
Block a user