enable_language(ASM)

set(CMAKE_CXX_STANDARD 17)
set(CMAKE_CXX_STANDARD_REQUIRED ON)

add_compile_options(
    -Wunused
    -Werror
    -fno-use-cxa-atexit
    -fno-rtti
    -fno-exceptions
    -fomit-frame-pointer
    -ffunction-sections
    -Os
    -fno-stack-protector
    -fno-unwind-tables
    -fno-asynchronous-unwind-tables
    -fno-builtin
    -fpic
)

set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} \
    -Wl,--gc-sections \
    -fno-stack-protector \
    -nostdlib \
    -nolibc \
    -nodefaultlibs \
    -pie \
    -nostartfiles \
    -static \
")


set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -T ${CMAKE_SOURCE_DIR}/test_virus/parasite.lds")

add_executable(test_virus
    startup_x86_64.S
    test_virus.cpp
)
