diff --git a/renderdoc/CMakeLists.txt b/renderdoc/CMakeLists.txt index 6db233c2efa..ae11a66ef65 100644 --- a/renderdoc/CMakeLists.txt +++ b/renderdoc/CMakeLists.txt @@ -493,13 +493,21 @@ if(UNIX) if(CMAKE_CROSSCOMPILING) set(HOST_NATIVE_CPP_COMPILER c++ CACHE STRING "Command to run to compile a .cpp into an executable. Default is just c++") - add_custom_command(OUTPUT ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/include-bin + # The host helper must carry a .exe suffix when the host is Windows, else + # cmd.exe can't execute it (the target being Android makes UNIX true). + if(CMAKE_HOST_WIN32) + set(HOST_EXE_SUFFIX ".exe") + else() + set(HOST_EXE_SUFFIX "") + endif() + + add_custom_command(OUTPUT ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/include-bin${HOST_EXE_SUFFIX} WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} COMMAND ${CMAKE_COMMAND} -E make_directory ${CMAKE_RUNTIME_OUTPUT_DIRECTORY} - COMMAND ${HOST_NATIVE_CPP_COMPILER} 3rdparty/include-bin/main.cpp -o ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/include-bin + COMMAND ${HOST_NATIVE_CPP_COMPILER} 3rdparty/include-bin/main.cpp -o ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/include-bin${HOST_EXE_SUFFIX} DEPENDS 3rdparty/include-bin/main.cpp) - set(INCLUDE_BIN_EXE "${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/include-bin") - set(INCLUDE_BIN_DEP "${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/include-bin") + set(INCLUDE_BIN_EXE "${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/include-bin${HOST_EXE_SUFFIX}") + set(INCLUDE_BIN_DEP "${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/include-bin${HOST_EXE_SUFFIX}") else() add_executable(include-bin 3rdparty/include-bin/main.cpp) set(INCLUDE_BIN_EXE $)