vcpkg/docs/maintainers/vcpkg_build_nmake.md
JackBoosY ad493fd860 Add function vcpkg_configure_make/vcpkg_build_make/vcpkg_install_make/vcpkg_build_nmake/vcpkg_install_nmake (#8267)
* Add function vcpkg_configure_make/vcpkg_build_make.

* Fix autoreconf command and add log.

* Add vcpkg_install_make.

* Fix call function name.

* support non-debug mode.

* Add nmake support.

* [tcl]Add new port for testing.

* [vcpkg_configure_make]Fix prefix in linux.

* restart CI systen.

* Separate vcpkg_build_nmake/vcpkg_install_nmake. Add arg PROJECT_NAME.

* fix copy source file. add samples.

* Remove uncommon options.
Add force install para to autoreconf.

* fix build error.

* fix options judgment.

* enable nmake in windows.

* fix some envs and macros. Disable NMAKE in vcpkg_configure_make currently.

* update docs.

* fix environments.

* Modify libosip2 to use vcpkg_configure_make/vcpkg_install_make.

* [tcl]Tcl separates PR.

* trigger PR-EAGER.

* [freexl]Fix options name and remove option NMAKE.

* use tool-chain instead of set environments manually.

* fix autoreconf para.

* use vcpkg_execute_build_process instead.
2019-10-05 07:51:07 -07:00

64 lines
2.0 KiB
Markdown

# vcpkg_build_nmake
Build a msvc makefile project.
## Usage:
```cmake
vcpkg_build_nmake(
SOURCE_PATH <${SOURCE_PATH}>
[NO_DEBUG]
PROJECT_SUBPATH <${SUBPATH}>
PROJECT_NAME <${MAKEFILE_NAME}>
[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.
### 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()`](vcpkg_configure_nmake.md).
You can use the alias [`vcpkg_install_nmake()`](vcpkg_configure_nmake.md) function if your CMake script supports the
"install" target
## Examples
* [tcl](https://github.com/Microsoft/vcpkg/blob/master/ports/tcl/portfile.cmake)
* [freexl](https://github.com/Microsoft/vcpkg/blob/master/ports/freexl/portfile.cmake)
## Source
[scripts/cmake/vcpkg_build_nmake.cmake](https://github.com/Microsoft/vcpkg/blob/master/scripts/cmake/vcpkg_build_nmake.cmake)