Skip to content

msvc-pkg is a lightweight build manger using MSVC or MSVC-like toolsets to build as many as C/C++/Fortran open source libraries as possible

License

Notifications You must be signed in to change notification settings

jiangjianshan/msvc-pkg

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

msvc-pkg

  • ⚓ Have you ever encountered a build failure after spending a lot of time to build libraries and their dependencies?
  • 🏛️ Do you want to compile Autotools-based libraries on Windows without installing Cygwin or MSYS2?
  • 🏗️ Do you want to have a colorful and meaningful terminal for the compilation process?
  • ✨ Do you want each build process to be output to the terminal and also logged to a file?
  • 🏘️ Do you want to have .lib instead of .dll.a or .lib as suffix for the generated library files when using GNU libtool?
  • 🥁 Do you want to use MSVC or MSVC-like toolchain for native compilation on Windows without using MinGW?
  • 🏆 Do you want to automatically compile all build dependencies when compiling a library?
  • 🚗 Do you want to have independent compilation process for each library?
  • and etc.

🚀 msvc-pkg is the right lightweight build manager you are looking for. It consists of more than 200+ open source libraries, which are available under👝 packages folder. Some of these libraries are not easy to be built on Windows, e.g. 💘 gmp 💚, 💘 ncurses 💚 and so on. More and more libraries are comming.

Dependencies

Quick Start

Before you start to use msvc-pkg, the following steps are needed.

git clone https://github.com/jiangjianshan/msvc-pkg.git
cd msvc-pkg
bootstrap.bat

📝Please note that this🚂 bootstrap.bat will not only install those Dependencies above, but also install some neccessary build essentials into Git for windows. So that msvc-pkg can build autotools base projects on Windows without install Cygwin or MSYS2.

Then, it is recommand to create a file settings.yaml and put it in the root folder of msvc-pkg. In case you want to install some libraries to your pre-defined location. Here is an example.

# settings.yaml
# The default location is msvc-pkg\x64 or msvc-pkg\x86
prefix:
  x64:
    llvm-project: D:\LLVM
    lua: D:\Lua
    perl: D:\Perl
    ruby: D:\Ruby
    tcl: D:\Tcl
    tk: D:\Tcl
  x86:

How to use

Using msvc-pkg is quick and simple. mpt.bat is the entry point from command line. Open the Windows terminal and follow the command from the below examples.

Example:

If you want to see the installation status of all available packages

mpt --list

If you want to build all available libraries on default host architecture

mpt

But if you want to build them on another architecture, e.g. x86

mpt x86

In case you don't want to build all but just some of them, e.g. gmp, gettext, ncurses, readline, on default host architecture

mpt gmp gettext ncurses readline

Contributors

This project follows the all-contributors specification. 🚈 The goal of msvc-pkg is to use MSVC and MSVC-like toolset to build as many C/C++/Fortran open source librareis as possible. It is a ✨huge✨ effort. Any volunteer for further contribution is welcome. If you find this project useful, please kindly click the 🌟star🌟 on the upper right corner. Thanks.

About

msvc-pkg is a lightweight build manger using MSVC or MSVC-like toolsets to build as many as C/C++/Fortran open source libraries as possible

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published