Commit 2de6bf39 authored by Andreas Schuh's avatar Andreas Schuh

cmake: Change CMake package configuration variable name prefix to GFLAGS_

parent 91e16eef
## gflags CMake configuration file ## gflags CMake configuration file
# library version information # library version information
set (@PACKAGE_NAME@_VERSION_STRING "@PACKAGE_VERSION@") set (@PACKAGE_PREFIX@_VERSION_STRING "@PACKAGE_VERSION@")
set (@PACKAGE_NAME@_VERSION_MAJOR @PACKAGE_VERSION_MAJOR@) set (@PACKAGE_PREFIX@_VERSION_MAJOR @PACKAGE_VERSION_MAJOR@)
set (@PACKAGE_NAME@_VERSION_MINOR @PACKAGE_VERSION_MINOR@) set (@PACKAGE_PREFIX@_VERSION_MINOR @PACKAGE_VERSION_MINOR@)
set (@PACKAGE_NAME@_VERSION_PATCH @PACKAGE_VERSION_PATCH@) set (@PACKAGE_PREFIX@_VERSION_PATCH @PACKAGE_VERSION_PATCH@)
# import targets # import targets
include ("${CMAKE_CURRENT_LIST_DIR}/@PACKAGE_NAME@-export.cmake") include ("${CMAKE_CURRENT_LIST_DIR}/@PACKAGE_NAME@-export.cmake")
...@@ -18,94 +18,119 @@ get_filename_component (_INSTALL_PREFIX "${CMAKE_CURRENT_LIST_DIR}/@INSTALL_PREF ...@@ -18,94 +18,119 @@ get_filename_component (_INSTALL_PREFIX "${CMAKE_CURRENT_LIST_DIR}/@INSTALL_PREF
# Newer versions of CMake set the INTERFACE_INCLUDE_DIRECTORIES property # Newer versions of CMake set the INTERFACE_INCLUDE_DIRECTORIES property
# of the imported targets. It is hence not necessary to add this path # of the imported targets. It is hence not necessary to add this path
# manually to the include search path for targets which link to gflags. # manually to the include search path for targets which link to gflags.
set (@PACKAGE_NAME@_INCLUDE_DIR "${_INSTALL_PREFIX}/@INCLUDE_INSTALL_DIR@") set (@PACKAGE_PREFIX@_INCLUDE_DIR "${_INSTALL_PREFIX}/@INCLUDE_INSTALL_DIR@")
# default settings # default settings
if (NOT DEFINED @PACKAGE_NAME@_SHARED) if (NOT DEFINED @PACKAGE_PREFIX@_SHARED)
if (TARGET @PACKAGE_NAME@-static OR TARGET @PACKAGE_NAME@_nothreads-static) if (DEFINED @PACKAGE_NAME@_SHARED)
set (@PACKAGE_NAME@_SHARED FALSE) set (@PACKAGE_PREFIX@_SHARED ${@PACKAGE_NAME@_SHARED})
elseif (TARGET @PACKAGE_NAME@-static OR TARGET @PACKAGE_NAME@_nothreads-static)
set (@PACKAGE_PREFIX@_SHARED FALSE)
else () else ()
set (@PACKAGE_NAME@_SHARED TRUE) set (@PACKAGE_PREFIX@_SHARED TRUE)
endif () endif ()
endif () endif ()
if (NOT DEFINED @PACKAGE_NAME@_NOTHREADS) if (NOT DEFINED @PACKAGE_PREFIX@_NOTHREADS)
if (TARGET @PACKAGE_NAME@-static OR TARGET @PACKAGE_NAME@-shared) if (DEFINED @PACKAGE_NAME@_NOTHREADS)
set (@PACKAGE_NAME@_NOTHREADS FALSE) set (@PACKAGE_PREFIX@_NOTHREADS ${@PACKAGE_NAME@_NOTHREADS})
elseif (TARGET @PACKAGE_NAME@-static OR TARGET @PACKAGE_NAME@-shared)
set (@PACKAGE_PREFIX@_NOTHREADS FALSE)
else () else ()
set (@PACKAGE_NAME@_NOTHREADS TRUE) set (@PACKAGE_PREFIX@_NOTHREADS TRUE)
endif () endif ()
endif () endif ()
# choose imported library target # choose imported library target
if (NOT @PACKAGE_NAME@_TARGET) if (NOT @PACKAGE_PREFIX@_TARGET)
if (@PACKAGE_NAME@_SHARED) if (@PACKAGE_NAME@_TARGET)
if (@PACKAGE_NAME@_NOTHREADS) set (@PACKAGE_PREFIX@_TARGET ${@PACKAGE_NAME@_TARGET})
set (@PACKAGE_NAME@_TARGET @PACKAGE_NAME@_nothreads-shared) elseif (@PACKAGE_PREFIX@_SHARED)
if (@PACKAGE_PREFIX@_NOTHREADS)
set (@PACKAGE_PREFIX@_TARGET @PACKAGE_NAME@_nothreads-shared)
else () else ()
set (@PACKAGE_NAME@_TARGET @PACKAGE_NAME@-shared) set (@PACKAGE_PREFIX@_TARGET @PACKAGE_NAME@-shared)
endif () endif ()
else () else ()
if (@PACKAGE_NAME@_NOTHREADS) if (@PACKAGE_PREFIX@_NOTHREADS)
set (@PACKAGE_NAME@_TARGET @PACKAGE_NAME@_nothreads-static) set (@PACKAGE_PREFIX@_TARGET @PACKAGE_NAME@_nothreads-static)
else () else ()
set (@PACKAGE_NAME@_TARGET @PACKAGE_NAME@-static) set (@PACKAGE_PREFIX@_TARGET @PACKAGE_NAME@-static)
endif () endif ()
endif () endif ()
endif () endif ()
if (NOT TARGET ${@PACKAGE_NAME@_TARGET}) if (NOT TARGET ${@PACKAGE_PREFIX@_TARGET})
message (FATAL_ERROR "Your @PACKAGE_NAME@ installation does not contain a ${@PACKAGE_NAME@_TARGET} library target!" message (FATAL_ERROR "Your @PACKAGE_NAME@ installation does not contain a ${@PACKAGE_PREFIX@_TARGET} library target!"
" Try a different combination of @PACKAGE_NAME@_SHARED and @PACKAGE_NAME@_NOTHREADS.") " Try a different combination of @PACKAGE_PREFIX@_SHARED and @PACKAGE_PREFIX@_NOTHREADS.")
endif () endif ()
# add more convenient "@PACKAGE_NAME@" import target # add more convenient "@PACKAGE_NAME@" import target
if (NOT TARGET @PACKAGE_NAME@) if (NOT TARGET @PACKAGE_NAME@)
if (@PACKAGE_NAME@_SHARED) if (@PACKAGE_PREFIX@_SHARED)
add_library (@PACKAGE_NAME@ SHARED IMPORTED) add_library (@PACKAGE_NAME@ SHARED IMPORTED)
else () else ()
add_library (@PACKAGE_NAME@ STATIC IMPORTED) add_library (@PACKAGE_NAME@ STATIC IMPORTED)
endif () endif ()
# INTERFACE_INCLUDE_DIRECTORIES # copy INTERFACE_* properties
get_target_property (_@PACKAGE_NAME@_INCLUDES ${@PACKAGE_NAME@_TARGET} INTERFACE_INCLUDE_DIRECTORIES) foreach (_@PACKAGE_PREFIX@_PROPERTY_NAME IN ITEMS
if (_@PACKAGE_NAME@_INCLUDES) COMPILE_DEFINITIONS
set_target_properties(@PACKAGE_NAME@ PROPERTIES COMPILE_FEATURES
INTERFACE_INCLUDE_DIRECTORIES "${_@PACKAGE_NAME@_INCLUDES}" COMPILE_OPTIONS
) INCLUDE_DIRECTORIES
endif () LINK_LIBRARIES
unset (_@PACKAGE_NAME@_INCLUDES) POSITION_INDEPENDENT_CODE
# set configuration specific properties )
get_target_property (_@PACKAGE_NAME@_CONFIGURATIONS ${@PACKAGE_NAME@_TARGET} IMPORTED_CONFIGURATIONS) get_target_property (_@PACKAGE_PREFIX@_PROPERTY_VALUE ${@PACKAGE_PREFIX@_TARGET} INTERFACE_${_@PACKAGE_PREFIX@_PROPERTY_NAME})
set_target_properties (@PACKAGE_NAME@ PROPERTIES IMPORTED_CONFIGURATIONS "${_@PACKAGE_NAME@_CONFIGURATIONS}") if (_@PACKAGE_PREFIX@_PROPERTY_VALUE)
foreach (_@PACKAGE_NAME@_CONFIG IN LISTS _@PACKAGE_NAME@_CONFIGURATIONS)
# IMPORTED_LOCATION_<config>
get_target_property (_@PACKAGE_NAME@_LOCATION ${@PACKAGE_NAME@_TARGET} IMPORTED_LOCATION_${_@PACKAGE_NAME@_CONFIG})
if (_@PACKAGE_NAME@_LOCATION)
set_target_properties(@PACKAGE_NAME@ PROPERTIES
IMPORTED_LOCATION_${_@PACKAGE_NAME@_CONFIG} "${_@PACKAGE_NAME@_LOCATION}"
)
endif ()
unset (_@PACKAGE_NAME@_LOCATION)
# IMPORTED_LINK_INTERFACE_LANGUAGES_<config> (static)
get_target_property (_@PACKAGE_NAME@_LANGUAGES ${@PACKAGE_NAME@_TARGET} IMPORTED_LINK_INTERFACE_LANGUAGES_${_@PACKAGE_NAME@_CONFIG})
if (_@PACKAGE_NAME@_LANGUAGES)
set_target_properties(@PACKAGE_NAME@ PROPERTIES set_target_properties(@PACKAGE_NAME@ PROPERTIES
IMPORTED_LINK_INTERFACE_LANGUAGES_${_@PACKAGE_NAME@_CONFIG} "${_@PACKAGE_NAME@_LANGUAGES}" INTERFACE_${_@PACKAGE_PREFIX@_PROPERTY_NAME} "${_@PACKAGE_PREFIX@_PROPERTY_VALUE}"
) )
endif () endif ()
unset (_@PACKAGE_NAME@_LANGUAGES)
# IMPORTED_SONAME_<config> (shared)
get_target_property (_@PACKAGE_NAME@_SONAME ${@PACKAGE_NAME@_TARGET} IMPORTED_SONAME_${_@PACKAGE_NAME@_CONFIG})
if (_@PACKAGE_NAME@_SONAME)
set_target_properties(@PACKAGE_NAME@ PROPERTIES
IMPORTED_SONAME_${_@PACKAGE_NAME@_CONFIG} "${_@PACKAGE_NAME@_SONAME}"
)
endif ()
unset (_@PACKAGE_NAME@_SONAME)
endforeach () endforeach ()
unset (_@PACKAGE_NAME@_CONFIGURATIONS) # copy IMPORTED_*_<CONFIG> properties
get_target_property (_@PACKAGE_PREFIX@_CONFIGURATIONS ${@PACKAGE_PREFIX@_TARGET} IMPORTED_CONFIGURATIONS)
set_target_properties (@PACKAGE_NAME@ PROPERTIES IMPORTED_CONFIGURATIONS "${_@PACKAGE_PREFIX@_CONFIGURATIONS}")
foreach (_@PACKAGE_PREFIX@_PROPERTY_NAME IN ITEMS
LOCATION
LINK_DEPENDENT_LIBRARIES
LINK_INTERFACE_LIBRARIES
LINK_INTERFACE_LANGUAGES
LINK_INTERFACE_MULTIPLICITY
NO_SONAME
SONAME
)
foreach (_@PACKAGE_PREFIX@_CONFIG IN LISTS _@PACKAGE_PREFIX@_CONFIGURATIONS)
get_target_property (_@PACKAGE_PREFIX@_PROPERTY_VALUE ${@PACKAGE_PREFIX@_TARGET} IMPORTED_${_@PACKAGE_PREFIX@_PROPERTY_NAME}_${_@PACKAGE_PREFIX@_CONFIG})
if (_@PACKAGE_PREFIX@_PROPERTY_VALUE)
set_target_properties(@PACKAGE_NAME@ PROPERTIES
IMPORTED_${_@PACKAGE_PREFIX@_PROPERTY_NAME}_${_@PACKAGE_PREFIX@_CONFIG} "${_@PACKAGE_PREFIX@_PROPERTY_VALUE}"
)
endif ()
endforeach ()
endforeach ()
unset (_@PACKAGE_PREFIX@_CONFIGURATIONS)
unset (_@PACKAGE_PREFIX@_CONFIG)
unset (_@PACKAGE_PREFIX@_PROPERTY_NAME)
unset (_@PACKAGE_PREFIX@_PROPERTY_VALUE)
endif () endif ()
# alias for default import target to be compatible with older CMake package configurations # alias for default import target to be compatible with older CMake package configurations
set (@PACKAGE_NAME@_LIBRARIES "${@PACKAGE_NAME@_TARGET}") set (@PACKAGE_PREFIX@_LIBRARIES "${@PACKAGE_PREFIX@_TARGET}")
# set @PACKAGE_NAME@_* variables for backwards compatibility
if (NOT "^@PACKAGE_NAME@$" STREQUAL "^@PACKAGE_PREFIX@$")
foreach (_@PACKAGE_PREFIX@_VARIABLE IN ITEMS
VERSION_STRING
VERSION_MAJOR
VERSION_MINOR
VERSION_PATCH
INCLUDE_DIR
LIBRARIES
TARGET
)
set (@PACKAGE_NAME@_${_@PACKAGE_PREFIX@_VARIABLE} "${@PACKAGE_PREFIX@_${_@PACKAGE_PREFIX@_VARIABLE}}")
endforeach ()
unset (_@PACKAGE_PREFIX@_VARIABLE)
endif ()
# unset private variables # unset private variables
unset (_INSTALL_PREFIX) unset (_INSTALL_PREFIX)
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment