Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Modern CMake Upgrade #481

Merged
merged 185 commits into from
Apr 29, 2019
Merged
Show file tree
Hide file tree
Changes from 184 commits
Commits
Show all changes
185 commits
Select commit Hold shift + click to select a range
2eecf7c
Removed discord libs
jameskr97 Mar 14, 2019
154f510
Squashed 'extern/discord-rpc/' content from commit c59fd6df20
jameskr97 Mar 14, 2019
ce44533
Merge commit '154f5108129d9221ad65ba6e20d4041c8b49ac77' as 'extern/di…
jameskr97 Mar 14, 2019
66b7dc4
Fixed discord to CMake 3.X target comparability.
jameskr97 Mar 14, 2019
af08af2
Moved .cmake files to proper CMakeLists.txt files. Moved generation f…
jameskr97 Mar 14, 2019
1f2ef8d
Made MinaCalc an independent library
jameskr97 Mar 14, 2019
f0f1b57
Moved zconf.h to backup since it gets generated on build.
jameskr97 Mar 14, 2019
bce4e62
Added missing CMakeLists.txt to libraries who don't include it.
jameskr97 Mar 14, 2019
c85e981
Fixed extern options preventing cmake build.
jameskr97 Mar 14, 2019
35476f1
Updated root and extern CMakeLists.txt
jameskr97 Mar 14, 2019
9170c35
Fixed discord and minacalc imports.
jameskr97 Mar 14, 2019
6a22eee
Added CMakeLists for remaining SM libs.
jameskr97 Mar 14, 2019
29347a1
Renamed find files for clarity
jameskr97 Mar 14, 2019
b30f5b2
Switched mixed .h and .cpp
jameskr97 Mar 14, 2019
5181077
Moved main file.
jameskr97 Mar 14, 2019
b38e2e6
Now compiling with no graphical issues.
jameskr97 Mar 14, 2019
d3297dd
Removed optional crash handler. No longer optional.
jameskr97 Mar 14, 2019
6465996
Updated CMakeLists.txt
jameskr97 Mar 15, 2019
46ccf36
Removed X11_FOUND in other parts of the codebase. Isolated linux bui…
jameskr97 Mar 15, 2019
b872198
Travis edit for testing. To be undone.
jameskr97 Mar 15, 2019
ae56a24
Travis edit for testing #2. To be undone.
jameskr97 Mar 15, 2019
45ad747
Undo that nonsense.
jameskr97 Mar 15, 2019
20e56c9
temp travis changes
jameskr97 Mar 15, 2019
fc57e53
Merge branch 'osx-references' into cmake-remake
jameskr97 Mar 18, 2019
a72bdcf
Travis Update for build
jameskr97 Mar 18, 2019
d9f73c9
Travis Update 2 for build
jameskr97 Mar 18, 2019
020c5c5
Added include checks to be removed from the program in time,
jameskr97 Mar 19, 2019
5603feb
Travis-CI update.
jameskr97 Mar 19, 2019
377120e
Fix for tomcrypt component, and windows build.
jameskr97 Mar 19, 2019
cc009ab
Another windows build fix. Activated macOS build.
jameskr97 Mar 19, 2019
749d07a
Travis update.
jameskr97 Mar 19, 2019
0c6f4e2
Fixed extern to have proper CMakeLists.txt files.
jameskr97 Mar 21, 2019
3479504
Added prematurely removed compiler definitions.
jameskr97 Mar 21, 2019
cdb0d9f
Cleared save jpeg to be replaced with stb.
jameskr97 Mar 21, 2019
be52c6d
Fixed file references and switched precompiled headers ones which wil…
jameskr97 Mar 21, 2019
592ffc3
Manual libtomcrypt fix
jameskr97 Mar 21, 2019
317224f
macOS Compiling without FFMPEG
jameskr97 Mar 21, 2019
c22b4e6
macOS Building with FFMPEG
jameskr97 Mar 21, 2019
fca5556
Travis Update
jameskr97 Mar 21, 2019
025c09c
Update for FFMPEG build
jameskr97 Mar 21, 2019
272d346
Target lower macOS version.
jameskr97 Mar 21, 2019
d40deb0
Travis Update
jameskr97 Mar 21, 2019
a9e1900
Removed unused links, added comments.
jameskr97 Mar 21, 2019
ca37b39
Update travis
jameskr97 Mar 21, 2019
2767ffb
Move macOS CMake to separate file.
jameskr97 Mar 21, 2019
75fe6fc
Added prematurely removed #ifdef check
jameskr97 Mar 22, 2019
95ce77b
Moved mac compile definitions.
jameskr97 Mar 22, 2019
11d7c3b
Fix OSX application launching. Add prematurely removed macro. Remove …
jameskr97 Mar 28, 2019
7c7dfd8
Travis update
jameskr97 Mar 28, 2019
001435e
Merge remote-tracking branch 'origin/develop' into cmake-remake
jameskr97 Mar 28, 2019
788ea12
Revert "Travis update"
jameskr97 Mar 28, 2019
4825412
Remove xcconfig reference.
jameskr97 Mar 28, 2019
dd2146c
Merge remote-tracking branch 'Bumrang/stb_screenshot' into cmake-remake
jameskr97 Mar 28, 2019
c02ef9d
Move STB and related files to the extern directory
jameskr97 Mar 28, 2019
d7c0b50
Moved ci scripts to .ci directory
jameskr97 Mar 28, 2019
ae0a23d
Rewrite uWebSocket and libuv CMakeLists.txt
jameskr97 Mar 28, 2019
349c390
Add necessary link targets.
jameskr97 Mar 28, 2019
04b5e8e
Update zlib to link include directories to target.
jameskr97 Mar 28, 2019
2974252
Remove unnecessary transitive dependencies from uWebSockets.
jameskr97 Mar 28, 2019
69ea106
Link libmad, libcurl, stb, glfw, and pcre
jameskr97 Mar 28, 2019
c6ef676
libmad, vorbis, ogg links fixed.
jameskr97 Mar 28, 2019
a10d8d7
Convert MinaCalc to proper INTERFACE.
jameskr97 Mar 31, 2019
a38dea2
Convert ffmpeg to proper INTERFACE.
jameskr97 Mar 31, 2019
5a98481
Strictly defined libraries for libcurl, instead of using directories.
jameskr97 Mar 31, 2019
719bf93
Removed libuv.
jameskr97 Mar 31, 2019
7745fdc
Squashed 'extern/libuv/' content from commit a55cf37607
jameskr97 Mar 31, 2019
d5b2e96
Merge commit '7745fdca1ff39aa816b5185fbc9f9c7c590c9159' as 'extern/li…
jameskr97 Mar 31, 2019
5b83340
Removed unused parallel_lights_io.dll
jameskr97 Mar 31, 2019
eb67182
Remove vcruntime140.dll
jameskr97 Mar 31, 2019
b931982
Change libuv include directory scope to be accessible outside itself.
jameskr97 Mar 31, 2019
762dd60
Change how ffmpeg is added as an extern
jameskr97 Mar 31, 2019
d098424
Update libuv reference in uWebSocket
jameskr97 Mar 31, 2019
16870ab
Removed BYTE_ORDER and BIG_ENDIAN
jameskr97 Mar 31, 2019
68d7f87
Remove unused DLL files. Move FFMPEG DLL's to more appropriate location
jameskr97 Mar 31, 2019
daa5073
Move Windows cmake to separate file.
jameskr97 Mar 31, 2019
bc4c70f
Upgrade CMake version to latest. Fixed linking issues.
jameskr97 Mar 31, 2019
26612b7
Copy dynamically linked libraries at CMake generation time.
jameskr97 Mar 31, 2019
42fabee
Updated universal and Windows CMake. Deleted unused config files.
jameskr97 Apr 1, 2019
651a52c
Removed submodule extern/SQLiteCpp
jameskr97 Apr 1, 2019
cd71e09
Removed submodule extern/json
jameskr97 Apr 1, 2019
3594019
Squashed 'extern/SQLiteCpp/' content from commit 0d35cb3d94
jameskr97 Apr 1, 2019
240c9d9
Merge commit '35940199246639651865a461ac30e32ab0be5a11' as 'extern/SQ…
jameskr97 Apr 1, 2019
644ea00
Squashed 'extern/json/' content from commit f7a44673da
jameskr97 Apr 1, 2019
26e519f
Merge commit '644ea00322174fe0246436d3847fc0ff80fcb92a' as 'extern/json'
jameskr97 Apr 1, 2019
3b27c94
Remove googletest from SQLiteCpp.
jameskr97 Apr 1, 2019
9f49c9a
Fixed 64bit MinaCalc reference
jameskr97 Apr 1, 2019
979048f
Conditional Windows Lib linking depending on 64vs32 bit.
jameskr97 Apr 1, 2019
f59687c
Have curl link statically.
jameskr97 Apr 1, 2019
f942024
Remove required libssl and libcrypto.
jameskr97 Apr 1, 2019
4ecb340
Modified libcurl file structure.
jameskr97 Apr 2, 2019
781421d
Commented extern CMakeLists.txt
jameskr97 Apr 2, 2019
f5c9883
Explicitly define configuration types. Remove unused curl link variable.
jameskr97 Apr 3, 2019
565815f
Generalize build information
jameskr97 Apr 3, 2019
d7edfe5
Added missing libcurl 32bit dll.
jameskr97 Apr 3, 2019
91a79f7
Set output directory for RelWithDebInfo
jameskr97 Apr 3, 2019
6f49718
Added discord-rpc to have proper compile flag.
jameskr97 Apr 3, 2019
8be2570
Added comments for issues with Debug build.
jameskr97 Apr 3, 2019
0abb538
Update Travis CI
jameskr97 Apr 3, 2019
b417c53
Update travis.yml to have proper space indentations.
jameskr97 Apr 4, 2019
009c8fa
Update travis.yml
jameskr97 Apr 4, 2019
9faf27c
Convert FFMPEG to proper CMake Interface
jameskr97 Apr 4, 2019
c8372e8
Fixed old libuv references for UNIX
jameskr97 Apr 4, 2019
6d9c4dc
Add unix link libraries for MinaCalc
jameskr97 Apr 4, 2019
b011079
Fix Unix/Apple library linked for MinaCalc.
jameskr97 Apr 4, 2019
313ce1a
Change CMakeLinux to use libraries within repo.
jameskr97 Apr 4, 2019
a7613f3
Change CMakeLinux reference
jameskr97 Apr 4, 2019
923627f
Defined project languages for Ninja. Disabled discord-rpc clang.
jameskr97 Apr 4, 2019
2e10e4d
Update FFMPEG build to work with Ninja
jameskr97 Apr 4, 2019
6f54800
Comment depreciated function
jameskr97 Apr 4, 2019
731413e
New Build Documentation v1
jameskr97 Apr 4, 2019
46280fd
Removed mentions of "Windows" and "Ninja"
jameskr97 Apr 4, 2019
ca924f9
Remove mention of VS2019.
jameskr97 Apr 4, 2019
f43aa1a
New Build Documentation v2
jameskr97 Apr 4, 2019
339c37c
Update Build Documentation v3
jameskr97 Apr 4, 2019
c82ddcb
Add Table of Contents. Change formatting.
jameskr97 Apr 4, 2019
24d6974
Sorted Extern Vars
jameskr97 Apr 4, 2019
73ac137
Disabled Example binaries
jameskr97 Apr 4, 2019
4ca54a1
Added all external targets to IDE group.
jameskr97 Apr 4, 2019
336bf31
Added IDE source layout.
jameskr97 Apr 5, 2019
dd183ea
Disable external warnings.
jameskr97 Apr 5, 2019
301ccf6
Add project tag to suppress warnings.
jameskr97 Apr 5, 2019
4ef3ab0
Added comments. Moved some lines for organization.
jameskr97 Apr 5, 2019
0215b93
Disable warnings in a identical manner to previous CMake
jameskr97 Apr 5, 2019
3ef8e7b
Factor out common cross-platform libraries.
jameskr97 Apr 5, 2019
c074fb0
Update Build Documentation v4
jameskr97 Apr 5, 2019
78e4211
Removed unused Xcode directory.
jameskr97 Apr 5, 2019
43a2e6e
Removed line which placed all binaries in root directory.
jameskr97 Apr 5, 2019
5328a76
Merge branch 'develop' into cmake-remake
jameskr97 Apr 5, 2019
6e6b945
Move TextureFontGenerator, GameTools. Delete unused lualibs folder
jameskr97 Apr 5, 2019
4c436bf
Deleted unused files due to new CMake setup
jameskr97 Apr 5, 2019
bd229ad
Update build documentation v5
jameskr97 Apr 5, 2019
7cabc4d
Update Appveyor
jameskr97 Apr 5, 2019
9d72b2d
Remove unused CMake variables
jameskr97 Apr 6, 2019
b11ec2b
Update Appveyor
jameskr97 Apr 6, 2019
4ef0567
Rename appveyor file
jameskr97 Apr 6, 2019
f13eb2b
Update Appveyor
jameskr97 Apr 6, 2019
b3ca409
Now building DMG with CPack
jameskr97 Apr 7, 2019
f655573
Add icon for macOS app bundle.
jameskr97 Apr 7, 2019
d37f506
Remove unused icons directory.
jameskr97 Apr 7, 2019
5121ce4
Fix .appveyor.yml comment
jameskr97 Apr 8, 2019
32f9283
Building Windows installer with CPack + NSIS
jameskr97 Apr 8, 2019
af816f4
Disable uv from building
jameskr97 Apr 8, 2019
f3c6cb0
Fix linux dependency lists
jameskr97 Apr 8, 2019
4a36658
Moved CPack related files to CMake directory
jameskr97 Apr 8, 2019
c46020b
Refactored CPack setup to be isolated to single file
jameskr97 Apr 8, 2019
b89f9d3
Removed old unused CMake scripts
jameskr97 Apr 8, 2019
267cb2c
Moved remaining CMake scripts to legacy folder
jameskr97 Apr 8, 2019
40593a6
Move install license to more suitable location
jameskr97 Apr 8, 2019
1efd064
Removed unused libraries precompiled LuaJIT and libmmmagic
jameskr97 Apr 9, 2019
b14ea56
Removed unused NSIS from utils
jameskr97 Apr 9, 2019
7f828c3
Removed unused installer language files
jameskr97 Apr 9, 2019
f3a68ca
Add OPENSSL_ROOT_DIR option and organize comment separators
jameskr97 Apr 9, 2019
fed0e84
Removed unused glext.h file
jameskr97 Apr 9, 2019
4e97929
Appveyor Update
jameskr97 Apr 9, 2019
fa89714
Remove bad NSIS install command
jameskr97 Apr 9, 2019
d0979bd
Fix bad references from moving installer resources
jameskr97 Apr 9, 2019
a7d29bd
Fix appveyor artifacts
jameskr97 Apr 9, 2019
80d47af
Change CMake project and FFMPEG mac deployment target
jameskr97 Apr 9, 2019
bec7dd8
Fix appveyor artifacts #2
jameskr97 Apr 9, 2019
21bd814
Give Ninja color output
jameskr97 Apr 9, 2019
2cd89ca
Merge branch 'develop' into cmake-remake
jameskr97 Apr 9, 2019
b923162
Remove unused uploadDmg.rb
jameskr97 Apr 9, 2019
41a326d
Delete remaining old CMake scripts
jameskr97 Apr 9, 2019
ec8bb1e
Delete stepmania.nsi
jameskr97 Apr 9, 2019
1d92051
Moved stepmania.desktop
jameskr97 Apr 9, 2019
f2d5116
Replace StepMania.xpm with etterna_arrow.svg
jameskr97 Apr 9, 2019
75b002d
Moved mapconv to GameTools
jameskr97 Apr 10, 2019
4bcd600
Place TextureFontGenerator CMake script with source
jameskr97 Apr 10, 2019
61a6b82
Move icon files out of source to more appropriate directory.
jameskr97 Apr 10, 2019
c4b89b7
Moved verinc to it's own directory, away from game source
jameskr97 Apr 10, 2019
0049576
Removed unused variables from version stub
jameskr97 Apr 10, 2019
7071d5e
Removed Windows from Travis-CI
jameskr97 Apr 10, 2019
f04a31b
Removed unused variable from ver.h
jameskr97 Apr 10, 2019
aaec2ff
Commented file preventing build.
jameskr97 Apr 10, 2019
0441dd2
Add explanation for env tag in .travis.yml
jameskr97 Apr 10, 2019
2cd7561
Added changes suggested from Nick and Fission
jameskr97 Apr 10, 2019
712607d
Fix separator in license file
jameskr97 Apr 10, 2019
dd1b0d8
Fix icon appearing on macOS binary
jameskr97 Apr 10, 2019
bea4032
Remove Save folder
jameskr97 Apr 10, 2019
4854b11
Clean up .gitignore
jameskr97 Apr 11, 2019
bbfafc7
Updated .gitignore
jameskr97 Apr 12, 2019
59766c3
Added missing library to the debian install list
jameskr97 Apr 12, 2019
26d5bdf
Revert "Added missing library to the debian install list"
jameskr97 Apr 12, 2019
13a3c30
Properly add missing library from ubuntu version
jameskr97 Apr 12, 2019
d8472fd
Restore WindowsResources.rc to compilation process
jameskr97 Apr 18, 2019
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
61 changes: 61 additions & 0 deletions .appveyor.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,61 @@
# Appveyor Behavior Config
version: '{build}'
clone_depth: 1 # Only clone the head of the repo
pull_requests:
do_not_increment_build_number: true

# Appveyor Build Config
image:
- Visual Studio 2017

platform:
- Win32
- x64

init:
- "echo System Architecture: %PLATFORM%"
- choco upgrade cmake nsis # Upgrade CMake
- set path=C:\Program Files\CMake\bin;%path% # Add it to the path

before_build:
- mkdir build && cd build
- cmake -G "%GENERATOR%" -DOPENSSL_ROOT_DIR="%OPENSSL_DIR%" ..

build_script:
- cd %APPVEYOR_BUILD_FOLDER%\build
- msbuild Etterna.sln /p:Configuration=Release /p:Platform="%PLATFORM%"

# CPack after build
after_build:
- cmd: cpack
- cmd: ren "%APPVEYOR_BUILD_FOLDER%\build\*.exe" "*-%appveyor_build_version%-%PLATFORM%.exe"

# Generate all possible combinations of the following environment variables
# This will generate 4 builds, and do crosses that we don't want like a
# 64bit generator and 32bit OpenSSL.
environment:
matrix:
- GENERATOR: "Visual Studio 15 2017"
OPENSSL_DIR: "C:/OpenSSL-v11-Win32"
- GENERATOR: "Visual Studio 15 2017 Win64"
OPENSSL_DIR: "C:/OpenSSL-v11-Win64"

# Don't generate builds with this specific combination of environment variables
matrix:
exclude:
- platform: x64
GENERATOR: "Visual Studio 15 2017"
OPENSSL_DIR: "C:/OpenSSL-v11-Win32"

- platform: Win32
GENERATOR: "Visual Studio 15 2017 Win64"
OPENSSL_DIR: "C:/OpenSSL-v11-Win64"

# Cache Choclatey packages so they don't need to be downloaded every time.
cache:
- C:\ProgramData\chocolatey\bin -> appveyor.yml
- C:\ProgramData\chocolatey\lib -> appveyor.yml

artifacts:
- path: 'build\*.exe'
name: EtternaDevBuild
13 changes: 13 additions & 0 deletions .ci/build.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
#!/usr/bin/env bash

update_cmake (){
CMAKE_DIR="${HOME}/cmake_binary"
mkdir -p ${CMAKE_DIR} && cd ${CMAKE_DIR}
curl -LO https://github.com/Kitware/CMake/releases/download/v3.14.0/cmake-3.14.0-Linux-x86_64.sh
sudo sh cmake-3.14.0-Linux-x86_64.sh --prefix=/usr/local/ --exclude-subdir --skip-license
PATH=/usr/local/bin:${PATH} # add it to path in front of everything else
}

update_cmake
echo "CMake Updated!"

