Added scaffolding
This is from https://github.com/TheLartians/ModernCppStarter/
This commit is contained in:
parent
504e2e3170
commit
044e38732d
8 changed files with 383 additions and 0 deletions
70
cmake/tools.cmake
Normal file
70
cmake/tools.cmake
Normal file
|
@ -0,0 +1,70 @@
|
|||
# SPDX-FileCopyrightText: 2023 github.com/TheLartians
|
||||
#
|
||||
# SPDX-License-Identifier: CC0-1.0
|
||||
|
||||
# this file contains a list of tools that can be activated and downloaded on-demand each tool is
|
||||
# enabled during configuration by passing an additional `-DUSE_<TOOL>=<VALUE>` argument to CMake
|
||||
|
||||
# only activate tools for top level project
|
||||
if(NOT PROJECT_SOURCE_DIR STREQUAL CMAKE_SOURCE_DIR)
|
||||
return()
|
||||
endif()
|
||||
|
||||
include(${CMAKE_CURRENT_LIST_DIR}/CPM.cmake)
|
||||
|
||||
# enables sanitizers support using the the `USE_SANITIZER` flag available values are: Address,
|
||||
# Memory, MemoryWithOrigins, Undefined, Thread, Leak, 'Address;Undefined'
|
||||
if(USE_SANITIZER OR USE_STATIC_ANALYZER)
|
||||
CPMAddPackage("gh:StableCoder/cmake-scripts#1f822d1fc87c8d7720c074cde8a278b44963c354")
|
||||
|
||||
if(USE_SANITIZER)
|
||||
include(${cmake-scripts_SOURCE_DIR}/sanitizers.cmake)
|
||||
endif()
|
||||
|
||||
if(USE_STATIC_ANALYZER)
|
||||
if("clang-tidy" IN_LIST USE_STATIC_ANALYZER)
|
||||
set(CLANG_TIDY
|
||||
ON
|
||||
CACHE INTERNAL ""
|
||||
)
|
||||
else()
|
||||
set(CLANG_TIDY
|
||||
OFF
|
||||
CACHE INTERNAL ""
|
||||
)
|
||||
endif()
|
||||
if("iwyu" IN_LIST USE_STATIC_ANALYZER)
|
||||
set(IWYU
|
||||
ON
|
||||
CACHE INTERNAL ""
|
||||
)
|
||||
else()
|
||||
set(IWYU
|
||||
OFF
|
||||
CACHE INTERNAL ""
|
||||
)
|
||||
endif()
|
||||
if("cppcheck" IN_LIST USE_STATIC_ANALYZER)
|
||||
set(CPPCHECK
|
||||
ON
|
||||
CACHE INTERNAL ""
|
||||
)
|
||||
else()
|
||||
set(CPPCHECK
|
||||
OFF
|
||||
CACHE INTERNAL ""
|
||||
)
|
||||
endif()
|
||||
|
||||
include(${cmake-scripts_SOURCE_DIR}/tools.cmake)
|
||||
|
||||
clang_tidy(${CLANG_TIDY_ARGS})
|
||||
include_what_you_use(${IWYU_ARGS})
|
||||
cppcheck(${CPPCHECK_ARGS})
|
||||
endif()
|
||||
endif()
|
||||
|
||||
# enables CCACHE support through the USE_CCACHE flag possible values are: YES, NO or equivalent
|
||||
if(USE_CCACHE)
|
||||
CPMAddPackage("gh:TheLartians/Ccache.cmake@1.2.3")
|
||||
endif()
|
Loading…
Add table
Add a link
Reference in a new issue