vcpkg/docs/maintainers/vcpkg_build_nmake.md
Jack·Boos·Yu 2b20b27b0d
[docs] Fix the automatically generated document URL (#16611)
* [document] Fix the automatically generated document URL

* [docs] Format all documents
2021-03-10 11:56:07 -06:00

2.5 KiB

vcpkg_build_nmake

The latest version of this document lives in the vcpkg repo.

Build a msvc makefile project.

Usage:

vcpkg_build_nmake(
    SOURCE_PATH <${SOURCE_PATH}>
    [NO_DEBUG]
    [TARGET <all>]
    [PROJECT_SUBPATH <${SUBPATH}>]
    [PROJECT_NAME <${MAKEFILE_NAME}>]
    [PRERUN_SHELL <${SHELL_PATH}>]
    [PRERUN_SHELL_DEBUG <${SHELL_PATH}>]
    [PRERUN_SHELL_RELEASE <${SHELL_PATH}>]
    [OPTIONS <-DUSE_THIS_IN_ALL_BUILDS=1>...]
    [OPTIONS_RELEASE <-DOPTIMIZE=1>...]
    [OPTIONS_DEBUG <-DDEBUGGABLE=1>...]
    [TARGET <target>])

Parameters

SOURCE_PATH

Specifies the directory containing the source files. By convention, this is usually set in the portfile as the variable SOURCE_PATH.

PROJECT_SUBPATH

Specifies the sub directory containing the makefile.vc/makefile.mak/makefile.msvc or other msvc makefile.

PROJECT_NAME

Specifies the name of msvc makefile name. Default is makefile.vc

NO_DEBUG

This port doesn't support debug mode.

ENABLE_INSTALL

Install binaries after build.

PRERUN_SHELL

Script that needs to be called before build

PRERUN_SHELL_DEBUG

Script that needs to be called before debug build

PRERUN_SHELL_RELEASE

Script that needs to be called before release build

OPTIONS

Additional options passed to generate during the generation.

OPTIONS_RELEASE

Additional options passed to generate during the Release generation. These are in addition to OPTIONS.

OPTIONS_DEBUG

Additional options passed to generate during the Debug generation. These are in addition to OPTIONS.

TARGET

The target passed to the nmake build command (nmake/nmake install). If not specified, no target will be passed.

ADD_BIN_TO_PATH

Adds the appropriate Release and Debug bin\ directories to the path during the build such that executables can run against the in-tree DLLs.

Notes:

This command should be preceeded by a call to vcpkg_configure_nmake(). You can use the alias vcpkg_install_nmake() function if your makefile supports the "install" target

Examples

Source

scripts/cmake/vcpkg_build_nmake.cmake