Austin Schuh | 1eb16d1 | 2015-09-06 17:21:56 -0700 | [diff] [blame] | 1 | ## gflags CMake configuration file |
| 2 | |
| 3 | # library version information |
Austin Schuh | 8fec4f4 | 2018-10-29 21:52:32 -0700 | [diff] [blame] | 4 | set (@PACKAGE_PREFIX@_VERSION_STRING "@PACKAGE_VERSION@") |
| 5 | set (@PACKAGE_PREFIX@_VERSION_MAJOR @PACKAGE_VERSION_MAJOR@) |
| 6 | set (@PACKAGE_PREFIX@_VERSION_MINOR @PACKAGE_VERSION_MINOR@) |
| 7 | set (@PACKAGE_PREFIX@_VERSION_PATCH @PACKAGE_VERSION_PATCH@) |
Austin Schuh | 1eb16d1 | 2015-09-06 17:21:56 -0700 | [diff] [blame] | 8 | |
| 9 | # import targets |
Austin Schuh | 8fec4f4 | 2018-10-29 21:52:32 -0700 | [diff] [blame] | 10 | if (NOT DEFINED @PACKAGE_PREFIX@_USE_TARGET_NAMESPACE) |
| 11 | set (@PACKAGE_PREFIX@_USE_TARGET_NAMESPACE FALSE) |
| 12 | endif () |
| 13 | if (@PACKAGE_PREFIX@_USE_TARGET_NAMESPACE) |
| 14 | include ("${CMAKE_CURRENT_LIST_DIR}/@EXPORT_NAME@.cmake") |
| 15 | set (@PACKAGE_PREFIX@_TARGET_NAMESPACE @PACKAGE_NAME@) |
| 16 | else () |
| 17 | include ("${CMAKE_CURRENT_LIST_DIR}/@PACKAGE_NAME@-nonamespace-targets.cmake") |
| 18 | set (@PACKAGE_PREFIX@_TARGET_NAMESPACE) |
| 19 | endif () |
| 20 | if (@PACKAGE_PREFIX@_TARGET_NAMESPACE) |
| 21 | set (@PACKAGE_PREFIX@_TARGET_PREFIX ${@PACKAGE_PREFIX@_TARGET_NAMESPACE}::) |
| 22 | else () |
| 23 | set (@PACKAGE_PREFIX@_TARGET_PREFIX) |
| 24 | endif () |
Austin Schuh | 1eb16d1 | 2015-09-06 17:21:56 -0700 | [diff] [blame] | 25 | |
| 26 | # installation prefix |
| 27 | get_filename_component (CMAKE_CURRENT_LIST_DIR "${CMAKE_CURRENT_LIST_FILE}" PATH) |
| 28 | get_filename_component (_INSTALL_PREFIX "${CMAKE_CURRENT_LIST_DIR}/@INSTALL_PREFIX_REL2CONFIG_DIR@" ABSOLUTE) |
| 29 | |
| 30 | # include directory |
| 31 | # |
| 32 | # Newer versions of CMake set the INTERFACE_INCLUDE_DIRECTORIES property |
| 33 | # of the imported targets. It is hence not necessary to add this path |
| 34 | # manually to the include search path for targets which link to gflags. |
Austin Schuh | 8fec4f4 | 2018-10-29 21:52:32 -0700 | [diff] [blame] | 35 | set (@PACKAGE_PREFIX@_INCLUDE_DIR "${_INSTALL_PREFIX}/@INCLUDE_INSTALL_DIR@") |
Austin Schuh | 1eb16d1 | 2015-09-06 17:21:56 -0700 | [diff] [blame] | 36 | |
Austin Schuh | 8fec4f4 | 2018-10-29 21:52:32 -0700 | [diff] [blame] | 37 | if (@PACKAGE_NAME@_FIND_COMPONENTS) |
| 38 | foreach (@PACKAGE_NAME@_FIND_COMPONENT IN LISTS @PACKAGE_NAME@_FIND_COMPONENTS) |
| 39 | if (@PACKAGE_NAME@_FIND_REQUIRED_${@PACKAGE_NAME@_FIND_COMPONENT} AND NOT TARGET @PACKAGE_NAME@_${@PACKAGE_NAME@_FIND_COMPONENT}) |
| 40 | message (FATAL_ERROR "Package @PACKAGE_NAME@ was installed without required component ${@PACKAGE_NAME@_FIND_COMPONENT}!") |
| 41 | endif () |
| 42 | endforeach () |
| 43 | list (GET @PACKAGE_NAME@_FIND_COMPONENTS 0 @PACKAGE_NAME@_FIND_COMPONENT) |
| 44 | else () |
| 45 | set (@PACKAGE_NAME@_FIND_COMPONENT) |
| 46 | endif () |
| 47 | |
| 48 | # default settings of @PACKAGE_PREFIX@_SHARED and @PACKAGE_PREFIX@_NOTHREADS |
| 49 | # |
| 50 | # It is recommended to use either one of the following find_package commands |
| 51 | # instead of setting the @PACKAGE_PREFIX@_(SHARED|NOTHREADS) variables: |
| 52 | # - find_package(@PACKAGE_NAME@ REQUIRED) |
| 53 | # - find_package(@PACKAGE_NAME@ COMPONENTS nothreads_static) |
| 54 | # - find_package(@PACKAGE_NAME@ COMPONENTS nothreads_shared) |
| 55 | # - find_package(@PACKAGE_NAME@ COMPONENTS static) |
| 56 | # - find_package(@PACKAGE_NAME@ COMPONENTS shared) |
| 57 | if (NOT DEFINED @PACKAGE_PREFIX@_SHARED) |
| 58 | if (DEFINED @PACKAGE_NAME@_SHARED) |
| 59 | set (@PACKAGE_PREFIX@_SHARED ${@PACKAGE_NAME@_SHARED}) |
| 60 | elseif (@PACKAGE_NAME@_FIND_COMPONENT) |
| 61 | if (@PACKAGE_NAME@_FIND_COMPONENT MATCHES "shared") |
| 62 | set (@PACKAGE_PREFIX@_SHARED TRUE) |
| 63 | else () |
| 64 | set (@PACKAGE_PREFIX@_SHARED FALSE) |
| 65 | endif () |
| 66 | elseif (TARGET ${@PACKAGE_PREFIX@_TARGET_PREFIX}@PACKAGE_NAME@_shared OR TARGET ${@PACKAGE_PREFIX@_TARGET_PREFIX}@PACKAGE_NAME@_nothreads_shared) |
| 67 | set (@PACKAGE_PREFIX@_SHARED TRUE) |
Austin Schuh | 1eb16d1 | 2015-09-06 17:21:56 -0700 | [diff] [blame] | 68 | else () |
Austin Schuh | 8fec4f4 | 2018-10-29 21:52:32 -0700 | [diff] [blame] | 69 | set (@PACKAGE_PREFIX@_SHARED FALSE) |
Austin Schuh | 1eb16d1 | 2015-09-06 17:21:56 -0700 | [diff] [blame] | 70 | endif () |
| 71 | endif () |
Austin Schuh | 8fec4f4 | 2018-10-29 21:52:32 -0700 | [diff] [blame] | 72 | if (NOT DEFINED @PACKAGE_PREFIX@_NOTHREADS) |
| 73 | if (DEFINED @PACKAGE_NAME@_NOTHREADS) |
| 74 | set (@PACKAGE_PREFIX@_NOTHREADS ${@PACKAGE_NAME@_NOTHREADS}) |
| 75 | elseif (@PACKAGE_NAME@_FIND_COMPONENT) |
| 76 | if (@PACKAGE_NAME@_FIND_COMPONENT MATCHES "nothreads") |
| 77 | set (@PACKAGE_PREFIX@_NOTHREADS TRUE) |
| 78 | else () |
| 79 | set (@PACKAGE_PREFIX@_NOTHREADS FALSE) |
| 80 | endif () |
| 81 | elseif (TARGET ${@PACKAGE_PREFIX@_TARGET_PREFIX}PACKAGE_NAME@_static OR TARGET ${@PACKAGE_PREFIX@_TARGET_PREFIX}@PACKAGE_NAME@_shared) |
| 82 | set (@PACKAGE_PREFIX@_NOTHREADS FALSE) |
Austin Schuh | 1eb16d1 | 2015-09-06 17:21:56 -0700 | [diff] [blame] | 83 | else () |
Austin Schuh | 8fec4f4 | 2018-10-29 21:52:32 -0700 | [diff] [blame] | 84 | set (@PACKAGE_PREFIX@_NOTHREADS TRUE) |
Austin Schuh | 1eb16d1 | 2015-09-06 17:21:56 -0700 | [diff] [blame] | 85 | endif () |
| 86 | endif () |
| 87 | |
| 88 | # choose imported library target |
Austin Schuh | 8fec4f4 | 2018-10-29 21:52:32 -0700 | [diff] [blame] | 89 | if (NOT @PACKAGE_PREFIX@_TARGET) |
| 90 | if (@PACKAGE_NAME@_TARGET) |
| 91 | set (@PACKAGE_PREFIX@_TARGET ${@PACKAGE_NAME@_TARGET}) |
| 92 | elseif (@PACKAGE_PREFIX@_SHARED) |
| 93 | if (@PACKAGE_PREFIX@_NOTHREADS) |
| 94 | set (@PACKAGE_PREFIX@_TARGET ${@PACKAGE_PREFIX@_TARGET_PREFIX}@PACKAGE_NAME@_nothreads_shared) |
Austin Schuh | 1eb16d1 | 2015-09-06 17:21:56 -0700 | [diff] [blame] | 95 | else () |
Austin Schuh | 8fec4f4 | 2018-10-29 21:52:32 -0700 | [diff] [blame] | 96 | set (@PACKAGE_PREFIX@_TARGET ${@PACKAGE_PREFIX@_TARGET_PREFIX}@PACKAGE_NAME@_shared) |
Austin Schuh | 1eb16d1 | 2015-09-06 17:21:56 -0700 | [diff] [blame] | 97 | endif () |
| 98 | else () |
Austin Schuh | 8fec4f4 | 2018-10-29 21:52:32 -0700 | [diff] [blame] | 99 | if (@PACKAGE_PREFIX@_NOTHREADS) |
| 100 | set (@PACKAGE_PREFIX@_TARGET ${@PACKAGE_PREFIX@_TARGET_PREFIX}@PACKAGE_NAME@_nothreads_static) |
Austin Schuh | 1eb16d1 | 2015-09-06 17:21:56 -0700 | [diff] [blame] | 101 | else () |
Austin Schuh | 8fec4f4 | 2018-10-29 21:52:32 -0700 | [diff] [blame] | 102 | set (@PACKAGE_PREFIX@_TARGET ${@PACKAGE_PREFIX@_TARGET_PREFIX}@PACKAGE_NAME@_static) |
Austin Schuh | 1eb16d1 | 2015-09-06 17:21:56 -0700 | [diff] [blame] | 103 | endif () |
| 104 | endif () |
| 105 | endif () |
Austin Schuh | 8fec4f4 | 2018-10-29 21:52:32 -0700 | [diff] [blame] | 106 | if (NOT TARGET ${@PACKAGE_PREFIX@_TARGET}) |
| 107 | message (FATAL_ERROR "Your @PACKAGE_NAME@ installation does not contain a ${@PACKAGE_PREFIX@_TARGET} library target!" |
| 108 | " Try a different combination of @PACKAGE_PREFIX@_SHARED and @PACKAGE_PREFIX@_NOTHREADS.") |
Austin Schuh | 1eb16d1 | 2015-09-06 17:21:56 -0700 | [diff] [blame] | 109 | endif () |
| 110 | |
Austin Schuh | 8fec4f4 | 2018-10-29 21:52:32 -0700 | [diff] [blame] | 111 | # add more convenient "${@PACKAGE_PREFIX@_TARGET_PREFIX}@PACKAGE_NAME@" import target |
| 112 | if (NOT TARGET ${@PACKAGE_PREFIX@_TARGET_PREFIX}@PACKAGE_NAME@) |
| 113 | if (@PACKAGE_PREFIX@_SHARED) |
| 114 | add_library (${@PACKAGE_PREFIX@_TARGET_PREFIX}@PACKAGE_NAME@ SHARED IMPORTED) |
Austin Schuh | 1eb16d1 | 2015-09-06 17:21:56 -0700 | [diff] [blame] | 115 | else () |
Austin Schuh | 8fec4f4 | 2018-10-29 21:52:32 -0700 | [diff] [blame] | 116 | add_library (${@PACKAGE_PREFIX@_TARGET_PREFIX}@PACKAGE_NAME@ STATIC IMPORTED) |
Austin Schuh | 1eb16d1 | 2015-09-06 17:21:56 -0700 | [diff] [blame] | 117 | endif () |
Austin Schuh | 8fec4f4 | 2018-10-29 21:52:32 -0700 | [diff] [blame] | 118 | # copy INTERFACE_* properties |
| 119 | foreach (_@PACKAGE_PREFIX@_PROPERTY_NAME IN ITEMS |
| 120 | COMPILE_DEFINITIONS |
| 121 | COMPILE_FEATURES |
| 122 | COMPILE_OPTIONS |
| 123 | INCLUDE_DIRECTORIES |
| 124 | LINK_LIBRARIES |
| 125 | POSITION_INDEPENDENT_CODE |
| 126 | ) |
| 127 | get_target_property (_@PACKAGE_PREFIX@_PROPERTY_VALUE ${@PACKAGE_PREFIX@_TARGET} INTERFACE_${_@PACKAGE_PREFIX@_PROPERTY_NAME}) |
| 128 | if (_@PACKAGE_PREFIX@_PROPERTY_VALUE) |
| 129 | set_target_properties(${@PACKAGE_PREFIX@_TARGET_PREFIX}@PACKAGE_NAME@ PROPERTIES |
| 130 | INTERFACE_${_@PACKAGE_PREFIX@_PROPERTY_NAME} "${_@PACKAGE_PREFIX@_PROPERTY_VALUE}" |
Austin Schuh | 1eb16d1 | 2015-09-06 17:21:56 -0700 | [diff] [blame] | 131 | ) |
| 132 | endif () |
Austin Schuh | 1eb16d1 | 2015-09-06 17:21:56 -0700 | [diff] [blame] | 133 | endforeach () |
Austin Schuh | 8fec4f4 | 2018-10-29 21:52:32 -0700 | [diff] [blame] | 134 | # copy IMPORTED_*_<CONFIG> properties |
| 135 | get_target_property (_@PACKAGE_PREFIX@_CONFIGURATIONS ${@PACKAGE_PREFIX@_TARGET} IMPORTED_CONFIGURATIONS) |
| 136 | set_target_properties (${@PACKAGE_PREFIX@_TARGET_PREFIX}@PACKAGE_NAME@ PROPERTIES IMPORTED_CONFIGURATIONS "${_@PACKAGE_PREFIX@_CONFIGURATIONS}") |
| 137 | foreach (_@PACKAGE_PREFIX@_PROPERTY_NAME IN ITEMS |
| 138 | IMPLIB |
| 139 | LOCATION |
| 140 | LINK_DEPENDENT_LIBRARIES |
| 141 | LINK_INTERFACE_LIBRARIES |
| 142 | LINK_INTERFACE_LANGUAGES |
| 143 | LINK_INTERFACE_MULTIPLICITY |
| 144 | NO_SONAME |
| 145 | SONAME |
| 146 | ) |
| 147 | foreach (_@PACKAGE_PREFIX@_CONFIG IN LISTS _@PACKAGE_PREFIX@_CONFIGURATIONS) |
| 148 | get_target_property (_@PACKAGE_PREFIX@_PROPERTY_VALUE ${@PACKAGE_PREFIX@_TARGET} IMPORTED_${_@PACKAGE_PREFIX@_PROPERTY_NAME}_${_@PACKAGE_PREFIX@_CONFIG}) |
| 149 | if (_@PACKAGE_PREFIX@_PROPERTY_VALUE) |
| 150 | set_target_properties(${@PACKAGE_PREFIX@_TARGET_PREFIX}@PACKAGE_NAME@ PROPERTIES |
| 151 | IMPORTED_${_@PACKAGE_PREFIX@_PROPERTY_NAME}_${_@PACKAGE_PREFIX@_CONFIG} "${_@PACKAGE_PREFIX@_PROPERTY_VALUE}" |
| 152 | ) |
| 153 | endif () |
| 154 | endforeach () |
| 155 | endforeach () |
| 156 | unset (_@PACKAGE_PREFIX@_CONFIGURATIONS) |
| 157 | unset (_@PACKAGE_PREFIX@_CONFIG) |
| 158 | unset (_@PACKAGE_PREFIX@_PROPERTY_NAME) |
| 159 | unset (_@PACKAGE_PREFIX@_PROPERTY_VALUE) |
Austin Schuh | 1eb16d1 | 2015-09-06 17:21:56 -0700 | [diff] [blame] | 160 | endif () |
| 161 | |
| 162 | # alias for default import target to be compatible with older CMake package configurations |
Austin Schuh | 8fec4f4 | 2018-10-29 21:52:32 -0700 | [diff] [blame] | 163 | set (@PACKAGE_PREFIX@_LIBRARIES "${@PACKAGE_PREFIX@_TARGET}") |
| 164 | |
| 165 | # set @PACKAGE_NAME@_* variables for backwards compatibility |
| 166 | if (NOT "^@PACKAGE_NAME@$" STREQUAL "^@PACKAGE_PREFIX@$") |
| 167 | foreach (_@PACKAGE_PREFIX@_VARIABLE IN ITEMS |
| 168 | VERSION_STRING |
| 169 | VERSION_MAJOR |
| 170 | VERSION_MINOR |
| 171 | VERSION_PATCH |
| 172 | INCLUDE_DIR |
| 173 | LIBRARIES |
| 174 | TARGET |
| 175 | ) |
| 176 | set (@PACKAGE_NAME@_${_@PACKAGE_PREFIX@_VARIABLE} "${@PACKAGE_PREFIX@_${_@PACKAGE_PREFIX@_VARIABLE}}") |
| 177 | endforeach () |
| 178 | unset (_@PACKAGE_PREFIX@_VARIABLE) |
| 179 | endif () |
Austin Schuh | 1eb16d1 | 2015-09-06 17:21:56 -0700 | [diff] [blame] | 180 | |
| 181 | # unset private variables |
Austin Schuh | 8fec4f4 | 2018-10-29 21:52:32 -0700 | [diff] [blame] | 182 | unset (@PACKAGE_NAME@_FIND_COMPONENT) |
Austin Schuh | 1eb16d1 | 2015-09-06 17:21:56 -0700 | [diff] [blame] | 183 | unset (_INSTALL_PREFIX) |