【问题标题】:Adding a CMake project to a Visual Studio solution将 CMake 项目添加到 Visual Studio 解决方案
【发布时间】:2017-07-11 14:34:10
【问题描述】:

我正在开发一个 Visual Studio 2013 项目,并希望将其链接到使用 CMake 生成构建配置的库。例如:

project
|-> src
    |-> project.sln
|-> dep
    |-> library
        |-> src
            |-> CMakeLists.txt

当我在 Visual Studio 中构建项目时,是否可以配置、构建库并将其链接到我的项目?

我希望最终将整个项目变成一个 CMake 项目并生成一个全面的 Visual Studio 解决方案,但它目前相当庞大和复杂。在有限的时间里,我想知道我最好的选择是什么。使用 VS 自定义构建命令有没有一种干净的方法来做到这一点?

【问题讨论】:

    标签: c++ visual-studio cmake


    【解决方案1】:

    这里是 CMake 配置和构建步骤的最简化版本。

    只需在与CMakeLists.txt 相同的文件夹中创建一个配置类型/实用程序项目并添加:

    • 预构建事件/命令行

      IF NOT EXIST "bin\*.sln" ( cmake -H"." -B"bin" )
      

      或者对于更新版本的 CMake

      IF NOT EXIST "bin\*.sln" ( 
          cmake -H"." -B"bin" -DCMAKE_MAKE_PROGRAM:PATH="$(DevEnvDir)\devenv.exe"
      )
      

      只是因为我个人不喜欢使用msbuild.exe(这是默认设置)。

    • 构建后事件/命令行

      cmake --build "bin" --config "$(Configuration)"
      

    替代方案

    您还可以通过include_external_msproject() 命令创建一个根CMakeLists.txt 导入现有的.vcproj 文件:

    cmake_minimum_required(VERSION 2.6)
    
    project(project)
    
    include_external_msproject(${PROJECT_NAME} src/${PROJECT_NAME}.vcxproj)
    ...
    add_subdirectory(dep/library/src library)
    

    参考

    【讨论】:

    • 如何“创建配置类型/实用程序项目”?在VS2019下File > New > Project,搜索“Configuration”或“Utility”没有结果
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-04-06
    相关资源
    最近更新 更多