vcpkg/docs/maintainers/vcpkg_build_nmake.md
JackBoosY 934275b712 [libxslt]Using vcpkg_install_nmake in Windows, support unix. (#8589)
* [libxslt]Using vcpkg_install_nmake in Windows, support unix.

* support PRERUN_SHELL/PRERUN_SHELL_DEBUG/PRERUN_SHELL_RELEASE

* Re-trigger CI.
2019-10-29 23:23:36 -07:00

2.3 KiB

vcpkg_build_nmake

Build a msvc makefile project.

Usage:

vcpkg_build_nmake(
    SOURCE_PATH <${SOURCE_PATH}>
    [NO_DEBUG]
    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 CMake script supports the "install" target

Examples

Source

scripts/cmake/vcpkg_build_nmake.cmake