128 changes: 12 additions & 116 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,124 +1,20 @@
# Traditional Compilation File Stuff.
*.o
*.obj
*.a

# Doxygen documentation
Utils/temp
stepmania.chm
# For people using vscode
# Common ignore files
.DS_Store
.vscode
# CMake Files/Directories
CMakeFiles/
CMakeCache.txt
cmake_install.cmake
CPackConfig.cmake
CPackSourceConfig.cmake
# The following are generated from CMake, and thus should be stopped.
install_manifest.txt
_CPack_Packages
Build/**
Debug/
MinSizeRel/
Release/
RelWithDebInfo/
Contents/
Xcode/Info.StepMania.plist
Xcode/plistHelper.hpp
src/generated
extern/mad-0.15.1b/config.h
extern/libjpeg/jconfig.h
extern/newogg/include/ogg/config_types.h
Program/*.dll
!Program/parallel_lights_io.dll
!Program/dlls/*.dll

# Text Editor Based Items
*.log
.vs
Build/

# Mac Programming Files
*.pbxuser
PBProject/build
Xcode/build
Xcode/*.xcodeproj/xcuserdata/
*.xcodeproj/xcuserdata
*.xcodeproj/project.xcworkspace
*.xcscheme
WorkspaceSettings.xcsettings
UserInterfaceState.xcuserstate
*.xccheckout
contents.xcworkspacedata
xcschememanagement.plist
PBProject/Hardware.plist

# Mac General Files
# Ignore executables (Linux, macOS, Windows)
/Etterna
*.app
*.dmg
.DS_Store

# Visual Studio 2015/2017 cache/options directory
.vs/

# Visual Studio
*.sln
*.vcxproj
*.vcxproj.filters
*.pdb
*.ilk
*.map
*.res
*.suo
UpgradeLog*.htm

# Windows General Files
*.exe

# Linux General Files
.dirstamp
Makefile
stepmania
Makefile.in
config.status
_build/*
aclocal.m4
autoconf/*
autom4te.cache/*
configure
src/Makefile.in
src/Makefile
src/config.h
src/config.h.in
src/stamp-h1
GtkModule.so
StepMania
core

# StepMania Specific
# Etterna Related Ignore
Cache/
Save/**
Songs/
Logs/
src/*.so
crashinfo.txt

# include calc .a file
!extern/MinaCalc/MinaCalc.a
!extern/MinaCalc/libMinaCalc.a

# calc
src/MinaCalc

# Unknown File Types
tests/*.err
*.ncb
*.tlog
*.user
*.vdi
*.pch

nsis_strings_temp\.inc
BatchRecalc/*

Xcode/Info\.Etterna\.plist
Program/
Save/
Songs/

extern/LuaJit*/lj_*def.h
# Misc Ignores
crashinfo.txt
6 changes: 0 additions & 6 deletions .gitmodules

