From e7caa8993a6295be3e1de9f889765971a0295701 Mon Sep 17 00:00:00 2001 From: Martin Kojtal Date: Thu, 13 Aug 2020 16:32:44 +0100 Subject: [PATCH] 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. --- cmake/toolchain.cmake | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/cmake/toolchain.cmake b/cmake/toolchain.cmake index 38e138c936..50dbeda600 100644 --- a/cmake/toolchain.cmake +++ b/cmake/toolchain.cmake @@ -76,3 +76,22 @@ set(CMAKE_CXX_FLAGS_RELWITHDEBINFO "" CACHE STRING "" FORCE) set(CMAKE_ASM_FLAGS_DEBUG "" CACHE STRING "" FORCE) set(CMAKE_ASM_FLAGS_RELEASE "" CACHE STRING "" FORCE) set(CMAKE_ASM_FLAGS_RELWITHDEBINFO "" CACHE STRING "" FORCE) + +# Use response files always +set(CMAKE_ASM_USE_RESPONSE_FILE_FOR_INCLUDES 1) +set(CMAKE_C_USE_RESPONSE_FILE_FOR_INCLUDES 1) +set(CMAKE_CXX_USE_RESPONSE_FILE_FOR_INCLUDES 1) + +set(CMAKE_ASM_USE_RESPONSE_FILE_FOR_OBJECTS 1) +set(CMAKE_C_USE_RESPONSE_FILE_FOR_OBJECTS 1) +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() +