micro68/CMakeLists.txt
2026-08-04 20:27:51 +09:00

27 lines
756 B
CMake

cmake_minimum_required(VERSION 3.11)
project(micro68)
add_executable(m68kmake tools/m68kmake.c)
file(GLOB_RECURSE SRCS src/**.c)
list(REMOVE_ITEM SRCS ${CMAKE_CURRENT_SOURCE_DIR}/src/musashi/m68k_in.c ${CMAKE_CURRENT_SOURCE_DIR}/src/musashi/m68kfpu.c)
find_package(SDL2)
add_executable(micro68 ${SRCS})
target_link_libraries(micro68 PRIVATE m SDL2::SDL2)
macro(runtime NAME)
add_custom_command(
OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/${NAME}.o
COMMAND vasmm68k_mot -Felf -m68000 -o ${CMAKE_CURRENT_BINARY_DIR}/${NAME}.o ${CMAKE_CURRENT_SOURCE_DIR}/runtime/${NAME}.s
DEPENDS runtime/${NAME}.s
)
endmacro()
runtime(crt0)
runtime(libc)
add_custom_target(runtime ALL
DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/crt0.o ${CMAKE_CURRENT_BINARY_DIR}/libc.o
)