父项目中定义的自定义目标未出现在子项目中。
从父项目的CMakeLists.txt文件中提取:
ADD_CUSTOM_TARGET(test sh <some script>.sh)
SUBDIRS(src)
从子项目的CMakeLists.txt文件中提取(位于src/<child project name>/
下:
ADD_DEPENDENCIES(${PROJECT_NAME} test)
如果您需要来自任何CMakeLists.txt文件的更多信息,我可以提供它,但我认为上面提到的是最相关的。
这在Visual Studio中适用于我(即test
在<parent>.vcproj
和<child>.vcproj
中显示为依赖关系)但在Xcode中不显示。在Xcode中,它显示在<parent>.xcodeproj
但不显示<child>.xcodeproj
。
所以我的问题是让它适用于Xcode。
======================================
编辑1(基于安东尼奥的评论):
子项目的CMakeLists.txt文件还包含:
SET (PROJECT_NAME MyApp)
...
PROJECT(${PROJECT_NAME})
...
SET_SOURCE_FILES_PROPERTIES (${CMAKE_BINARY_DIR}/generated-by-test-sh.c PROPERTIES GENERATED TRUE)
ADD_EXECUTABLE (${PROJECT_NAME} ${GUI_TYPE} ${SRC} ${CMAKE_BINARY_DIR}/generated-by-test-sh.c)
所有内容都应该正确定义。就像我说的,它在Visual Studio中运行良好。
此外,在子项中添加if (TARGET test)
会返回true,因此我猜测孩子知道父项中定义的目标....但Xcode不会在子项目中添加依赖项。因此,如果您尝试构建,Xcode会抱怨说无法找到generated-by-test-sh.c
。