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("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 ${MULTIBOOT2_HEADERS} ) target_include_directories("multiboot2" INTERFACE "${CMAKE_CURRENT_SOURCE_DIR}" ) target_link_libraries("multiboot2" INTERFACE "elf::lib" "kstd::lib" ) set_target_properties("multiboot2" PROPERTIES VERIFY_INTERFACE_HEADER_SETS YES )