mirror of
https://github.com/microsoft/vcpkg.git
synced 2024-12-12 02:19:03 +08:00
3426db05b9
* [scripts-audit rollup] PR #16419 * pull the cmake doc comment parsing out into its own function * support cmake helper ports * add real support for deprecation, as opposed to ad-hoc * [scripts-audit rollup] PR #16192 * add a z_ in front of internal functions * move internal functions out set feature_vars again in parent scope * [scripts-audit rollup] PR #16309 Audit vcpkg_copy_pdbs * [scripts-audit rollup] PR #16304 * Fix usage, documentation * [scripts-audit rollup] PR #16393 * [scripts-audit rollup] PR #16377 Deprecate `vcpkg_*_cmake` in favor of `vcpkg_cmake_*` from the `vcpkg-cmake` port, as well as `vcpkg_fixup_cmake_targets` in favor of `vcpkg_cmake_config_fixup` from the `vcpkg-cmake-config` port.
47 lines
1.1 KiB
CMake
47 lines
1.1 KiB
CMake
#[===[.md:
|
|
# vcpkg_cmake_install
|
|
|
|
Build and install a cmake project.
|
|
|
|
```cmake
|
|
vcpkg_cmake_install(
|
|
[DISABLE_PARALLEL]
|
|
[ADD_BIN_TO_PATH]
|
|
)
|
|
```
|
|
|
|
`vcpkg_cmake_install` transparently forwards to [`vcpkg_cmake_build()`],
|
|
with additional parameters to set the `TARGET` to `install`,
|
|
and to set the `LOGFILE_ROOT` to `install` as well.
|
|
|
|
[`vcpkg_cmake_build()`]: vcpkg_cmake_build.cmake
|
|
|
|
## Examples:
|
|
|
|
* [zlib](https://github.com/Microsoft/vcpkg/blob/master/ports/zlib/portfile.cmake)
|
|
#]===]
|
|
if(Z_VCPKG_CMAKE_INSTALL_GUARD)
|
|
return()
|
|
endif()
|
|
set(Z_VCPKG_CMAKE_INSTALL_GUARD ON CACHE INTERNAL "guard variable")
|
|
|
|
function(vcpkg_cmake_install)
|
|
cmake_parse_arguments(PARSE_ARGV 0 "arg" "DISABLE_PARALLEL;ADD_BIN_TO_PATH" "" "")
|
|
if(DEFINED arg_UNPARSED_ARGUMENTS)
|
|
message(FATAL_ERROR "vcpkg_cmake_install was passed extra arguments: ${arg_UNPARSED_ARGUMENTS}")
|
|
endif()
|
|
|
|
set(args)
|
|
foreach(arg IN ITEMS DISABLE_PARALLEL ADD_BIN_TO_PATH)
|
|
if(arg_${arg})
|
|
list(APPEND args "${arg}")
|
|
endif()
|
|
endforeach()
|
|
|
|
vcpkg_cmake_build(
|
|
${args}
|
|
LOGFILE_BASE install
|
|
TARGET install
|
|
)
|
|
endfunction()
|