aboutsummaryrefslogtreecommitdiff
path: root/libs/multiboot2/CMakeLists.txt
diff options
context:
space:
mode:
Diffstat (limited to 'libs/multiboot2/CMakeLists.txt')
-rw-r--r--libs/multiboot2/CMakeLists.txt37
1 files changed, 26 insertions, 11 deletions
diff --git a/libs/multiboot2/CMakeLists.txt b/libs/multiboot2/CMakeLists.txt
index 350a996..5ab56db 100644
--- a/libs/multiboot2/CMakeLists.txt
+++ b/libs/multiboot2/CMakeLists.txt
@@ -1,27 +1,42 @@
+cmake_minimum_required(VERSION "3.27.0")
+
+project("multiboot2"
+ DESCRIPTION "Multiboot2 bootloader specification library"
+ VERSION "0.0.1"
+ LANGUAGES CXX
+)
+
+include("CTest")
+
+#[============================================================================[
+# Library
+#]============================================================================]
+
add_library("multiboot2" INTERFACE)
-add_library("libs::multiboot2" ALIAS "multiboot2")
+add_library("multiboot2::lib" ALIAS "multiboot2")
+
+file(GLOB_RECURSE MULTIBOOT2_HEADERS
+ RELATIVE ${CMAKE_CURRENT_SOURCE_DIR}
+ CONFIGURE_DEPENDS
+ "include/**.hpp"
+)
target_sources("multiboot2" INTERFACE
FILE_SET HEADERS
BASE_DIRS "include"
FILES
- "include/multiboot2/constants.hpp"
- "include/multiboot2/information.hpp"
-
- "include/multiboot2/impl/data.hpp"
- "include/multiboot2/impl/ids.hpp"
- "include/multiboot2/impl/iterator.hpp"
- "include/multiboot2/impl/tag.hpp"
+ ${MULTIBOOT2_HEADERS}
)
target_include_directories("multiboot2" INTERFACE
- "include"
+ "${CMAKE_CURRENT_SOURCE_DIR}"
)
target_link_libraries("multiboot2" INTERFACE
- "libs::elf"
+ "elf::lib"
+ "kstd::lib"
)
set_target_properties("multiboot2" PROPERTIES
VERIFY_INTERFACE_HEADER_SETS YES
-) \ No newline at end of file
+)