summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.gitignore3
-rw-r--r--CMakeLists.txt18
-rw-r--r--CMakePresets.json46
-rw-r--r--cabinet/main.cpp2
4 files changed, 69 insertions, 0 deletions
diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..6cbe6e8
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,3 @@
+build/*
+
+compile_commands.json
diff --git a/CMakeLists.txt b/CMakeLists.txt
new file mode 100644
index 0000000..9647816
--- /dev/null
+++ b/CMakeLists.txt
@@ -0,0 +1,18 @@
+cmake_minimum_required(VERSION "4.2.0")
+
+project("cabinet"
+ LANGUAGES CXX
+ VERSION "1.0.0"
+)
+
+set(CMAKE_CXX_STANDARD "23")
+set(CMAKE_CXX_STANDARD_REQUIRED YES)
+set(CMAKE_CXX_EXTENSIONS NO)
+set(CMAKE_INTERPROCEDURAL_OPTIMIZATION ON)
+
+add_executable("cabinet")
+add_executable("cabinet::app" ALIAS "cabinet")
+
+target_sources("cabinet" PRIVATE
+ "cabinet/main.cpp"
+)
diff --git a/CMakePresets.json b/CMakePresets.json
new file mode 100644
index 0000000..2b3f7b7
--- /dev/null
+++ b/CMakePresets.json
@@ -0,0 +1,46 @@
+{
+ "version": 10,
+ "cmakeMinimumRequired": {
+ "major": 4,
+ "minor": 2,
+ "patch": 0
+ },
+
+ "configurePresets": [
+ {
+ "name": "default",
+ "generator": "Ninja Multi-Config",
+ "binaryDir": "${sourceDir}/build",
+ "cacheVariables": {
+ "CMAKE_CONFIGURATION_TYPES": "Debug;MinSizeRel",
+ "CMAKE_EXPORT_COMPILE_COMMANDS": true,
+ "CMAKE_VERIFY_INTERFACE_HEADER_SETS": true,
+ "CMAKE_VERIFY_PRIVATE_HEADER_SETS": true
+ }
+ }
+ ],
+ "buildPresets": [
+ {
+ "name": "dbg",
+ "configurePreset": "default",
+ "configuration": "Debug"
+ },
+ {
+ "name": "rel",
+ "configurePreset": "default",
+ "configuration": "MinSizeRel"
+ }
+ ],
+ "testPresets": [
+ {
+ "name": "dbg",
+ "configurePreset": "default",
+ "configuration": "Debug"
+ },
+ {
+ "name": "rel",
+ "configurePreset": "default",
+ "configuration": "Release"
+ }
+ ]
+}
diff --git a/cabinet/main.cpp b/cabinet/main.cpp
new file mode 100644
index 0000000..09509dd
--- /dev/null
+++ b/cabinet/main.cpp
@@ -0,0 +1,2 @@
+auto main() -> int {
+}