summaryrefslogtreecommitdiffstats
path: root/arch/x86/CMakeLists.txt
blob: 5601efa21f87d491876a76de2ebe90e4dee45c41 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
target_link_options(CXX_LINKER_REQUIREMENTS INTERFACE
    LINKER:-L${CMAKE_CURRENT_LIST_DIR}
)

target_sources(Initialization PRIVATE
    ${CMAKE_CURRENT_LIST_DIR}/PrimaryInit.cpp
)

target_sources(Initialization
    PUBLIC
        FILE_SET HEADERS
        FILES
            ${CMAKE_CURRENT_LIST_DIR}/PrimaryInit.h
)

target_link_libraries(Architecture INTERFACE Initialization)

# Create library for assembler build
add_library(ArchitectureAssemblerSources STATIC)

add_library(Boot OBJECT)
target_sources(Boot PRIVATE
    ${CMAKE_CURRENT_LIST_DIR}/boot.nasm
)

add_subdirectory(cpuid)
add_subdirectory(idt)
add_subdirectory(gdt)
add_subdirectory(ic)
add_subdirectory(io)
add_subdirectory(msr)
add_subdirectory(port)

target_link_libraries(Architecture INTERFACE ArchitectureAssemblerSources)