Skip to content

Commit

Permalink
Merge pull request #12 from CleverRaven/master
Browse files Browse the repository at this point in the history
Update
  • Loading branch information
acidia authored Jul 6, 2018
2 parents 79d6364 + d5c16a6 commit 01b56c1
Show file tree
Hide file tree
Showing 314 changed files with 35,862 additions and 25,857 deletions.
59 changes: 59 additions & 0 deletions .appveyor.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,59 @@
version: '{branch}.{build}'
os: Windows
clone_folder: C:\Projects\Cataclysm-DDA
shallow_clone: true
matrix:
fast_finish: false
pull_requests:
do_not_increment_build_number: false
image:
# - Visual Studio 2017
- Visual Studio 2015
configuration:
- Release
# - Debug
platform:
- x64
# - x86
environment:
matrix:
- TOOLCHAIN: msvc14
install:
# Set TEMP folder
- cmd: set TEMP_FOLDER=C:\Temp
- cmd: mkdir "%TEMP_FOLDER%"

# Create WINDEPEND folder
- cmd: mkdir "%APPVEYOR_BUILD_FOLDER%\WinDepend"

# Add WINDEPEND folder to PATH (for LUA binary)
- cmd: set PATH=%APPVEYOR_BUILD_FOLDER%\WinDepend;%PATH%

# Download WINDEPEND archive
- ps : |
[Net.ServicePointManager]::SecurityProtocol = 'Ssl3, Tls, Tls11, Tls12'
Start-FileDownload "http://dev.narc.ro/cataclysm/WinDepend-MSVC.7z" -FileName "$($env:TEMP_FOLDER)\WinDepend-MSVC.7z"
# Unpack WINDEPEND archive to WINDEPEND folder
- cmd: 7z x -y "%TEMP_FOLDER%\WinDepend-MSVC.7z" -o"%APPVEYOR_BUILD_FOLDER%"

# Download LUA archive
- ps : |
[Net.ServicePointManager]::SecurityProtocol = 'Ssl3, Tls, Tls11, Tls12'
Start-FileDownload "https://www.dropbox.com/s/49vexob83bi5nrf/lua.zip?dl=1" -FileName "$($env:TEMP_FOLDER)\lua.zip"
# Unpack LUA archive to WINDEPEND folder
- cmd: 7z x -y "%TEMP_FOLDER%\lua.zip" -o"%APPVEYOR_BUILD_FOLDER%\WinDepend"

# Report LUA binary version
- cmd: lua.exe -v

# Report debug info
#- cmd: echo %APPVEYOR_BUILD_FOLDER%
#- cmd: path
#- cmd: dir "%APPVEYOR_BUILD_FOLDER%\src\lua"

build:
project: /msvc-full-features/Cataclysm.sln
parallel: true
verbosity: minimal
32 changes: 20 additions & 12 deletions .travis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -27,16 +27,8 @@ addons:
apt:
sources: &apt_sources
- ubuntu-toolchain-r-test
- llvm-toolchain-precise
- llvm-toolchain-precise-3.5
- llvm-toolchain-precise-3.6
- llvm-toolchain-precise-3.7
- llvm-toolchain-precise-3.8
- llvm-toolchain-trusty
- llvm-toolchain-trusty-3.9
- llvm-toolchain-trusty-4.0
- llvm-toolchain-trusty-5.0
- llvm-toolchain-trusty-6.0
config:
retries: true

compiler: gcc
os: linux
Expand Down Expand Up @@ -133,7 +125,7 @@ matrix:
addons: &clang40
apt:
packages: ["clang-4.0", "g++-multilib", "libc6-dbg", "libc6-dbg:i386", "g++-6"]
sources: *apt_sources
sources: [*apt_sources, llvm-toolchain-trusty-4.0]

# Clang 5.0
- env: CLANG=clang++-5.0 CXXFLAGS=-Wno-error=unused-command-line-argument
Expand All @@ -142,7 +134,7 @@ matrix:
addons: &clang50
apt:
packages: ["clang-5.0", "g++-multilib", "libc6-dbg", "libc6-dbg:i386", "g++-6"]
sources: *apt_sources
sources: [*apt_sources, llvm-toolchain-trusty-5.0]

