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