vcpkg_build_nmake
Build an NMake Makefile project.
Usage
vcpkg_build_nmake(
SOURCE_PATH <${SOURCE_PATH}>
[PROJECT_SUBPATH <${SUBPATH}>]
[PROJECT_NAME <${MAKEFILE_NAME}>]
[LOGFILE_ROOT <prefix>]
[CL_LANGUAGE <language-name>]
[PREFER_JOM]
[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 <all>...]
[ENABLE_INSTALL]
)
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.
PROJECT_NAME
Specifies the name of the makefile.
Default is makefile.vc
LOGFILE_ROOT
Specifies a log file prefix.
CL_LANGUAGE
Specifies the language for setting up flags in the _CL_
environment variable.
The default language is CXX
.
To disable the modification of _CL_
, use NONE
.
PREFER_JOM
Specifies that a parallel build with jom
should be attempted.
This is useful for faster builds of makefiles which process many independent targets
and which cannot benefit from the /MP
cl option.
To mitigate issues with concurrency-unaware makefiles, a normal nmake
build is run after jom
errors.
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 the build command.
OPTIONS_RELEASE
Additional options passed to the build command for the release build. These are in addition to OPTIONS
.
OPTIONS_DEBUG
Additional options passed to the build command for the debug build. These are in addition to OPTIONS
.
TARGET
The list of targets passed to the build command.
If not specified, target all
will be passed.
ENABLE_INSTALL
Adds install
to the list of targets passed to the build command,
and passes the install prefix in the INSTALLDIR
makefile variable.
Notes
You can use the alias vcpkg_install_nmake()
function if your makefile supports the
"install" target.
Examples
Source
Feedback
https://aka.ms/ContentUserFeedback.
Coming soon: Throughout 2024 we will be phasing out GitHub Issues as the feedback mechanism for content and replacing it with a new feedback system. For more information see:Submit and view feedback for