fix(build): support conan's multiple includes of all files (#3420)

This commit is contained in:
Henry Schreiner 2021-10-27 15:06:02 -04:00 committed by GitHub
parent e7e2c79f3f
commit 90707b46f2
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 12 additions and 4 deletions

View File

@ -20,6 +20,7 @@ Adds the following functions::
#]======================================================] #]======================================================]
# CMake 3.10 has an include_guard command, but we can't use that yet # CMake 3.10 has an include_guard command, but we can't use that yet
# include_guard(global) (pre-CMake 3.10)
if(TARGET pybind11::lto) if(TARGET pybind11::lto)
return() return()
endif() endif()

View File

@ -5,6 +5,12 @@
# All rights reserved. Use of this source code is governed by a # All rights reserved. Use of this source code is governed by a
# BSD-style license that can be found in the LICENSE file. # BSD-style license that can be found in the LICENSE file.
if(CMAKE_VERSION VERSION_LESS 3.12)
message(FATAL_ERROR "You cannot use the new FindPython module with CMake < 3.12")
endif()
include_guard(GLOBAL)
get_property( get_property(
is_config is_config
TARGET pybind11::headers TARGET pybind11::headers
@ -16,10 +22,6 @@ else()
set(_pybind11_quiet "") set(_pybind11_quiet "")
endif() endif()
if(CMAKE_VERSION VERSION_LESS 3.12)
message(FATAL_ERROR "You cannot use the new FindPython module with CMake < 3.12")
endif()
if(NOT Python_FOUND if(NOT Python_FOUND
AND NOT Python3_FOUND AND NOT Python3_FOUND
AND NOT Python2_FOUND) AND NOT Python2_FOUND)

View File

@ -5,6 +5,11 @@
# All rights reserved. Use of this source code is governed by a # All rights reserved. Use of this source code is governed by a
# BSD-style license that can be found in the LICENSE file. # BSD-style license that can be found in the LICENSE file.
# include_guard(global) (pre-CMake 3.10)
if(TARGET pybind11::python_headers)
return()
endif()
# Built-in in CMake 3.5+ # Built-in in CMake 3.5+
include(CMakeParseArguments) include(CMakeParseArguments)