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

时间:2017-02-21 19:32:27

标签: c++ visual-studio cmake

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

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

在Visual Studio中构建项目时,有没有办法配置,构建和链接我的库?

我想最终使整个项目成为一个CMake项目,并生成一个全面的Visual Studio解决方案,但它目前相当庞大和复杂。在有限的时间内,我想知道我最好的选择是什么。使用VS Custom Build命令有一种干净的方法吗?

1 个答案:

答案 0 :(得分:0)

这是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)

<强>参考