This file was deleted.

165 changes: 62 additions & 103 deletions .travis.yml
Original file line number Diff line number Diff line change
@@ -1,114 +1,73 @@
language: cpp
dist: trusty
dist: xenial
sudo: required

matrix:
include:
# OSX
- env: CXX_COMPILER=clang++ CC_COMPILER=clang BUILD_TYPE=Release WITH_FFMPEG=OFF WITH_FFMPEG_JOBS=1
os: osx
osx_image: xcode10.1
git:
depth: false

# LINUX
- env: CXX_COMPILER=clang++-5.0 CC_COMPILER=clang-5.0 BUILD_TYPE=Release WITH_FFMPEG=OFF WITH_FFMPEG_JOBS=1
compiler: clang
addons: &1
apt:
sources:
- ubuntu-toolchain-r-test
- llvm-toolchain-precise
packages:
- nasm
- libudev-dev
- clang-5.0
- clang-format-5.0
- libmad0-dev
- libgtk2.0-dev
- binutils-dev
- libasound-dev
- libpulse-dev
- libjack-dev
- libc6-dev
- libogg-dev
- libvorbis-dev
- libxtst-dev
- libxrandr-dev
- libglew-dev
- libuv-dev
- env: CXX_COMPILER=clang++-5.0 CC_COMPILER=clang-5.0 BUILD_TYPE=Release WITH_FFMPEG=ON WITH_FFMPEG_JOBS=1
compiler: clang
addons: *1
- env: CXX_COMPILER=g++-5 CC_COMPILER=gcc-5 BUILD_TYPE=Release WITH_FFMPEG=OFF WITH_FFMPEG_JOBS=1 MATRIX_EVAL="CC=gcc-5 && CXX=g++-5"
compiler: gcc
addons:
apt:
sources:
- ubuntu-toolchain-r-test
- llvm-toolchain-precise
packages:
- nasm
- libudev-dev
- gcc-5
- g++-5
- libmad0-dev
- libgtk2.0-dev
- binutils-dev
- libasound-dev
- libpulse-dev
- libjack-dev
- libc6-dev
- libogg-dev
- libvorbis-dev
- libxtst-dev
- libxrandr-dev
- libglew-dev
- libuv-dev
- clang-format-5.0
coverity_scan:
project:
name: etternagame/etterna
description: "Build submitted via Travis CI"
notification_email: etternadev@gmail.com
build_command_prepend:
"cov-configure --comptype g++
--compiler g++-5 --template"
build_command: "make -j 4"
branch_pattern: coverity_scan
# Path is modified here since we install CMake to the /usr/local/ prefix. Usually the system
# would check the full path until it reached CMake, but Travis specifically adds their CMake
# version to their path. We want our CMake to have priority, so we add it to the start of the
# search path.
env:
- PATH=/usr/local/bin:${PATH}

