将CMake项目添加到Visual Studio解决方案

8

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

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

在Visual Studio中构建项目时,是否有一种方式可以配置、构建和链接我的库到我的项目中?

我希望最终将整个项目变成一个CMake项目并生成一个全面的Visual Studio解决方案,但目前项目非常大且复杂。考虑时间有限,我想知道最佳选择是什么。是否有使用VS自定义构建命令的清晰方法来完成这个过程?

1个回答

4
这里是CMake配置和构建步骤的最简化版本。
只需在与您的 CMakeLists.txt 文件相同的文件夹中创建一个 Configuration Type / Utility 项目,然后添加以下内容:
  • Pre-Build Event / Command Line

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

    or for newer versions of CMake

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

    Just because I personally don't like it to use msbuild.exe (which would be the default).

  • Post-Build Event / Command Line

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

替代方案

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

cmake_minimum_required(VERSION 2.6)

project(project)

include_external_msproject(${PROJECT_NAME} src/${PROJECT_NAME}.vcxproj)
...
add_subdirectory(dep/library/src library)

参考资料


3
如何“创建配置类型/实用程序项目”?在VS2019中,单击“文件”>“新建”>“项目”,搜索“配置”或“实用程序”没有结果。 - M.M

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接