| # | |
| # Copyright 2017, Data61 | |
| # Commonwealth Scientific and Industrial Research Organisation (CSIRO) | |
| # ABN 41 687 119 230. | |
| # | |
| # This software may be distributed and modified according to the terms of | |
| # the BSD 2-Clause license. Note that NO WARRANTY is provided. | |
| # See "LICENSE_BSD2.txt" for details. | |
| # | |
| # @TAG(DATA61_BSD) | |
| # | |
| cmake_minimum_required(VERSION 3.7.2) | |
| project(libsel4utils C) | |
| set(configure_string "") | |
| config_string( | |
| LibSel4UtilsStackSize | |
| SEL4UTILS_STACK_SIZE | |
| "Size of stacks in bytes to allocate if using vspace interface in this library" | |
| DEFAULT | |
| 65536 | |
| UNQUOTE | |
| ) | |
| config_string( | |
| LibSel4UtilsCSpaceSizeBits | |
| SEL4UTILS_CSPACE_SIZE_BITS | |
| "Size of default cspace to spawn processes with" | |
| DEFAULT | |
| 12 | |
| UNQUOTE | |
| ) | |
| config_option(LibSel4UtilsProfile SEL4UTILS_PROFILE "Profiling tools \ | |
| Enables the functionality of a set of profiling tools. When disabled these profiling tools \ | |
| will compile down to nothing." DEFAULT OFF) | |
| mark_as_advanced(LibSel4UtilsStackSize LibSel4UtilsCSpaceSizeBits LibSel4UtilsProfile) | |
| add_config_library(sel4utils "${configure_string}") | |
| file( | |
| GLOB | |
| deps | |
| src/*.c | |
| src/vspace/*.c | |
| src/irq_server/*.c | |
| src/serial_server/*.c | |
| src/time_server/*.c | |
| src/sel4_arch/${KernelSel4Arch}/*.c | |
| src/arch/${KernelArch}/*.c | |
| ) | |
| list(SORT deps) | |
| add_library(sel4utils STATIC EXCLUDE_FROM_ALL ${deps}) | |
| target_include_directories( | |
| sel4utils | |
| PUBLIC include "sel4_arch_include/${KernelSel4Arch}" "arch_include/${KernelArch}" | |
| ) | |
| target_link_libraries( | |
| sel4utils | |
| muslc | |
| sel4 | |
| sel4runtime | |
| sel4vspace | |
| sel4simple | |
| sel4platsupport | |
| elf | |
| cpio | |
| sel4utils_Config | |
| sel4_autoconf | |
| ) |