选择"构建解决方案"

时间:2017-02-06 14:42:06

标签: visual-studio cmake

我有一个由CMake生成的Visual Studio 2015解决方案。 CMake创建了一个" INSTALL"复制我请求的所有文件的项目(在我的CMakeLists.txt文件中使用Cmake&#39安装命令)。

这" INSTALL"当我请求完整的解决方案构建时跳过项目

我尝试添加set_target_properties(INSTALL PROPERTIES EXCLUDE_FROM_ALL FALSE),但会报告set_target_properties Can not find target to add properties to: INSTALL

我如何制作"安装"默认生成?我想在下面的屏幕截图中以红色包围的复选框自动启用:

enter image description here

3 个答案:

答案 0 :(得分:6)

您可以使用CMAKE_VS_INCLUDE_INSTALL_TO_DEFAULT_BUILD

<?php

$input = array(
    array(
        'first' => 1,
        'second' => 2,
    ),
    array(
        'third' => 3
    )
);

echo array_sum( array_map( function( $arr ) {
    return array_sum( $arr );
}, $input ) ); // Outputs 6

答案 1 :(得分:2)

经过一些检查后,似乎只有一个通用函数可以设置哪些项目是默认构建的一部分。

cmGlobalVisualStudio7Generator::IsPartOfDefaultBuild

以下是进行检查的部分:

const std::string propertyName =
          "CMAKE_VS_INCLUDE_" + *t + "_TO_DEFAULT_BUILD";
// inspect CMAKE_VS_INCLUDE_<*t>_TO_DEFAULT_BUILD properties

正如Florian的回答中所提到的,您应该能够使用CMAKE_VS_INCLUDE_INSTALL_TO_DEFAULT_BUILD以及任何使用

的自定义项目

set(CMAKE_VS_INCLUDE_<custom project name>_TO_DEFAULT_BUILD 1)

答案 2 :(得分:0)

此外,该变量可以作为从命令行启动cmake的选项添加。 对于VS 2017:

function AddData() {
    var itm = document.getElementById("itmSpinner").value;
    var qty = document.getElementById("qty").value;

    var rows += "<tr><td>" + qty + "</td><td>" + itm + "</td><td>" + qty + "</td></tr>";
    $(rows).appendTo("#itemTbl tbody");
}