libraries/libnx/CMakeLists.txt

25 lines
852 B
CMake
Raw Normal View History

cmake_minimum_required(VERSION 3.00)
project(.)
set(C 99)
set(CMAKE_NASM_COMPILE_OBJECT "nasm <INCLUDES> <FLAGS> -o <OBJECT> <SOURCE>")
add_library(.)
add_library(libnx_asm OBJECT)
target_include_directories(. PRIVATE inc)
file(GLOB_RECURSE libnx_src_c "src/**.c")
file(GLOB_RECURSE libnx_inc "libnx/inc/**.h")
file(GLOB_RECURSE libnx_src_asm "src/**.asm")
target_compile_options(. PRIVATE -g -fno-stack-protector -fno-stack-check -ffreestanding -m64 -march=x86-64 -mabi=sysv)
target_link_options(. PRIVATE -Bsymbolic -nostdlib -shared -fno-stack-protector)
enable_language(ASM_NASM)
set(CAN_USE_ASSEMBLER TRUE)
set_target_properties(. PROPERTIES PREFIX "")
set_target_properties(. PROPERTIES SUFFIX ".so")
target_sources(libnx_asm PRIVATE ${libnx_src_asm})
target_sources(. PRIVATE ${libnx_src_c} ${libnx_inc} $<TARGET_OBJECTS:libnx_asm>)