X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=CMakeLists.txt;h=dc446b905f98e82d9e6856e3faef261408c78b1d;hb=ff5fa62a5f651aaee4b58ef96af4370cf888cfbc;hp=a32cb00761e28b61a4bd013a41201661050384cd;hpb=f46e0745a842b2edc924b6d384acf01fd7034c62;p=platform%2Fupstream%2Fglog.git diff --git a/CMakeLists.txt b/CMakeLists.txt index a32cb00..dc446b9 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -101,8 +101,14 @@ check_function_exists (pwrite HAVE_PWRITE) check_function_exists (sigaction HAVE_SIGACTION) check_function_exists (sigaltstack HAVE_SIGALSTACK) -check_cxx_compiler_flag (-Wno-deprecated HAVE_NO_DEPRECATED) -check_cxx_compiler_flag (-Wno-unnamed-type-template-args +# NOTE gcc does not fail if you pass a non-existent -Wno-* option as an +# argument. However, it will happily fail if you pass the corresponding -W* +# option. So, we check whether options that disable warnings exist by testing +# the availability of the corresponding option that enables the warning. This +# eliminates the need to check for compiler for several (mainly Clang) options. + +check_cxx_compiler_flag (-Wdeprecated HAVE_NO_DEPRECATED) +check_cxx_compiler_flag (-Wunnamed-type-template-args HAVE_NO_UNNAMED_TYPE_TEMPLATE_ARGS) # NOTE: Cannot use check_function_exists here since >=vc-14.0 can define @@ -368,10 +374,14 @@ if (WIN32) ) endif (WIN32) +add_compile_options ($<$:-Wno-unnamed-type-template-args>) + add_library (glog ${GLOG_SRCS} ) +set_target_properties (glog PROPERTIES POSITION_INDEPENDENT_CODE ON) + if (UNWIND_LIBRARY) target_link_libraries (glog PUBLIC ${UNWIND_LIBRARY}) endif (UNWIND_LIBRARY) @@ -385,12 +395,8 @@ if (WIN32 AND HAVE_SNPRINTF) HAVE_SNPRINTF) endif (WIN32 AND HAVE_SNPRINTF) -if (HAVE_NO_UNNAMED_TYPE_TEMPLATE_ARGS) - target_compile_options (glog PUBLIC -Wno-unnamed-type-template-args) -endif (HAVE_NO_UNNAMED_TYPE_TEMPLATE_ARGS) - if (gflags_FOUND) - target_include_directories (glog PUBLIC ${gflags_INCLUDE_DIR}) + target_include_directories (glog PUBLIC $) target_link_libraries (glog PUBLIC ${gflags_LIBRARIES}) if (NOT BUILD_SHARED_LIBS) @@ -551,44 +557,24 @@ install (TARGETS glog LIBRARY DESTINATION lib ARCHIVE DESTINATION lib) -# Build tree config - -set (glog_INCLUDE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/src) -set (glog_PACKAGE_DEPS) - if (gflags_FOUND) - set (glog_PACKAGE_DEPS -" -include (CMakeFindDependencyMacro) - -find_dependency (gflags ${gflags_VERSION}) -") + set (gflags_DEPENDENCY "find_dependency (gflags ${gflags_VERSION})") endif (gflags_FOUND) configure_package_config_file (glog-config.cmake.in - ${CMAKE_CURRENT_BINARY_DIR}/glog-config.cmake INSTALL_DESTINATION - lib/cmake/glog PATH_VARS glog_INCLUDE_DIR + ${CMAKE_CURRENT_BINARY_DIR}/glog-config.cmake + INSTALL_DESTINATION lib/cmake/glog NO_CHECK_REQUIRED_COMPONENTS_MACRO) -# The version file is the same both for build tree and install mode config write_basic_package_version_file (glog-config-version.cmake VERSION ${GLOG_VERSION} COMPATIBILITY SameMajorVersion) -# Install config - -set (glog_INCLUDE_DIR include) - -configure_package_config_file (glog-config.cmake.in - ${CMAKE_CURRENT_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/glog-config.cmake - INSTALL_DESTINATION lib/cmake/glog PATH_VARS glog_INCLUDE_DIR - NO_CHECK_REQUIRED_COMPONENTS_MACRO) - -export (TARGETS glog FILE glog-targets.cmake) +export (TARGETS glog NAMESPACE glog:: FILE glog-targets.cmake) export (PACKAGE glog) install (FILES - ${CMAKE_CURRENT_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/glog-config.cmake + ${CMAKE_CURRENT_BINARY_DIR}/glog-config.cmake ${CMAKE_CURRENT_BINARY_DIR}/glog-config-version.cmake DESTINATION lib/cmake/glog) -install (EXPORT glog-targets DESTINATION lib/cmake/glog) +install (EXPORT glog-targets NAMESPACE glog:: DESTINATION lib/cmake/glog)