JesseTG
JesseTG

Reputation: 2123

Run a CMake-generated INSTALL.vcxproj on Windows via command line only?

I have a C++ program that I'm trying to build and deploy on AppVeyor (thus, I have no GUI tools available). The dependencies of my project each use CMake for their build systems, and CMake (by default) generates Visual Studio project files on Windows.

One of the generated project files is named INSTALL.vcxproj, which presumably installs the dependency somewhere more or less standard. How can I execute the build process of INSTALL.vcxproj using only the command line?

Note: I am not married to Visual Studio project files. If it's more convenient to just use another generator, that's fine too (if you can explain to me how).

Upvotes: 6

Views: 9978

Answers (2)

user10838321
user10838321

Reputation:

cmake on windows (with Visual studio) will generate severial files:

  1. 1.sln
  2. a.vcxproj
  3. b.vcxproj
  4. INSTALL.vxcproj

To build, just open the Visual Studio Command Prompt and run:

msbuild b.vcxproj

If a.vcxproj is reference by b, it will be built automatically.

To install, open Visual Studio Command Prompt as administrator, and run:

msbuild INSTALL.vcxproj

These are equivalent to linux:

make
make install

Upvotes: 5

Rostislav
Rostislav

Reputation: 3977

To invoke the building of a specific target, use the --target option of cmake --build, i.e. in your case the command will look like cmake --build (YOUR_BUILD_FOLDER) --config Release --target install. Of course you need to set up your compiler environment using vcvarsall.bat. You can use this command with other generators as well (note, that --config option is for multi-configuration tools only, MSVS is one of them).

Upvotes: 10

Related Questions