mirror of https://github.com/ARMmbed/mbed-os.git
CMake: ninja reponse files disabled for ARMClang on Windows
Issue https://gitlab.kitware.com/cmake/cmake/-/issues/21093 Until this is fixed, we should disable response files for ARMClang + ninja on Windows. Other toolchains and host systems should benefit from response files thus not disabling them completely. This fixes the issue with not finding includes. It's not trivial to find the root cause, it took me a while to figure out why ARMClang can't find the paths. I moved the check to Mbed OS main cmake. It should not be in the toolchain file as it is not related to the toolchain but to generator. We need toolchain properly set up first. Note, I had to protect setting CMAKE_NINJA_FORCE_RESPONSE_FILE. If I set it to 0, ninja would still use rsp files so I rather protected it and define that variable only when required, not always. Co-authored-by: Hugues Kamba <41612201+hugueskamba@users.noreply.github.com>pull/13566/head
parent
bf552af039
commit
9faeadc522
|
@ -200,3 +200,12 @@ function(mbed_generate_executable target)
|
|||
mbed_generate_bin_hex(${target})
|
||||
mbed_generate_map_file(${target})
|
||||
endfunction()
|
||||
|
||||
# Ninja requires to be forced for response files
|
||||
if ("${CMAKE_GENERATOR}" MATCHES "Ninja")
|
||||
# known issue ARMClang and Ninja with response files for windows
|
||||
# https://gitlab.kitware.com/cmake/cmake/-/issues/21093
|
||||
if(NOT (CMAKE_HOST_SYSTEM_NAME MATCHES "Windows" AND CMAKE_CXX_COMPILER_ID MATCHES "ARMClang"))
|
||||
set(CMAKE_NINJA_FORCE_RESPONSE_FILE 1 CACHE INTERNAL "")
|
||||
endif()
|
||||
endif()
|
||||
|
|
|
@ -89,9 +89,3 @@ set(CMAKE_CXX_USE_RESPONSE_FILE_FOR_OBJECTS 1)
|
|||
set(CMAKE_ASM_USE_RESPONSE_FILE_FOR_LIBRARIES 1)
|
||||
set(CMAKE_C_USE_RESPONSE_FILE_FOR_LIBRARIES 1)
|
||||
set(CMAKE_CXX_USE_RESPONSE_FILE_FOR_LIBRARIES 1)
|
||||
|
||||
# Ninja requires to be forced for response files
|
||||
if ("${CMAKE_GENERATOR}" MATCHES "Ninja")
|
||||
set(CMAKE_NINJA_FORCE_RESPONSE_FILE 1 CACHE INTERNAL "")
|
||||
endif()
|
||||
|
||||
|
|
Loading…
Reference in New Issue