我们使用特定的编译器,称为Cadul。它有自己的库,目标等。问题是CMake不支持它,而不是这样的"标准"编译器如GNU,Intel,Clang等。
首先,我认为使用交叉编译但它没有用,因为主机和目标平台是相同的。
然后我查看了模块,在那里我找到了名为" Compiler"的目录。其中包含很多" .cmake"为每个编译器和每个启用的语言指定的文件。我试图用'#34; GNU" by" Cadul"并希望看到任何变化,例如" CXX编译器标识是Cadul ..."。但它并没有发生。
然后我刚刚删除了整个目录" Modules"来自cmake并希望看到它不再起作用。令人惊讶的确如此。
那么有没有人有新的编译器集成到Cmake?具有自己的功能等。
答案 0 :(得分:0)
评论中似乎已经建议这样做了,但还没有人将它浓缩成答案。
您可以通过将这些行添加到CMakeLists.txt(source)来选择编译器:
SET(CMAKE_C_COMPILER /path/to/c/compiler)
SET(CMAKE_CXX_COMPILER /path/to/cpp/compiler)
如果您需要进一步自定义,使用工具链文件效果很好。文档here中有一些示例。
答案 1 :(得分:0)
是的,我以前做过这个。但是你需要更多的东西,只需设置编译器路径(因为CMake会尝试识别这个编译器,然后 - 因为CMake不知道 - 会引发错误)。
新的“编译器”的示例实现可以在我的答案中找到:
它显示了可以用enable_language(FOO)
替换的enable_language(Cadul)
示例。