aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--CMakeLists.txt34
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)