visual-studio-2012 - 使用ExternalProject_Add后缺少项目

标签 visual-studio-2012 cmake external-project

我使用的是VS2012+cmake2.8.12。我的问题是 CMake 无法生成外部项目的正确路径。例如:

Project("{...}") = "external", "external.vcxproj", "..."  

'external.vcxproj' 应该类似于 ..\path\to\external.vcxproj

以下是我如何使用ExternalProject_Add命令:

ExternalProject_Add(external SOURCE_DIR ${CMAKE_SOURCE_DIR}/../../int/external
                    CMAKE_ARGS ..
                    BINARY_DIR ${CMAKE_SOURCE_DIR}/../../int/external/build)

非常感谢任何帮助!

最佳答案

使用 ExternalProject_Add 构建 Visual Studio 项目的工作方式略有不同。整个ExternalProject模块是平台无关的并且不知道Visual Studio构建系统的特殊性。因此,仅添加 VS 项目是行不通的,因为ExternalProject 不知道如何构建它。相反,您必须指定用于构建项目的完整命令行。像这样的东西:

ExternalProject_Add(external_test
    SOURCE_DIR ${PROJECT_SOURCE_DIR}
    CONFIGURE_COMMAND ""
    BUILD_COMMAND ${CMAKE_MAKE_PROGRAM} ${PROJECT_SOURCE_DIR}/path/to/external.sln /build Release /project optional_project_within_solution
    INSTALL_COMMAND "")

如您所见,情况相当困惑。如果您只想将现有的 VS 项目包含在 CMake 生成的解决方案中,请考虑使用 include_external_msproject相反。

关于visual-studio-2012 - 使用ExternalProject_Add后缺少项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21635006/

相关文章:

c++ - 错误 C3861 : 'rollDice' : identifier not found

cmake - 为dlib创建共享库

cmake - 为ExternalProject_Add 设置WORKING_DIRECTORY CONFIGURE_COMMAND

c++ - 将使用 ExternalProject_Add 构建的库链接到使用 CMAKE_CXX_COMPILER 配置的项目时出错

cmake - 如何防止 CMake 外部项目在每次制作时更新和重新安装?

visual-studio-2012 - 如何将值从 MTM 传递到数据驱动编码的 Ui 测试用例?

c# - 添加 Crystal Report DLL 的引用

vb6 - Visual Studio 2012 合并 VB6 代码会自动对代码进行错误更改

c++ - Boost gil读取图像错误

c - 如何使用 cmake 生成包含文件?