Skip to content

Commit

Permalink
Merge branch 'release/3.11.0'
Browse files Browse the repository at this point in the history
  • Loading branch information
tomreyn committed Jan 21, 2015
2 parents a737bcd + 624c9af commit e2b6ec5
Show file tree
Hide file tree
Showing 378 changed files with 9,670 additions and 1,809 deletions.
17 changes: 16 additions & 1 deletion .travis.yml
Original file line number Diff line number Diff line change
@@ -1,19 +1,34 @@
# http://docs.travis-ci.com/user/build-configuration/
language: cpp

compiler:
- gcc
- clang

matrix:
#include:
# - compiler: gcc
# - compiler: clang
allow_failures:
- compiler: clang

git:
submodules: false

#branches:
# only:
# - master

before_install:
- sudo apt-get update -qq # UPDATE REPOS
- sudo mk/linux/setupBuildDeps.sh --quiet # INSTALL DEPENDENCIES HERE
#- sudo apt-get upgrade -qq # UPGRADE SYSTEM TO LATEST PATCH LEVEL
- sudo apt-get install -y -qq
- sudo mk/linux/setupBuildDeps.sh --quiet # INSTALL OUR DEPENDENCIES

script:
# ALL THE BUILD COMMANDS HERE
- mk/linux/build-mg.sh -c 4

notifications:
irc:
channels:
Expand Down
129 changes: 72 additions & 57 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -78,9 +78,10 @@ else()
endif()
endif()

