|
|
|
|
@ -229,15 +229,18 @@ endif()
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if (MSVC)
|
|
|
|
|
set(ASSEMBLER ${CMAKE_ASM_COMPILER} CACHE STRING "Assembler to use with Visual Studio (must be gcc / clang!)")
|
|
|
|
|
message(STATUS "Using custom build commands to work around CMake bugs")
|
|
|
|
|
message(STATUS "ASM compiler: ${ASSEMBLER}")
|
|
|
|
|
# CMake is completely broken when you try to build assembly files on Windows.
|
|
|
|
|
add_custom_command(OUTPUT block_trampolines.obj
|
|
|
|
|
COMMAND echo ${CMAKE_C_COMPILER} ${ASM_TARGET} -c "${CMAKE_SOURCE_DIR}/block_trampolines.S" -o "${CMAKE_BINARY_DIR}/block_trampolines.obj"
|
|
|
|
|
COMMAND ${CMAKE_C_COMPILER} ${ASM_TARGET} -c "${CMAKE_SOURCE_DIR}/block_trampolines.S" -o "${CMAKE_BINARY_DIR}/block_trampolines.obj"
|
|
|
|
|
COMMAND echo ${ASSEMBLER} ${ASM_TARGET} -c "${CMAKE_SOURCE_DIR}/block_trampolines.S" -o "${CMAKE_BINARY_DIR}/block_trampolines.obj"
|
|
|
|
|
COMMAND ${ASSEMBLER} ${ASM_TARGET} -c "${CMAKE_SOURCE_DIR}/block_trampolines.S" -o "${CMAKE_BINARY_DIR}/block_trampolines.obj"
|
|
|
|
|
MAIN_DEPENDENCY block_trampolines.S
|
|
|
|
|
)
|
|
|
|
|
add_custom_command(OUTPUT objc_msgSend.obj
|
|
|
|
|
COMMAND echo ${CMAKE_C_COMPILER} ${ASM_TARGET} -c "${CMAKE_SOURCE_DIR}/objc_msgSend.S" -o "${CMAKE_BINARY_DIR}/objc_msgSend.obj"
|
|
|
|
|
COMMAND ${CMAKE_C_COMPILER} ${ASM_TARGET} -c "${CMAKE_SOURCE_DIR}/objc_msgSend.S" -o "${CMAKE_BINARY_DIR}/objc_msgSend.obj"
|
|
|
|
|
COMMAND echo ${ASSEMBLER} ${ASM_TARGET} -c "${CMAKE_SOURCE_DIR}/objc_msgSend.S" -o "${CMAKE_BINARY_DIR}/objc_msgSend.obj"
|
|
|
|
|
COMMAND ${ASSEMBLER} ${ASM_TARGET} -c "${CMAKE_SOURCE_DIR}/objc_msgSend.S" -o "${CMAKE_BINARY_DIR}/objc_msgSend.obj"
|
|
|
|
|
MAIN_DEPENDENCY objc_msgSend.S
|
|
|
|
|
DEPENDS objc_msgSend.aarch64.S objc_msgSend.arm.S objc_msgSend.mips.S objc_msgSend.x86-32.S objc_msgSend.x86-64.S
|
|
|
|
|
)
|
|
|
|
|
|