file(GLOB c_sources *.c *.h) file(GLOB arch_sources arch/${CMAKE_SYSTEM_PROCESSOR}/*.S) add_executable(ld ${c_sources} ${arch_sources}) set_target_properties(ld PROPERTIES POSITION_INDEPENDENT_CODE ON OUTPUT_NAME "ld64" SUFFIX ".so") target_link_libraries(ld libc-core libc-malloc libc-io libmagenta librosetta libxpc-static interface::fs) target_compile_options(ld PRIVATE -fvisibility=hidden -fPIC -fno-stack-protector -nostdlib -ffreestanding) target_link_options(ld PRIVATE -fvisibility=hidden -Wl,--exclude-libs,ALL # -Wl,--entry="_ld_start" -T ${CMAKE_CURRENT_SOURCE_DIR}/arch/${CMAKE_SYSTEM_PROCESSOR}/layout.ld -fPIC -nostdlib -ffreestanding -Wl,-shared) sysroot_add_program( NAME ld BIN_DIR /lib) bsp_add_program( NAME ld BIN_DIR /lib)