我正在使用cmake对VxWorks进行交叉编译。当我第一次运行cmake时,我必须提供有关编译器,目标操作系统等的信息。
在交叉编译对话框中,我设置了三个目标系统设置:
(其次是编译器等)
虽然我可以使用CMAKE_SYSTEM_NAME
检索第一个,但我无法获得版本和处理器。
两者都返回一个空字符串。
以下是一个例子:
MESSAGE("CMAKE_SYSTEM_PROCESSOR: ${CMAKE_SYSTEM_PROCESSOR}")
MESSAGE("CMAKE_SYSTEM_VERSION: ${CMAKE_SYSTEM_VERSION}")
输出:
CMAKE_SYSTEM_PROCESSOR:
CMAKE_SYSTEM_VERSION:
我的Cmake版本是 2.8.10.2 ,目标操作系统是VxWorks(如果这很重要 - 编译器是WindRiver GNU)。
如何获得我在开始时设置的版本和处理器?或者,如果我交叉编译到cmake未知的操作系统,这是不可能的吗?
(顺便说一句。编译工作正常)
答案 0 :(得分:0)
到目前为止,这似乎是不可能的。我一直都是空字符串。
然而,有一个可行的解决方案,我想这是更好的方法:
我指定了交叉编译设置(编译器和目标系统,参见问题),然后它运行在CMake列表中的VxWorks特定部分(使用if( VxWorks )
检查以确保它不被执行当使用其他系统时。)
我为VxWorks和所需的处理器编写了 工具链文件 和 平台文件 。
<强>缺点:强>
<强>优点:强>