Skip to content

Commit 30d045d

Browse files
committed
Merge remote-tracking branch 'google/feature/gflags#80-configurable-include-path' into develop
2 parents 4aa1984 + aff8ef8 commit 30d045d

File tree

2 files changed

+18
-9
lines changed

2 files changed

+18
-9
lines changed

CMakeLists.txt

Lines changed: 12 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,15 @@ version_numbers (
2424

2525
# ----------------------------------------------------------------------------
2626
# options
27-
set (GFLAGS_NAMESPACE "${PACKAGE_NAME}" CACHE STRING "C++ namespace identifier of gflags library.")
27+
set (GFLAGS_NAMESPACE "${PACKAGE_NAME}" CACHE STRING "C++ namespace identifier of gflags library.")
28+
set (GFLAGS_INCLUDE_DIR "${PACKAGE_NAME}" CACHE STRING "Include subdirectory of gflags header files.")
29+
30+
if (IS_ABSOLUTE GFLAGS_INCLUDE_DIR)
31+
message (FATAL_ERROR "GFLAGS_INCLUDE_DIR must be a path relative to CMAKE_INSTALL_PREFIX/include")
32+
endif ()
33+
if (GFLAGS_INCLUDE_DIR MATCHES "^\\.\\.[/\\]")
34+
message (FATAL_ERROR "GFLAGS_INCLUDE_DIR must not start with parent directory reference (../)")
35+
endif ()
2836

2937
option (BUILD_SHARED_LIBS "Request build of shared libraries." OFF)
3038
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
3846
mark_as_advanced (CLEAR CMAKE_INSTALL_PREFIX)
3947
mark_as_advanced (CMAKE_CONFIGURATION_TYPES
4048
GFLAGS_NAMESPACE
49+
GFLAGS_INCLUDE_DIR
4150
BUILD_STATIC_LIBS
4251
BUILD_NC_TESTS
4352
INSTALL_HEADERS)
@@ -212,7 +221,7 @@ configure_sources (GFLAGS_SRCS ${GFLAGS_SRCS})
212221

213222
include_directories ("${PROJECT_SOURCE_DIR}/src")
214223
include_directories ("${PROJECT_BINARY_DIR}/include")
215-
include_directories ("${PROJECT_BINARY_DIR}/include/${GFLAGS_NAMESPACE}")
224+
include_directories ("${PROJECT_BINARY_DIR}/include/${GFLAGS_INCLUDE_DIR}")
216225

217226
# ----------------------------------------------------------------------------
218227
# output directories
@@ -282,7 +291,7 @@ configure_file (cmake/version.cmake.in "${PROJECT_BINARY_DIR}/${PACKAGE_NAME}-co
282291

283292
install (TARGETS ${TARGETS} DESTINATION ${LIBRARY_INSTALL_DIR} EXPORT gflags-lib)
284293
if (INSTALL_HEADERS)
285-
install (FILES ${PUBLIC_HDRS} DESTINATION ${INCLUDE_INSTALL_DIR}/${GFLAGS_NAMESPACE})
294+
install (FILES ${PUBLIC_HDRS} DESTINATION ${INCLUDE_INSTALL_DIR}/${GFLAGS_INCLUDE_DIR})
286295
install (
287296
FILES "${PROJECT_BINARY_DIR}/${PACKAGE_NAME}-config-install.cmake"
288297
RENAME ${PACKAGE_NAME}-config.cmake

cmake/utils.cmake

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -47,11 +47,11 @@ function (configure_headers out)
4747
set (tmp)
4848
foreach (src IN LISTS ARGN)
4949
if (EXISTS "${PROJECT_SOURCE_DIR}/src/${src}.in")
50-
configure_file ("${PROJECT_SOURCE_DIR}/src/${src}.in" "${PROJECT_BINARY_DIR}/include/${GFLAGS_NAMESPACE}/${src}" @ONLY)
51-
list (APPEND tmp "${PROJECT_BINARY_DIR}/include/${GFLAGS_NAMESPACE}/${src}")
50+
configure_file ("${PROJECT_SOURCE_DIR}/src/${src}.in" "${PROJECT_BINARY_DIR}/include/${GFLAGS_INCLUDE_DIR}/${src}" @ONLY)
51+
list (APPEND tmp "${PROJECT_BINARY_DIR}/include/${GFLAGS_INCLUDE_DIR}/${src}")
5252
else ()
53-
configure_file ("${PROJECT_SOURCE_DIR}/src/${src}" "${PROJECT_BINARY_DIR}/include/${GFLAGS_NAMESPACE}/${src}" COPYONLY)
54-
list (APPEND tmp "${PROJECT_BINARY_DIR}/include/${GFLAGS_NAMESPACE}/${src}")
53+
configure_file ("${PROJECT_SOURCE_DIR}/src/${src}" "${PROJECT_BINARY_DIR}/include/${GFLAGS_INCLUDE_DIR}/${src}" COPYONLY)
54+
list (APPEND tmp "${PROJECT_BINARY_DIR}/include/${GFLAGS_INCLUDE_DIR}/${src}")
5555
endif ()
5656
endforeach ()
5757
set (${out} "${tmp}" PARENT_SCOPE)
@@ -63,8 +63,8 @@ function (configure_sources out)
6363
set (tmp)
6464
foreach (src IN LISTS ARGN)
6565
if (src MATCHES ".h$" AND EXISTS "${PROJECT_SOURCE_DIR}/src/${src}.in")
66-
configure_file ("${PROJECT_SOURCE_DIR}/src/${src}.in" "${PROJECT_BINARY_DIR}/include/${GFLAGS_NAMESPACE}/${src}" @ONLY)
67-
list (APPEND tmp "${PROJECT_BINARY_DIR}/include/${GFLAGS_NAMESPACE}/${src}")
66+
configure_file ("${PROJECT_SOURCE_DIR}/src/${src}.in" "${PROJECT_BINARY_DIR}/include/${GFLAGS_INCLUDE_DIR}/${src}" @ONLY)
67+
list (APPEND tmp "${PROJECT_BINARY_DIR}/include/${GFLAGS_INCLUDE_DIR}/${src}")
6868
else ()
6969
list (APPEND tmp "${PROJECT_SOURCE_DIR}/src/${src}")
7070
endif ()

0 commit comments

Comments
 (0)