From 0f367adeafbd0b74030495f28e8a341cfd1264e0 Mon Sep 17 00:00:00 2001 From: ladevieq Date: Mon, 28 Feb 2022 16:28:23 +0100 Subject: Setup cppcheck --- CMakeLists.txt | 34 ++++++++++++++++++++++++++++------ 1 file changed, 28 insertions(+), 6 deletions(-) (limited to 'CMakeLists.txt') diff --git a/CMakeLists.txt b/CMakeLists.txt index 6aaa0f0..1255615 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,19 +1,27 @@ cmake_minimum_required(VERSION 3.10) -set(CMAKE_CXX_STANDARD 17) -set(CMAKE_CXX_STANDARD_REQUIRED ON) -set(CMAKE_EXPORT_COMPILE_COMMANDS ON) -set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}) -set(CMAKE_TOOLCHAIN_FILE "${CMAKE_CURRENT_SOURCE_DIR}/vcpkg/scripts/buildsystems/vcpkg.cmake" CACHE STRING "Vcpkg toolchain file") - if(WIN32) add_compile_options( -msse4.1 -fcolor-diagnostics -fansi-escape-codes # colored output when using ninja + # https://github.com/cpp-best-practices/cppbestpractices/blob/master/02-Use_the_Tools_Available.md#gcc--clang + -Wall + -Wextra + -Wshadow + -Wcast-align + -Wnon-virtual-dtor + -Wpedantic + -Wunused ) endif() project(path-tracer VERSION 1.0 LANGUAGES CXX) +set(CMAKE_CXX_STANDARD 17) +set(CMAKE_CXX_STANDARD_REQUIRED ON) +set(CMAKE_EXPORT_COMPILE_COMMANDS ON) +set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}) +set(CMAKE_TOOLCHAIN_FILE "${CMAKE_CURRENT_SOURCE_DIR}/vcpkg/scripts/buildsystems/vcpkg.cmake" CACHE STRING "Vcpkg toolchain file") + find_package(imgui CONFIG REQUIRED) find_package(Vulkan REQUIRED) find_package(nlohmann_json CONFIG REQUIRED) @@ -22,5 +30,19 @@ if(UNIX AND NOT APPLE) find_package(X11 REQUIRED) endif() +find_program(CMAKE_CXX_CPPCHECK NAMES cppcheck) +if (CMAKE_CXX_CPPCHECK) + file(MAKE_DIRECTORY ${CMAKE_BINARY_DIR}/cppcheck) + + list( + APPEND CMAKE_CXX_CPPCHECK + "-j 16" + "--project=${CMAKE_BINARY_DIR}/compile_commands.json" + "--cppcheck-build-dir=${CMAKE_BINARY_DIR}/cppcheck" + "--enable=all" + "-iinclude/thirdparty" + ) +endif() + add_subdirectory(src) add_subdirectory(shaders) -- cgit v1.3 From 1f619e6ca06931fbe3c991f0649d20e9852224e8 Mon Sep 17 00:00:00 2001 From: ladevieq Date: Tue, 1 Mar 2022 13:00:02 +0100 Subject: Add clang-format --- .clang-format | 38 ++++++++++++++++++++++++++++++++++++++ CMakeLists.txt | 4 ++-- 2 files changed, 40 insertions(+), 2 deletions(-) create mode 100644 .clang-format (limited to 'CMakeLists.txt') diff --git a/.clang-format b/.clang-format new file mode 100644 index 0000000..386c0ac --- /dev/null +++ b/.clang-format @@ -0,0 +1,38 @@ +AccessModifierOffset: 0 +AlignAfterOpenBracket: DontAlign +AlignConsecutiveAssignments: false +AlignConsecutiveDeclarations: false +AlignEscapedNewlines: Left +AlignOperands: true +AlignTrailingComments: false +AllowAllParametersOfDeclarationOnNextLine: false +AllowShortBlocksOnASingleLine: true +AllowShortCaseLabelsOnASingleLine: false +AllowShortFunctionsOnASingleLine: All +AllowShortIfStatementsOnASingleLine: true +AllowShortLoopsOnASingleLine: true +BraceWrapping: + AfterClass: true + AfterControlStatement: false + AfterEnum: false + AfterFunction: true + AfterNamespace: false + AfterObjCDeclaration: false + AfterStruct: true + AfterUnion: false + BeforeCatch: false + BeforeElse: false + IndentBraces: false + SplitEmptyFunction: false + SplitEmptyNamespace: true + SplitEmptyRecord: true +ColumnLimit: 120 +ConstructorInitializerIndentWidth: 4 +ContinuationIndentWidth: 4 +IndentWidth: 4 +Language: Cpp +MaxEmptyLinesToKeep: 2 +SortIncludes: true +Standard: c++20 +TabWidth: 4 +UseTab: Never diff --git a/CMakeLists.txt b/CMakeLists.txt index 1255615..8720727 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -22,9 +22,10 @@ set(CMAKE_EXPORT_COMPILE_COMMANDS ON) set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}) set(CMAKE_TOOLCHAIN_FILE "${CMAKE_CURRENT_SOURCE_DIR}/vcpkg/scripts/buildsystems/vcpkg.cmake" CACHE STRING "Vcpkg toolchain file") + find_package(imgui CONFIG REQUIRED) -find_package(Vulkan REQUIRED) find_package(nlohmann_json CONFIG REQUIRED) +find_package(Vulkan REQUIRED) if(UNIX AND NOT APPLE) find_package(X11 REQUIRED) @@ -36,7 +37,6 @@ if (CMAKE_CXX_CPPCHECK) list( APPEND CMAKE_CXX_CPPCHECK - "-j 16" "--project=${CMAKE_BINARY_DIR}/compile_commands.json" "--cppcheck-build-dir=${CMAKE_BINARY_DIR}/cppcheck" "--enable=all" -- cgit v1.3 From f05dcfa134ea0e551da359ecd3486b3b7bf2e5b8 Mon Sep 17 00:00:00 2001 From: ladevieq Date: Tue, 1 Mar 2022 13:25:03 +0100 Subject: Clean up compile flags --- CMakeLists.txt | 19 +++++++++---------- 1 file changed, 9 insertions(+), 10 deletions(-) (limited to 'CMakeLists.txt') diff --git a/CMakeLists.txt b/CMakeLists.txt index 8720727..3b18938 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,6 +1,14 @@ cmake_minimum_required(VERSION 3.10) -if(WIN32) +set(CMAKE_CXX_STANDARD 17) +set(CMAKE_CXX_STANDARD_REQUIRED ON) +set(CMAKE_EXPORT_COMPILE_COMMANDS ON) +set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}) +set(CMAKE_TOOLCHAIN_FILE "${CMAKE_CURRENT_SOURCE_DIR}/vcpkg/scripts/buildsystems/vcpkg.cmake" CACHE STRING "Vcpkg toolchain file") + +project(path-tracer VERSION 1.0 LANGUAGES CXX) + +if("${CMAKE_CXX_COMPILER_ID}" STREQUAL "Clang") add_compile_options( -msse4.1 -fcolor-diagnostics -fansi-escape-codes # colored output when using ninja # https://github.com/cpp-best-practices/cppbestpractices/blob/master/02-Use_the_Tools_Available.md#gcc--clang @@ -14,15 +22,6 @@ add_compile_options( ) endif() -project(path-tracer VERSION 1.0 LANGUAGES CXX) - -set(CMAKE_CXX_STANDARD 17) -set(CMAKE_CXX_STANDARD_REQUIRED ON) -set(CMAKE_EXPORT_COMPILE_COMMANDS ON) -set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}) -set(CMAKE_TOOLCHAIN_FILE "${CMAKE_CURRENT_SOURCE_DIR}/vcpkg/scripts/buildsystems/vcpkg.cmake" CACHE STRING "Vcpkg toolchain file") - - find_package(imgui CONFIG REQUIRED) find_package(nlohmann_json CONFIG REQUIRED) find_package(Vulkan REQUIRED) -- cgit v1.3