我的项目中有C ++和C文件。我使用CMAKE_CXX_FLAGS
和CMAKE_C_FLAGS
为每个设置单独和不同的编译标志设置。如何为每个创建不同的链接器标志?
如果存在CMAKE_CXX_EXE_LINKER_FLAGS
和CMAKE_C_EXE_LINKER_FLAGS
之类的内容会很好,但只有CMAKE_EXE_LINKER_FLAGS
。
答案 0 :(得分:1)
有
CMAKE_CXX_LINK_EXECUTABLE
CMAKE_C_LINK_EXECUTABLE
看起来他们可以解决你的问题。
请记住,您正在进入编译器和平台特定的东西,如果您需要多平台,多编译器项目,那么您可以选择正确的条件组合来选择正确的宏集。
答案 1 :(得分:0)
至少在CMake 3.0.2版本中,CMAKE_C_LINK_FLAGS
中使用了以下变量CMAKE_CXX_LINK_FLAGS
和./share/cmake-3.0/Modules/CMakeCXXInformation.cmake
。
它们没有记录在我看过的任何地方,并且没有出现在生成的文件或缓存中,因此我没有找到它们。但他们似乎做我需要的。
希望CMake会继续支持他们,而不是在没有任何警告的情况下突然删除它们,就像有时未记录的功能一样。