Skip to content

Commit a46266d

Browse files
0xc0170hugueskamba
authored andcommitted
CMake: use response files
As Mbed OS is built as whole, we have long paths again. This is known issue with windows. To fix the paths, we need to use response files. Ninja is special, needs to be forced to use long paths.
1 parent f5bc7b9 commit a46266d

File tree

1 file changed

+19
-0
lines changed

1 file changed

+19
-0
lines changed

cmake/toolchain.cmake

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -76,3 +76,22 @@ set(CMAKE_CXX_FLAGS_RELWITHDEBINFO "" CACHE STRING "" FORCE)
7676
set(CMAKE_ASM_FLAGS_DEBUG "" CACHE STRING "" FORCE)
7777
set(CMAKE_ASM_FLAGS_RELEASE "" CACHE STRING "" FORCE)
7878
set(CMAKE_ASM_FLAGS_RELWITHDEBINFO "" CACHE STRING "" FORCE)
79+
80+
# Use response files always
81+
set(CMAKE_ASM_USE_RESPONSE_FILE_FOR_INCLUDES 1)
82+
set(CMAKE_C_USE_RESPONSE_FILE_FOR_INCLUDES 1)
83+
set(CMAKE_CXX_USE_RESPONSE_FILE_FOR_INCLUDES 1)
84+
85+
set(CMAKE_ASM_USE_RESPONSE_FILE_FOR_OBJECTS 1)
86+
set(CMAKE_C_USE_RESPONSE_FILE_FOR_OBJECTS 1)
87+
set(CMAKE_CXX_USE_RESPONSE_FILE_FOR_OBJECTS 1)
88+
89+
set(CMAKE_ASM_USE_RESPONSE_FILE_FOR_LIBRARIES 1)
90+
set(CMAKE_C_USE_RESPONSE_FILE_FOR_LIBRARIES 1)
91+
set(CMAKE_CXX_USE_RESPONSE_FILE_FOR_LIBRARIES 1)
92+
93+
# Ninja requires to be forced for response files
94+
if ("${CMAKE_GENERATOR}" MATCHES "Ninja")
95+
set(CMAKE_NINJA_FORCE_RESPONSE_FILE 1 CACHE INTERNAL "")
96+
endif()
97+

0 commit comments

Comments
 (0)