## Compiler flags
## Compiler flags, CPACK configuration and other Apple specific code.
IF(APPLE)
SET(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -stdlib=libc++")
include(${PROJECT_SOURCE_DIR}/mk/macosx/CMakeLists.txt)
ENDIF(APPLE)

IF(CMAKE_COMPILER_IS_GNUCXX OR MINGW)
Expand Down Expand Up @@ -188,19 +189,31 @@ IF(CMAKE_COMPILER_IS_GNUCXX OR MINGW)
message(STATUS "**WARNING DID NOT Find GCC backtrace lib")
ENDIF()

# Default compiler flags
SET(CMAKE_CXX_FLAGS_NONE "${CMAKE_CXX_FLAGS_NONE}")

# Debug compiler flags
SET(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} -g3")

# Release compiler flags
SET(CMAKE_CXX_FLAGS_RELEASE "-O3 ${CMAKE_CXX_FLAGS_RELEASE} -O3 ")
SET(CMAKE_EXE_LINKER_FLAGS_RELEASE "${CMAKE_EXE_LINKER_FLAGS_RELEASE} -s") ## Strip binary
IF(CMAKE_GENERATOR STREQUAL Xcode)
SET(CMAKE_EXE_LINKER_FLAGS_RELEASE "${CMAKE_EXE_LINKER_FLAGS_RELEASE}") ## Strip binary
ELSE()
SET(CMAKE_EXE_LINKER_FLAGS_RELEASE "${CMAKE_EXE_LINKER_FLAGS_RELEASE} -s") ## Strip binary
ENDIF()

# Release with debug info compiler flags
SET(CMAKE_CXX_FLAGS_RELWITHDEBINFO "-O3 ${CMAKE_CXX_FLAGS_RELWITHDEBINFO} -g -O3 ")

# Release minimum size compiler flags
SET(CMAKE_CXX_FLAGS_MINSIZEREL "-O3 ${CMAKE_CXX_FLAGS_MINSIZEREL} -O3 ")
SET(CMAKE_EXE_LINKER_FLAGS_MINSIZEREL "${CMAKE_EXE_LINKER_FLAGS_MINSIZEREL} -s") ## Strip binary
SET(CMAKE_EXE_LINKER_FLAGS_MINSIZEREL "${CMAKE_EXE_LINKER_FLAGS_MINSIZEREL}") ## Strip binary
IF(CMAKE_GENERATOR STREQUAL Xcode)
SET(CMAKE_EXE_LINKER_FLAGS_RELEASE "${CMAKE_EXE_LINKER_FLAGS_RELEASE}") ## Strip binary
ELSE()
SET(CMAKE_EXE_LINKER_FLAGS_RELEASE "${CMAKE_EXE_LINKER_FLAGS_RELEASE} -s") ## Strip binary
ENDIF()

# Get the git revision info for the binary
SET(HAS_GIT "FALSE")
Expand Down Expand Up @@ -239,12 +252,11 @@ IF(CMAKE_COMPILER_IS_GNUCXX OR MINGW)
ENDIF()
ENDIF()

IF(APPLE AND NOT CMAKE_COMPILER_IS_GNUCXX)
SET(GIT_VERSION_CMD "-DGITVERSION='\\\\'${GIT_LIVE_REV_CMD}\\\\''")
ELSE()
SET(GIT_VERSION_CMD "-DGITVERSION='\\\"${GIT_LIVE_REV_CMD}\\\"'")
# SET(SVN_VERSION_CMD "-DSVNVERSION='\\\"`svnversion -n ${PROJECT_SOURCE_DIR}`\\\"'")
ENDIF()
IF(CMAKE_GENERATOR STREQUAL Xcode)
SET(GIT_VERSION_CMD "-DGITVERSION='\\\\'${GIT_LIVE_REV_CMD}\\\\''")
ELSE()
SET(GIT_VERSION_CMD "-DGITVERSION='\\\"${GIT_LIVE_REV_CMD}\\\"'")
ENDIF()

IF(CMAKE_INSTALL_PREFIX STREQUAL "")
MESSAGE(STATUS "*NOTE: NOT USING a Custom Data Install Path...")
Expand All @@ -266,11 +278,7 @@ IF(CMAKE_COMPILER_IS_GNUCXX OR MINGW)
ENDIF()

IF(NOT CUSTOM_DATA_INSTALL_PATH)
IF(APPLE)
SET(CUSTOM_DATA_INSTALL_PATH "'\\\\'${CMAKE_INSTALL_PREFIX}/${MEGAGLEST_DATA_INSTALL_PATH}\\\\''" CACHE STRING "The FULL installation path for data files (this is build automatically by combining CMAKE_INSTALL_PREFIX and MEGAGLEST_DATA_INSTALL_PATH)")
ELSE()
SET(CUSTOM_DATA_INSTALL_PATH "'\\\"${CMAKE_INSTALL_PREFIX}/${MEGAGLEST_DATA_INSTALL_PATH}\\\"'" CACHE STRING "The FULL installation path for data files (this is build automatically by combining CMAKE_INSTALL_PREFIX and MEGAGLEST_DATA_INSTALL_PATH)")
ENDIF()
SET (CUSTOM_DATA_INSTALL_PATH "\"${CMAKE_INSTALL_PREFIX}/${MEGAGLEST_DATA_INSTALL_PATH}\"" CACHE STRING "The FULL installation path for data files (this is build automatically by combining CMAKE_INSTALL_PREFIX and MEGAGLEST_DATA_INSTALL_PATH)")
ENDIF()
SET(CUSTOM_DATA_INSTALL_PATH_VALUE "-DCUSTOM_DATA_INSTALL_PATH=${CUSTOM_DATA_INSTALL_PATH}")

Expand All @@ -280,19 +288,23 @@ IF(CMAKE_COMPILER_IS_GNUCXX OR MINGW)
MESSAGE(STATUS "*NOTE: Custom Data Install Path is [${CUSTOM_DATA_INSTALL_PATH}]")
ENDIF()

SET(CMAKE_CXX_FLAGS_NONE "${CMAKE_CXX_FLAGS_NONE} ${GIT_VERSION_CMD} ${CUSTOM_DATA_INSTALL_PATH_VALUE}")
SET(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} ${GIT_VERSION_CMD} ${CUSTOM_DATA_INSTALL_PATH_VALUE}")
SET(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} ${GIT_VERSION_CMD} ${CUSTOM_DATA_INSTALL_PATH_VALUE}")
SET(CMAKE_CXX_FLAGS_RELWITHDEBINFO "${CMAKE_CXX_FLAGS_RELWITHDEBINFO} ${GIT_VERSION_CMD} ${CUSTOM_DATA_INSTALL_PATH_VALUE}")
SET(CMAKE_CXX_FLAGS_MINSIZEREL "${CMAKE_CXX_FLAGS_MINSIZEREL} ${GIT_VERSION_CMD} ${CUSTOM_DATA_INSTALL_PATH_VALUE}")

# We do some funky character escaping to get the right stuff written out to
# the final Makefile so we get the GIT Global Revsion #
string(REPLACE "'" "\"" CMAKE_CXX_FLAGS_NONE "${CMAKE_CXX_FLAGS_NONE}")
string(REPLACE "'" "\"" CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG}")
string(REPLACE "'" "\"" CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE}")
string(REPLACE "'" "\"" CMAKE_CXX_FLAGS_RELWITHDEBINFO "${CMAKE_CXX_FLAGS_RELWITHDEBINFO}")
string(REPLACE "'" "\"" CMAKE_CXX_FLAGS_MINSIZEREL "${CMAKE_CXX_FLAGS_MINSIZEREL}")

IF( CMAKE_BUILD_TYPE STREQUAL Debug )
IF( CMAKE_BUILD_TYPE STREQUAL None )
message("CMAKE_CXX_FLAGS_NONE: ${CMAKE_CXX_FLAGS_NONE}")
ELSEIF( CMAKE_BUILD_TYPE STREQUAL Debug )
message("CMAKE_CXX_FLAGS_DEBUG: ${CMAKE_CXX_FLAGS_DEBUG}")
ELSEIF( CMAKE_BUILD_TYPE STREQUAL Release )
message("CMAKE_CXX_FLAGS_RELEASE: ${CMAKE_CXX_FLAGS_RELEASE}")
Expand Down Expand Up @@ -353,10 +365,6 @@ IF(EXISTS "${PROJECT_SOURCE_DIR}/source/")
#endif()
ADD_SUBDIRECTORY( ${PROJECT_SOURCE_DIR}/source/tools/glexemel )

IF(APPLE)
include(${PROJECT_SOURCE_DIR}/mk/macosx/CMakeLists.txt)
ENDIF()

ADD_SUBDIRECTORY( ${PROJECT_SOURCE_DIR}/source/tests )
ENDIF()

Expand All @@ -373,38 +381,7 @@ IF ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "Clang")
MESSAGE(WARNING ">> CLANG is NOT currently compatible as it does not support the following essential GCC compiler settings: -frounding-math -fsignaling-nans")
ENDIF()

