From 2106a336aa69279512ca9f59f3070ec40d70a60d Mon Sep 17 00:00:00 2001 From: Andrew Noyes Date: Thu, 14 Aug 2025 10:46:08 -0400 Subject: [PATCH] Add boilerplate --- .gitignore | 48 +++++++++++++++++++++++++++++++++++++++++ .pre-commit-config.yaml | 18 ++++++++++++++++ CMakeLists.txt | 22 +++++++++++++++++++ src/main.cpp | 1 + 4 files changed, 89 insertions(+) create mode 100644 .gitignore create mode 100644 .pre-commit-config.yaml create mode 100644 CMakeLists.txt create mode 100644 src/main.cpp diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..c999c48 --- /dev/null +++ b/.gitignore @@ -0,0 +1,48 @@ +# Build directory +build/ + +# CMake generated files +CMakeFiles/ +CMakeCache.txt +cmake_install.cmake +Makefile + +# Executables +weaseldb +*.exe + +# Object files +*.o +*.obj + +# Libraries +*.a +*.lib +*.so +*.dylib +*.dll + +# IDE files +.vscode/ +.idea/ +*.swp +*.swo +*~ + +# OS generated files +.DS_Store +.DS_Store? +._* +.Spotlight-V100 +.Trashes +ehthumbs.db +Thumbs.db + +# Temporary files +*.tmp +*.temp + +# Logs +*.log + +.cache diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml new file mode 100644 index 0000000..0f21130 --- /dev/null +++ b/.pre-commit-config.yaml @@ -0,0 +1,18 @@ +repos: + - repo: https://github.com/pre-commit/pre-commit-hooks + rev: 3e8a8703264a2f4a69428a0aa4dcb512790b2c8c # frozen: v6.0.0 + hooks: + - id: trailing-whitespace + - id: check-added-large-files + - id: check-merge-conflict + + - repo: https://github.com/pre-commit/mirrors-clang-format + rev: 182152eb8c5ce1cf5299b956b04392c86bd8a126 # frozen: v20.1.8 + hooks: + - id: clang-format + exclude: ".*third_party/.*" + + - repo: https://github.com/cheshirekow/cmake-format-precommit + rev: e2c2116d86a80e72e7146a06e68b7c228afc6319 # frozen: v0.6.13 + hooks: + - id: cmake-format diff --git a/CMakeLists.txt b/CMakeLists.txt new file mode 100644 index 0000000..6bf755e --- /dev/null +++ b/CMakeLists.txt @@ -0,0 +1,22 @@ +cmake_minimum_required(VERSION 3.20) +project(weaseldb VERSION 0.0.1) + +set(CMAKE_CXX_STANDARD 20) +set(CMAKE_CXX_STANDARD_REQUIRED ON) +set(CMAKE_CXX_EXTENSIONS OFF) + +if(NOT CMAKE_BUILD_TYPE) + set(CMAKE_BUILD_TYPE Release) +endif() + +set(CMAKE_CXX_FLAGS_DEBUG "-g -O0 -Wall -Wextra") +set(CMAKE_CXX_FLAGS_RELEASE "-O3 -DNDEBUG") + +find_package(Threads REQUIRED) + +include_directories(src) + +set(SOURCES src/main.cpp) + +add_executable(weaseldb ${SOURCES}) +target_link_libraries(weaseldb Threads::Threads) diff --git a/src/main.cpp b/src/main.cpp new file mode 100644 index 0000000..72bfb57 --- /dev/null +++ b/src/main.cpp @@ -0,0 +1 @@ +int main(int argc, char *argv[]) {}