-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathCMakeLists.txt
39 lines (35 loc) · 1.24 KB
/
CMakeLists.txt
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
35
36
37
38
39
cmake_minimum_required(VERSION 3.23)
set(CMAKE_C_STANDARD 11)
set(CMAKE_CXX_STANDARD 17)
add_library(arch
src/x86/paging/paging.cpp
src/x86/paging/bit32.cpp
src/x86/cpuid.cpp
src/x86/segments.cpp
src/x86/interrupts.cpp
src/x86/paging/pae.cpp
src/x86/paging/ia32e.cpp
src/x86/apic.cpp
src/x86/intrinsics.cpp
src/x86/vmx/vmx.cpp
src/x86/vmx/ept.cpp
# adding headers just for IDE to work with them better
include/x86/meta.h
include/x86/cpuid.h
include/x86/cr.h
include/x86/msr.h
include/x86/io.h
include/x86/paging/bit32.h
include/x86/segments.h
include/x86/interrupts.h
include/x86/paging/pae.h
include/x86/paging/ia32e.h
include/x86/apic.h
include/x86/vmx/vmcs.h
include/x86/vmx/vmx.h
include/x86/vmx/error.h
include/x86/vmx/ept.h
include/x86/vmx/controls.h include/x86/vmx/segments.h include/x86/mtrr.h src/x86/mtrr.cpp include/x86/atomic.h)
target_compile_options(arch PRIVATE -ffreestanding)
target_link_options(arch PRIVATE -nostdlib -nolibc -nodefaultlibs)
target_include_directories(arch PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/include)