cmake响应文件Unix Makefile生成器与ninja生成器
CMake 3.4.1正在使用响应文件来缩短与ninja而不是unix makefiles链接的命令行长度。我使用IAR嵌入式工具链进行交叉编译,它不支持给定的响应文件语法(即@CMakeFiles/proj.rsp)。我更喜欢使用ninja构建系统,因为它速度更快,但我需要一个解决此响应文件的方法。要么我需要禁用响应文件生成,要么让它使用我的工具链支持的语法(即-f filename)。这两种方法都有吗?我发现这对我来说很有效,尽管可能有更聪明的方法。如果命令行足够短,构建生成器不使用响应文件,我不会感到惊讶cmake响应文件Unix Makefile生成器与ninja生成器,cmake,ninja,Cmake,Ninja,CMake 3.4.1正在使用响应文件来缩短与ninja而不是unix makefiles链接的命令行长度。我使用IAR嵌入式工具链进行交叉编译,它不支持给定的响应文件语法(即@CMakeFiles/proj.rsp)。我更喜欢使用ninja构建系统,因为它速度更快,但我需要一个解决此响应文件的方法。要么我需要禁用响应文件生成,要么让它使用我的工具链支持的语法(即-f filename)。这两种方法都有吗?我发现这对我来说很有效,尽管可能有更聪明的方法。如果命令行足够短,构建生成器不使用响应文件
if ( ${CMAKE_GENERATOR} MATCHES "Ninja" )
set(CMAKE_CXX_LINK_EXECUTABLE "<CMAKE_LINKER> -f CMakeFiles/${PROJECT_NAME}.rsp <LINK_FLAGS> <LINK_LIBRARIES> -o <TARGET>")
endif()
if(${CMAKE_GENERATOR}匹配“忍者”)
设置(CMAKE_CXX_LINK_可执行文件“-f CMakeFiles/${PROJECT_NAME}.rsp-o”)
endif()