cmake_minimum_required (VERSION 2.8.4 FATAL_ERROR)
+if (POLICY CMP0042)
+ cmake_policy (SET CMP0042 NEW)
+endif ()
+
# ----------------------------------------------------------------------------
# includes
set (CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/cmake")
# ----------------------------------------------------------------------------
# package information
set (PACKAGE_NAME "gflags")
-set (PACKAGE_VERSION "2.1.1")
+set (PACKAGE_VERSION "2.2.0")
set (PACKAGE_STRING "${PACKAGE_NAME} ${PACKAGE_VERSION}")
set (PACKAGE_TARNAME "${PACKAGE_NAME}-${PACKAGE_VERSION}")
-set (PACKAGE_BUGREPORT "https://code.google.com/p/gflags/issues/")
+set (PACKAGE_BUGREPORT "https://github.com/schuhschuh/gflags/issues")
project (${PACKAGE_NAME} CXX)
configure_sources (PRIVATE_HDRS ${PRIVATE_HDRS})
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_INCLUDE_DIR}")
+# deprecated declaration of include directories for older CMake versions
+if (NOT COMMAND target_include_directories)
+ include_directories ("${PROJECT_SOURCE_DIR}/src")
+ include_directories ("${PROJECT_BINARY_DIR}/include")
+ include_directories ("${PROJECT_BINARY_DIR}/include/${GFLAGS_INCLUDE_DIR}")
+endif ()
# ----------------------------------------------------------------------------
# output directories
set (CMAKE_ARCHIVE_OUTPUT_DIRECTORY "lib")
# ----------------------------------------------------------------------------
+# installation directories
+if (OS_WINDOWS)
+ set (RUNTIME_INSTALL_DIR Bin)
+ set (LIBRARY_INSTALL_DIR Lib)
+ set (INCLUDE_INSTALL_DIR Include)
+ set (CONFIG_INSTALL_DIR CMake)
+else ()
+ set (RUNTIME_INSTALL_DIR bin)
+ # The LIB_INSTALL_DIR and LIB_SUFFIX variables are used by the Fedora
+ # package maintainers. Also package maintainers of other distribution
+ # packages need to be able to specify the name of the library directory.
+ if (NOT LIB_INSTALL_DIR)
+ set (LIB_INSTALL_DIR "lib${LIB_SUFFIX}")
+ endif ()
+ set (LIBRARY_INSTALL_DIR "${LIB_INSTALL_DIR}"
+ CACHE PATH "Directory of installed libraries, e.g., \"lib64\""
+ )
+ mark_as_advanced (LIBRARY_INSTALL_DIR)
+ set (INCLUDE_INSTALL_DIR include)
+ set (CONFIG_INSTALL_DIR ${LIBRARY_INSTALL_DIR}/cmake/${PACKAGE_NAME})
+endif ()
+
+# ----------------------------------------------------------------------------
# add library targets
set (TARGETS)
# static vs. shared
foreach (opts IN ITEMS "" _nothreads)
if (BUILD_gflags${opts}_LIB)
add_library (gflags${opts}-${type} ${TYPE} ${GFLAGS_SRCS} ${PRIVATE_HDRS} ${PUBLIC_HDRS})
+ if (COMMAND target_include_directories)
+ target_include_directories (gflags${opts}-${type}
+ PUBLIC "$<BUILD_INTERFACE:${PROJECT_BINARY_DIR}/include>"
+ PRIVATE "${PROJECT_SOURCE_DIR}/src;${PROJECT_BINARY_DIR}/include/${GFLAGS_INCLUDE_DIR}"
+ )
+ if (INSTALL_HEADERS)
+ target_include_directories (gflags${opts}-${type}
+ PUBLIC "$<INSTALL_INTERFACE:${INCLUDE_INSTALL_DIR}>"
+ )
+ endif ()
+ endif ()
if (opts MATCHES "nothreads")
set (defines "GFLAGS_IS_A_DLL=${GFLAGS_IS_A_DLL};NOTHREADS")
else ()
endforeach ()
# ----------------------------------------------------------------------------
-# installation
-if (OS_WINDOWS)
- set (RUNTIME_INSTALL_DIR Bin)
- set (LIBRARY_INSTALL_DIR Lib)
- set (INCLUDE_INSTALL_DIR Include)
- set (CONFIG_INSTALL_DIR CMake)
-else ()
- set (RUNTIME_INSTALL_DIR bin)
- # The LIB_INSTALL_DIR and LIB_SUFFIX variables are used by the Fedora
- # package maintainers. Also package maintainers of other distribution
- # packages need to be able to specify the name of the library directory.
- if (NOT LIB_INSTALL_DIR)
- set (LIB_INSTALL_DIR "lib${LIB_SUFFIX}")
- endif ()
- set (LIBRARY_INSTALL_DIR "${LIB_INSTALL_DIR}"
- CACHE PATH "Directory of installed libraries, e.g., \"lib64\""
- )
- mark_as_advanced (LIBRARY_INSTALL_DIR)
- set (INCLUDE_INSTALL_DIR include)
- set (CONFIG_INSTALL_DIR ${LIBRARY_INSTALL_DIR}/cmake/${PACKAGE_NAME})
-endif ()
-
+# installation rules
file (RELATIVE_PATH INSTALL_PREFIX_REL2CONFIG_DIR "${CMAKE_INSTALL_PREFIX}/${CONFIG_INSTALL_DIR}" "${CMAKE_INSTALL_PREFIX}")
configure_file (cmake/config.cmake.in "${PROJECT_BINARY_DIR}/${PACKAGE_NAME}-config-install.cmake" @ONLY)
configure_file (cmake/version.cmake.in "${PROJECT_BINARY_DIR}/${PACKAGE_NAME}-config-version.cmake" @ONLY)
set (CPACK_PACKAGE_VERSION_MINOR "${PACKAGE_VERSION_MINOR}")
set (CPACK_PACKAGE_VERSION_PATCH "${PACKAGE_VERSION_PATCH}")
set (CPACK_PACKAGE_DESCRIPTION_SUMMARY "A commandline flags library that allows for distributed flags.")
- set (CPACK_RESOURCE_FILE_WELCOME "${CMAKE_CURRENT_LIST_DIR}/README.txt")
+ set (CPACK_RESOURCE_FILE_WELCOME "${CMAKE_CURRENT_LIST_DIR}/README.md")
set (CPACK_RESOURCE_FILE_LICENSE "${CMAKE_CURRENT_LIST_DIR}/COPYING.txt")
- set (CPACK_PACKAGE_DESCRIPTION_FILE "${CMAKE_CURRENT_LIST_DIR}/README.txt")
+ set (CPACK_PACKAGE_DESCRIPTION_FILE "${CMAKE_CURRENT_LIST_DIR}/README.md")
set (CPACK_INSTALL_PREFIX "${CMAKE_INSTALL_PREFIX}")
set (CPACK_OUTPUT_FILE_PREFIX packages)
set (CPACK_PACKAGE_RELOCATABLE TRUE)
# RPM package information -- used in cmake/package.cmake.in also for DEB
set (CPACK_RPM_PACKAGE_GROUP "Development/Libraries")
set (CPACK_RPM_PACKAGE_LICENSE "BSD")
- set (CPACK_RPM_PACKAGE_URL "http://code.google.com/p/gflags")
+ set (CPACK_RPM_PACKAGE_URL "http://schuhschuh.github.com/gflags")
set (CPACK_RPM_CHANGELOG_FILE "${CMAKE_CURRENT_LIST_DIR}/ChangeLog.txt")
if (INSTALL_HEADERS)
- set (CPACK_RESOURCE_FILE_README "${CMAKE_CURRENT_LIST_DIR}/doc/gflags.html")
+ set (CPACK_RESOURCE_FILE_README "${CMAKE_CURRENT_LIST_DIR}/doc/index.html")
else ()
set (CPACK_RESOURCE_FILE_README "${CMAKE_CURRENT_LIST_DIR}/cmake/README_runtime.txt")
endif ()