14 Mar 15, 07:52PM
(This post was last modified: 16 Jul 17, 09:27AM by grenadier.
Edit Reason: changed to libcurl4-openssl-dev
)
To install from scratch, here's everything you may need on Mint 17:
To install git, install the packages git, gitk and git-gui. You may also want "meld" as a merge tool (though I'd prefer diffuse or sometimes tkdiff).
As a development environment, you can try Code::Blocks (packages codeblocks and codeblocks-contrib). Make sure, you enable the ThreadSearch-plugin, since it would be crazy, to work on over 80 source files without a proper search tool.
To compile, you'll need several dev packages and a compiler: build-essential libsdl1.2-dev libsdl-image1.2-dev libopenal-dev libvorbis-dev libcurl4-gnutls-dev. With build-essential, you'll get GNU C++, but the AC makefile is preset on clang. If you want to stick with gcc, you need to add "CXX=g++" to your make commands. You can also just create a file "Makefile_local" with the line "CXX=g++". No matter, if you intend to compile AC with clang, you still need to install gcc, since the enet library will use gcc.
To use clang as compiler, just install the package clang.
In "ubuntu noob notation":
(EDIT: only the master branch still requires libcurl)
To clone the repository from github (let's use the path names from Mousikos above):
If you want to see commits from forks of the main AC repository, add them as "remotes":
For more forks, check https://github.com/assaultcube/AC/network/members (careful - if you add them all, it may get messy)
To browse through all commits in the repository, use gitk. You can also use it to checkout various branches.
To compile and test (pick a compiler and a binary type: regular or debug):
EDIT: I changed the libcurl version to the one, that travis uses
Furthermore, I consider that trickjumps must be removed
To install git, install the packages git, gitk and git-gui. You may also want "meld" as a merge tool (though I'd prefer diffuse or sometimes tkdiff).
As a development environment, you can try Code::Blocks (packages codeblocks and codeblocks-contrib). Make sure, you enable the ThreadSearch-plugin, since it would be crazy, to work on over 80 source files without a proper search tool.
To compile, you'll need several dev packages and a compiler: build-essential libsdl1.2-dev libsdl-image1.2-dev libopenal-dev libvorbis-dev libcurl4-gnutls-dev. With build-essential, you'll get GNU C++, but the AC makefile is preset on clang. If you want to stick with gcc, you need to add "CXX=g++" to your make commands. You can also just create a file "Makefile_local" with the line "CXX=g++". No matter, if you intend to compile AC with clang, you still need to install gcc, since the enet library will use gcc.
To use clang as compiler, just install the package clang.
In "ubuntu noob notation":
[SELECT ALL] Code:
sudo apt-get install git gitk git-gui meld
sudo apt-get install codeblocks codeblocks-contrib
sudo apt-get install build-essential libsdl-image1.2-dev libopenal-dev libvorbis-dev
sudo apt-get install clang
(EDIT: only the master branch still requires libcurl)
To clone the repository from github (let's use the path names from Mousikos above):
[SELECT ALL] Code:
cd
git clone https://github.com/assaultcube/AC.git AC_Testing
cd ./AC_Testing/source/src
git checkout -b next origin/next
If you want to see commits from forks of the main AC repository, add them as "remotes":
[SELECT ALL] Code:
# for example:
git remote add grenadier https://github.com/aurhat/AC.git
git remote add stef https://github.com/ac-stef/AC.git
git fetch --all # repeat this fetch to get all new commits
To browse through all commits in the repository, use gitk. You can also use it to checkout various branches.
To compile and test (pick a compiler and a binary type: regular or debug):
[SELECT ALL] Code:
cd
cd ./AC_Testing/source/src
make CXX=g++ clean install # compile with gcc
make clean install # compile with clang
make ACDEBUG=yes CXX=g++ clean install # compile debug binaries with gcc
make ACDEBUG=yes clean install # compile debug binaries with clang
../../assaultcube.sh # start the game
EDIT: I changed the libcurl version to the one, that travis uses
Furthermore, I consider that trickjumps must be removed