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}") endif() endfunction()