Skip to content

Commit

Permalink
add cmake/files.
Browse files Browse the repository at this point in the history
  • Loading branch information
thawk105 committed Aug 3, 2020
1 parent 18e5771 commit c4f61c3
Show file tree
Hide file tree
Showing 3 changed files with 81 additions and 0 deletions.
33 changes: 33 additions & 0 deletions cmake/CompileOptions.cmake
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
set(CMAKE_CXX_STANDARD 17)
set(CMAKE_CXX_EXTENSIONS OFF)
set(CMAKE_CXX_STANDARD_REQUIRED ON)

set(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} -fno-omit-frame-pointer")
set(CMAKE_CXX_FLAGS_RELWITHDEBINFO "${CMAKE_CXX_FLAGS_RELWITHDEBINFO} -fno-omit-frame-pointer")

set(sanitizers "address")
if (ENABLE_UB_SANITIZER)
# NOTE: UB check requires instrumented libstdc++
set(sanitizers "${sanitizers},undefined")
endif ()
if (CMAKE_CXX_COMPILER_ID STREQUAL "GNU")
# do nothing for gcc
elseif (CMAKE_CXX_COMPILER_ID MATCHES "^(Clang|AppleClang)$")
set(sanitizers "${sanitizers},nullability")
else ()
message(FATAL_ERROR "unsupported compiler ${CMAKE_CXX_COMPILER_ID}")
endif ()

if (ENABLE_SANITIZER)
set(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} -fsanitize=${sanitizers}")
set(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} -fno-sanitize=alignment")
set(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} -fno-sanitize-recover=${sanitizers}")
endif ()
if (ENABLE_COVERAGE)
set(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} --coverage")
endif ()

function(set_compile_options target_name)
target_compile_options(${target_name}
PRIVATE -Wall -Wextra -Werror)
endfunction(set_compile_options)
24 changes: 24 additions & 0 deletions cmake/Findgflags.cmake
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
if(TARGET gflags::gflags)
return()
endif()

find_library(gflags_LIBRARY_FILE NAMES gflags)
find_path(gflags_INCLUDE_DIR NAMES gflags/gflags.h)

include(FindPackageHandleStandardArgs)
find_package_handle_standard_args(gflags DEFAULT_MSG
gflags_LIBRARY_FILE
gflags_INCLUDE_DIR)

if(gflags_LIBRARY_FILE AND gflags_INCLUDE_DIR)
set(gflags_FOUND ON)
add_library(gflags::gflags SHARED IMPORTED)
set_target_properties(gflags::gflags PROPERTIES
IMPORTED_LOCATION "${gflags_LIBRARY_FILE}"
INTERFACE_INCLUDE_DIRECTORIES "${gflags_INCLUDE_DIR}")
else()
set(gflags_FOUND OFF)
endif()

unset(gflags_LIBRARY_FILE CACHE)
unset(gflags_INCLUDE_DIR CACHE)
24 changes: 24 additions & 0 deletions cmake/Findglog.cmake
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
if(TARGET glog::glog)
return()
endif()

find_library(glog_LIBRARY_FILE NAMES glog)
find_path(glog_INCLUDE_DIR NAMES glog/logging.h)

include(FindPackageHandleStandardArgs)
find_package_handle_standard_args(glog DEFAULT_MSG
glog_LIBRARY_FILE
glog_INCLUDE_DIR)

if(glog_LIBRARY_FILE AND glog_INCLUDE_DIR)
set(glog_FOUND ON)
add_library(glog::glog SHARED IMPORTED)
set_target_properties(glog::glog PROPERTIES
IMPORTED_LOCATION "${glog_LIBRARY_FILE}"
INTERFACE_INCLUDE_DIRECTORIES "${glog_INCLUDE_DIR}")
else()
set(glog_FOUND OFF)
endif()

unset(glog_LIBRARY_FILE CACHE)
unset(glog_INCLUDE_DIR CACHE)

0 comments on commit c4f61c3

Please sign in to comment.