msvc-pkg helps you to use MSVC or MSVC-like toolset to do native build on Windows for a lots of open source libraries.
There are already some good projects exist, e.g. vcpkg, MXE, MINGW-packages and so on. Why I create this project?
- msvc-pkg has made an exactly native win32/win64 build for supported free open source libraries.
- msvc-pkg has implemented the missing features of libtool which can't set the naming style of static and shared libraries.
- msvc-pkg has reduced the difficulty to build GNU Autotools base projects, e.g. gmp, ncurses and so on.
- msvc-pkg has made some patches for compile, ar-lib and so on wrapper from GNU, so that can build more GNU projects.
- msvc-pkg has made color highlight for warnings or errors during configure and build procedure.
- msvc-pkg can build library with its dependencies together.
- Cygwin
- Visual C++ Build Tools or Visual Studio and Windows 10/11 SDK
- Git
- Python 3
- CMake
- wget
- ninja
- meson
- CUDA and CUDNN (Some libraries need them)
- Windows Terminal (Optional but recommend to have it)
First, download msvc-pkg from Github in your local location
git clone https://github.com/jiangjianshan/msvc-pkg.git
If you don't install those Dependencies above, you can run
bootstrap.bat
on the command prompt, bootstrap.bat
will check and install them automatically except for some of them only ask you to install the newest version
On Cygwin terminal, type
./mpt --help
# build all available libraries on default host architecture, and install them
# on default prefix
./mpt
# build and install all available libraries on x86 architecture, and install them
# on default prefix
./mpt --arch x86
# build all available libraries on default host architecture and install them to D:\mswin64
./mpt --prefix "D:\mswin64"
# build all available libraries on default host architecture, and install them
# on default prefix except for llvm-project and lua have their own install prefix
./mpt --llvm-project-prefix "D:\LLVM" --lua-prefix "D:\Lua"
# build all available libraries on default host architecture, and install them
# on D:\mswin64 except for llvm-project and lua have their own install prefix
./mpt --llvm-project-prefix "D:\LLVM" --lua-prefix "D:\Lua" --prefix "D:\mswin64"
# build gmp on default host architecture and install it to default prefix
./mpt gmp
# build gmp and ncurses on default host architecture and install them to default prefix
./mpt gmp ncurses
# build gmp and ncurses on default architecture and install them to D:\mswin64
./mpt --prefix "D:\mswin64" gmp ncurses
This project follows the all-contributors specification. Contributions of any kind are welcome!