list (APPEND CMAKE_MODULE_PATH ${CMAKE_CURRENT_SOURCE_DIR}/cmake)
-include (CMakePackageConfigHelpers)
-include (CPack)
include (CheckCSourceCompiles)
include (CheckCXXCompilerFlag)
include (CheckCXXSourceCompiles)
include (CheckStructHasMember)
include (CheckSymbolExists)
include (CheckTypeSize)
+include (CMakePackageConfigHelpers)
+include (CPack)
+include (CTest)
include (DetermineGflagsNamespace)
set (CMAKE_THREAD_PREFER_PTHREAD 1)
${GLOG_SRCS}
)
+set_target_properties (glog PROPERTIES POSITION_INDEPENDENT_CODE ON)
+
if (UNWIND_LIBRARY)
target_link_libraries (glog PUBLIC ${UNWIND_LIBRARY})
endif (UNWIND_LIBRARY)
endif (WIN32 AND HAVE_SNPRINTF)
if (gflags_FOUND)
- target_include_directories (glog PUBLIC ${gflags_INCLUDE_DIR})
+ target_include_directories (glog PUBLIC $<BUILD_INTERFACE:${gflags_INCLUDE_DIR}>)
target_link_libraries (glog PUBLIC ${gflags_LIBRARIES})
if (NOT BUILD_SHARED_LIBS)
# Unit testing
-add_executable (logging_unittest
- src/logging_unittest.cc
-)
-
-target_link_libraries (logging_unittest PRIVATE glog)
-
-add_executable (stl_logging_unittest
- src/stl_logging_unittest.cc
-)
+if (BUILD_TESTING)
+ add_executable (logging_unittest
+ src/logging_unittest.cc
+ )
-target_link_libraries (stl_logging_unittest PRIVATE glog)
+ target_link_libraries (logging_unittest PRIVATE glog)
-if (HAVE_NO_DEPRECATED)
- set_property (TARGET stl_logging_unittest APPEND PROPERTY COMPILE_OPTIONS
- -Wno-deprecated)
-endif (HAVE_NO_DEPRECATED)
+ add_executable (stl_logging_unittest
+ src/stl_logging_unittest.cc
+ )
-if (HAVE_UNORDERED_MAP AND HAVE_UNORDERED_SET)
- target_compile_definitions (stl_logging_unittest PRIVATE
- GLOG_STL_LOGGING_FOR_UNORDERED)
-endif (HAVE_UNORDERED_MAP AND HAVE_UNORDERED_SET)
+ target_link_libraries (stl_logging_unittest PRIVATE glog)
-if (HAVE_TR1_UNORDERED_MAP AND HAVE_TR1_UNORDERED_SET)
- target_compile_definitions (stl_logging_unittest PRIVATE
- GLOG_STL_LOGGING_FOR_TR1_UNORDERED)
-endif (HAVE_TR1_UNORDERED_MAP AND HAVE_TR1_UNORDERED_SET)
+ if (HAVE_NO_DEPRECATED)
+ set_property (TARGET stl_logging_unittest APPEND PROPERTY COMPILE_OPTIONS
+ -Wno-deprecated)
+ endif (HAVE_NO_DEPRECATED)
-if (HAVE_EXT_HASH_MAP AND HAVE_EXT_HASH_SET)
- target_compile_definitions (stl_logging_unittest PRIVATE
- GLOG_STL_LOGGING_FOR_EXT_HASH)
-endif (HAVE_EXT_HASH_MAP AND HAVE_EXT_HASH_SET)
+ if (HAVE_UNORDERED_MAP AND HAVE_UNORDERED_SET)
+ target_compile_definitions (stl_logging_unittest PRIVATE
+ GLOG_STL_LOGGING_FOR_UNORDERED)
+ endif (HAVE_UNORDERED_MAP AND HAVE_UNORDERED_SET)
-if (HAVE_EXT_SLIST)
- target_compile_definitions (stl_logging_unittest PRIVATE
- GLOG_STL_LOGGING_FOR_EXT_SLIST)
-endif (HAVE_EXT_SLIST)
+ if (HAVE_TR1_UNORDERED_MAP AND HAVE_TR1_UNORDERED_SET)
+ target_compile_definitions (stl_logging_unittest PRIVATE
+ GLOG_STL_LOGGING_FOR_TR1_UNORDERED)
+ endif (HAVE_TR1_UNORDERED_MAP AND HAVE_TR1_UNORDERED_SET)
-if (HAVE_SYMBOLIZE)
- add_executable (symbolize_unittest
- src/symbolize_unittest.cc
- )
+ if (HAVE_EXT_HASH_MAP AND HAVE_EXT_HASH_SET)
+ target_compile_definitions (stl_logging_unittest PRIVATE
+ GLOG_STL_LOGGING_FOR_EXT_HASH)
+ endif (HAVE_EXT_HASH_MAP AND HAVE_EXT_HASH_SET)
- target_link_libraries (symbolize_unittest PRIVATE glog)
-endif (HAVE_SYMBOLIZE)
+ if (HAVE_EXT_SLIST)
+ target_compile_definitions (stl_logging_unittest PRIVATE
+ GLOG_STL_LOGGING_FOR_EXT_SLIST)
+ endif (HAVE_EXT_SLIST)
-add_executable (demangle_unittest
- src/demangle_unittest.cc
-)
+ if (HAVE_SYMBOLIZE)
+ add_executable (symbolize_unittest
+ src/symbolize_unittest.cc
+ )
-target_link_libraries (demangle_unittest PRIVATE glog)
+ target_link_libraries (symbolize_unittest PRIVATE glog)
+ endif (HAVE_SYMBOLIZE)
-if (HAVE_STACKTRACE)
- add_executable (stacktrace_unittest
- src/stacktrace_unittest.cc
+ add_executable (demangle_unittest
+ src/demangle_unittest.cc
)
- target_link_libraries (stacktrace_unittest PRIVATE glog)
-endif (HAVE_STACKTRACE)
+ target_link_libraries (demangle_unittest PRIVATE glog)
-add_executable (utilities_unittest
- src/utilities_unittest.cc
-)
+ if (HAVE_STACKTRACE)
+ add_executable (stacktrace_unittest
+ src/stacktrace_unittest.cc
+ )
-target_link_libraries (utilities_unittest PRIVATE glog)
+ target_link_libraries (stacktrace_unittest PRIVATE glog)
+ endif (HAVE_STACKTRACE)
-if (HAVE_STACKTRACE AND HAVE_SYMBOLIZE)
- add_executable (signalhandler_unittest
- src/signalhandler_unittest.cc
+ add_executable (utilities_unittest
+ src/utilities_unittest.cc
)
- target_link_libraries (signalhandler_unittest PRIVATE glog)
-endif (HAVE_STACKTRACE AND HAVE_SYMBOLIZE)
+ target_link_libraries (utilities_unittest PRIVATE glog)
+
+ if (HAVE_STACKTRACE AND HAVE_SYMBOLIZE)
+ add_executable (signalhandler_unittest
+ src/signalhandler_unittest.cc
+ )
+
+ target_link_libraries (signalhandler_unittest PRIVATE glog)
+ endif (HAVE_STACKTRACE AND HAVE_SYMBOLIZE)
-add_test (NAME demangle COMMAND demangle_unittest)
-add_test (NAME logging COMMAND logging_unittest)
+ add_test (NAME demangle COMMAND demangle_unittest)
+ add_test (NAME logging COMMAND logging_unittest)
-if (TARGET signalhandler_unittest)
- add_test (NAME signalhandler COMMAND signalhandler_unittest)
-endif (TARGET signalhandler_unittest)
+ if (TARGET signalhandler_unittest)
+ add_test (NAME signalhandler COMMAND signalhandler_unittest)
+ endif (TARGET signalhandler_unittest)
-if (TARGET stacktrace_unittest)
- add_test (NAME stacktrace COMMAND stacktrace_unittest)
-endif (TARGET stacktrace_unittest)
+ if (TARGET stacktrace_unittest)
+ add_test (NAME stacktrace COMMAND stacktrace_unittest)
+ endif (TARGET stacktrace_unittest)
-add_test (NAME stl_logging COMMAND stl_logging_unittest)
+ add_test (NAME stl_logging COMMAND stl_logging_unittest)
-if (TARGET symbolize_unittest)
- add_test (NAME symbolize COMMAND symbolize_unittest)
-endif (TARGET symbolize_unittest)
+ if (TARGET symbolize_unittest)
+ add_test (NAME symbolize COMMAND symbolize_unittest)
+ endif (TARGET symbolize_unittest)
+endif (BUILD_TESTING)
install (TARGETS glog
EXPORT glog-targets