diff options
author | gabime <gmelman1@mgail.com> | 2020-05-02 11:38:14 +0300 |
---|---|---|
committer | gabime <gmelman1@mgail.com> | 2020-05-02 11:38:14 +0300 |
commit | ff0e430e4671beb081aaad519e8a2e03e70fa354 (patch) | |
tree | 4da7f3b9035ea87cac32e7b68534b1810c9d46c8 /cmake | |
parent | e86dc8c3385b72f28a4f0743bd667347490481d0 (diff) |
Formatted cmake using cmake-format
Diffstat (limited to 'cmake')
-rw-r--r-- | cmake/ide.cmake | 8 | ||||
-rw-r--r-- | cmake/spdlogCPack.cmake | 42 | ||||
-rw-r--r-- | cmake/utils.cmake | 121 |
3 files changed, 85 insertions, 86 deletions
diff --git a/cmake/ide.cmake b/cmake/ide.cmake index 27472c38..a0656a5e 100644 --- a/cmake/ide.cmake +++ b/cmake/ide.cmake @@ -1,6 +1,6 @@ -#--------------------------------------------------------------------------------------- +# --------------------------------------------------------------------------------------- # IDE support for headers -#--------------------------------------------------------------------------------------- +# --------------------------------------------------------------------------------------- set(SPDLOG_HEADERS_DIR "${CMAKE_CURRENT_LIST_DIR}/../include") file(GLOB SPDLOG_TOP_HEADERS "${SPDLOG_HEADERS_DIR}/spdlog/*.h") @@ -8,11 +8,11 @@ file(GLOB SPDLOG_DETAILS_HEADERS "${SPDLOG_HEADERS_DIR}/spdlog/details/*.h") file(GLOB SPDLOG_SINKS_HEADERS "${SPDLOG_HEADERS_DIR}/spdlog/sinks/*.h") file(GLOB SPDLOG_FMT_HEADERS "${SPDLOG_HEADERS_DIR}/spdlog/fmt/*.h") file(GLOB SPDLOG_FMT_BUNDELED_HEADERS "${SPDLOG_HEADERS_DIR}/spdlog/fmt/bundled/*.h") -set(SPDLOG_ALL_HEADERS ${SPDLOG_TOP_HEADERS} ${SPDLOG_DETAILS_HEADERS} ${SPDLOG_SINKS_HEADERS} ${SPDLOG_FMT_HEADERS} ${SPDLOG_FMT_BUNDELED_HEADERS}) +set(SPDLOG_ALL_HEADERS ${SPDLOG_TOP_HEADERS} ${SPDLOG_DETAILS_HEADERS} ${SPDLOG_SINKS_HEADERS} ${SPDLOG_FMT_HEADERS} + ${SPDLOG_FMT_BUNDELED_HEADERS}) source_group("Header Files\\spdlog" FILES ${SPDLOG_TOP_HEADERS}) source_group("Header Files\\spdlog\\details" FILES ${SPDLOG_DETAILS_HEADERS}) source_group("Header Files\\spdlog\\sinks" FILES ${SPDLOG_SINKS_HEADERS}) source_group("Header Files\\spdlog\\fmt" FILES ${SPDLOG_FMT_HEADERS}) source_group("Header Files\\spdlog\\fmt\\bundled\\" FILES ${SPDLOG_FMT_BUNDELED_HEADERS}) - diff --git a/cmake/spdlogCPack.cmake b/cmake/spdlogCPack.cmake index 471a7ea3..3eee6a33 100644 --- a/cmake/spdlogCPack.cmake +++ b/cmake/spdlogCPack.cmake @@ -1,12 +1,7 @@ set(CPACK_GENERATOR "TGZ;ZIP" CACHE STRING "Semicolon separated list of generators") set(CPACK_INCLUDE_TOPLEVEL_DIRECTORY 0) -set(CPACK_INSTALL_CMAKE_PROJECTS - "${CMAKE_BINARY_DIR}" - "${PROJECT_NAME}" - ALL - . - ) +set(CPACK_INSTALL_CMAKE_PROJECTS "${CMAKE_BINARY_DIR}" "${PROJECT_NAME}" ALL .) set(CPACK_PROJECT_URL "https://github.com/gabime/spdlog") set(CPACK_PACKAGE_VENDOR "Gabi Melman") @@ -16,9 +11,9 @@ set(CPACK_PACKAGE_VERSION_MAJOR ${PROJECT_VERSION_MAJOR}) set(CPACK_PACKAGE_VERSION_MINOR ${PROJECT_VERSION_MINOR}) set(CPACK_PACKAGE_VERSION_PATCH ${PROJECT_VERSION_PATCH}) set(CPACK_PACKAGE_VERSION ${PROJECT_VERSION_MAJOR}.${PROJECT_VERSION_MINOR}.${PROJECT_VERSION_PATCH}) -if (PROJECT_VERSION_TWEAK) - set(CPACK_PACKAGE_VERSION ${CPACK_PACKAGE_VERSION}.${PROJECT_VERSION_TWEAK}) -endif () +if(PROJECT_VERSION_TWEAK) + set(CPACK_PACKAGE_VERSION ${CPACK_PACKAGE_VERSION}.${PROJECT_VERSION_TWEAK}) +endif() set(CPACK_PACKAGE_RELOCATABLE ON CACHE BOOL "Build relocatable package") set(CPACK_RPM_PACKAGE_LICENSE "MIT") @@ -26,25 +21,26 @@ set(CPACK_RPM_PACKAGE_GROUP "Development/Libraries") set(CPACK_RPM_PACKAGE_URL ${CPACK_PROJECT_URL}) set(CPACK_RPM_PACKAGE_DESCRIPTION "Very fast, header-only/compiled, C++ logging library.") -if (CPACK_PACKAGE_NAME) - set(CPACK_RPM_FILE_NAME "${CPACK_PACKAGE_NAME}-${CPACK_PACKAGE_VERSION}") +if(CPACK_PACKAGE_NAME) + set(CPACK_RPM_FILE_NAME "${CPACK_PACKAGE_NAME}-${CPACK_PACKAGE_VERSION}") else() - set(CPACK_RPM_FILE_NAME "${PROJECT_NAME}-${CPACK_PACKAGE_VERSION}") + set(CPACK_RPM_FILE_NAME "${PROJECT_NAME}-${CPACK_PACKAGE_VERSION}") endif() -if (CPACK_RPM_PACKAGE_RELEASE) - set(CPACK_RPM_FILE_NAME "${CPACK_RPM_FILE_NAME}-${CPACK_RPM_PACKAGE_RELEASE}") -endif () +if(CPACK_RPM_PACKAGE_RELEASE) + set(CPACK_RPM_FILE_NAME "${CPACK_RPM_FILE_NAME}-${CPACK_RPM_PACKAGE_RELEASE}") +endif() -if (CPACK_RPM_PACKAGE_ARCHITECTURE) - set(CPACK_RPM_FILE_NAME "${CPACK_RPM_FILE_NAME}.${CPACK_RPM_PACKAGE_ARCHITECTURE}") -endif () +if(CPACK_RPM_PACKAGE_ARCHITECTURE) + set(CPACK_RPM_FILE_NAME "${CPACK_RPM_FILE_NAME}.${CPACK_RPM_PACKAGE_ARCHITECTURE}") +endif() set(CPACK_RPM_FILE_NAME "${CPACK_RPM_FILE_NAME}.rpm") -if (NOT CPACK_PACKAGE_RELOCATABLE) - # Depend on pkgconfig rpm to create the system pkgconfig folder - set(CPACK_RPM_PACKAGE_REQUIRES pkgconfig) - set(CPACK_RPM_EXCLUDE_FROM_AUTO_FILELIST_ADDITION "${CPACK_PACKAGING_INSTALL_PREFIX}/${CMAKE_INSTALL_LIBDIR}/pkgconfig") -endif () +if(NOT CPACK_PACKAGE_RELOCATABLE) + # Depend on pkgconfig rpm to create the system pkgconfig folder + set(CPACK_RPM_PACKAGE_REQUIRES pkgconfig) + set(CPACK_RPM_EXCLUDE_FROM_AUTO_FILELIST_ADDITION + "${CPACK_PACKAGING_INSTALL_PREFIX}/${CMAKE_INSTALL_LIBDIR}/pkgconfig") +endif() include(CPack) diff --git a/cmake/utils.cmake b/cmake/utils.cmake index 30d678da..a823a47f 100644 --- a/cmake/utils.cmake +++ b/cmake/utils.cmake @@ -1,59 +1,62 @@ -# Get spdlog version from include/spdlog/version.h and put it in SPDLOG_VERSION
-function(spdlog_extract_version)
- file(READ "${CMAKE_CURRENT_LIST_DIR}/include/spdlog/version.h" file_contents)
- string(REGEX MATCH "SPDLOG_VER_MAJOR ([0-9]+)" _ "${file_contents}")
- if(NOT CMAKE_MATCH_COUNT EQUAL 1)
- message(FATAL_ERROR "Could not extract major version number from spdlog/version.h")
- endif()
- set(ver_major ${CMAKE_MATCH_1})
-
- string(REGEX MATCH "SPDLOG_VER_MINOR ([0-9]+)" _ "${file_contents}")
- if(NOT CMAKE_MATCH_COUNT EQUAL 1)
- message(FATAL_ERROR "Could not extract minor version number from spdlog/version.h")
- endif()
-
- set(ver_minor ${CMAKE_MATCH_1})
- string(REGEX MATCH "SPDLOG_VER_PATCH ([0-9]+)" _ "${file_contents}")
- if(NOT CMAKE_MATCH_COUNT EQUAL 1)
- message(FATAL_ERROR "Could not extract patch version number from spdlog/version.h")
- endif()
- set(ver_patch ${CMAKE_MATCH_1})
-
- set(SPDLOG_VERSION_MAJOR ${ver_major} PARENT_SCOPE)
- set(SPDLOG_VERSION_MINOR ${ver_minor} PARENT_SCOPE)
- set(SPDLOG_VERSION_PATCH ${ver_patch} PARENT_SCOPE)
- set (SPDLOG_VERSION "${ver_major}.${ver_minor}.${ver_patch}" PARENT_SCOPE)
-endfunction()
-
-
-# Turn on warnings on the given target
-function(spdlog_enable_warnings target_name)
- if(SPDLOG_BUILD_WARNINGS)
- if (CMAKE_CXX_COMPILER_ID STREQUAL "MSVC")
- list(APPEND MSVC_OPTIONS "/W3")
- if(MSVC_VERSION GREATER 1900) #Allow non fatal security warnings for msvc 2015
- list(APPEND MSVC_OPTIONS "/WX")
- endif()
- endif()
-
- target_compile_options(${target_name} PRIVATE
- $<$<OR:$<CXX_COMPILER_ID:Clang>,$<CXX_COMPILER_ID:AppleClang>,$<CXX_COMPILER_ID:GNU>>:
- -Wall -Wextra -Wconversion -pedantic -Wfatal-errors>
- $<$<CXX_COMPILER_ID:MSVC>:${MSVC_OPTIONS}>)
- endif()
-
-endfunction()
-
-
-# Enable address sanitizer (gcc/clang only)
-function(spdlog_enable_sanitizer target_name)
- if (NOT CMAKE_CXX_COMPILER_ID MATCHES "GNU|Clang")
- message(FATAL_ERROR "Sanitizer supported only for gcc/clang")
- endif()
- message(STATUS "Address sanitizer enabled")
- target_compile_options(${target_name} PRIVATE -fsanitize=address,undefined)
- target_compile_options(${target_name} PRIVATE -fno-sanitize=signed-integer-overflow)
- target_compile_options(${target_name} PRIVATE -fno-sanitize-recover=all)
- target_compile_options(${target_name} PRIVATE -fno-omit-frame-pointer)
- target_link_libraries(${target_name} PRIVATE -fsanitize=address,undefined -fuse-ld=gold)
-endfunction()
+# Get spdlog version from include/spdlog/version.h and put it in SPDLOG_VERSION +function(spdlog_extract_version) + file(READ "${CMAKE_CURRENT_LIST_DIR}/include/spdlog/version.h" file_contents) + string(REGEX MATCH "SPDLOG_VER_MAJOR ([0-9]+)" _ "${file_contents}") + if(NOT CMAKE_MATCH_COUNT EQUAL 1) + message(FATAL_ERROR "Could not extract major version number from spdlog/version.h") + endif() + set(ver_major ${CMAKE_MATCH_1}) + + string(REGEX MATCH "SPDLOG_VER_MINOR ([0-9]+)" _ "${file_contents}") + if(NOT CMAKE_MATCH_COUNT EQUAL 1) + message(FATAL_ERROR "Could not extract minor version number from spdlog/version.h") + endif() + + set(ver_minor ${CMAKE_MATCH_1}) + string(REGEX MATCH "SPDLOG_VER_PATCH ([0-9]+)" _ "${file_contents}") + if(NOT CMAKE_MATCH_COUNT EQUAL 1) + message(FATAL_ERROR "Could not extract patch version number from spdlog/version.h") + endif() + set(ver_patch ${CMAKE_MATCH_1}) + + set(SPDLOG_VERSION_MAJOR ${ver_major} PARENT_SCOPE) + set(SPDLOG_VERSION_MINOR ${ver_minor} PARENT_SCOPE) + set(SPDLOG_VERSION_PATCH ${ver_patch} PARENT_SCOPE) + set(SPDLOG_VERSION "${ver_major}.${ver_minor}.${ver_patch}" PARENT_SCOPE) +endfunction() + +# Turn on warnings on the given target +function(spdlog_enable_warnings target_name) + if(SPDLOG_BUILD_WARNINGS) + if(CMAKE_CXX_COMPILER_ID STREQUAL "MSVC") + list(APPEND MSVC_OPTIONS "/W3") + if(MSVC_VERSION GREATER 1900) # Allow non fatal security warnings for msvc 2015 + list(APPEND MSVC_OPTIONS "/WX") + endif() + endif() + + target_compile_options( + ${target_name} + PRIVATE $<$<OR:$<CXX_COMPILER_ID:Clang>,$<CXX_COMPILER_ID:AppleClang>,$<CXX_COMPILER_ID:GNU>>: + -Wall + -Wextra + -Wconversion + -pedantic + -Wfatal-errors> + $<$<CXX_COMPILER_ID:MSVC>:${MSVC_OPTIONS}>) + endif() + +endfunction() + +# Enable address sanitizer (gcc/clang only) +function(spdlog_enable_sanitizer target_name) + if(NOT CMAKE_CXX_COMPILER_ID MATCHES "GNU|Clang") + message(FATAL_ERROR "Sanitizer supported only for gcc/clang") + endif() + message(STATUS "Address sanitizer enabled") + target_compile_options(${target_name} PRIVATE -fsanitize=address,undefined) + target_compile_options(${target_name} PRIVATE -fno-sanitize=signed-integer-overflow) + target_compile_options(${target_name} PRIVATE -fno-sanitize-recover=all) + target_compile_options(${target_name} PRIVATE -fno-omit-frame-pointer) + target_link_libraries(${target_name} PRIVATE -fsanitize=address,undefined -fuse-ld=gold) +endfunction() |