【发布时间】:2017-03-27 14:54:02
【问题描述】:
由于用于嵌入式开发的多个工具链,我的路径中有不兼容的 sh.exe 和 make.exe。我想强制使用不在我路径中的那个。
cmake 使用了错误的 make(路径中的那个)来检查 GCC 功能,我可以使用 SET(CMAKE_MAKE_PROGRAM .../make.exe) 强制使用正确的 make
如何为 sh.exe 做同样的事情?
【问题讨论】:
-
我们谈论的是
add_custom_command()还是execute_process()?一般来说,CMake 不直接使用sh.exe(参见例如here)。或者你能说明你对sh.exe有什么问题吗?错误信息? -
@Florian 实际上我使用
arm-none-eabi-gcc和cmake尝试通过编译示例程序来检查编译器。如果 atmelStudio 的sh在路径中,则构建失败:/usr/bin/sh: -c: line 3: syntax error: unexpected end of file如果不在路径中,则编译成功 -
强制
make程序总是很棘手。您能否也添加您的cmake命令行调用?否则我认为你可以利用/修改我描述的CMAKE_IGNORE_PATH方法here -
@Florian 感谢您的回复,
CMAKE_IGNORE_PATH绝对是一个好提议。关于CMAKE_MAKE_PROGRAM我已经删除了它,因为它引起了一些问题。仅供参考:我在 Windows 上运行并使用sh构建的效果不如默认的cmd。我犯了第一个错误,没有错误描述
标签: cmake cross-compiling