diff options
| author | Felix Morgner <felix.morgner@ost.ch> | 2024-09-16 14:07:41 +0000 |
|---|---|---|
| committer | Felix Morgner <felix.morgner@ost.ch> | 2024-09-17 08:58:55 +0200 |
| commit | 8f9b9cd8aac30572b7e275bbeb1b32d2cbb8950a (patch) | |
| tree | 5e215dd93c34b3d58c287b036ad2d190e0a9a772 /source/CMakeLists.txt | |
| parent | c16a3739649fa15178df667d610553e93db83e4c (diff) | |
| download | teachos-8f9b9cd8aac30572b7e275bbeb1b32d2cbb8950a.tar.xz teachos-8f9b9cd8aac30572b7e275bbeb1b32d2cbb8950a.zip | |
build: migrate away from conan
Diffstat (limited to 'source/CMakeLists.txt')
| -rw-r--r-- | source/CMakeLists.txt | 115 |
1 files changed, 0 insertions, 115 deletions
diff --git a/source/CMakeLists.txt b/source/CMakeLists.txt deleted file mode 100644 index beb0c07..0000000 --- a/source/CMakeLists.txt +++ /dev/null @@ -1,115 +0,0 @@ -cmake_minimum_required(VERSION "3.27") - -project("kernel" - DESCRIPTION "${TEACHOS_DESCRIPTION}" - HOMEPAGE_URL "${TEACHOS_HOMEPAGE_URL}" - VERSION "${TEACHOS_VERSION}" - LANGUAGES ASM C CXX -) - -#[============================================================================[ -# Global Build System Configuration -#]============================================================================] - -set(CMAKE_RUNTIME_OUTPUT_DIRECTORY "${PROJECT_BINARY_DIR}/bin") -set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY "${PROJECT_BINARY_DIR}/lib") -set(CMAKE_INTERPROCEDURAL_OPTIMIZATION YES) - -#[============================================================================[ -# Documentation -#]============================================================================] - -find_package("Doxygen") - -set(DOXYGEN_GENERATE_HTML NO) -set(DOXYGEN_GENERATE_XML YES) -set(DOXYGEN_EXCLUDE_PATTERNS "*.cpp") -set(DOXYGEN_OUTPUT_DIRECTORY "doxygen") -set(DOXYGEN_QUIET YES) - -file(GLOB_RECURSE DOXYGEN_SOURCES CONFIGURE_DEPENDS "*.hpp") - -message(STATUS "${SPHINX_SOURCES}") - -doxygen_add_docs("docs_xml" - ${DOXYGEN_SOURCES} - ALL - USE_STAMP_FILE - COMMENT "Generating developer documentation sources" -) - -set_target_properties("docs_xml" PROPERTIES - ADDITIONAL_CLEAN_FILES - "${PROJECT_BINARY_DIR}/doxygen" -) - -file(GLOB_RECURSE SPHINX_SOURCES CONFIGURE_DEPENDS "../docs/**.rst") - -add_custom_target("docs" ALL - COMMAND "${SPHINX_BUILD_EXE}" - "../docs" - "docs" - "-q" - DEPENDS "docs_xml" - SOURCES ${SPHINX_SOURCES} - COMMENT "Generating developer documentation html" -) - -set_target_properties("docs" PROPERTIES - ADDITIONAL_CLEAN_FILES - "${PROJECT_BINARY_DIR}/docs" -) - -#[============================================================================[ -# Global Compiler Configuration -#]============================================================================] - -add_compile_options( - "$<$<CXX_COMPILER_ID:GNU>:-Wall>" - "$<$<CXX_COMPILER_ID:GNU>:-Wextra>" - "$<$<CXX_COMPILER_ID:GNU>:-Werror>" - "$<$<CXX_COMPILER_ID:GNU>:-pedantic-errors>" -) - -#[============================================================================[ -# Global Directories -#]============================================================================] - -include_directories( - "include" - "arch/${CMAKE_SYSTEM_PROCESSOR}/include" -) - -#[============================================================================[ -# The Bootstrap Library -#]============================================================================] - -add_library("_boot" OBJECT) -add_library("teachos::boot" ALIAS "_boot") - -#[============================================================================[ -# The Video Library -#]============================================================================] - -add_library("_video" OBJECT) -add_library("teachos::video" ALIAS "_video") - -#[============================================================================[ -# The Kernel -#]============================================================================] - -add_executable("_kernel" - "src/kernel/main.cpp" -) -add_executable("teachos::kernel" ALIAS "_kernel") - -target_link_libraries("_kernel" PRIVATE - "teachos::boot" - "teachos::video" -) - -#[============================================================================[ -# Platform Specific Components -#]============================================================================] - -add_subdirectory("arch/${CMAKE_SYSTEM_PROCESSOR}") |