before_script:
# ALL
- mkdir ${TRAVIS_BUILD_DIR}/build && cd ${TRAVIS_BUILD_DIR}/build
matrix:
include:

# LINUX
- if [ "${CXX_COMPILER}" = "g++-5" ]; then export CXX="g++-5" CC="gcc-5"; fi
- if [ "$TRAVIS_OS_NAME" != "osx" ]; then sudo ln -s /usr/include/x86_64-linux-gnu/zconf.h /usr/include; fi
- if [ "$TRAVIS_OS_NAME" != "osx" ]; then cmake .. -DCMAKE_CXX_COMPILER=${CXX_COMPILER} -DCMAKE_C_COMPILER=${CC_COMPILER} -DCMAKE_BUILD_TYPE=${BUILD_TYPE} -DWITH_FFMPEG=${WITH_FFMPEG} -DWITH_FFMPEG_JOBS=${WITH_FFMPEG_JOBS}; fi
##### Linux ##################
- os: linux
compiler: clang
- os: linux
compiler: gcc

# OSX
- if [ "$TRAVIS_OS_NAME" == "osx" ]; then brew update > /dev/null; fi
- if [ "$TRAVIS_OS_NAME" == "osx" ]; then brew install openssl nasm zlib clang-format; fi
- if [ "$TRAVIS_OS_NAME" == "osx" ]; then brew install --HEAD libuv; fi
- if [ "$TRAVIS_OS_NAME" == "osx" ]; then sudo gem install xcpretty; fi
- if [ "$TRAVIS_OS_NAME" == "osx" ]; then cmake -DOPENSSL_ROOT_DIR=/usr/local/opt/openssl -G "Xcode" ..; fi
##### macOS ##################
- os: osx
osx_image: xcode10.1
install:
- sudo gem install xcpretty
script:
- mkdir -p ${TRAVIS_BUILD_DIR}/build && cd ${TRAVIS_BUILD_DIR}/build
- cmake -DOPENSSL_ROOT_DIR=/usr/local/opt/openssl -G "Xcode" ..
- set -o pipefail && xcodebuild ARCHS="x86_64" -project Etterna.xcodeproj -target Etterna -destination 'platform=OSX,arch=x86_64' -configuration Release | xcpretty