# Clang 6.0
- env: CLANG=clang++-6.0 CXXFLAGS=-Wno-error=unused-command-line-argument
Expand All @@ -151,6 +143,22 @@ matrix:
addons: &clang60
apt:
packages: ["clang-6.0", "g++-multilib", "libc6-dbg", "libc6-dbg:i386", "g++-6"]
sources: [*apt_sources, llvm-toolchain-trusty-6.0]

# Windows Tiles
- env: COMPILER='g++' LDFLAGS='-static-libgcc -static-libstdc++' MXE_TARGET='i686-w64-mingw32.static' WINE='wine' TILES=1 SOUND=1
compiler: gcc
sudo: required
addons: &gcc
apt:
packages: ["wine"]

# Linux Tiles
- env: COMPILER=g++-8 CXXFLAGS='-Wno-implicit-fallthrough' TILES=1 SOUND=1
compiler: gcc
addons: &gcc8
apt:
packages: ["g++-8", "g++-8-multilib", "libc6-dbg", "libc6-dbg:i386", "libsdl2-dev", "libsdl2-ttf-dev", "libsdl2-image-dev", "libsdl2-mixer-dev"]
sources: *apt_sources

before_script:
Expand Down
104 changes: 104 additions & 0 deletions COMPILING-MSYS.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,104 @@
# Compilation guide for 64 bit Windows (using MSYS2)

This guide contains steps required to allow compilation of Cataclysm-DDA on Windows under MSYS2.

Steps from current guide were tested on Windows 10 (64 bit) and MSYS2 (64 bit), but should work for other versions of Windows and also MSYS2 (32 bit) if you download 32 bit version of all files.

## Preqrequisites:

* Computer with 64 bit version of modern Windows operating system installed;
* NTFS partition with ~10 Gb free space (~2 Gb from MSYS2 installation, ~3 Gb for repository and ~5 Gb for ccache);
* 64 bit version of MSYS2 (installer can be downloaded from [MSYS2 homepage](http://www.msys2.org/));

**Note:** Windows XP is unsupported!

## Installation:

1. Go to [MSYS2 homepage](http://www.msys2.org/) and download 64 bit installer (e.g. [msys2-x86_64-20180531.exe](http://repo.msys2.org/distrib/x86_64/msys2-x86_64-20180531.exe)).

2. Run downloaded file and install MSYS2 (click `Next` button, specifiy directory where MSYS2 64 bit will be installed (e.g. `C:\msys64`), click `Next` button again, specify Start Menu folder name and click `Install` button).

3. After MSYS2 installation is complete press `Next` button, tick `Run MSYS2 64 bit now` checkbox and press `Finish` button.

## Configuration:

1. Update the package database and core system packages with:

```bash
pacman -Syu
```

2. If asked close MSYS2 window and restart it from Start Menu or `C:\msys64\msys2_shell.cmd`.

3. Update remaining packages with:

```bash
pacman -Su
```

4. Install packages required for compilation with:

```bash
pacman -S git git-extras-git make mingw-w64-x86_64-{astyle,ccache,gcc,libmad,libwebp,lua,ncurses,pkg-config,SDL2} mingw-w64-x86_64-SDL2_{image,mixer,ttf}
```

5. Update paths in system-wide profile file (e.g. `C:\msys64\etc\profile`) as following:

- find lines:

```
MSYS2_PATH="/usr/local/bin:/usr/bin:/bin"
MANPATH='/usr/local/man:/usr/share/man:/usr/man:/share/man'
INFOPATH='/usr/local/info:/usr/share/info:/usr/info:/share/info'
```

and

```
PKG_CONFIG_PATH="/usr/lib/pkgconfig:/usr/share/pkgconfig:/lib/pkgconfig"
```

- and replace them with:

```
MSYS2_PATH="/usr/local/bin:/usr/bin:/bin:/mingw64/bin"
MANPATH='/usr/local/man:/usr/share/man:/usr/man:/share/man:/mingw64/share/man'
INFOPATH='/usr/local/info:/usr/share/info:/usr/info:/share/info:/mingw64/share/man'
```

and

```
PKG_CONFIG_PATH="/usr/lib/pkgconfig:/usr/share/pkgconfig:/lib/pkgconfig"
```

6. Restart MSYS2 to apply path changes.

## Cloning and compilation:

1. Clone with following command-line:

**Note:** This will download whole CDDA repository. If you're just testing you should probably add `--depth=1`.

```bash
git clone https://github.com/CleverRaven/Cataclysm-DDA.git
cd Cataclysm-DDA
```

2. Compile with following command line:

```bash
make CCACHE=1 RELEASE=1 MSYS2=1 DYNAMIC_LINKING=1 LUA=1 SDL=1 TILES=1 SOUND=1 LOCALIZE=1 LANGUAGES=all LINTJSON=0 ASTYLE=0 RUNTESTS=0
```

**Note**: This will compile release version with Lua, Sound and Tiles support and all localization languages, skipping checks and tests and using ccache for faster build. You can use other switches, but `MSYS2=1`, `DYNAMIC_LINKING=1` and probably `RELEASE=1` are required to compile without issues.

## Running:

1. Run from within MSYS2 with following command line:

```bash
./cataclysm-tiles
```

**Note:** If you want to run compiled executable from Explorer you will also need to update user or system`PATH` variable with path to MSYS2 runtime binaries (e.g. `C:\msys64\mingw64\bin`).
14 changes: 7 additions & 7 deletions ISSUES.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,25 +2,25 @@

## How to create new issues properly

GitHub issues are used for everything from bug reporting to long-term ideas. As such you can make everything much smoother by following some simple rules.
GitHub issues are used for everything from bug reporting to suggesting long-term ideas. You can make everything run much smoother by following some simple rules.

### Rule zero

Always try to give your issue a meaningful title as this is the first thing anyone will see.
Always give your issue a meaningful title as this is the first thing anyone will see.

Note: `[CR]` and `[WIP]` "tags" are meaningful only for PRs. All open issues by definition are request for comments and work in progress.

### Bug reports

Before you submit a bug always search the issues to see if it hasn't been reported already.
Before you submit a bug always search the current list of issues to see if it has been reported already.

Your bug report has to include:

- On what OS did you experience the problem (Windows, Linux, OS X etc.)
- What version were you playing:
- Tiles or Curses (text-based)
- Version string (preferably full version e.g. "0.C-4547-g3f1c109", or Jenkins build number e.g. 3245)
- Description of the problem you've found written in a way that enables anyone to try recreate it
- Description of the problem written in a way that enables anyone to try and recreate it

Your bug report may include:

Expand All @@ -36,15 +36,15 @@ The OS and CDDA version are very important - with the pace of changes here it is

### Enhancements and addition ideas

We have hundreds of issues open - most of them are ideas and suggestions. If you have a general idea or anything that can't be easily described in terms of *current* code changes you'd be better off suggesting it in appropriate section of the forum. You'll also get much broader exposure for your idea there. And getting a polished idea from the forum to GitHub issue should be a smooth move.
We have hundreds of issues open - most of them are ideas and suggestions. If you have a general idea or anything that can't be easily described in terms of *current* code changes you'd be better off suggesting it in the appropriate section of [the forum](https://discourse.cataclysmdda.org/). You'll also get much broader exposure for your idea there. After developing a polished idea on the forum, it should be easy to make a GitHub issue for it.

Otherwise please search first if maybe something like what you have on mind has been already proposed. If so feel free to join the discussion! If you think your idea is related but sufficiently different - open a new issue and perhaps refer to the older discussion (use GitHub's `#issue_number` reference system).
Please first search if something like what you have on mind has been already proposed. If so, feel free to join the discussion! If your idea is related but sufficiently different, open a new issue and refer to the older discussion (use GitHub's `#issue_number` reference system).

Remember to take part in the discussion of your suggestions.

### Questions

You should direct your question to the forum or ask on IRC. You should also checkout the included documentation and additional text files, e.g. `COMPILING.md` if you have problems building.
You should direct your questions to the forum or ask on IRC. You should also read the included documentation and additional text files, e.g. `COMPILING.md` if you have problems building.

## Bounties

Expand Down
Loading

0 comments on commit 01b56c1

Please sign in to comment.