如何从外部CMake设置CMAKE_TRY_COMPILE_TARGET_TYPE
How to set CMAKE_TRY_COMPILE_TARGET_TYPE from outside CMake
tl; dr
给定一个我无法编辑的CMakeList.txt
,可以在配置该文件时将CMAKE_TRY_COMPILE_TARGET_TYPE
设置为STATIC_LIBRARY
?
理想情况下,我可以通过环境变量来执行此操作,但是如果不可能,将我的价值作为命令行参数也可以。
也可以。详细信息
我正在尝试构建一个Conan配置文件,该轮廓将使我可以使用GNU臂嵌入工具链进行跨构建。
柯南提供了一种机制,用于指定我希望CMAKE使用的编译器二进制和编译器 链接器标志,但我需要指定set(CMAKE_TRY_COMPILE_TARGET_TYPE STATIC_LIBRARY)
,以使GNU ARM嵌入嵌入CMAKE的编译器检查。
为了使我的交叉构建工具链正常工作,然后我有2个选项:
- 我要支持的每个CMAKE文件都必须检查我们是否正在为嵌入式设备构建,如果是,则运行
set(CMAKE_TRY_COMPILE_TARGET_TYPE STATIC_LIBRARY)
。这很烦人,因为它迫使所有项目都必须考虑被嵌入。 - 或以某种方式将
CMAKE_TRY_COMPILE_TARGET_TYPE
传递给CMAKE而不编辑CMakeList.txt
。
我想做2。
您可以通过-D
标志获得您想要的功能。
我会尝试这样的事情: cmake -D CMAKE_TRY_COMPILE_TARGET_TYPE=STATIC_LIBRARY
相关文章:
- Compile zbar for Python 3.x
- C++ Python "try: except:"版本
- 编译器是否必须始终删除 try-catch 块(如果它被证明是非抛出的)
- 有没有更好的方法来处理异常? try-catch块真的很丑
- Compile bzip2 for Android?
- 当无法进行RAII时,如何在C++中"try/finally"?
- Compile Error with Eluna - QueryResult.cpp
- 我可以使用 try catch 语句来捕获任何错误而不是具体错误吗?
- Eigen loadMarket does not compile
- 在大型应用程序的main上使用try-catch
- RapidXML 节点在 try catch 块中具有正确的值,但它在块外为 nullptr
- 提取 try-catch 时出现运行时错误
- C++:在"try"外部创建的类型会导致错误,但在内部不会
- Luarocks luasql-mysql compile error
- std::unique_ptr 在 try-catch 块中未捕获取消引用异常
- 何时删除 try-catch 块中的指针
- constexpr - "Evaluate value at compile time"到底是什么意思?
- Visual Studio 2017 Compile DirectX8
- 是否有理由大多数/所有 try-catch 示例只对 throw 语句使用 void 子函数
- 循环try..catch ..确保输入有效或使用控制语句