From 7e6261fcf3f808941d6a8f6f0df94cfc07b248c6 Mon Sep 17 00:00:00 2001
From: maelstrom <maelstrom@maelstrom.dev>
Date: Wed, 12 Mar 2025 02:11:44 +0100
Subject: [PATCH] chore(run.sh): use out-of-tree build

---
 .gitignore          | 17 ++++++-----------
 CMakeLists.txt      |  2 +-
 core/CMakeLists.txt |  2 --
 run.sh              |  2 +-
 4 files changed, 8 insertions(+), 15 deletions(-)

diff --git a/.gitignore b/.gitignore
index 81f5c0f..c938048 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,19 +1,14 @@
-bin/
-lib/
-CMakeFiles/
-cmake_install.cmake
-CMakeCache.txt
-Makefile
+/bin/
+/lib/
+/build/
 
 # Qt
-.lupdate/
-*.pro.user*
-CMakeLists.txt.user*
-*_autogen/
+/*.pro.user*
+/CMakeLists.txt.user*
 
 # Clangd
 /compile_commands.json
 /.cache
 
 # Gdb
-.gdb_history
\ No newline at end of file
+/.gdb_history
\ No newline at end of file
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 760027f..47369e8 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -5,7 +5,7 @@ set(OpenGL_GL_PREFERENCE "GLVND")
 
 set( CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin )
 set( CMAKE_LIBRARY_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/lib )
-set( CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/lib )
+set( CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/lib )
 
 set(CMAKE_EXPORT_COMPILE_COMMANDS ON)
 
diff --git a/core/CMakeLists.txt b/core/CMakeLists.txt
index 008c495..6917d66 100644
--- a/core/CMakeLists.txt
+++ b/core/CMakeLists.txt
@@ -15,8 +15,6 @@ find_package(glm CONFIG REQUIRED)
 find_package(ReactPhysics3D REQUIRED)
 find_package(pugixml REQUIRED)
 
-file(MAKE_DIRECTORY bin)
-
 file(GLOB_RECURSE SOURCES "src/*.cpp" "src/*.h")
 add_library(openblocks ${SOURCES})
 set_target_properties(openblocks PROPERTIES OUTPUT_NAME "openblocks")
diff --git a/run.sh b/run.sh
index 8c13dc6..cc81456 100755
--- a/run.sh
+++ b/run.sh
@@ -6,4 +6,4 @@ if [ $# -eq 0 ] || ([ "$1" != "editor" ] && [ "$1" != "client" ]); then echo "Ar
 
 [ "$3" = "-gdb" ] && PRE_COMMAND="gdb -ex run "
 
-cmake $CMAKE_OPTS . && cmake --build . && $PRE_COMMAND ./bin/$1
+cmake -Bbuild $CMAKE_OPTS . && (cd build; cmake --build .; cd ..) && $PRE_COMMAND ./build/bin/$1