From cee6b245c4bc4418b7b29917652bf9a6c78f9099 Mon Sep 17 00:00:00 2001 From: MathuSum Mut Date: Sun, 4 Nov 2018 17:35:49 +0100 Subject: [PATCH] Updated build scripts --- CMakeLists.txt | 43 ++++--------------- mk/linux/{setupBuildDeps.sh => build-deps.sh} | 10 ++--- ...{build-zg-nosudo.sh => build-zg-nodeps.sh} | 9 ++-- mk/linux/build-zg.sh | 4 +- mk/linux/{zg_shared.sh => detect-system.sh} | 0 mk/linux/pull.sh | 7 +++ mk/linux/setup.sh | 13 ++++++ mk/linux/zetaglest.sh | 4 ++ mk/shared/glest-dev.ini | 2 +- 9 files changed, 43 insertions(+), 49 deletions(-) rename mk/linux/{setupBuildDeps.sh => build-deps.sh} (98%) rename mk/linux/{build-zg-nosudo.sh => build-zg-nodeps.sh} (97%) rename mk/linux/{zg_shared.sh => detect-system.sh} (100%) create mode 100755 mk/linux/pull.sh create mode 100755 mk/linux/setup.sh create mode 100755 mk/linux/zetaglest.sh diff --git a/CMakeLists.txt b/CMakeLists.txt index 141c99c46..8befaa288 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,9 +1,11 @@ CMAKE_MINIMUM_REQUIRED( VERSION 2.8.2 ) PROJECT( ZetaGlest ) -# The ZetaGlest CMakeLists is not supported on Windows. To compile on Windows, please use setup.bat in mk/windows -# +# The ZetaGlest CMakeLists is not supported on Windows. To compile on Windows, please use +# setup.bat in mk/windows + #SET(CMAKE_VERBOSE_MAKEFILE ON) +SET(CMAKE_INSTALL_PREFIX, "/usr") # build type IF(NOT CMAKE_BUILD_TYPE) @@ -72,7 +74,7 @@ IF(CMAKE_COMPILER_IS_GNUCXX OR MINGW) # For gcc warning options see: http://gcc.gnu.org/onlinedocs/gcc/Warning-Options.html IF(NOT MINGW) # For tons of verbose warnings add: -Wall -# ADD_DEFINITIONS("-Wreturn-type -fno-strict-aliasing -frounding-math -fsignaling-nans -mfpmath=sse -msse -rdynamic") +# ADD_DEFINITIONS("-Wreturn-type -fno-strict-aliasing -frounding-math -fsignaling-nans -mfpmath=sse -msse -rDynamic") # ADD_DEFINITIONS("-Wuninitialized -Wsign-compare -Wunused-function -Wunused-variable -Wreturn-type -fno-strict-aliasing -frounding-math -fsignaling-nans -rdynamic") ELSE() # ADD_DEFINITIONS("-Wreturn-type -fno-strict-aliasing -frounding-math -fsignaling-nans -mfpmath=sse -msse -DUNICODE") @@ -151,16 +153,16 @@ IF(CMAKE_COMPILER_IS_GNUCXX OR MINGW) ENDIF() # Debug compiler flags - SET(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} -g3") + SET(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} -g3 -no-pie -fno-pie") # Release compiler flags - SET(CMAKE_CXX_FLAGS_RELEASE "-O3 ${CMAKE_CXX_FLAGS_RELEASE} -O3 ") + SET(CMAKE_CXX_FLAGS_RELEASE "-O3 ${CMAKE_CXX_FLAGS_RELEASE} -O3 -no-pie -fno-pie") IF(NOT CMAKE_GENERATOR STREQUAL Xcode) 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 ") + SET(CMAKE_CXX_FLAGS_RELWITHDEBINFO "-O3 ${CMAKE_CXX_FLAGS_RELWITHDEBINFO} -g -O3 -no-pie -fno-pie") # Release minimum size compiler flags IF(NOT CMAKE_GENERATOR STREQUAL Xcode) @@ -196,8 +198,6 @@ IF(CMAKE_COMPILER_IS_GNUCXX OR MINGW) string(TOUPPER "${CMAKE_BUILD_TYPE}" ZG_BUILD_TYPE) - SET(CMAKE_CXX_FLAGS_{ZG_BUILD_TYPE} "${CMAKE_CXX_FLAGS_${ZG_BUILD_TYPE}}") - # 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_${ZG_BUILD_TYPE} "${CMAKE_CXX_FLAGS_${ZG_BUILD_TYPE}}") @@ -233,33 +233,6 @@ SET(SDL_VERSION_SNAME "sdl") # output binaries to the top level of the build directory SET(CMAKE_RUNTIME_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}") -IF(WIN32) - SET(CMAKE_LIBRARY_PATH ${CMAKE_LIBRARY_PATH} - ${PROJECT_SOURCE_DIR}/source/win32_deps/lib - ${PROJECT_SOURCE_DIR}/source/win32_deps/xerces-c-src_2_8_0/lib - ${PROJECT_SOURCE_DIR}/source/win32_deps/wxWidgets-2.8.10/lib) - - SET(CMAKE_INCLUDE_PATH ${CMAKE_INCLUDE_PATH} - ${PROJECT_SOURCE_DIR}/source/win32_deps/include - ${PROJECT_SOURCE_DIR}/source/win32_deps/openal-soft-1.12.854/include - ${PROJECT_SOURCE_DIR}/source/win32_deps/openal-soft-1.12.854 - ${PROJECT_SOURCE_DIR}/source/win32_deps/xerces-c-src_2_8_0/include - ${PROJECT_SOURCE_DIR}/source/win32_deps/libogg-1.2.1/include - ${PROJECT_SOURCE_DIR}/source/win32_deps/lua-5.1/src - ${PROJECT_SOURCE_DIR}/source/win32_deps/jpeg-8b - ${PROJECT_SOURCE_DIR}/source/win32_deps/lpng141 - ${PROJECT_SOURCE_DIR}/source/win32_deps/zlib-1.2.5 - ${PROJECT_SOURCE_DIR}/source/win32_deps/curl-7.21.3/include - ${PROJECT_SOURCE_DIR}/source/win32_deps/${SDL_WINDOWS_DIR_DINC}/include - ${PROJECT_SOURCE_DIR}/source/win32_deps/wxWidgets-2.8.10/include) - - link_directories(${PROJECT_SOURCE_DIR}/source/win32_deps/lib) - link_directories(${PROJECT_SOURCE_DIR}/source/win32_deps/xerces-c-src_2_8_0/lib) - link_directories(${PROJECT_SOURCE_DIR}/source/win32_deps/wxWidgets-2.8.10/lib) - include_directories("${PROJECT_SOURCE_DIR}/source/win32_deps/Microsoft\ DirectX\ SDK \(November 2007\)/Include") - include_directories(${PROJECT_SOURCE_DIR}/source/win32_deps/openal-soft-1.12.854/include) -ENDIF() - # Check if sources exist IF(EXISTS "${PROJECT_SOURCE_DIR}/source/") MESSAGE(STATUS "**Found game source code.") diff --git a/mk/linux/setupBuildDeps.sh b/mk/linux/build-deps.sh similarity index 98% rename from mk/linux/setupBuildDeps.sh rename to mk/linux/build-deps.sh index 71b017312..88ca8bf43 100755 --- a/mk/linux/setupBuildDeps.sh +++ b/mk/linux/build-deps.sh @@ -17,13 +17,13 @@ SCRIPTDIR="$(dirname "$(readlink -f "$0")")" # './setupBuildDeps.sh --manually "Debian" "stable"' is for you. # Load shared functions -. $SCRIPTDIR/zg_shared.sh +. $SCRIPTDIR/detect-system.sh # Got root? -if [ `id -u`'x' != '0x' ] && [ "$1" != "--manually" ]; then - echo 'This script should be run as root (UID 0).' >&2 - exit 1 -fi +#if [ `id -u`'x' != '0x' ] && [ "$1" != "--manually" ]; then +# echo 'This script should be run as root (UID 0).' >&2 +# exit 1 +#fi if [ "$(which git 2>/dev/null)" != "" ]; then gitcommit="$(git log -1 --pretty=tformat:"%H" $SCRIPTDIR/../..)" diff --git a/mk/linux/build-zg-nosudo.sh b/mk/linux/build-zg-nodeps.sh similarity index 97% rename from mk/linux/build-zg-nosudo.sh rename to mk/linux/build-zg-nodeps.sh index 5cfbceeef..64b70f54d 100755 --- a/mk/linux/build-zg-nosudo.sh +++ b/mk/linux/build-zg-nodeps.sh @@ -132,7 +132,7 @@ echo "CPU cores to be used: $NUMCORES" # Load shared functions -. $SCRIPTDIR/zg_shared.sh +. $SCRIPTDIR/detect-system.sh # ---------------------------------------------------------------------------- @@ -317,14 +317,11 @@ else if [ $? -ne 0 ]; then echo 'ERROR: MAKE failed.' >&2; exit 2 fi - - git clone https://github.com/ZetaGlest/zetaglest-data.git + cd .. echo '' echo 'BUILD COMPLETE.' echo '' echo 'To launch ZetaGlest from the current directory, use:' - echo ' ./build/zetaglest' - #echo 'Or change into mk/linux and run it from there:' - #echo ' ./zetaglest --ini-path=./ --data-path=./' + echo ' ./zetaglest.sh' fi diff --git a/mk/linux/build-zg.sh b/mk/linux/build-zg.sh index db16783c0..d266ea4d4 100755 --- a/mk/linux/build-zg.sh +++ b/mk/linux/build-zg.sh @@ -4,5 +4,5 @@ # Written by Mark Vejvoda # Copyright (c) 2011-2013 Mark Vejvoda under GNU GPL v3.0+ -./setupBuildDeps.sh -./build-zg-nosudo.sh +./build-deps.sh +./build-zg-nodeps.sh diff --git a/mk/linux/zg_shared.sh b/mk/linux/detect-system.sh similarity index 100% rename from mk/linux/zg_shared.sh rename to mk/linux/detect-system.sh diff --git a/mk/linux/pull.sh b/mk/linux/pull.sh new file mode 100755 index 000000000..07f641546 --- /dev/null +++ b/mk/linux/pull.sh @@ -0,0 +1,7 @@ +#!/bin/bash +cd ../.. +git pull +currentDir=$PWD +cd /usr/share/zetaglest +git pull +cd $currentDir diff --git a/mk/linux/setup.sh b/mk/linux/setup.sh new file mode 100755 index 000000000..026b7de4c --- /dev/null +++ b/mk/linux/setup.sh @@ -0,0 +1,13 @@ +#!/bin/bash +# Use this script to build ZetaGlest using cmake +# ---------------------------------------------------------------------------- +# Written by Mark Vejvoda +# Copyright (c) 2011-2013 Mark Vejvoda under GNU GPL v3.0+ + +currentDir=$PWD +cd /usr/share +git clone https://github.com/ZetaGlest/zetaglest-data.git zetaglest +cd $currentDir +./pull.sh +./build-zg.sh +chmod -R 777 build/ diff --git a/mk/linux/zetaglest.sh b/mk/linux/zetaglest.sh new file mode 100755 index 000000000..628e1edaa --- /dev/null +++ b/mk/linux/zetaglest.sh @@ -0,0 +1,4 @@ +#!/bin/bash +export DBUS_FATAL_WARNINGS=0 +unset XMODIFIERS +./build/zetaglest diff --git a/mk/shared/glest-dev.ini b/mk/shared/glest-dev.ini index 3d88c37a0..ee57531b6 100644 --- a/mk/shared/glest-dev.ini +++ b/mk/shared/glest-dev.ini @@ -1 +1 @@ -DataPath=./zetaglest-data/ +DataPath=/usr/share/zetaglest/