iOS CMake安装(目标...)功能使用错误的文件夹

时间:2013-09-09 14:44:30

标签: ios cmake

使用iOS.cmake工具链(位于此处https://code.google.com/p/ios-cmake/)时,我的构建文件夹已从DebugRelease更改为Debug-iphoneosRelease-iphoneos。< / p>

除非我尝试运行以下代码,否则这不是问题:

install(TARGETS ${PROJECT_NAME} 
        RUNTIME DESTINATION bin COMPONENT development
        ARCHIVE DESTINATION lib COMPONENT development 
        LIBRARY DESTINATION ${MYPROJECT_LIB_SUBDIR} COMPONENT development NAMELINK_SKIP)
install(TARGETS ${PROJECT_NAME} 
        RUNTIME DESTINATION bin COMPONENT runtime
        ARCHIVE DESTINATION lib COMPONENT source 
        LIBRARY DESTINATION ${MYPROJECT_LIB_SUBDIR} COMPONENT source NAMELINK_SKIP)

此代码给出了以下错误:

-- Install configuration: "Release"
-- Install component: "development"
CMake Error at cmake_install.cmake:54 (FILE):
  file INSTALL cannot find
  "/Users/username/Documents/Projects/MyFramework/src/ios-build/MyProject/Release/libMyProject.a".

-- Install configuration: "Debug"
-- Install component: "development"
CMake Error at cmake_install.cmake:48 (FILE):
  file INSTALL cannot find
  "/Users/username/Documents/Projects/MyFramework/src/ios-build/MyProject/Debug/libMyProjectd.a".

由于某种原因,install(targets ...)函数正在查找名为DebugRelease的文件夹,而不是Debug-iphoneosRelease-iphoneos

所以我要么确保install(targets ...)正在查找存档的正确文件夹,要么我需要阻止iOS.cmake重命名Debug和Release文件夹。任何人都可以为此提出任何建议吗?

修改

看起来这是CMake的问题,如下所示:http://public.kitware.com/Bug/view.php?id=9117

我尝试更新到最新版本的CMake,看看是否已修复,我仍然遇到同样的错误。我看到错误报告附带了一个补丁,但我不确定如何应用它或我可以做些什么来解决这个问题。

1 个答案:

答案 0 :(得分:4)

在此处找到有关此问题的更具体的报告:http://public.kitware.com/Bug/view.php?id=12506

该网站上有几种解决方法。但是,我使用下面的代码片段来创建同一目录中的Release和Debug文件夹,而不将EFFECTIVE_PLATFORM_NAME附加到它们。

if(${IOS})
  set_target_properties(${PROJECT_NAME} PROPERTIES ARCHIVE_OUTPUT_DIRECTORY "${PROJECT_BINARY_DIR}")
endif(${IOS})