diff options
| -rw-r--r-- | CMakeLists.txt | 34 |
1 files changed, 28 insertions, 6 deletions
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) |
