Как использовать CMake для неинтерактивной сборки в Windows?

Вместо удаления просто сделайте инверсию. Создайте новый словарь из старого, содержащего только элементы, которыми Вы интересуетесь.

public Dictionary<T, U> NewDictionaryFiltered<T, U>
(
  Dictionary<T, U> source,
  Func<T, U, bool> filter
)
{
return source
  .Where(x => filter(x.Key, x.Value))
  .ToDictionary(x => x.Key, x => x.Value);
}
10
задан amit 19 August 2010 в 04:18
поделиться

2 ответа

Я не уверен, что понимаю вопрос. Вы используете его точно так же, как и любую другую систему сборки. Просто укажите «Visual Studio 8 2005» (немного странно, но вы можете получить список всех поддерживаемых систем, вызвав cmake без параметров), и вы получите решение, которое можно построить в командной строке либо с помощью devenv .exe / build или с MSBuild.

Единственное, что немного усложняет, - это если вы хотите сгенерировать решение, когда Visual Studio не установлена, например, на сервере сборки. Вы, конечно, можете просто установить его, но я предпочитаю не устанавливать то, что вам не нужно. В этом случае вам нужно подделать его, чтобы принять MSBuild в качестве командной строки сборки (указав пакетный файл в качестве инструмента сборки в командной строке, который просто переупорядочивает аргументы, чтобы MSBuild их принимал), так что он не начнет скулить о том, как он скучает по Visual Studio (что так безумие, поскольку люди CMake из мира командной строки ...)

О, и если вы действительно хотите просто создать существующее решение Visual Studio в командной строке, вам не нужен CMake. Просто вызовите MSBuild или devenv /build[1142077 visible.

3
ответ дан 3 December 2019 в 14:18
поделиться

CMake можно запустить из командной строки. Вы можете запустить.

cmake.exe -G"Visual Studio 8 2005" -H<source_dir> -B<build_dir>

Ниже приведен фрагмент исходных результатов использования командной строки. Обратите внимание, что параметры -H и -B здесь не описаны. Но их можно использовать для явного определения каталогов исходного кода и сборки в командной строке.

C:\Program Files (x86)\CMake 2.6\bin>cmake
  cmake version 2.6-patch 4
  Usage

  cmake [options] <path-to-source>
  cmake [options] <path-to-existing-build>

  Options
  -C <initial-cache>          = Pre-load a script to populate the cache.
  -D <var>:<type>=<value>     = Create a cmake cache entry.
  -U <globbing_expr>          = Remove matching entries from CMake cache.
  -G <generator-name>         = Specify a makefile generator.
  -Wno-dev                    = Suppress developer warnings.
  -Wdev                       = Enable developer warnings.
  -E                          = CMake command mode.
  -i                          = Run in wizard mode.
  -L[A][H]                    = List non-advanced cached variables.
  -N                          = View mode only.
  -P <file>                   = Process script mode.

Вот доступные генераторы.

Generators

The following generators are available on this platform:
  Borland Makefiles           = Generates Borland makefiles.
  MSYS Makefiles              = Generates MSYS makefiles.
  MinGW Makefiles             = Generates a make file for use with
                                mingw32-make.
  NMake Makefiles             = Generates NMake makefiles.
  Unix Makefiles              = Generates standard UNIX makefiles.
  Visual Studio 6             = Generates Visual Studio 6 project files.
  Visual Studio 7             = Generates Visual Studio .NET 2002 project
                                files.
  Visual Studio 7 .NET 2003   = Generates Visual Studio .NET 2003 project
                                files.
  Visual Studio 8 2005        = Generates Visual Studio .NET 2005 project
                                files.
  Visual Studio 8 2005 Win64  = Generates Visual Studio .NET 2005 Win64
                                project files.
  Visual Studio 9 2008        = Generates Visual Studio 9 2008 project files.
  Visual Studio 9 2008 Win64  = Generates Visual Studio 9 2008 Win64 project
                                files.
  Watcom WMake                = Generates Watcom WMake makefiles.
  CodeBlocks - MinGW Makefiles= Generates CodeBlocks project files.
  CodeBlocks - Unix Makefiles = Generates CodeBlocks project files.
  Eclipse CDT4 - MinGW Makefiles
                              = Generates Eclipse CDT 4.0 project files.
  Eclipse CDT4 - NMake Makefiles
                              = Generates Eclipse CDT 4.0 project files.
  Eclipse CDT4 - Unix Makefiles
                              = Generates Eclipse CDT 4.0 project files.  
9
ответ дан 3 December 2019 в 14:18
поделиться
Другие вопросы по тегам:

Похожие вопросы: