aboutsummaryrefslogtreecommitdiff
path: root/libs/elf
diff options
context:
space:
mode:
authorFelix Morgner <felix.morgner@ost.ch>2026-04-21 13:06:35 +0200
committerFelix Morgner <felix.morgner@ost.ch>2026-04-21 13:06:35 +0200
commit9b4cbc6ba3f8059278a20a4893780717851ce8e4 (patch)
treebb089d306639e1c3ef27c9b8f3fc90e8742f4117 /libs/elf
parent3441e7e164d8e5e8413a1eb47e3e9f3c824ed2d0 (diff)
downloadteachos-9b4cbc6ba3f8059278a20a4893780717851ce8e4.tar.xz
teachos-9b4cbc6ba3f8059278a20a4893780717851ce8e4.zip
build: clean up configuration
Diffstat (limited to 'libs/elf')
-rw-r--r--libs/elf/CMakeLists.txt43
1 files changed, 41 insertions, 2 deletions
diff --git a/libs/elf/CMakeLists.txt b/libs/elf/CMakeLists.txt
index f254094..f1f5275 100644
--- a/libs/elf/CMakeLists.txt
+++ b/libs/elf/CMakeLists.txt
@@ -1,7 +1,46 @@
+cmake_minimum_required(VERSION "3.27.0")
+
+project("elf"
+ DESCRIPTION "ELF file format library"
+ VERSION "0.0.1"
+ LANGUAGES CXX
+)
+
+include("CTest")
+
+#[============================================================================[
+# External Dependencies
+#]============================================================================]
+
+include("FetchContent")
+
+if (BUILD_TESTING)
+ FetchContent_Declare(
+ "Catch2"
+ URL "https://github.com/catchorg/Catch2/archive/refs/tags/v3.7.1.tar.gz"
+ URL_HASH "SHA256=c991b247a1a0d7bb9c39aa35faf0fe9e19764213f28ffba3109388e62ee0269c"
+ EXCLUDE_FROM_ALL
+ FIND_PACKAGE_ARGS
+ )
+
+ FetchContent_MakeAvailable("Catch2")
+
+ find_package("Catch2")
+ include("Catch")
+endif()
+
+#[============================================================================[
+# Library
+#]============================================================================]
+
add_library("elf" INTERFACE)
-add_library("libs::elf" ALIAS "elf")
+add_library("elf::lib" ALIAS "elf")
-file(GLOB_RECURSE ELF_HEADERS RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} "include/**.hpp")
+file(GLOB_RECURSE ELF_HEADERS
+ RELATIVE ${CMAKE_CURRENT_SOURCE_DIR}
+ CONFIGURE_DEPENDS
+ "include/**.hpp"
+)
target_sources("elf" INTERFACE
FILE_SET HEADERS