mirror of
https://github.com/reactos/reactos.git
synced 2025-05-25 12:14:32 +00:00
[CMAKE] Use ASM_MASM language when building with MSVC toolchain
CORE-17423
This commit is contained in:
parent
3bde2740df
commit
41130ab5c6
4 changed files with 27 additions and 29 deletions
|
@ -213,7 +213,12 @@ Enable this if the module uses typeid or dynamic_cast. You will probably need to
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
# Activate support for assembly source files
|
# Activate support for assembly source files
|
||||||
|
if (MSVC)
|
||||||
|
set(CMAKE_ASM_MASM_SOURCE_FILE_EXTENSIONS s;S)
|
||||||
|
enable_language(ASM_MASM)
|
||||||
|
else()
|
||||||
enable_language(ASM)
|
enable_language(ASM)
|
||||||
|
endif()
|
||||||
|
|
||||||
# Activate language support for resource files
|
# Activate language support for resource files
|
||||||
enable_language(RC)
|
enable_language(RC)
|
||||||
|
|
|
@ -1,2 +0,0 @@
|
||||||
|
|
||||||
set(CMAKE_ASM_SOURCE_FILE_EXTENSIONS s;S)
|
|
|
@ -187,15 +187,16 @@ if(MSVC_IDE)
|
||||||
add_definitions(/DLANGUAGE_EN_US)
|
add_definitions(/DLANGUAGE_EN_US)
|
||||||
else()
|
else()
|
||||||
set(CMAKE_RC_COMPILE_OBJECT "<CMAKE_RC_COMPILER> /nologo <INCLUDES> <FLAGS> <DEFINES> ${I18N_DEFS} /fo <OBJECT> <SOURCE>")
|
set(CMAKE_RC_COMPILE_OBJECT "<CMAKE_RC_COMPILER> /nologo <INCLUDES> <FLAGS> <DEFINES> ${I18N_DEFS} /fo <OBJECT> <SOURCE>")
|
||||||
if(ARCH STREQUAL "arm")
|
endif()
|
||||||
set(CMAKE_ASM_COMPILE_OBJECT
|
|
||||||
|
if(ARCH STREQUAL "arm")
|
||||||
|
set(CMAKE_ASM_MASM_COMPILE_OBJECT
|
||||||
"cl ${cl_includes_flag} /nologo /X /I${REACTOS_SOURCE_DIR}/sdk/include/asm /I${REACTOS_BINARY_DIR}/sdk/include/asm <INCLUDES> <FLAGS> <DEFINES> /D__ASM__ /D_USE_ML /EP /c <SOURCE> > <OBJECT>.tmp"
|
"cl ${cl_includes_flag} /nologo /X /I${REACTOS_SOURCE_DIR}/sdk/include/asm /I${REACTOS_BINARY_DIR}/sdk/include/asm <INCLUDES> <FLAGS> <DEFINES> /D__ASM__ /D_USE_ML /EP /c <SOURCE> > <OBJECT>.tmp"
|
||||||
"<CMAKE_ASM_COMPILER> -nologo -o <OBJECT> <OBJECT>.tmp")
|
"<CMAKE_ASM_MASM_COMPILER> -nologo -o <OBJECT> <OBJECT>.tmp")
|
||||||
else()
|
else()
|
||||||
set(CMAKE_ASM_COMPILE_OBJECT
|
set(CMAKE_ASM_MASM_COMPILE_OBJECT
|
||||||
"cl ${cl_includes_flag} /nologo /X /I${REACTOS_SOURCE_DIR}/sdk/include/asm /I${REACTOS_BINARY_DIR}/sdk/include/asm <INCLUDES> <FLAGS> <DEFINES> /D__ASM__ /D_USE_ML /EP /c <SOURCE> > <OBJECT>.tmp"
|
"cl ${cl_includes_flag} /nologo /X /I${REACTOS_SOURCE_DIR}/sdk/include/asm /I${REACTOS_BINARY_DIR}/sdk/include/asm <INCLUDES> <FLAGS> <DEFINES> /D__ASM__ /D_USE_ML /EP /c <SOURCE> > <OBJECT>.tmp"
|
||||||
"<CMAKE_ASM_COMPILER> /nologo /Cp /Fo<OBJECT> /c /Ta <OBJECT>.tmp")
|
"<CMAKE_ASM_MASM_COMPILER> /nologo /Cp /Fo<OBJECT> /c /Ta <OBJECT>.tmp")
|
||||||
endif()
|
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
if(_VS_ANALYZE_)
|
if(_VS_ANALYZE_)
|
||||||
|
@ -214,9 +215,9 @@ elseif(_PREFAST_)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
set(CMAKE_RC_CREATE_SHARED_LIBRARY ${CMAKE_C_CREATE_SHARED_LIBRARY})
|
set(CMAKE_RC_CREATE_SHARED_LIBRARY ${CMAKE_C_CREATE_SHARED_LIBRARY})
|
||||||
set(CMAKE_ASM_CREATE_SHARED_LIBRARY ${CMAKE_C_CREATE_SHARED_LIBRARY})
|
set(CMAKE_ASM_MASM_CREATE_SHARED_LIBRARY ${CMAKE_C_CREATE_SHARED_LIBRARY})
|
||||||
set(CMAKE_RC_CREATE_SHARED_MODULE ${CMAKE_C_CREATE_SHARED_MODULE})
|
set(CMAKE_RC_CREATE_SHARED_MODULE ${CMAKE_C_CREATE_SHARED_MODULE})
|
||||||
set(CMAKE_ASM_CREATE_SHARED_MODULE ${CMAKE_C_CREATE_SHARED_MODULE})
|
set(CMAKE_ASM_MASM_CREATE_SHARED_MODULE ${CMAKE_C_CREATE_SHARED_MODULE})
|
||||||
set(CMAKE_ASM_CREATE_STATIC_LIBRARY ${CMAKE_C_CREATE_STATIC_LIBRARY})
|
set(CMAKE_ASM_CREATE_STATIC_LIBRARY ${CMAKE_C_CREATE_STATIC_LIBRARY})
|
||||||
|
|
||||||
function(set_entrypoint _module _entrypoint)
|
function(set_entrypoint _module _entrypoint)
|
||||||
|
@ -264,12 +265,6 @@ function(set_module_type_toolchain MODULE TYPE)
|
||||||
|
|
||||||
endfunction()
|
endfunction()
|
||||||
|
|
||||||
if(ARCH STREQUAL "arm")
|
|
||||||
set(CMAKE_STUB_ASM_COMPILE_OBJECT "<CMAKE_ASM_COMPILER> -nologo -o <OBJECT> <SOURCE>")
|
|
||||||
else()
|
|
||||||
set(CMAKE_STUB_ASM_COMPILE_OBJECT "<CMAKE_ASM_COMPILER> /nologo /Cp /Fo<OBJECT> /c /Ta <SOURCE>")
|
|
||||||
endif()
|
|
||||||
|
|
||||||
function(add_delay_importlibs _module)
|
function(add_delay_importlibs _module)
|
||||||
get_target_property(_module_type ${_module} TYPE)
|
get_target_property(_module_type ${_module} TYPE)
|
||||||
if(_module_type STREQUAL "STATIC_LIBRARY")
|
if(_module_type STREQUAL "STATIC_LIBRARY")
|
||||||
|
@ -304,9 +299,9 @@ function(generate_import_lib _libname _dllname _spec_file)
|
||||||
|
|
||||||
# Compile the generated asm stub file
|
# Compile the generated asm stub file
|
||||||
if(ARCH STREQUAL "arm")
|
if(ARCH STREQUAL "arm")
|
||||||
set(_asm_stub_command ${CMAKE_ASM_COMPILER} -nologo -o ${_asm_stubs_file}.obj ${_asm_stubs_file})
|
set(_asm_stub_command ${CMAKE_ASM_MASM_COMPILER} -nologo -o ${_asm_stubs_file}.obj ${_asm_stubs_file})
|
||||||
else()
|
else()
|
||||||
set(_asm_stub_command ${CMAKE_ASM_COMPILER} /nologo /Cp /Fo${_asm_stubs_file}.obj /c /Ta ${_asm_stubs_file})
|
set(_asm_stub_command ${CMAKE_ASM_MASM_COMPILER} /nologo /Cp /Fo${_asm_stubs_file}.obj /c /Ta ${_asm_stubs_file})
|
||||||
endif()
|
endif()
|
||||||
add_custom_command(
|
add_custom_command(
|
||||||
OUTPUT ${_asm_stubs_file}.obj
|
OUTPUT ${_asm_stubs_file}.obj
|
||||||
|
@ -459,9 +454,9 @@ macro(add_asm_files _target)
|
||||||
endif()
|
endif()
|
||||||
endforeach()
|
endforeach()
|
||||||
if(ARCH STREQUAL "arm")
|
if(ARCH STREQUAL "arm")
|
||||||
set(_pp_asm_compile_command ${CMAKE_ASM_COMPILER} -nologo -o ${_object_file} ${_preprocessed_asm_file})
|
set(_pp_asm_compile_command ${CMAKE_ASM_MASM_COMPILER} -nologo -o ${_object_file} ${_preprocessed_asm_file})
|
||||||
else()
|
else()
|
||||||
set(_pp_asm_compile_command ${CMAKE_ASM_COMPILER} /nologo /Cp /Fo${_object_file} /c /Ta ${_preprocessed_asm_file})
|
set(_pp_asm_compile_command ${CMAKE_ASM_MASM_COMPILER} /nologo /Cp /Fo${_object_file} /c /Ta ${_preprocessed_asm_file})
|
||||||
endif()
|
endif()
|
||||||
add_custom_command(
|
add_custom_command(
|
||||||
OUTPUT ${_preprocessed_asm_file} ${_object_file}
|
OUTPUT ${_preprocessed_asm_file} ${_object_file}
|
||||||
|
@ -486,7 +481,7 @@ function(add_linker_script _target _linker_script_file)
|
||||||
OUTPUT ${_generated_file}
|
OUTPUT ${_generated_file}
|
||||||
COMMAND "${CMAKE_COMMAND}" -E copy_if_different "${_file_full_path}" "${_generated_file}"
|
COMMAND "${CMAKE_COMMAND}" -E copy_if_different "${_file_full_path}" "${_generated_file}"
|
||||||
DEPENDS ${_file_full_path})
|
DEPENDS ${_file_full_path})
|
||||||
set_source_files_properties(${_generated_file} PROPERTIES LANGUAGE "ASM" GENERATED TRUE)
|
set_source_files_properties(${_generated_file} PROPERTIES LANGUAGE "ASM_MASM" GENERATED TRUE)
|
||||||
add_asm_files(${_target}_linker_file ${_generated_file})
|
add_asm_files(${_target}_linker_file ${_generated_file})
|
||||||
|
|
||||||
# Generate the C module containing extra sections specifications and layout,
|
# Generate the C module containing extra sections specifications and layout,
|
||||||
|
|
|
@ -53,13 +53,13 @@ endif()
|
||||||
set(CMAKE_MC_COMPILER mc)
|
set(CMAKE_MC_COMPILER mc)
|
||||||
set(CMAKE_RC_COMPILER rc)
|
set(CMAKE_RC_COMPILER rc)
|
||||||
if(ARCH STREQUAL "amd64")
|
if(ARCH STREQUAL "amd64")
|
||||||
set(CMAKE_ASM_COMPILER ml64)
|
set(CMAKE_ASM_MASM_COMPILER ml64)
|
||||||
elseif(ARCH STREQUAL "arm")
|
elseif(ARCH STREQUAL "arm")
|
||||||
set(CMAKE_ASM_COMPILER armasm)
|
set(CMAKE_ASM_MASM_COMPILER armasm)
|
||||||
elseif(ARCH STREQUAL "arm64")
|
elseif(ARCH STREQUAL "arm64")
|
||||||
set(CMAKE_ASM_COMPILER armasm64)
|
set(CMAKE_ASM_MASM_COMPILER armasm64)
|
||||||
else()
|
else()
|
||||||
set(CMAKE_ASM_COMPILER ml)
|
set(CMAKE_ASM_MASM_COMPILER ml)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue