aboutsummaryrefslogtreecommitdiff
path: root/examples/basic/CMakeLists.txt
diff options
context:
space:
mode:
authorHampusM <hampus@hampusmat.com>2022-04-28 22:03:07 +0200
committerHampusM <hampus@hampusmat.com>2022-04-28 22:03:34 +0200
commit9fce9dd2c3cd1c0a75a5cfe74ea0484186247cc3 (patch)
tree37184c6a8a5d94863a23e053631756f738b75bee /examples/basic/CMakeLists.txt
parent1f97ab2ef846462d7a599fbd3ac9415da8f0953b (diff)
docs: add basic examplev0.1.0
Diffstat (limited to 'examples/basic/CMakeLists.txt')
-rw-r--r--examples/basic/CMakeLists.txt47
1 files changed, 47 insertions, 0 deletions
diff --git a/examples/basic/CMakeLists.txt b/examples/basic/CMakeLists.txt
new file mode 100644
index 0000000..930944e
--- /dev/null
+++ b/examples/basic/CMakeLists.txt
@@ -0,0 +1,47 @@
+cmake_minimum_required(VERSION 3.2.0)
+
+set(CMAKE_EXPORT_COMPILE_COMMANDS 1)
+set(CMAKE_CXX_STANDARD 20)
+set(CMAKE_CXX_STANDARD_REQUIRED ON)
+set(CMAKE_CXX_EXTENSIONS OFF)
+
+project(basic-example CXX)
+
+file(
+ GLOB
+ SOURCES
+ src/basic_example.cpp
+ src/bootstrap.cpp
+ src/hero.cpp
+ src/sword.cpp
+ src/enemy.cpp
+)
+
+add_executable(${PROJECT_NAME} ${SOURCES})
+
+target_compile_features(${PROJECT_NAME} PUBLIC cxx_std_20)
+
+target_compile_options(
+ ${PROJECT_NAME}
+ PRIVATE
+ -Wall -Wextra -Wpedantic -Wshadow
+ -Wold-style-cast -Wcast-align -Wno-unused
+ -Wconversion -Wcast-qual -Wctor-dtor-privacy
+ -Wdisabled-optimization -Wformat=2 -Winit-self
+ -Wmissing-declarations -Wmissing-include-dirs
+ -Woverloaded-virtual -Wredundant-decls
+ -Wsign-conversion -Wsign-promo
+ -Wstrict-overflow=5 -Wswitch-default
+ -Wundef -Werror
+ -pedantic -fsanitize=address -fno-exceptions -stdlib=libc++
+)
+
+target_link_options(${PROJECT_NAME} PRIVATE -fsanitize=address -stdlib=libc++)
+
+target_include_directories(${PROJECT_NAME} PRIVATE src)
+
+target_link_libraries(
+ ${PROJECT_NAME}
+ PRIVATE
+ yacppdic::yacppdic
+)