visualboyadvance-m/cmake/HostCompile.cmake

30 lines
803 B
CMake

function(host_compile src dst_cmd)
if(CMAKE_CROSSCOMPILING)
unset(link_flags)
if(CMAKE_HOST_WIN32)
set(dst "${dst_cmd}.exe")
if(CMAKE_COMPILER_IS_GNUCXX)
set(link_flags -Wl,--subsystem,console)
endif()
else()
set(dst ${dst_cmd})
endif()
# assume cc foo.c -o foo # will work on most hosts
add_custom_command(
OUTPUT ${dst}
COMMAND cc ${src} -o ${dst} ${link_flags}
DEPENDS ${src}
)
else()
get_filename_component(dst ${dst_cmd} NAME)
add_executable(${dst} ${src})
# this is necessary because we override main with SDL_main
target_compile_definitions(${dst} PRIVATE -Dmain=main)
endif()
endfunction()