Hi, I have a working CMakeLists.txt to build a C++ project using armclang. I have now added an assembler file. Here is my CMakeLists.txt (cut down a bit):
cmake_minimum_required(VERSION 3.24.1)
project(my_arm)
set(EXECUTABLE ${PROJECT_NAME})
enable_language(CXX C ASM)
set(CMAKE_C_STANDARD 99)
set(CMAKE_C_STANDARD_REQUIRED ON)
set(CMAKE_C_EXTENSIONS OFF)
set(CMAKE_CXX_STANDARD 14)
set(CMAKE_CXX_STANDARD_REQUIRED ON)
set(CMAKE_CXX_EXTENSIONS OFF)
set(SRC_FILES
        src/arm_src/main.cpp
        src/arm_src/PktProcWrite_asm.asm
        )
add_executable(${EXECUTABLE})
target_sources(${EXECUTABLE} PRIVATE ${SRC_FILES})
target_compile_definitions(${EXECUTABLE} PRIVATE
    _RTE_
    ARMCM4
    PLATFORM_IS_ARM=1 
    __FILE_INCOMPLETE USE_TUBE=1 
    SIMULATE_SECT_LISTS_AND_TAG_RAMS=0 
    SIMULATE_DESCRIPTORS=0
    )
target_compile_options(${EXECUTABLE} PRIVATE
        -mcpu=cortex-m4
        -mfpu=none 
        -mlittle-endian
        -Wall 
        -fshort-enums 
        -fshort-wchar 
        -ffunction-sections 
        -fshort-enums 
        -fshort-wchar 
        -fno-rtti
        )
set(CMAKE_ASM_FLAGS "--target=arm-arm-none-eabi")
target_include_directories(${EXECUTABLE} PRIVATE
        "${CMSIS_PATH}/CMSIS/Core/Include"
        src/arm_src
        )
target_link_options(${EXECUTABLE} PRIVATE
        --entry=Reset_Handler
        --map
        --info=totals
        --strict 
        --scatter=${RTE_SOURCE_PATH}/Device/ModelSim/scatter.scat
        )
My problem is that the asm file gets compiled with some C++ compiler settings:
"C:/Program Files/Arm/Development Studio 2022.1/sw/ARMCompiler6.18/bin/armclang.exe" -DARMCM4 -DELYSION_PLATFORM_IS_ARM=1 -DSIMULATE_DESCRIPTORS=0 -DSIMULATE_SECT_LISTS_AND_TAG_RAMS=0 -DUSE_TUBE=1 -D_RTE_ -D__FILE_INCOMPLETE -IC:/<snip>/Arm/Packs/ARM/CMSIS/5.9.0/CMSIS/Core/Include  -IC:/<snip>/src/arm_src/ --target=arm-arm-none-eabi -mcpu=cortex-m4 -mfpu=none -mlittle-endian -Wall -fshort-enums -fshort-wchar -ffunction-sections -fno-rtti -O2 -c -o CMakeFiles/<snip>/PktProcWrite_asm.o C:<snip>/PktProcWrite_asm.asm
armclang: warning: argument unused during compilation: '-D ARMCM4' [-Wunused-command-line-argument]
armclang: warning: argument unused during compilation: '-D ELYSION_PLATFORM_IS_ARM=1' [-Wunused-command-line-argument]
armclang: warning: argument unused during compilation: '-D SIMULATE_DESCRIPTORS=0' [-Wunused-command-line-argument]
armclang: warning: argument unused during compilation: '-D SIMULATE_SECT_LISTS_AND_TAG_RAMS=0' [-Wunused-command-line-argument]
armclang: warning: argument unused during compilation: '-D USE_TUBE=1' [-Wunused-command-line-argument]
armclang: warning: argument unused during compilation: '-D _RTE_' [-Wunused-command-line-argument]
armclang: warning: argument unused during compilation: '-D __FILE_INCOMPLETE' [-Wunused-command-line-argument]
armclang: warning: argument unused during compilation: '-fshort-enums' [-Wunused-command-line-argument]
armclang: warning: argument unused during compilation: '-fshort-wchar' [-Wunused-command-line-argument]
armclang: warning: argument unused during compilation: '-ffunction-sections' [-Wunused-command-line-argument]
How can I arrange for the armclang invocation for the .asm file to exclude the target_compile_options and target_include_directories ?