SET(CPACK_GENERATOR "DEB")
SET(CPACK_DEBIAN_PACKAGE_MAINTAINER "Mark Vejvoda") #required
SET(CPACK_DEBIAN_PACKAGE_DEPENDS "
libcurl4-gnutls-dev | libcurl4-nss-dev,
libfontconfig1-dev,
libftgl-dev,
libglew-dev,
libircclient-dev,
libjpeg-dev,
liblua5.1-0-dev,
libminiupnpc-dev,
libogg-dev,
libopenal-dev,
libpng12-dev,
libsdl1.2-dev,
libvlc-dev,
libvorbis-dev,
libwxgtk2.8-dev,
libxerces-c2-dev,
libxml2-dev,
libz-dev,
libfribidi-dev")

#find_program(DPKG_PROGRAM dpkg DOC "dpkg program of Debian-based systems")
#if(DPKG_PROGRAM)
# execute_process(
# COMMAND ${DPKG_PROGRAM} --print-architecture
# OUTPUT_VARIABLE CPACK_DEBIAN_PACKAGE_ARCHITECTURE
# OUTPUT_STRIP_TRAILING_WHITESPACE
# )
#endif(DPKG_PROGRAM)

# CPack configuration shared accross platforms
SET(CPACK_PACKAGE_NAME ${PKG_NAME})
SET(CPACK_PACKAGE_DESCRIPTION_SUMMARY "MegaGlest")
SET(CPACK_PACKAGE_VENDOR "megaglest.org")
Expand All @@ -414,12 +391,50 @@ SET(CPACK_PACKAGE_INSTALL_DIRECTORY "megaglest")
SET(CPACK_PACKAGE_VERSION_MAJOR ${VER_MAJOR})
SET(CPACK_PACKAGE_VERSION_MINOR ${VER_MINOR})
SET(CPACK_PACKAGE_VERSION_PATCH ${VER_RELEASE})
IF(WIN32)
SET(CPACK_NSIS_DISPLAY_NAME "MegaGlest")
SET(CPACK_NSIS_MUI_ICON "${PROJECT_SOURCE_DIR}/mk/windoze/glest.ico")
SET(CPACK_PACKAGE_ICON "${PROJECT_SOURCE_DIR}/mk/windoze/megaglest.ico")
SET(CPACK_NSIS_URL_INFO_ABOUT "http://megaglest.org")
ENDIF()


# Debian specific generator options
IF(NOT DEFINED CPACK_GENERATOR)
SET(CPACK_GENERATOR "DEB")
SET(CPACK_DEBIAN_PACKAGE_MAINTAINER "Mark Vejvoda") #required
SET(CPACK_DEBIAN_PACKAGE_DEPENDS "
libcurl4-gnutls-dev | libcurl4-nss-dev,
libfontconfig1-dev,
libftgl-dev,
libglew-dev,
libircclient-dev,
libjpeg-dev,
liblua5.1-0-dev,
libminiupnpc-dev,
libogg-dev,
libopenal-dev,
libpng12-dev,
libsdl1.2-dev,
libvlc-dev,
libvorbis-dev,
libwxgtk2.8-dev,
libxerces-c2-dev,
libxml2-dev,
libz-dev,
libfribidi-dev")

#find_program(DPKG_PROGRAM dpkg DOC "dpkg program of Debian-based systems")
#if(DPKG_PROGRAM)
# execute_process(
# COMMAND ${DPKG_PROGRAM} --print-architecture
# OUTPUT_VARIABLE CPACK_DEBIAN_PACKAGE_ARCHITECTURE
# OUTPUT_STRIP_TRAILING_WHITESPACE
# )
#endif(DPKG_PROGRAM)
ENDIF(NOT DEFINED CPACK_GENERATOR)

IF(CPACK_GENERATOR STREQUAL "NSIS")
SET(CPACK_NSIS_DISPLAY_NAME "MegaGlest")
SET(CPACK_NSIS_MUI_ICON "${PROJECT_SOURCE_DIR}/mk/windoze/glest.ico")
SET(CPACK_PACKAGE_ICON "${PROJECT_SOURCE_DIR}/mk/windoze/megaglest.ico")
SET(CPACK_NSIS_URL_INFO_ABOUT "http://megaglest.org")
ENDIF(CPACK_GENERATOR STREQUAL "NSIS")

INCLUDE(CPack)

get_directory_property( DirDefs DIRECTORY ${CMAKE_SOURCE_DIR} COMPILE_DEFINITIONS )
Expand Down
2 changes: 1 addition & 1 deletion data/glest_game
Submodule glest_game updated 2916 files
24 changes: 24 additions & 0 deletions docs/CHANGELOG.txt
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,30 @@ MEGAGLEST CHANGELOG

To see a timeline of detail changes please visit:
https://github.com/MegaGlest/megaglest-source/commits/master
v3.11.0
- healthbars with a lot of options
- multi shot / multi-projectiles with different timings,sounds and particle systems
- several camera shake effects
- new tileset "pine rock"
- some new maps
- improve switching settings when connected to a headless server
- support for team unit sharing
- team resource sharing
- tags feature
- Attack boosts fixed in many ways
- Attack boosts and upgrades now support upgrading attack speed
- timed particles and mesh bound particles really work now.
- unit height independend particle positioning ( flat-particle-positions )
- CPU players multiplier are displayed in debug view
- You can have non commandable units
- Units spawned by an attack skill can get an attack command
- Unit and Splash particles can be speeded up ( accelerated )
- Looting https://github.com/MegaGlest/megaglest-source/pull/17
- HP and EP starting values
- <target-height> <burn-height> can be given https://docs.megaglest.org/XML/Unit#target-height
- +several bugfixes

v3.10.0 This version was skipped because of version number trouble.

v3.9.1
- Backward compatible with 3.9.0
Expand Down
Binary file modified mk/fedora/megaglest-rpm-meta/SOURCES/megaglest.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
8 changes: 4 additions & 4 deletions mk/linux/build-mg.sh
Original file line number Diff line number Diff line change
Expand Up @@ -85,8 +85,8 @@ done
# 1. Install clang (sudo apt-get install clang)
# 2. Set the two vars below:
# WANT_CLANG=YES and CLANG_BIN_PATH=<path_to_the_clang_binary>
CLANG_BIN_PATH=$( which clang )
CLANGPP_BIN_PATH=$( which clang++ )
CLANG_BIN_PATH=$( which clang 2>/dev/null )
CLANGPP_BIN_PATH=$( which clang++ 2>/dev/null )

cd ${SCRIPTDIR}

Expand Down Expand Up @@ -174,12 +174,12 @@ if [ $CLANG_FORCED = 1 ]; then
# If both the $CC and $CXX environment variable point to something containing
# "clang", use whatever these environment variables point to.
elif [ "`echo $CC | grep -oF 'clang'`" = 'clang' -a "`echo $CXX | grep -oF 'clang'`" = 'clang' ]; then
if [ `echo $CC | grep -Fq '/'` = '/' ]; then
if [ "`echo $CC | grep -Fo '/'`" = '/' ]; then
CLANG_CC=$CC
else
CLANG_CC=`which $CC`
fi
if [ `echo $CXX | grep -Fq '/'` = '/' ]; then
if [ "`echo $CXX | grep -Fo '/'`" = '/' ]; then
CLANG_CXX=$CXX
else
CLANG_CXX=`which $CXX`
Expand Down
27 changes: 13 additions & 14 deletions mk/linux/coverity-scan.sh
Original file line number Diff line number Diff line change
Expand Up @@ -32,6 +32,9 @@ PROJECT=MegaGlest
# E-Mail address of registered Coverity Scan user with project access
# EMAIL=x

# Where to store the data gathered by the Coverity Scan Build Tool
BUILDTOOL=cov-int

# read in config settings
if [ ! -f ${CURRENTDIR}/.coverity-scan ] ; then
echo "-----------------------------------------"
Expand All @@ -44,24 +47,17 @@ fi
# echo "Read config values: TOKEN [$TOKEN] EMAIL [$EMAIL] COVERITY_ANALYSIS_ROOT [$COVERITY_ANALYSIS_ROOT] NUMCORES [${NUMCORES}]"
# exit 1

# Included from shared functions
detect_system

computername=$(hostname)
#DESCRIPTION=${distribution}-${release}-${architecture}_${computername}
DESCRIPTION=${distribution}-${architecture}_${computername}

# Where to store the data gathered by the Coverity Scan Build Tool
BUILDTOOL=cov-int

# ------------------------------------------------------------------------------

GITBRANCH=$(git rev-parse --abbrev-ref HEAD | tr '/' '_')
GITVERSION_SHA1=$(git log -1 --format=%h)
GITVERSION_REV=$(git rev-list HEAD --count)
VERSION=${GITBRANCH}.${GITVERSION_REV}.${GITVERSION_SHA1}

VERSION=${GITVERSION_REV}.${GITVERSION_SHA1}
FILENAME=${PROJECT}_${DESCRIPTION}_${VERSION}
# Included from shared functions
detect_system

#DESCRIPTION=${distribution}-${release}-${architecture}_${hostname}
DESCRIPTION=${GITBRANCH}.${GITVERSION_SHA1}.${distribution}-${architecture}.${hostname}
FILENAME=${PROJECT}.${DESCRIPTION}
# echo "FILENAME = [${FILENAME}]"
# exit 1

Expand Down Expand Up @@ -105,3 +101,6 @@ else
rm -rf ${BUILDTOOL}/
fi

# This currently fails to detect the following error situation, as reported in the HTML of the HTTP response (to the upload request):
# ERROR: Too many build submitted. Wait for few days before submitting next build: Refer build frequency at https://scan.coverity.com/faq#frequency

4 changes: 2 additions & 2 deletions mk/linux/make-binary-archive.sh
Original file line number Diff line number Diff line change
Expand Up @@ -54,11 +54,11 @@ fi
cd $PROJDIR
echo "copying binaries ..."
cp -r lib/* "$RELEASEDIR/lib"
cp *.ico "$RELEASEDIR/"
cp {../shared/,}*.ico "$RELEASEDIR/"
cp *.bmp "$RELEASEDIR/"
cp *.png "$RELEASEDIR/"
cp *.xpm "$RELEASEDIR/"
cp *.ini "$RELEASEDIR/"
cp {../shared/,}*.ini "$RELEASEDIR/"
cp megaglest "$RELEASEDIR/"
cp megaglest_editor "$RELEASEDIR/"
cp megaglest_g3dviewer "$RELEASEDIR/"
Expand Down
7 changes: 7 additions & 0 deletions mk/linux/make-data-archive.sh
Original file line number Diff line number Diff line change
Expand Up @@ -66,6 +66,13 @@ mkdir -p "$RELEASEDIR/data/core/misc_textures/flags/"
cd "$RELEASEDIR/data/core/misc_textures/flags/"
git archive --remote ${REPODIR} HEAD:source/masterserver/flags | tar x

echo "Removing non required files ..."
cd "$CURRENTDIR"
# START
# remove cegui data
rm -rf "$RELEASEDIR/data/cegui"
# END

cd "$CURRENTDIR"
echo "creating data archive: $PACKAGE"
[[ -f "${RELEASEDIR_ROOT}/$PACKAGE" ]] && rm "${RELEASEDIR_ROOT}/$PACKAGE"
Expand Down
2 changes: 2 additions & 0 deletions mk/linux/makedata.sh
Original file line number Diff line number Diff line change
Expand Up @@ -79,6 +79,8 @@ cd "$CURRENTDIR"
# START
# remove embedded data
rm -rf "$RELEASEDIR/data/core/fonts"
# remove cegui data
rm -rf "$RELEASEDIR/data/cegui"
# END

echo "creating $PACKAGE"
Expand Down
Binary file modified mk/linux/megaglest.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading

0 comments on commit e2b6ec5

Please sign in to comment.