Updated building (markdown)

casey langen 2022-12-06 23:18:17 -08:00
parent c336a58dc9
commit 637bde6f3c

@ -5,17 +5,14 @@ this document describes to how compile musikcube on all supported platforms
- grab the [Visual Studio 2019 Community Edition](https://www.visualstudio.com/en-us/downloads/download-visual-studio-vs.aspx) and install the c++ compiler; you can select 32-bit, 64-bit, or both.
- clone the musikcube sources: `git clone https://github.com/clangen/musikcube.git --recursive`
- install [boost 1.74]. again, you can use 32-bit, 64-bit, or both.
* 32-bit: https://sourceforge.net/projects/boost/files/boost-binaries/1.74.0/boost_1_74_0-msvc-14.2-32.exe/download
* 64-bit: https://sourceforge.net/projects/boost/files/boost-binaries/1.74.0/boost_1_74_0-msvc-14.2-64.exe/download
* ensure it shares the same parent directory with musikcube git repo. e.g: `c:\src\musikcube` and `c:\src\boost_1_68_0` -- the project's solution will reference it via relative path. if you want to use both 32-bit and 64-bit versions, ensure they are installed to the same directory.
solution will reference it via relative path. if you want to use both 32-bit and 64-bit versions, ensure they are installed to the same directory.
- open `musikcube.sln` and build/run.
## mac
you'll need [homebrew](http://brew.sh/) to install the required dependencies.
- `brew install cmake boost openssl libogg libvorbis ffmpeg libmicrohttpd lame libev taglib`
- `brew install cmake openssl libogg libvorbis ffmpeg libmicrohttpd lame libev taglib`
- `git clone https://github.com/clangen/musikcube.git --recursive`
- `cd musikcube`
- `cmake .`
@ -27,24 +24,24 @@ you'll need [homebrew](http://brew.sh/) to install the required dependencies.
### install dependencies
- install the following libraries and their development packages: `cmake boost libogg vorbis ffmpeg ncurses zlib asound pulse libcurl libmicrohttpd libmp3lame libev4 taglib libopenmpt`.
- install the following libraries and their development packages: `cmake libogg vorbis ffmpeg ncurses zlib asound pulse libcurl libmicrohttpd libmp3lame libev4 taglib libopenmpt`.
> note, debian-based distributions use `libtag1-dev` instead of `taglib`.
- **ubuntu**
- **cosmic**, **disco** and **eoan**: `sudo apt-get install build-essential clang cmake libboost-thread1.67-dev libboost-system1.67-dev libboost-filesystem1.67-dev libboost-date-time1.67-dev libboost-atomic1.67-dev libboost-chrono1.67-dev libogg-dev libvorbis-dev libavutil-dev libavformat-dev libswresample-dev libncursesw5-dev libasound2-dev libpulse-dev pulseaudio libmicrohttpd-dev libmp3lame-dev libcurl4-openssl-dev libev-dev libssl-dev libtag1-dev libopenmpt-dev`
- **bionic**: `sudo apt-get install build-essential clang cmake libboost-thread1.65-dev libboost-system1.65-dev libboost-filesystem1.65-dev libboost-date-time1.65-dev libboost-atomic1.65-dev libboost-chrono1.65-dev libogg-dev libvorbis-dev libavutil-dev libavformat-dev libswresample-dev libncursesw5-dev libasound2-dev libpulse-dev pulseaudio libmicrohttpd-dev libmp3lame-dev libcurl4-openssl-dev libev-dev libssl-dev libtag1-dev libopenmpt-dev`
- **artful**: `sudo apt-get install build-essential clang cmake libboost-thread1.63-dev libboost-system1.63-dev libboost-filesystem1.63-dev libboost-date-time1.63-dev libboost-atomic1.63-dev libboost-chrono1.63-dev libogg-dev libvorbis-dev libavutil-dev libavformat-dev libswresample-dev libncursesw5-dev libasound2-dev libpulse-dev pulseaudio libmicrohttpd-dev libmp3lame-dev libcurl4-openssl-dev libev-dev libssl-dev libopenmpt-dev`
- **zesty**: `sudo apt-get install build-essential clang cmake libboost-thread1.61-dev libboost-system1.61-dev libboost-filesystem1.61-dev libboost-date-time1.61-dev libboost-atomic1.61-dev libboost-chrono1.61-dev libogg-dev libvorbis-dev libavutil-dev libavformat-dev libswresample-dev libncursesw5-dev libasound2-dev libpulse-dev pulseaudio libmicrohttpd-dev libmp3lame-dev libcurl4-openssl-dev libev-dev libssl-dev libopenmpt-dev`
- **opensuse**: `sudo zypper install libcurl-devel libmicrohttpd-devel libboost_thread1_68_0-devel libboost_system1_68_0-devel libboost_filesystem1_68_0-devel libboost_date_time1_68_0-devel libboost_atomic1_68_0-devel libboost_chrono1_68_0-devel cmake ncurses5-devel libogg-devel libvorbis-devel ffmpeg-3-libavcodec-devel ffmpeg-3-libswresample-devel ffmpeg-3-libavformat-devel ffmpeg-3-libavutil-devel libmp3lame-devel pulseaudio libpulse-devel alsa-devel zlib-devel libressl-devel libev-devel libtag-devel libopenmpt-devel`
- **fedora**: `sudo dnf install gcc-c++ make cmake boost-devel libogg-devel libvorbis-devel ffmpeg-devel ncurses-devel zlib-devel alsa-lib-devel pulseaudio-libs-devel libcurl-devel libmicrohttpd-devel lame-devel libev-devel taglib-devel openssl-devel libopenmpt-devel`
- **arch**: `sudo pacman -S libogg libvorbis libmicrohttpd ffmpeg lame cmake ncurses boost pulseaudio libpulse alsa-lib curl libev taglib libopenmpt pkg-config`
- **cosmic**, **disco** and **eoan**: `sudo apt-get install build-essential clang cmake libogg-dev libvorbis-dev libavutil-dev libavformat-dev libswresample-dev libncursesw5-dev libasound2-dev libpulse-dev pulseaudio libmicrohttpd-dev libmp3lame-dev libcurl4-openssl-dev libev-dev libssl-dev libtag1-dev libopenmpt-dev`
- **bionic**: `sudo apt-get install build-essential clang cmake libogg-dev libvorbis-dev libavutil-dev libavformat-dev libswresample-dev libncursesw5-dev libasound2-dev libpulse-dev pulseaudio libmicrohttpd-dev libmp3lame-dev libcurl4-openssl-dev libev-dev libssl-dev libtag1-dev libopenmpt-dev`
- **artful**: `sudo apt-get install build-essential clang cmake libogg-dev libvorbis-dev libavutil-dev libavformat-dev libswresample-dev libncursesw5-dev libasound2-dev libpulse-dev pulseaudio libmicrohttpd-dev libmp3lame-dev libcurl4-openssl-dev libev-dev libssl-dev libopenmpt-dev`
- **zesty**: `sudo apt-get install build-essential clang cmake libogg-dev libvorbis-dev libavutil-dev libavformat-dev libswresample-dev libncursesw5-dev libasound2-dev libpulse-dev pulseaudio libmicrohttpd-dev libmp3lame-dev libcurl4-openssl-dev libev-dev libssl-dev libopenmpt-dev`
- **opensuse**: `sudo zypper install libcurl-devel libmicrohttpd-devel cmake ncurses5-devel libogg-devel libvorbis-devel ffmpeg-3-libavcodec-devel ffmpeg-3-libswresample-devel ffmpeg-3-libavformat-devel ffmpeg-3-libavutil-devel libmp3lame-devel pulseaudio libpulse-devel alsa-devel zlib-devel libressl-devel libev-devel libtag-devel libopenmpt-devel`
- **fedora**: `sudo dnf install gcc-c++ make cmake libogg-devel libvorbis-devel ffmpeg-devel ncurses-devel zlib-devel alsa-lib-devel pulseaudio-libs-devel libcurl-devel libmicrohttpd-devel lame-devel libev-devel taglib-devel openssl-devel libopenmpt-devel`
- **arch**: `sudo pacman -S libogg libvorbis libmicrohttpd ffmpeg lame cmake ncurses pulseaudio libpulse alsa-lib curl libev taglib libopenmpt pkg-config`
- **freebsd**
- `pkg install boost-all ncurses curl libvorbis libogg libmicrohttpd ffmpeg alsa-lib cmake sndio libev taglib libopenmpt bash pkgconf`
- `pkg install ncurses curl libvorbis libogg libmicrohttpd ffmpeg alsa-lib cmake sndio libev taglib libopenmpt bash pkgconf`
- `portsnap fetch`
- `portsnap extract` (if first time using ports)
- `cd /usr/ports/audio/lame`
- `make reinstall`
- **openbsd**
- `pkg_add git cmake ffmpeg boost sndio libev libmicrohttpd taglib libopenmpt`
- `pkg_add git cmake ffmpeg sndio libev libmicrohttpd taglib libopenmpt`
### obtain musikcube sources