Skip to content

Commit aa6419a

Browse files
authored
fix(mingw): only fall back on JWASM if no other ASM_MASM has been specified (#133)
1 parent 137d0f4 commit aa6419a

1 file changed

Lines changed: 15 additions & 12 deletions

File tree

CMakeLists.txt

Lines changed: 15 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -57,19 +57,22 @@ if(WIN32 AND NOT (MINGW AND "${CMAKE_SYSTEM_PROCESSOR}" MATCHES "[Aa][Rr][Mm]64"
5757
endif()
5858

5959
if(MINGW)
60-
find_program(JWASM_FOUND jwasm)
61-
if (JWASM_FOUND)
62-
set(CMAKE_ASM_MASM_COMPILER ${JWASM_FOUND})
63-
execute_process(COMMAND ${CMAKE_C_COMPILER} --version OUTPUT_VARIABLE COMPILER_VERSION_OUTPUT)
64-
if (COMPILER_VERSION_OUTPUT)
65-
if (COMPILER_VERSION_OUTPUT MATCHES "x86_64")
66-
set(JWASM_FLAGS -win64)
67-
else()
68-
set(JWASM_FLAGS -coff)
60+
if(NOT DEFINED CMAKE_ASM_MASM_COMPILER OR CMAKE_ASM_MASM_COMPILER STREQUAL "")
61+
# Only check for and set up JWASM if no ASM_MASM has been specified before
62+
find_program(JWASM_FOUND jwasm)
63+
if (JWASM_FOUND)
64+
set(CMAKE_ASM_MASM_COMPILER ${JWASM_FOUND})
65+
execute_process(COMMAND ${CMAKE_C_COMPILER} --version OUTPUT_VARIABLE COMPILER_VERSION_OUTPUT)
66+
if (COMPILER_VERSION_OUTPUT)
67+
if (COMPILER_VERSION_OUTPUT MATCHES "x86_64")
68+
set(JWASM_FLAGS -win64)
69+
else()
70+
set(JWASM_FLAGS -coff)
71+
endif()
6972
endif()
70-
endif()
71-
set(CMAKE_ASM_MASM_FLAGS ${CMAKE_ASM_MASM_FLAGS} ${JWASM_FLAGS})
72-
endif(JWASM_FOUND)
73+
set(CMAKE_ASM_MASM_FLAGS ${CMAKE_ASM_MASM_FLAGS} ${JWASM_FLAGS})
74+
endif(JWASM_FOUND)
75+
endif()
7376

7477
if(NOT CMAKE_ASM_MASM_COMPILER OR CMAKE_ASM_MASM_COMPILER STREQUAL "ml" OR CMAKE_ASM_MASM_COMPILER STREQUAL "ml64")
7578
message(WARNING "No custom ASM_MASM compiler defined via 'CMAKE_ASM_MASM_COMPILER'. Trying to use UASM...")

0 commit comments

Comments
 (0)