# This will only run for the linux builds
# The other os's have overridden the script tag
script:
# LINUX
- if [ "$TRAVIS_OS_NAME" != "osx" ]; then make -j 4; fi
- if [ "$TRAVIS_OS_NAME" != "osx" ]; then cd .. && bash format-check.sh; fi
- sh .ci/build.sh
- mkdir -p ${TRAVIS_BUILD_DIR}/build && cd ${TRAVIS_BUILD_DIR}/build
- cmake ..
- make

# OSX
- if [ "$TRAVIS_OS_NAME" == "osx" ]; then xcodebuild ARCHS="x86_64" -project Etterna.xcodeproj -target Etterna -destination 'platform=OSX,arch=x86_64' -xcconfig ../Xcode/conf.cnf -configuration RelWithDebInfo | xcpretty && exit ${PIPESTATUS[0]}; fi
- if [ "$TRAVIS_OS_NAME" == "osx" ]; then mv ../*.app ../Etterna.app; fi
- if [ "$TRAVIS_OS_NAME" == "osx" ]; then xcodebuild ARCHS="x86_64" -project Etterna.xcodeproj -target dmg -configuration RelWithDebInfo; fi
addons:
homebrew:
packages:
- openssl
- cmake
- nasm
update: true
apt:
sources:
- ubuntu-toolchain-r-test
- llvm-toolchain-precise
packages:
- nasm
- libudev-dev
- gcc-5
- g++-5
- libmad0-dev
- libgtk2.0-dev
- binutils-dev
- libasound-dev
- libpulse-dev
- libjack-dev
- libc6-dev
- libogg-dev
- libvorbis-dev
- libxtst-dev
- libxrandr-dev
- libglew-dev
- libuv-dev
- clang-format-5.0
update: true

before_install:
- if [ "$TRAVIS_OS_NAME" == "osx" ]; then rvm install 2.2.6;
gem install dropbox-deployment; fi

after_success:
- if [ "$TRAVIS_OS_NAME" == "osx" ]; then cd ${TRAVIS_BUILD_DIR};
ruby uploadDmg.rb; fi

env:
global:
secure: gXXVXUQdzic8X/WhHgPih7zEPOMvzz1o4XudnEgiIGrk5gwVajXLVc0TEVT9uogeuHZxhT0sM7idYmtSXTe6zUBfoV/WXnyfeZVQhI59iy35bWUKdbpPpO9bAafdmMB2d9b3v5QT8iubOPAudVNGENBZiXiGovAJBmqxnjpjdU1aQBsy5rhFssSOcizIV7GrOcsCGoilTceonPtLp8xX2mt/WQJhPHrAUmZks5uPNNYDXv9a8BoLeTYKzbFoz7GNvoxEUfmFV2W2jr/szfpnbmvRMqKgErsJDlc2b/oaD0EKUJOdu8eNNuOpLKZSPiMQstmDZtQ65boOuXVudAx3T1zFaDhhP3PZwG6KLwnrf0ttLRSdIW5Mm+SzEHuJXp2qwBPyAQJIKJLqqu/OUeNorWfz0jFvYyVlNZlTX5ZaxjEj05qj3DAEfokCuueNY+KFccdouMQX0ks3of4/WKLYH1BL743Binc5SYgK38xA7bzwcjFyyEBQFoc9FayrLkk0Yi/ed2mV1XdBvr7vmFxYDlZQkg425KLtCX7GN/++5FVF01IH1cZa3siJ7XT5EJBu6vxisByHRwPSWWagn2WgvkxHjgAnBcvgYBIcoKsxFBytsyyh3g5fVSWovSnTerr5glwv7cXdyhMAXp1gGL900tjij0BiEWRzKfbiroDjVn0=
File renamed without changes.
Loading