我确实需要包含"交叉编译"在我的项目(英特尔和PowerPC)中,我发现了定义目标的问题。我有以下文件夹结构:
库
*的.h
*。CPP
的CMakeLists.txt
的src
*的.h
*。CPP
的CMakeLists.txt
...
-CMakeLists.txt
如果在src文件夹的CMakeLists.txt中写下以下代码,它可以工作......
ADD_EXECUTABLE( intel ${SOURCES} ) SET_TARGET_PROPERTIES( intel PROPERTIES OUTPUT_NAME ${APP_NAME}_INTEL EXCLUDE_FROM_ALL true ) TARGET_LINK_LIBRARIES( intel ${LIBS_INTEL} )
但是我真的不知道如何在库的CMakeLists(libs文件夹)中这样做。如果我遵循相同的结构并使用" intel"作为目标,它返回一条错误消息,说明"目标名称已被使用"。
我确实想用两个选项编译我的所有项目:
"使英特尔" - >生成英特尔版本"制作powerPc" - >生成PowerPC版本
我一直在互联网上寻找它,但我无法找到正确的解决方案。
我希望有人能帮助我。
答案 0 :(得分:0)
最后我找到了解决方案。它就像在主CMakeLists.txt文件中使用以下宏一样简单。
ADD_CUSTOM_TARGET(INTEL DEPENDS EXECUTABLE1 EXECUTABLE2 ... EXECUTABLEN)
与其他目标powerpc相同。