mirror of
https://github.com/gflags/gflags.git
synced 2025-04-05 05:25:04 +00:00
Add GFLAGS_INCLUDE_DIR CMake variable (Fixes issue #80).
Both GFLAGS_NAMESPACE and GFLAGS_INCLUDE_DIR can be used to customize the installation of the gflags library. One specifies the C++ namespace name of the gflags symbols, the other the include subdirectory path of the public header files. By default, both are set to "gflags", but other Google libraries still expect "google" as C++ namespace name, but not necessarily also include path.
This commit is contained in:
parent
4aa1984c51
commit
aff8ef820a
2 changed files with 18 additions and 9 deletions
|
@ -24,7 +24,15 @@ version_numbers (
|
|||
|
||||
# ----------------------------------------------------------------------------
|
||||
# options
|
||||
set (GFLAGS_NAMESPACE "${PACKAGE_NAME}" CACHE STRING "C++ namespace identifier of gflags library.")
|
||||
set (GFLAGS_NAMESPACE "${PACKAGE_NAME}" CACHE STRING "C++ namespace identifier of gflags library.")
|
||||
set (GFLAGS_INCLUDE_DIR "${PACKAGE_NAME}" CACHE STRING "Include subdirectory of gflags header files.")
|
||||
|
||||
if (IS_ABSOLUTE GFLAGS_INCLUDE_DIR)
|
||||
message (FATAL_ERROR "GFLAGS_INCLUDE_DIR must be a path relative to CMAKE_INSTALL_PREFIX/include")
|
||||
endif ()
|
||||
if (GFLAGS_INCLUDE_DIR MATCHES "^\\.\\.[/\\]")
|
||||
message (FATAL_ERROR "GFLAGS_INCLUDE_DIR must not start with parent directory reference (../)")
|
||||
endif ()
|
||||
|
||||
option (BUILD_SHARED_LIBS "Request build of shared libraries." OFF)
|
||||
option (BUILD_STATIC_LIBS "Request build of static libraries (default if BUILD_SHARED_LIBS is OFF)." OFF)
|
||||
|
@ -38,6 +46,7 @@ option (INSTALL_HEADERS "Request packaging of headers and other devel
|
|||
mark_as_advanced (CLEAR CMAKE_INSTALL_PREFIX)
|
||||
mark_as_advanced (CMAKE_CONFIGURATION_TYPES
|
||||
GFLAGS_NAMESPACE
|
||||
GFLAGS_INCLUDE_DIR
|
||||
BUILD_STATIC_LIBS
|
||||
BUILD_NC_TESTS
|
||||
INSTALL_HEADERS)
|
||||
|
@ -212,7 +221,7 @@ configure_sources (GFLAGS_SRCS ${GFLAGS_SRCS})
|
|||
|
||||
include_directories ("${PROJECT_SOURCE_DIR}/src")
|
||||
include_directories ("${PROJECT_BINARY_DIR}/include")
|
||||
include_directories ("${PROJECT_BINARY_DIR}/include/${GFLAGS_NAMESPACE}")
|
||||
include_directories ("${PROJECT_BINARY_DIR}/include/${GFLAGS_INCLUDE_DIR}")
|
||||
|
||||
# ----------------------------------------------------------------------------
|
||||
# output directories
|
||||
|
@ -282,7 +291,7 @@ configure_file (cmake/version.cmake.in "${PROJECT_BINARY_DIR}/${PACKAGE_NAME}-co
|
|||
|
||||
install (TARGETS ${TARGETS} DESTINATION ${LIBRARY_INSTALL_DIR} EXPORT gflags-lib)
|
||||
if (INSTALL_HEADERS)
|
||||
install (FILES ${PUBLIC_HDRS} DESTINATION ${INCLUDE_INSTALL_DIR}/${GFLAGS_NAMESPACE})
|
||||
install (FILES ${PUBLIC_HDRS} DESTINATION ${INCLUDE_INSTALL_DIR}/${GFLAGS_INCLUDE_DIR})
|
||||
install (
|
||||
FILES "${PROJECT_BINARY_DIR}/${PACKAGE_NAME}-config-install.cmake"
|
||||
RENAME ${PACKAGE_NAME}-config.cmake
|
||||
|
|
|
@ -47,11 +47,11 @@ function (configure_headers out)
|
|||
set (tmp)
|
||||
foreach (src IN LISTS ARGN)
|
||||
if (EXISTS "${PROJECT_SOURCE_DIR}/src/${src}.in")
|
||||
configure_file ("${PROJECT_SOURCE_DIR}/src/${src}.in" "${PROJECT_BINARY_DIR}/include/${GFLAGS_NAMESPACE}/${src}" @ONLY)
|
||||
list (APPEND tmp "${PROJECT_BINARY_DIR}/include/${GFLAGS_NAMESPACE}/${src}")
|
||||
configure_file ("${PROJECT_SOURCE_DIR}/src/${src}.in" "${PROJECT_BINARY_DIR}/include/${GFLAGS_INCLUDE_DIR}/${src}" @ONLY)
|
||||
list (APPEND tmp "${PROJECT_BINARY_DIR}/include/${GFLAGS_INCLUDE_DIR}/${src}")
|
||||
else ()
|
||||
configure_file ("${PROJECT_SOURCE_DIR}/src/${src}" "${PROJECT_BINARY_DIR}/include/${GFLAGS_NAMESPACE}/${src}" COPYONLY)
|
||||
list (APPEND tmp "${PROJECT_BINARY_DIR}/include/${GFLAGS_NAMESPACE}/${src}")
|
||||
configure_file ("${PROJECT_SOURCE_DIR}/src/${src}" "${PROJECT_BINARY_DIR}/include/${GFLAGS_INCLUDE_DIR}/${src}" COPYONLY)
|
||||
list (APPEND tmp "${PROJECT_BINARY_DIR}/include/${GFLAGS_INCLUDE_DIR}/${src}")
|
||||
endif ()
|
||||
endforeach ()
|
||||
set (${out} "${tmp}" PARENT_SCOPE)
|
||||
|
@ -63,8 +63,8 @@ function (configure_sources out)
|
|||
set (tmp)
|
||||
foreach (src IN LISTS ARGN)
|
||||
if (src MATCHES ".h$" AND EXISTS "${PROJECT_SOURCE_DIR}/src/${src}.in")
|
||||
configure_file ("${PROJECT_SOURCE_DIR}/src/${src}.in" "${PROJECT_BINARY_DIR}/include/${GFLAGS_NAMESPACE}/${src}" @ONLY)
|
||||
list (APPEND tmp "${PROJECT_BINARY_DIR}/include/${GFLAGS_NAMESPACE}/${src}")
|
||||
configure_file ("${PROJECT_SOURCE_DIR}/src/${src}.in" "${PROJECT_BINARY_DIR}/include/${GFLAGS_INCLUDE_DIR}/${src}" @ONLY)
|
||||
list (APPEND tmp "${PROJECT_BINARY_DIR}/include/${GFLAGS_INCLUDE_DIR}/${src}")
|
||||
else ()
|
||||
list (APPEND tmp "${PROJECT_SOURCE_DIR}/src/${src}")
|
||||
endif ()
|
||||
|
|
Loading…
Add table
Reference in a new issue