mirror of
https://github.com/microsoft/vcpkg.git
synced 2024-12-16 02:02:00 +08:00
38b959022c
* Add support for building with MinGW Tested with MSYS2 MinGW 8.3.0, gcc-mcf.lhmouse MinGW 9.2.1, and StephanTLavavej/mingw-distro! * Add MinGW toolchain From your MinGW configured shell you could just use vcpkg to configure packages. An x64-mingw triplet would look like: ``` set(VCPKG_TARGET_ARCHITECTURE x64) set(VCPKG_CRT_LINKAGE dynamic) set(VCPKG_LIBRARY_LINKAGE static) set(VCPKG_ENV_PASSTHROUGH PATH) set(VCPKG_CMAKE_SYSTEM_NAME MinGW) ``` * Add MinGW community tripplets x64 tested with https://github.com/StephanTLavavej/mingw-distro x86, arm64, arm tested with https://github.com/mstorsjo/llvm-mingw
81 lines
3.2 KiB
CMake
81 lines
3.2 KiB
CMake
# Common Ambient Variables:
|
|
# CURRENT_BUILDTREES_DIR = ${VCPKG_ROOT_DIR}\buildtrees\${PORT}
|
|
# CURRENT_PACKAGES_DIR = ${VCPKG_ROOT_DIR}\packages\${PORT}_${TARGET_TRIPLET}
|
|
# CURRENT_PORT_DIR = ${VCPKG_ROOT_DIR}\ports\${PORT}
|
|
# CURRENT_INSTALLED_DIR = ${VCPKG_ROOT_DIR}\installed\${TRIPLET}
|
|
# DOWNLOADS = ${VCPKG_ROOT_DIR}\downloads
|
|
# PORT = current port name (zlib, etc)
|
|
# TARGET_TRIPLET = current triplet (x86-windows, x64-windows-static, etc)
|
|
# VCPKG_CRT_LINKAGE = C runtime linkage type (static, dynamic)
|
|
# VCPKG_LIBRARY_LINKAGE = target library linkage type (static, dynamic)
|
|
# VCPKG_ROOT_DIR = <C:\path\to\current\vcpkg>
|
|
# VCPKG_TARGET_ARCHITECTURE = target architecture (x64, x86, arm)
|
|
# VCPKG_TOOLCHAIN = ON OFF
|
|
# TRIPLET_SYSTEM_ARCH = arm x86 x64
|
|
# BUILD_ARCH = "Win32" "x64" "ARM"
|
|
# MSBUILD_PLATFORM = "Win32"/"x64"/${TRIPLET_SYSTEM_ARCH}
|
|
# DEBUG_CONFIG = "Debug Static" "Debug Dll"
|
|
# RELEASE_CONFIG = "Release Static"" "Release DLL"
|
|
# VCPKG_TARGET_IS_WINDOWS
|
|
# VCPKG_TARGET_IS_UWP
|
|
# VCPKG_TARGET_IS_LINUX
|
|
# VCPKG_TARGET_IS_OSX
|
|
# VCPKG_TARGET_IS_FREEBSD
|
|
# VCPKG_TARGET_IS_ANDROID
|
|
# VCPKG_TARGET_IS_MINGW
|
|
# VCPKG_TARGET_EXECUTABLE_SUFFIX
|
|
# VCPKG_TARGET_STATIC_LIBRARY_SUFFIX
|
|
# VCPKG_TARGET_SHARED_LIBRARY_SUFFIX
|
|
#
|
|
# See additional helpful variables in /docs/maintainers/vcpkg_common_definitions.md
|
|
|
|
# # Specifies if the port install should fail immediately given a condition
|
|
# vcpkg_fail_port_install(MESSAGE "@PORT@ currently only supports Linux and Mac platforms" ON_TARGET "Windows")
|
|
|
|
vcpkg_download_distfile(ARCHIVE
|
|
URLS "@URL@"
|
|
FILENAME "@FILENAME@"
|
|
SHA512 @SHA512@
|
|
)
|
|
|
|
vcpkg_extract_source_archive_ex(
|
|
OUT_SOURCE_PATH SOURCE_PATH
|
|
ARCHIVE ${ARCHIVE}
|
|
# (Optional) A friendly name to use instead of the filename of the archive (e.g.: a version number or tag).
|
|
# REF 1.0.0
|
|
# (Optional) Read the docs for how to generate patches at:
|
|
# https://github.com/Microsoft/vcpkg/blob/master/docs/examples/patching.md
|
|
# PATCHES
|
|
# 001_port_fixes.patch
|
|
# 002_more_port_fixes.patch
|
|
)
|
|
|
|
# # Check if one or more features are a part of a package installation.
|
|
# # See /docs/maintainers/vcpkg_check_features.md for more details
|
|
# vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS
|
|
# FEATURES # <- Keyword FEATURES is required because INVERTED_FEATURES are being used
|
|
# tbb WITH_TBB
|
|
# INVERTED_FEATURES
|
|
# tbb ROCKSDB_IGNORE_PACKAGE_TBB
|
|
# )
|
|
|
|
vcpkg_configure_cmake(
|
|
SOURCE_PATH ${SOURCE_PATH}
|
|
PREFER_NINJA # Disable this option if project cannot be built with Ninja
|
|
# OPTIONS -DUSE_THIS_IN_ALL_BUILDS=1 -DUSE_THIS_TOO=2
|
|
# OPTIONS_RELEASE -DOPTIMIZE=1
|
|
# OPTIONS_DEBUG -DDEBUGGABLE=1
|
|
)
|
|
|
|
vcpkg_install_cmake()
|
|
|
|
# # Moves all .cmake files from /debug/share/@PORT@/ to /share/@PORT@/
|
|
# # See /docs/maintainers/vcpkg_fixup_cmake_targets.md for more details
|
|
# vcpkg_fixup_cmake_targets(CONFIG_PATH cmake TARGET_PATH share/@PORT@)
|
|
|
|
# # Handle copyright
|
|
# file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/@PORT@ RENAME copyright)
|
|
|
|
# # Post-build test for cmake libraries
|
|
# vcpkg_test_cmake(PACKAGE_NAME @PORT@)
|