3 if("${CMAKE_MAJOR_VERSION}.${CMAKE_MINOR_VERSION}" LESS 2.5)
4 message(FATAL_ERROR "CMake >= 2.6.0 required")
7 cmake_policy(VERSION 2.6)
8 #----------------------------------------------------------------
9 # Generated CMake target import file.
10 #----------------------------------------------------------------
12 # Commands may need to know the format version.
13 set(CMAKE_IMPORT_FILE_VERSION 1)
15 # Protect against multiple inclusion, which would fail when already imported targets are added once more.
17 set(_targetsNotDefined)
19 foreach(_expectedTarget pybind11::pybind11 pybind11::module pybind11::embed)
20 list(APPEND _expectedTargets ${_expectedTarget})
21 if(NOT TARGET ${_expectedTarget})
22 list(APPEND _targetsNotDefined ${_expectedTarget})
24 if(TARGET ${_expectedTarget})
25 list(APPEND _targetsDefined ${_expectedTarget})
28 if("${_targetsDefined}" STREQUAL "${_expectedTargets}")
29 unset(_targetsDefined)
30 unset(_targetsNotDefined)
31 unset(_expectedTargets)
32 set(CMAKE_IMPORT_FILE_VERSION)
36 if(NOT "${_targetsDefined}" STREQUAL "")
37 message(FATAL_ERROR "Some (but not all) targets in this export set were already defined.\nTargets Defined: ${_targetsDefined}\nTargets not yet defined: ${_targetsNotDefined}\n")
39 unset(_targetsDefined)
40 unset(_targetsNotDefined)
41 unset(_expectedTargets)
44 # Compute the installation prefix relative to this file.
45 get_filename_component(_IMPORT_PREFIX "${CMAKE_CURRENT_LIST_FILE}" PATH)
46 get_filename_component(_IMPORT_PREFIX "${_IMPORT_PREFIX}" PATH)
47 get_filename_component(_IMPORT_PREFIX "${_IMPORT_PREFIX}" PATH)
48 get_filename_component(_IMPORT_PREFIX "${_IMPORT_PREFIX}" PATH)
49 if(_IMPORT_PREFIX STREQUAL "/")
50 set(_IMPORT_PREFIX "")
53 # Create imported target pybind11::pybind11
54 add_library(pybind11::pybind11 INTERFACE IMPORTED)
56 set_target_properties(pybind11::pybind11 PROPERTIES
57 INTERFACE_INCLUDE_DIRECTORIES "${_IMPORT_PREFIX}/include"
60 # Create imported target pybind11::module
61 add_library(pybind11::module INTERFACE IMPORTED)
63 set_target_properties(pybind11::module PROPERTIES
64 INTERFACE_COMPILE_OPTIONS "-fvisibility=hidden"
65 INTERFACE_LINK_LIBRARIES "pybind11::pybind11"
68 # Create imported target pybind11::embed
69 add_library(pybind11::embed INTERFACE IMPORTED)
71 set_target_properties(pybind11::embed PROPERTIES
72 INTERFACE_LINK_LIBRARIES "pybind11::pybind11"
75 if(CMAKE_VERSION VERSION_LESS 3.0.0)
76 message(FATAL_ERROR "This file relies on consumers using CMake 3.0.0 or greater.")
79 # Load information for each installed configuration.
80 get_filename_component(_DIR "${CMAKE_CURRENT_LIST_FILE}" PATH)
81 file(GLOB CONFIG_FILES "${_DIR}/pybind11Targets-*.cmake")
82 foreach(f ${CONFIG_FILES})
86 # Cleanup temporary variables.
89 # Loop over all imported files and verify that they actually exist
90 foreach(target ${_IMPORT_CHECK_TARGETS} )
91 foreach(file ${_IMPORT_CHECK_FILES_FOR_${target}} )
92 if(NOT EXISTS "${file}" )
93 message(FATAL_ERROR "The imported target \"${target}\" references the file
95 but this file does not exist. Possible reasons include:
96 * The file was deleted, renamed, or moved to another location.
97 * An install or uninstall procedure did not complete successfully.
98 * The installation package was faulty and contained
99 \"${CMAKE_CURRENT_LIST_FILE}\"
100 but not all the files it references.
104 unset(_IMPORT_CHECK_FILES_FOR_${target})
106 unset(_IMPORT_CHECK_TARGETS)
108 # This file does not depend on other imported targets which have
109 # been exported from the same project but in a separate export set.
111 # Commands beyond this point should not need to know the version.
112 set(CMAKE_IMPORT_FILE_VERSION)