← Back to team overview

widelands-dev team mailing list archive

Re: [Merge] lp:~widelands-dev/widelands/cmake-reworked into lp:widelands

 

>[codecheck] will get run on files that are compiled when debug is enabled, but only if those files have >changed.
>[make codecheck] only runs over files that has issues or that have changed.

>That seems like reasonable behavior to me. Do you disagree?

Completely reasonable, it's just not the behaviour I'm getting. :p From what I can see it would always run codecheck on everything, always regardless of how much/little it actually compiled. I tested by running ./update.sh again straight after a previous build had finished without any changes or files which needed compilation. Still it would output tons of lines like this:

[ 63%] Built target run_codecheck_for_fd9d48df4bf2b856ab81dce17e3082fa2b14e287
[ 63%] Built target run_codecheck_for_642af5bde8323c2d2262af85658b3ede5b31964f
[ 63%] Built target run_codecheck_for_21a2b8a4047517254484261b4bca558846cf9489
[ 63%] Built target run_codecheck_for_c2e7645adcfce7cd480bdfb66b8a995a4245884b
[ 63%] Built target run_codecheck_for_f1fa7a8a6e84e53b1a91931d7627c36dacc4fd3c


I noticed I have some trouble with building the latest revision right now, though r7030 apparently built fine here the other day. (GCC 4.8.2 on Ubuntu 14.04. Maybe http://paste.ubuntu.com/7654444/ rings a bell) This has been built with ./update.sh through the various changes so when I get time I'll check whether it works when building out of the box.


Memo to self: before this branch lands, the Debian packaging should be patched since release version will need boost-test too, now.

Diff comments:

> === modified file 'CMakeLists.txt'
> --- CMakeLists.txt	2014-05-27 19:10:20 +0000
> +++ CMakeLists.txt	2014-06-16 13:55:52 +0000
> @@ -1,280 +1,155 @@
>  project (widelands)
>  
> -cmake_minimum_required (VERSION 2.6)
> -
> -# Used as versioning, if WL_VERSION_STANDARD is definded.
> -# TODO(sirver): This is redundant and should not be used anywhere. We have a
> -# script that determines the version.
> -if (WL_VERSION_STANDARD)
> -	# Set the values below for standard versioning.
> -	# As long as WL_VERSION_MAJOR is 0, the naming will be in form of
> -	# "Build${WL_VERSION_MINOR}" + ".${WL_VERSION_PATCH}" if WL_VERSION_PATCH is
> -	# defined.
> -	set (WL_VERSION_MAJOR 0)
> -	set (WL_VERSION_MINOR 19)
> -
> -	# Just define in case that we release patches for official builds
> -	#set (WL_VERSION_PATCH 90)
> -
> -	# An addition to the version name (e.g. RC1, DEV, ...)
> -	set (WL_VERSION_ADDITION DEV)
> -endif (WL_VERSION_STANDARD)
> -
> -# Define the directory structure for installation - will be hardcoded in WL bin
> -# If nothing is given on command line, set the standard values depending on platform.
> -
> -if (WIN32 OR APPLE OR WL_PORTABLE)
> -  if (NOT WL_INSTALL_PREFIX OR WL_INSTALL_PREFIX STREQUAL "")
> -    set (WL_INSTALL_PREFIX ".")
> -  endif (NOT WL_INSTALL_PREFIX OR WL_INSTALL_PREFIX STREQUAL "")
> -
> -  if (NOT WL_INSTALL_DATADIR OR WL_INSTALL_DATADIR STREQUAL "")
> -    set (WL_INSTALL_DATADIR ".")
> -  endif (NOT WL_INSTALL_DATADIR OR WL_INSTALL_DATADIR STREQUAL "")
> -
> -  if (NOT WL_INSTALL_LOCALEDIR OR WL_INSTALL_LOCALEDIR STREQUAL "")
> -    set (WL_INSTALL_LOCALEDIR "locale")
> -  endif (NOT WL_INSTALL_LOCALEDIR OR WL_INSTALL_LOCALEDIR STREQUAL "")
> -
> -  if (NOT WL_INSTALL_BINDIR OR WL_INSTALL_BINDIR STREQUAL "")
> -    set (WL_INSTALL_BINDIR ".")
> -  endif (NOT WL_INSTALL_BINDIR OR WL_INSTALL_BINDIR STREQUAL "")
> -elseif (WIN32 OR APPLE OR WL_PORTABLE)
> -  if (NOT WL_INSTALL_PREFIX OR WL_INSTALL_PREFIX STREQUAL "")
> -    set (WL_INSTALL_PREFIX "/usr/local")
> -  endif (NOT WL_INSTALL_PREFIX OR WL_INSTALL_PREFIX STREQUAL "")
> -
> -  if (NOT WL_INSTALL_DATADIR OR WL_INSTALL_DATADIR STREQUAL "")
> -    set (WL_INSTALL_DATADIR "share/games/widelands")
> -  endif (NOT WL_INSTALL_DATADIR OR WL_INSTALL_DATADIR STREQUAL "")
> -
> -  if (NOT WL_INSTALL_LOCALEDIR OR WL_INSTALL_LOCALEDIR STREQUAL "")
> -    set (WL_INSTALL_LOCALEDIR "${WL_INSTALL_PREFIX}/${WL_INSTALL_DATADIR}/locale")
> -  endif (NOT WL_INSTALL_LOCALEDIR OR WL_INSTALL_LOCALEDIR STREQUAL "")
> -
> -  if (NOT WL_INSTALL_BINDIR OR WL_INSTALL_BINDIR STREQUAL "")
> -    set (WL_INSTALL_BINDIR "games")
> -  endif (NOT WL_INSTALL_BINDIR OR WL_INSTALL_BINDIR STREQUAL "")
> -endif (WIN32 OR APPLE OR WL_PORTABLE)
> -
> -# General install prefix for config.h
> -if (NOT WL_INSTALL_PREFIX OR WL_INSTALL_PREFIX STREQUAL "")
> -	set (WL_INSTALL_PREFIX /usr/local)
> -endif (NOT WL_INSTALL_PREFIX OR WL_INSTALL_PREFIX STREQUAL "")
> -
> -# Widelands binary directory
> -if (NOT WL_INSTALL_BINDIR OR WL_INSTALL_BINDIR STREQUAL "")
> -	set (WL_INSTALL_BINDIR games)
> -endif (NOT WL_INSTALL_BINDIR OR WL_INSTALL_BINDIR STREQUAL "")
> -
> -# Widelands data directory
> -if (NOT WL_INSTALL_DATADIR OR WL_INSTALL_DATADIR STREQUAL "")
> -	set (WL_INSTALL_DATADIR share/games/widelands)
> -endif (NOT WL_INSTALL_DATADIR OR WL_INSTALL_DATADIR STREQUAL "")
> -
> -# Widelands locale directory
> -if (NOT WL_INSTALL_LOCALEDIR OR WL_INSTALL_LOCALEDIR STREQUAL "")
> -	set (WL_INSTALL_LOCALEDIR ${WL_INSTALL_PREFIX}/${WL_INSTALL_DATADIR}/locale)
> -endif (NOT WL_INSTALL_LOCALEDIR OR WL_INSTALL_LOCALEDIR STREQUAL "")
> +cmake_minimum_required (VERSION 2.8)

Are we using any particualar 2.8-features? I know I looked up, but failed to note when CMAKE_CXX_COMPILER_VERSION was introduced. Mainly to check that we don't require more than we need, but also because Ubuntu 12.04 only contains 2.8.7 (https://launchpad.net/ubuntu/+source/cmake) if that's still considered a target...

>  
>  if (CMAKE_SOURCE_DIR STREQUAL CMAKE_BINARY_DIR)
> -  message(FATAL_ERROR "Build-directory and source-directory are the same!")
> +  message(FATAL_ERROR "Build directory and source directory must not be the same.")
>  endif (CMAKE_SOURCE_DIR STREQUAL CMAKE_BINARY_DIR)
>  
> +# Define the directory structure for installation - will be hardcoded in WL bin
> +# (through config.h).
> +macro(_set_if_unset VAR VALUE)
> +  if (NOT ${VAR} OR ${VAR} STREQUAL "")
> +    set (${VAR} ".")
> +  endif()
> +endmacro(_set_if_unset)
> +
> +if(WIN32 OR APPLE OR WL_PORTABLE)
> +  _set_if_unset(WL_INSTALL_PREFIX ".")
> +  _set_if_unset(WL_INSTALL_DATADIR ".")
> +  _set_if_unset(WL_INSTALL_LOCALEDIR "locale")
> +  _set_if_unset(WL_INSTALL_BINDIR ".")
> +else()
> +  _set_if_unset(WL_INSTALL_PREFIX "/usr/local")
> +  _set_if_unset(WL_INSTALL_DATADIR "share/games/widelands")
> +  _set_if_unset(WL_INSTALL_LOCALEDIR "${WL_INSTALL_PREFIX}/${WL_INSTALL_DATADIR}/locale")
> +  _set_if_unset(WL_INSTALL_BINDIR "games")
> +endif()
> +
>  if (CMAKE_INSTALL_PREFIX STREQUAL CMAKE_BINARY_DIR)
> -  message(FATAL_ERROR "Build-directory and install-directory are the same!")
> +  message(FATAL_ERROR "Build directory and install directory must not be the same.")
>  endif (CMAKE_INSTALL_PREFIX STREQUAL CMAKE_BINARY_DIR)
>  
> +if("${CMAKE_CXX_COMPILER_ID}" STREQUAL "GNU")
> +  if (CMAKE_CXX_COMPILER_VERSION VERSION_LESS 4.7)
> +    message(FATAL_ERROR "Widelands needs GCC >= 4.7 to compile.")
> +  endif()
> +elseif("${CMAKE_CXX_COMPILER_ID}" STREQUAL "Clang")
> +  if (CMAKE_CXX_COMPILER_VERSION VERSION_LESS 3.2)
> +    message(FATAL_ERROR "Clang version must be at least 3.2!")
> +  endif()
> +else()
> +  message(WARNING "You are using an unsupported compiler! Supported are Clang and GCC.")
> +endif()
> +
>  SET(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} ${CMAKE_CURRENT_SOURCE_DIR}/cmake/Modules)
>  
>  if (NOT CMAKE_BUILD_TYPE OR CMAKE_BUILD_TYPE STREQUAL "")
>    find_path(FILE_WL_RELEASE "WL_RELEASE" ${CMAKE_CURRENT_SOURCE_DIR})
> -  if (${FILE_WL_RELEASE} STREQUAL "FILE_WL_RELEASE-NOTFOUND")
> -    set (CMAKE_BUILD_TYPE Debug)
> -  else (${FILE_WL_RELEASE} STREQUAL "FILE_WL_RELEASE-NOTFOUND")
> -    set (CMAKE_BUILD_TYPE Release)
> -  endif (${FILE_WL_RELEASE} STREQUAL "FILE_WL_RELEASE-NOTFOUND")
> +  if(${FILE_WL_RELEASE} STREQUAL "FILE_WL_RELEASE-NOTFOUND")
> +    set(CMAKE_BUILD_TYPE Debug)
> +  else()
> +    set(CMAKE_BUILD_TYPE Release)
> +  endif()
>  endif (NOT CMAKE_BUILD_TYPE OR CMAKE_BUILD_TYPE STREQUAL "")
>  
> -set (CMAKE_CONFIGURATION_TYPES ${CMAKE_BUILD_TYPE})
> -
> -# Unit tests are built per default in Debug and not build in Release
> -if (CMAKE_BUILD_TYPE STREQUAL "Debug")
> -  option (WL_UNIT_TESTS "build and run unit tests (requires boost_unit_test_framework)" ON)
> -else (CMAKE_BUILD_TYPE STREQUAL "Debug")
> -  option (WL_UNIT_TESTS "build and run unit tests (requires boost_unit_test_framework)" OFF)
> -endif (CMAKE_BUILD_TYPE STREQUAL "Debug")
> -
> -# we only include Boost Headers to the main executable, no libraries
> -# unit_test_framework is for testing only
> -if (WL_UNIT_TESTS)
> -  message(STATUS "Enabled unit tests")
> -  if (DEFINED MSVC)

Somewhat sad to see MSVC support go, though I guess it was unavoidable at this point. Still hope someone will come along and support it properly in the future. :) We are somewhat understaffed on the MS Windows side of things...

> -    set (BUILD_SHARED_LIBS OFF)
> -	set (Boost_USE_STATIC_RUNTIME ON)
> -	set (Boost_USE_STATIC_LIBS ON)
> -  else (DEFINED MSVC)
> -    set (Boost_USE_STATIC_LIBS  OFF)
> -  endif (DEFINED MSVC)
> -  set (Boost_FIND_COMPONENTS unit_test_framework)
> -  set (Boost_USE_MULTITHREADED ON)
> -  set (Boost_DETAILED_FAILURE_MSG ON)
> -  find_package(Boost 1.48
> -    COMPONENTS
> -      unit_test_framework
> -      regex
> -    REQUIRED)
> -
> -  if (NOT DEFINED MSVC)
> -  # If boost unit test library is linked dynamically, BOOST_TEST_DYN_LINK must be defined
> -    string( REGEX MATCH ".a$" BOOST_STATIC_UNIT_TEST_LIB ${Boost_UNIT_TEST_FRAMEWORK_LIBRARY})
> -    if (NOT BOOST_STATIC_UNIT_TEST_LIB)
> -      add_definitions(-DBOOST_TEST_DYN_LINK)
> -    endif (NOT BOOST_STATIC_UNIT_TEST_LIB)
> -  endif(NOT DEFINED MSVC)
> -
> -  include(CTest)
> -  enable_testing()
> -
> -  #automatic unit testing hook, must be updated to reflect all tests
> -  #if this is too intricate, we can also have this as an automatic detection
> -  #but the current way allows to disable certain checks if they are taking
> -  #too much time when ran every compile time
> -  add_custom_target(autotest ALL
> -    COMMAND ${CMAKE_CTEST_COMMAND} --output-on-failure
> -    WORKING_DIRECTORY ${CMAKE_BINARY_DIR}
> -    DEPENDS widelands;test_widelands_scripting;test_economy;test_io_filesystem
> -  )
> -else (WL_UNIT_TESTS)
> -  message(STATUS "Disabled Unit Tests")
> -  find_package(Boost 1.48
> -    COMPONENTS
> -      regex
> -    REQUIRED)
> -endif (WL_UNIT_TESTS)
> -
> -option (WL_STRICT "If strict compilation mode is requested (almost every warning is an error)" OFF)
> -
> -set (PARAMETER_COMPILERFLAG_BOOST_INCLUDE_DIR "-isystem ${Boost_INCLUDE_DIR}")
> -set (PARAMETER_COMPILERFLAG_GENERICWARNINGS "-Wall -Wextra")
> -set (PARAMETER_COMPILERFLAG_EXTRAWARNINGS "-Wformat -Wformat-nonliteral -Wformat-security -Wformat-y2k -Winit-self -Winvalid-pch -Wmissing-include-dirs -Wold-style-cast -Woverlength-strings -Wpacked -Wpointer-arith -Wredundant-decls -Wshadow -Wsign-promo -Wswitch-default -Wundef -Wunused -Wunused-macros")
> -set (PARAMETER_COMPILERFLAG_GCCWARNINGS "-Wlogical-op -Wsync-nand -Wtrampolines")
> -set (PARAMETER_COMPILERFLAG_STRICT "-Werror -Wno-error=old-style-cast -Wno-error=deprecated-declarations -fdiagnostics-show-option")
> -include(CheckCXXCompilerFlag) #this include should be safe
> -
> -# Enable c++11 features.
> -if (NOT WIN32)
> -  set (PARAMETER_COMPILERFLAG_CXXSTD "-std=c++11")
> +set (Boost_USE_STATIC_LIBS  OFF)
> +set (Boost_USE_MULTITHREADED ON)
> +set (Boost_DETAILED_FAILURE_MSG ON)
> +find_package(Boost 1.48
> +  COMPONENTS
> +    unit_test_framework
> +    regex
> +  REQUIRED)
> +
> +include(CTest)
> +enable_testing()
> +
> +# Run a test after a normal compile. This magic is needed as 'make test' will
> +# not rebuild tests:
> +# http://stackoverflow.com/questions/733475/cmake-ctest-make-test-doesnt-build-tests
> +add_custom_target(_run_all_tests ALL
> +  COMMAND ${CMAKE_CTEST_COMMAND} --output-on-failure
> +  WORKING_DIRECTORY ${CMAKE_BINARY_DIR}
> +  DEPENDS wl_tests
> +)
> +
> +include(CheckCXXCompilerFlag)
> +function(_add_flag_if_supported VAR_NAME FLAG TEST_NAME)
> +  CHECK_CXX_COMPILER_FLAG(${FLAG} ${TEST_NAME})
> +  if(${TEST_NAME})
> +    if (${VAR_NAME})
> +      set(${VAR_NAME} "${${VAR_NAME}} ${FLAG}" PARENT_SCOPE)
> +    else()
> +      set(${VAR_NAME} "${FLAG}" PARENT_SCOPE)
> +    endif()
> +  endif()
> +endfunction()
> +
> +_add_flag_if_supported(WL_GENERIC_CXX_FLAGS "-std=c++11" CXX_SUPPORTS_STD_CPP11)
> +_add_flag_if_supported(WL_GENERIC_CXX_FLAGS "-std=gnu++11" CXX_SUPPORTS_STD_CPP11_GNU)
> +
> +if(CMAKE_BUILD_TYPE STREQUAL "Debug")
> +  set(WL_DEBUG_FLAGS "-g -DDEBUG")
> +elseif(CMAKE_BUILD_TYPE STREQUAL "Release")
> +  set(WL_OPTIMIZE_FLAGS "-O3")
> +  set(WL_DEBUG_FLAGS "-DNDEBUG -DNOPARACHUTE")
> +elseif(CMAKE_BUILD_TYPE STREQUAL "RelWithDebInfo")
> +  set(WL_OPTIMIZE_FLAGS "-O3")
> +  set(WL_DEBUG_FLAGS "-g -DNDEBUG -DNOPARACHUTE")
>  else()
> -  set (PARAMETER_COMPILERFLAG_CXXSTD "-std=gnu++11")
> -endif()
> -
> -if(CMAKE_COMPILER_IS_GNUCXX)
> -  #TODO: look into replacing this with CMAKE_CXX_COMPILER_VERSION when we move to a more recent CMake version than 2.6
> -  EXECUTE_PROCESS(COMMAND ${CMAKE_CXX_COMPILER} -dumpversion OUTPUT_VARIABLE GCC_VERSION)
> -  if (GCC_VERSION VERSION_LESS 4.7)
> -    message(FATAL_ERROR "You seem to be running an older version of GCC. Widelands use various C++11 features, which require GCC 4.7 or a later version.")
> -  endif()
> -endif()
> -
> -CHECK_CXX_COMPILER_FLAG(${PARAMETER_COMPILERFLAG_CXXSTD} Compiler_std_supported)
> -IF (Compiler_std_supported)
> -  set (WL_COMPILERFLAG_CXXSTD " ${PARAMETER_COMPILERFLAG_CXXSTD}") #the space is on purpose!
> -ENDIF (Compiler_std_supported)
> -
> -CHECK_CXX_COMPILER_FLAG(${PARAMETER_COMPILERFLAG_BOOST_INCLUDE_DIR} Compiler_boost_include_dir_supported)
> -IF (Compiler_boost_include_dir_supported)
> -  IF (CMAKE_BUILD_TYPE STREQUAL "Debug")
> -    set (WL_COMPILERFLAG_BOOST_INCLUDE_DIR " ${PARAMETER_COMPILERFLAG_BOOST_INCLUDE_DIR}") #the space is on purpose!
> -  ELSE (CMAKE_BUILD_TYPE STREQUAL "Debug")
> -    include_directories(SYSTEM ${Boost_INCLUDE_DIR})
> -  ENDIF (CMAKE_BUILD_TYPE STREQUAL "Debug")
> -ENDIF()
> -
> -CHECK_CXX_COMPILER_FLAG(${PARAMETER_COMPILERFLAG_GENERICWARNINGS} Compiler_generic_warnings_supported)
> -IF (Compiler_generic_warnings_supported)
> -  set (WL_COMPILERFLAG_GENERICWARNINGS " ${PARAMETER_COMPILERFLAG_GENERICWARNINGS}") #the space is on purpose!
> -ENDIF (Compiler_generic_warnings_supported)
> -
> -CHECK_CXX_COMPILER_FLAG(${PARAMETER_COMPILERFLAG_EXTRAWARNINGS} Compiler_extra_warnings_supported)
> -IF (Compiler_extra_warnings_supported)
> -  set (WL_COMPILERFLAG_EXTRAWARNINGS " ${PARAMETER_COMPILERFLAG_EXTRAWARNINGS}") #the space is on purpose!
> -ELSE (Compiler_extra_warnings_supported)
> -  message("Warning: couldn't set the following compiler options: ${PARAMETER_COMPILERFLAG_EXTRAWARNINGS}. Most likely these options are available in a newer release of your compiler.")
> -ENDIF (Compiler_extra_warnings_supported)
> -
> -CHECK_CXX_COMPILER_FLAG(${PARAMETER_COMPILERFLAG_GCCWARNINGS} Compiler_gcc_warnings_supported)
> -IF (Compiler_gcc_warnings_supported)
> -  set (WL_COMPILERFLAG_GCCWARNINGS " ${PARAMETER_COMPILERFLAG_GCCWARNINGS}") #the space is on purpose!
> -ELSE (Compiler_gcc_warnings_supported)
> -  message("Warning: could not add additional GCC-specific warning options: ${PARAMETER_COMPILERFLAG_GCCWARNINGS}. Most likely you are using a different compiler, like Clang/LLVM or Visual Studio.")
> -ENDIF (Compiler_gcc_warnings_supported)
> -
> -IF (WL_STRICT)
> -  CHECK_CXX_COMPILER_FLAG(${PARAMETER_COMPILERFLAG_STRICT} Compiler_strict_mode_supported)
> -  IF (Compiler_strict_mode_supported)
> -    set (WL_COMPILERFLAG_STRICT " ${PARAMETER_COMPILERFLAG_STRICT}") #the space is on purpose!
> -    message(STATUS "Strict mode enabled, expect compilation errors instead of compilation warnings!")
> -  ENDIF (Compiler_strict_mode_supported)
> -ENDIF (WL_STRICT)
> -
> -# CMAKE only defines "-g", but we need -DDEBUG also, and we need -DNOPARACHUTE (for SDL) in Debug
> -set (CMAKE_CXX_FLAGS_DEBUG "${WL_COMPILERFLAG_CXXSTD} -g -DDEBUG -DNOPARACHUTE${WL_COMPILERFLAG_BOOST_INCLUDE_DIR}${WL_COMPILERFLAG_GENERICWARNINGS}${WL_COMPILERFLAG_EXTRAWARNINGS}${WL_COMPILERFLAG_GCCWARNINGS}${WL_COMPILERFLAG_STRICT}" CACHE STRING "Set by widelands CMakeLists.txt" FORCE)
> -
> -set (WL_COMPILERFLAG_OPTIMIZATIONS "-O3")
> -
> -set (CMAKE_CXX_FLAGS_RELEASE "${WL_COMPILERFLAG_CXXSTD} ${WL_COMPILERFLAG_OPTIMIZATIONS} -DNDEBUG${WL_COMPILERFLAG_GENERICWARNINGS}${WL_COMPILERFLAG_EXTRAWARNINGS}${WL_COMPILERFLAG_GCCWARNINGS}${WL_COMPILERFLAG_STRICT}" CACHE STRING "Set by widelands CMakeLists.txt" FORCE)
> -
> -#If building with MSVC, then check for 3rdparty libs
> -if (DEFINED MSVC)
> -  set (WL_3RDPARTY_DIR "${CMAKE_CURRENT_SOURCE_DIR}/../3rdparty" CACHE STRING "Widelands 3rdparty dir")
> -  set (CMAKE_INCLUDE_PATH "${WL_3RDPARTY_DIR}/include;${WL_3RDPARTY_DIR}/include/sdl")
> -  set (CMAKE_LIBRARY_PATH "${WL_3RDPARTY_DIR}/lib")
> -
> -  add_definitions( -Dand=&& -Dor=|| -Dnot=! -Dxor=^ )
> -  add_definitions( -Dstrcasecmp=_stricmp )
> -  add_definitions( -Dstrncasecmp=_strnicmp )
> -  add_definitions( -Dsnprintf=_snprintf )
> -  add_definitions( -Drint=floor )
> -  add_definitions( -Dstrtoll=_strtoi64 )
> -  add_definitions( -Dstrtoull=_strtoui64 )
> -  add_definitions( -DNOMINMAX -D_CRT_SECURE_NO_WARNINGS )
> -  add_definitions( -Dssize_t=size_t )
> -  add_definitions( -Dmkdir=_mkdir )
> -  add_definitions( -DREDIRECT_OUTPUT )
> -
> -  # Automatic linking for boost requires setting lib dir and clearing Boost_LIBRARIES
> -  LINK_DIRECTORIES(${Boost_LIBRARY_DIRS})
> -  set(Boost_LIBRARIES "")
> -  include_directories(${Boost_INCLUDE_DIR})
> -
> -
> -  find_library(INTL_LIBRARY NAMES intl libintl)
> -
> -  set (MSVC_DISABLE_WARNINGS "/wd4146 /wd4290 /wd4355 /wd4373 /wd4800")
> -  # CMAKE only defines "-g", but we need -DDEBUG also, and we need -DNOPARACHUTE (for SDL) in Debug
> -  set (CMAKE_CXX_FLAGS_DEBUG " -DDEBUG -DNOPARACHUTE /MTd /Zi /D_DEBUG ${MSVC_DISABLE_WARNINGS}" CACHE STRING "Set by widelands CMakeLists.txt" FORCE)
> -
> -  set (CMAKE_CXX_FLAGS_RELEASE "-O3 -DNDEBUG /MT /GL ${MSVC_DISABLE_WARNINGS}" CACHE STRING "Set by widelands CMakeLists.txt" FORCE)
> -
> -  set (CMAKE_EXE_LINKER_FLAGS_DEBUG "/debug /LTCG /NODEFAULTLIB:libcmt.lib" CACHE STRING "Set by widelands CMakeLists.txt" FORCE)
> -endif (DEFINED MSVC)
> -
> -IF (MINGW)
> +  message(FATAL_ERROR "Unknown CMAKE_BUILD_TYPE: ${CMAKE_BUILD_TYPE}")
> +endif()
> +
> +# Enable warnings.
> +_add_flag_if_supported(WL_COMPILE_WARNING_FLAGS "-Wall" CXX_SUPPORTS_WALL)
> +_add_flag_if_supported(WL_COMPILE_WARNING_FLAGS "-Weverything" CXX_SUPPORTS_WEVERYTHING)

How is -Weverything working these days? Last time I looked into it, it seemed to also include experimental Clang checks and potentially false positives. Also, I know we had some warning types which would print an additional 100k lines when building WL...

All in all, nice to split up the different options. :)

> +_add_flag_if_supported(WL_COMPILE_WARNING_FLAGS "-Wpedantic" CXX_SUPPORTS_PEDANTIC)
> +_add_flag_if_supported(WL_COMPILE_WARNING_FLAGS "-Wdeprecated-declarations" CXX_SUPPORTS_WDEPRECATED_DECLARATIONS)
> +_add_flag_if_supported(WL_COMPILE_WARNING_FLAGS "-Wextra" CXX_SUPPORTS_WEXTRA)
> +_add_flag_if_supported(WL_COMPILE_WARNING_FLAGS "-Wformat" CXX_SUPPORTS_WFORMAT)
> +_add_flag_if_supported(WL_COMPILE_WARNING_FLAGS "-Wformat-nonliteral" CXX_SUPPORTS_WFORMAT_NONLITERAL)
> +_add_flag_if_supported(WL_COMPILE_WARNING_FLAGS "-Wformat-security" CXX_SUPPORTS_WFORMAT_SECURITY)
> +_add_flag_if_supported(WL_COMPILE_WARNING_FLAGS "-Wformat-y2k" CXX_SUPPORTS_WFORMAT_Y2K)
> +_add_flag_if_supported(WL_COMPILE_WARNING_FLAGS "-Winit-self" CXX_SUPPORTS_WINIT_SELF)
> +_add_flag_if_supported(WL_COMPILE_WARNING_FLAGS "-Winvalid-pch" CXX_SUPPORTS_WINVALID_PCH)
> +_add_flag_if_supported(WL_COMPILE_WARNING_FLAGS "-Wlogical-op" CXX_SUPPORTS_WLOGICAL_OP)
> +_add_flag_if_supported(WL_COMPILE_WARNING_FLAGS "-Wmissing-include-dirs" CXX_SUPPORTS_WMISSING_INCLUDE_DIRS)
> +_add_flag_if_supported(WL_COMPILE_WARNING_FLAGS "-Wno-undef" CXX_SUPPORTS_WNO_UNDEF)
> +_add_flag_if_supported(WL_COMPILE_WARNING_FLAGS "-Wold-style-cast" CXX_SUPPORTS_WOLD_STYLE_CAST)
> +_add_flag_if_supported(WL_COMPILE_WARNING_FLAGS "-Woverlength-strings" CXX_SUPPORTS_WOVERLENGTH_STRINGS)
> +_add_flag_if_supported(WL_COMPILE_WARNING_FLAGS "-Wpacked" CXX_SUPPORTS_WPACKED)
> +_add_flag_if_supported(WL_COMPILE_WARNING_FLAGS "-Wpointer-arith" CXX_SUPPORTS_WPOINTER_ARITH)
> +_add_flag_if_supported(WL_COMPILE_WARNING_FLAGS "-Wredundant-decls" CXX_SUPPORTS_WREDUNDANT_DECLS)
> +_add_flag_if_supported(WL_COMPILE_WARNING_FLAGS "-Wshadow" CXX_SUPPORTS_WSHADOW)
> +_add_flag_if_supported(WL_COMPILE_WARNING_FLAGS "-Wsign-promo" CXX_SUPPORTS_WSIGN_PROMO)
> +_add_flag_if_supported(WL_COMPILE_WARNING_FLAGS "-Wswitch-default" CXX_SUPPORTS_WSWITCH_DEFAULT)
> +_add_flag_if_supported(WL_COMPILE_WARNING_FLAGS "-Wsync-nand" CXX_SUPPORTS_WSYNC_NAND)
> +_add_flag_if_supported(WL_COMPILE_WARNING_FLAGS "-Wtrampolines" CXX_SUPPORTS_WTRAMPOLINES)
> +_add_flag_if_supported(WL_COMPILE_WARNING_FLAGS "-Wundef" CXX_SUPPORTS_WUNDEF)
> +_add_flag_if_supported(WL_COMPILE_WARNING_FLAGS "-Wunused" CXX_SUPPORTS_WUNUSED)
> +_add_flag_if_supported(WL_COMPILE_WARNING_FLAGS "-Wunused-macros" CXX_SUPPORTS_WUNUSED_MACROS)
> +_add_flag_if_supported(WL_COMPILE_WARNING_FLAGS "-fdiagnostics-show-option" CXX_SUPPORTS_FDIAGNOSTICS_SHOW_OPTION)

Wasn't this the one we found would be on by default? (Unless clang does something different here)

> +
> +# Turn some warnings into errors.
> +_add_flag_if_supported(WL_COMPILE_WARNING_FLAGS "-Werror=uninitialized" CXX_SUPPORTS_WERROR_UNINITIALIZED)
> +
> +# Disabled warnings that are overly verbose right now or just do not make sense.
> +_add_flag_if_supported(WL_COMPILE_WARNING_FLAGS "-Wno-padded" CXX_SUPPORTS_WNO_PADDED)
> +_add_flag_if_supported(WL_COMPILE_WARNING_FLAGS "-Wno-c++98-compat" CXX_SUPPORTS_WNO_CPP98_COMPAT)
> +_add_flag_if_supported(WL_COMPILE_WARNING_FLAGS "-Wno-c++98-compat-pedantic" CXX_SUPPORTS_WNO_CPP98_COMPAT_PEDANTIC)
> +_add_flag_if_supported(WL_COMPILE_WARNING_FLAGS "-Wno-sign-conversion" CXX_SUPPORTS_WNO_SIGN_CONVERSION)
> +_add_flag_if_supported(WL_COMPILE_WARNING_FLAGS "-Wno-conversion" CXX_SUPPORTS_WNO_CONVERSION)
> +_add_flag_if_supported(WL_COMPILE_WARNING_FLAGS "-Wno-exit-time-destructors" CXX_SUPPORTS_WNO_EXIT_TIME_DESTRUCTOR)
> +_add_flag_if_supported(WL_COMPILE_WARNING_FLAGS "-Wno-global-destructors" CXX_SUPPORTS_WGLOBAL_DESTRUCTOR)
> +
> +# TODO(sirver): weak-vtables should be enabled, but leads to lot of errors right now.
> +_add_flag_if_supported(WL_COMPILE_WARNING_FLAGS "-Wno-weak-vtables" CXX_SUPPORTS_WNO_WEAK_VTABLES)
> +
> +IF (WIN32)
>    set (CMAKE_EXE_LINKER_FLAGS "-Wl,--large-address-aware" CACHE STRING "Set by widelands CMakeLists.txt" FORCE)
>    message (STATUS "Enabled large address awareness on mingw32")
> -endif (MINGW)
> -
> -IF (CMAKE_BUILD_TYPE STREQUAL "Debug")
> -  message (STATUS "Using compiler flags: ${CMAKE_CXX_FLAGS_DEBUG}")
> -ELSE (CMAKE_BUILD_TYPE STREQUAL "Debug")
> -  message (STATUS "Using compiler flags: ${CMAKE_CXX_FLAGS_RELEASE}")
> -ENDIF (CMAKE_BUILD_TYPE STREQUAL "Debug")
> -
> -if (DEFINED WL_3RDPARTY_DIR)
> -  set (CMAKE_INCLUDE_PATH "${WL_3RDPARTY_DIR}/include;${WL_3RDPARTY_DIR}/include/sdl")
> -  set (CMAKE_LIBRARY_PATH "${WL_3RDPARTY_DIR}/lib")
> -endif (DEFINED WL_3RDPARTY_DIR)
> +endif (WIN32)
>  
>  # on BSD this must be explicitly linked
>  if (CMAKE_SYSTEM_NAME MATCHES "FreeBSD" OR CMAKE_SYSTEM_NAME MATCHES "OpenBSD")
> @@ -284,6 +159,7 @@
>    endif (NOT CMAKE_SYSTEM_NAME MATCHES "kFreeBSD")
>  endif (CMAKE_SYSTEM_NAME MATCHES "FreeBSD" OR CMAKE_SYSTEM_NAME MATCHES "OpenBSD")
>  
> +find_package (PythonInterp REQUIRED)
>  
>  # Check for opengl
>  # TODO Check for SDL_opengl.h and add to include path
> @@ -292,59 +168,10 @@
>  find_package(GLEW REQUIRED)
>  add_definitions(${GLEW_EXTRA_DEFINITIONS})
>  
> -# ...but using MAJOR, MINOR and PATCH
> -if (DEFINED WL_VERSION_MAJOR)
> -	set (CPACK_PACKAGE_VERSION_MAJOR ${WL_VERSION_MAJOR})
> -
> -	# Until 1.x.x set standard VERSION => "BuildXX"
> -	if (WL_VERSION_MAJOR STREQUAL "0")
> -		if (DEFINED WL_VERSION_MINOR)
> -			set (WL_VERSION Build${WL_VERSION_MINOR})
> -			set (CPACK_PACKAGE_VERSION_MINOR ${WL_VERSION_MINOR})
> -			if (DEFINED WL_VERSION_PATCH)
> -				set (WL_VERSION ${WL_VERSION}.${WL_VERSION_PATCH})
> -				set (CPACK_PACKAGE_VERSION_PATCH ${WL_VERSION_PATCH})
> -			else (DEFINED WL_VERSION_PATCH)
> -				set (CPACK_PACKAGE_VERSION_PATCH 0)
> -			endif (DEFINED WL_VERSION_PATCH)
> -			if (DEFINED WL_VERSION_ADDITION)
> -				set (WL_VERSION ${WL_VERSION}${WL_VERSION_ADDITION})
> -			endif (DEFINED WL_VERSION_ADDITION)
> -		else (DEFINED WL_VERSION_MINOR)
> -			set (WL_VERSION "NO BUILD ID")
> -		endif (DEFINED WL_VERSION_MINOR)
> -
> -	# from 1.x.x on:
> -	else (WL_VERSION_MAJOR STREQUAL "0")
> -		set (WL_VERSION ${WL_VERSION_MAJOR})
> -		if (DEFINED WL_VERSION_MINOR)
> -			set (WL_VERSION ${WL_VERSION}.${WL_VERSION_MINOR})
> -			set (CPACK_PACKAGE_VERSION_MINOR ${WL_VERSION_MINOR})
> -			if (DEFINED WL_VERSION_PATCH)
> -				set (WL_VERSION ${WL_VERSION}.${WL_VERSION_PATCH})
> -				set (CPACK_PACKAGE_VERSION_PATCH ${WL_VERSION_PATCH})
> -			else (DEFINED WL_VERSION_PATCH)
> -				set (CPACK_PACKAGE_VERSION_PATCH 0)
> -			endif (DEFINED WL_VERSION_PATCH)
> -			if (DEFINED WL_VERSION_ADDITION)
> -				set (WL_VERSION ${WL_VERSION}${WL_VERSION_ADDITION})
> -			endif (DEFINED WL_VERSION_ADDITION)
> -		else (DEFINED WL_VERSION_MINOR)
> -			set (CPACK_PACKAGE_VERSION_MINOR 0)
> -		endif (DEFINED WL_VERSION_MINOR)
> -	endif (WL_VERSION_MAJOR STREQUAL "0")
> -	# Needed - else detect_revision.py will still use bzr or even crash, if
> -	# Widelands is compiled in a bzr export
> -	file (WRITE WL_RELEASE "${WL_VERSION}")
> -endif (DEFINED WL_VERSION_MAJOR)
> -
> -# we need python to determine the current version
> -find_package (PythonInterp REQUIRED)
> -
>  if (NOT DEFINED WL_VERSION)
>    add_custom_target (
>      BzrRevision ALL
> -    COMMAND ${CMAKE_COMMAND} -DWL_INSTALL_PREFIX=${WL_INSTALL_PREFIX} -DWL_INSTALL_BINDIR=${WL_INSTALL_BINDIR} -DWL_INSTALL_DATADIR=${WL_INSTALL_DATADIR} -DWL_INSTALL_LOCALEDIR=${WL_INSTALL_LOCALEDIR} -DPYTHON_EXECUTABLE=${PYTHON_EXECUTABLE} -DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE} -DSOURCE_DIR=${CMAKE_CURRENT_SOURCE_DIR} -DBINARY_DIR=${CMAKE_CURRENT_BINARY_DIR} -P ${CMAKE_CURRENT_SOURCE_DIR}/BzrRevision.cmake
> +    COMMAND ${CMAKE_COMMAND} -DWL_INSTALL_PREFIX=${WL_INSTALL_PREFIX} -DWL_INSTALL_BINDIR=${WL_INSTALL_BINDIR} -DWL_INSTALL_DATADIR=${WL_INSTALL_DATADIR} -DWL_INSTALL_LOCALEDIR=${WL_INSTALL_LOCALEDIR} -DPYTHON_EXECUTABLE=${PYTHON_EXECUTABLE} -DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE} -DSOURCE_DIR=${CMAKE_CURRENT_SOURCE_DIR} -DBINARY_DIR=${CMAKE_CURRENT_BINARY_DIR} -P ${CMAKE_CURRENT_SOURCE_DIR}/cmake/BzrRevision.cmake
>    )
>  
>    # Detect version now
> @@ -357,11 +184,10 @@
>    file (WRITE ${CMAKE_CURRENT_BINARY_DIR}/VERSION "${WL_VERSION}")
>    configure_file (${CMAKE_CURRENT_SOURCE_DIR}/src/build_info.cc.cmake ${CMAKE_CURRENT_BINARY_DIR}/src/build_info.cc)
>    message (STATUS "Version of Widelands Build is ${WL_VERSION}(${CMAKE_BUILD_TYPE})")
> -
>  else (NOT DEFINED WL_VERSION)
>    add_custom_target (
>      InputRevision ALL
> -    COMMAND ${CMAKE_COMMAND} -DWL_INSTALL_PREFIX=${WL_INSTALL_PREFIX} -DWL_INSTALL_BINDIR=${WL_INSTALL_BINDIR} -DWL_INSTALL_DATADIR=${WL_INSTALL_DATADIR} -DWL_INSTALL_LOCALEDIR=${WL_INSTALL_LOCALEDIR} -DWL_VERSION=${WL_VERSION} -DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE} -DSOURCE_DIR=${CMAKE_CURRENT_SOURCE_DIR} -DBINARY_DIR=${CMAKE_CURRENT_BINARY_DIR} -P ${CMAKE_CURRENT_SOURCE_DIR}/InputRevision.cmake
> +    COMMAND ${CMAKE_COMMAND} -DWL_INSTALL_PREFIX=${WL_INSTALL_PREFIX} -DWL_INSTALL_BINDIR=${WL_INSTALL_BINDIR} -DWL_INSTALL_DATADIR=${WL_INSTALL_DATADIR} -DWL_INSTALL_LOCALEDIR=${WL_INSTALL_LOCALEDIR} -DWL_VERSION=${WL_VERSION} -DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE} -DSOURCE_DIR=${CMAKE_CURRENT_SOURCE_DIR} -DBINARY_DIR=${CMAKE_CURRENT_BINARY_DIR} -P ${CMAKE_CURRENT_SOURCE_DIR}/cmake/InputRevision.cmake
>    )
>  endif (NOT DEFINED WL_VERSION)
>  
> @@ -371,28 +197,21 @@
>    CONFIGURATIONS Debug;Release
>    COMPONENT CoreVersionFile
>  )
> -set(CPACK_COMPONENT_COREVERSIONFILE_HIDDEN TRUE)
> -set(CPACK_COMPONENT_COREVERSIONFILE_REQUIRED TRUE)
> -
> -include_directories(src ${CMAKE_CURRENT_BINARY_DIR}/src)
>  
>  include(CheckIncludeFile)
>  
>  find_package(PNG REQUIRED)
> +# TODO(sirver): Do not globally include for all targets.
>  include_directories(${PNG_INCLUDE_DIR})
>  
>  find_package(ZLIB REQUIRED)
> +# TODO(sirver): Do not globally include for all targets.
>  include_directories(${ZLIB_INCLUDE_DIR})
>  
> -# Check if we have a working minizip library
> -find_package(Minizip)
> -if (MINIZIP_FOUND)
> -  include_directories(${MINIZIP_INCLUDE_DIR})
> -endif (MINIZIP_FOUND)
> -
>  if (APPLE OR WIN32 OR CMAKE_SYSTEM_NAME MATCHES "FreeBSD")
>    if (NOT CMAKE_SYSTEM_NAME MATCHES "kFreeBSD")
>      find_package(intl REQUIRED)
> +    # TODO(sirver): Do not globally include for all targets.
>      include_directories(${INTL_INCLUDE_DIR})
>      endif (NOT CMAKE_SYSTEM_NAME MATCHES "kFreeBSD")
>  endif (APPLE OR WIN32 OR CMAKE_SYSTEM_NAME MATCHES "FreeBSD")
> @@ -401,45 +220,30 @@
>  # GETTEXT_LIBRARY as "usual" libraries do
>  find_package(Gettext REQUIRED)
>  
> +find_package(ZLIB REQUIRED)
> +
>  find_package(SDL REQUIRED)
> +# TODO(sirver): Do not globally include for all targets.
>  include_directories(${SDL_INCLUDE_DIR})
>  
>  find_package(SDL_image REQUIRED)
> +# TODO(sirver): Do not globally include for all targets.
>  include_directories(${SDLIMAGE_INCLUDE_DIR})
> -if (NOT SDLIMAGE_FOUND)
> -  message(FATAL_ERROR "Required package SDL_image not found, please install and re-run cmake")
> -endif (NOT SDLIMAGE_FOUND)
>  
>  find_package(SDL_mixer REQUIRED)
> +# TODO(sirver): Do not globally include for all targets.
>  include_directories(${SDLMIXER_INCLUDE_DIR})
> -if (NOT SDLMIXER_FOUND)
> -  message(FATAL_ERROR "Required package SDL_mixer not found, please install and re-run cmake")
> -endif (NOT SDLMIXER_FOUND)
>  
>  find_package(SDL_net REQUIRED)
> +# TODO(sirver): Do not globally include for all targets.
>  include_directories(${SDLNET_INCLUDE_DIR})
> -if (NOT SDLNET_FOUND)
> -  message(FATAL_ERROR "Required package SDL_net not found, please install and re-run cmake")
> -endif (NOT SDLNET_FOUND)
>  
>  find_package(SDL_ttf REQUIRED)
> +# TODO(sirver): Do not globally include for all targets.
>  include_directories(${SDLTTF_INCLUDE_DIR})
> -if (NOT SDLTTF_FOUND)
> -  message(FATAL_ERROR "Required package SDL_ttf not found, please install and re-run cmake")
> -endif (NOT SDLTTF_FOUND)
>  
>  find_package(SDL_gfx REQUIRED)
>  include_directories(${SDLGFX_INCLUDE_DIR})
> -if (NOT SDLGFX_FOUND)
> -  message(FATAL_ERROR "Required package SDL_gfx not found, please install and re-run cmake")
> -endif (NOT SDLGFX_FOUND)
> -
> -IF (WIN32)
> -  SET(GUI_TYPE WIN32)
> -ENDIF (WIN32)
> -
> -#configure_file (src/config.h.cmake src/config.h)
> -#configure_file (src/build_info.cc.cmake src/build_info.cc)
>  
>  add_subdirectory(doc)
>  add_subdirectory(po)
> @@ -460,9 +264,6 @@
>    CONFIGURATIONS Debug;Release
>    COMPONENT CoreDataFiles
>  )
> -set(CPACK_COMPONENT_COREDATAFILES_DISPLAY_NAME "Widelands Core")
> -set(CPACK_COMPONENT_COREDATAFILES_HIDDEN FALSE)
> -set(CPACK_COMPONENT_COREDATAFILES_REQUIRED TRUE)
>  
>  install(
>    DIRECTORY
> @@ -471,7 +272,6 @@
>    CONFIGURATIONS Debug;Release
>    COMPONENT MapFiles
>  )
> -set(CPACK_COMPONENT_MAPFILES_DISPLAY_NAME "Maps Files")
>  
>  install(
>    DIRECTORY
> @@ -481,7 +281,6 @@
>    CONFIGURATIONS Debug;Release
>    COMPONENT MusicFiles
>  )
> -set(CPACK_COMPONENT_MUSICFILES_DISPLAY_NAME "Music and Sound Files")
>  
>  install(
>    FILES
> @@ -492,8 +291,6 @@
>    CONFIGURATIONS Debug;Release
>    COMPONENT CoreLicenseFiles
>  )
> -set(CPACK_COMPONENT_CORELICENSEFILES_HIDDEN TRUE)
> -set(CPACK_COMPONENT_CORELICENSEFILES_REQUIRED TRUE)
>  
>  install(
>    DIRECTORY
> @@ -503,9 +300,6 @@
>    COMPONENT DocFiles
>    PATTERN "CMakeLists.txt" EXCLUDE
>  )
> -set(CPACK_COMPONENT_DOCFILES_DISPLAY_NAME "Documentation")
> -set(CPACK_COMPONENT_DOCFILES_HIDDEN TRUE)
> -set(CPACK_COMPONENT_DOCFILES_REQUIRED FALSE)
>  
>  set_directory_properties(PROPERTIES ADDITIONAL_MAKE_CLEAN_FILES locale)
>  
> @@ -516,124 +310,3 @@
>    CONFIGURATIONS Debug;Release
>    COMPONENT CoreLanguageFiles
>  )
> -set(CPACK_COMPONENT_CORELANGUAGEFILES_DISPLAY_NAME "Language Files")
> -
> -set(CPACK_COMPONENT_EXECUTABLEFILES_HIDDEN TRUE)
> -set(CPACK_COMPONENT_EXECUTABLEFILES_REQUIRED TRUE)
> -
> -# Components to install
> -set(CPACK_COMPONENTS_ALL ExecutableFiles CoreDataFiles MapFiles CoreLanguageFiles CoreVersionFile CoreLicenseFiles)
> -if (NOT WL_NOMUSIC)
> -  set(CPACK_COMPONENTS_ALL ${CPACK_COMPONENTS_ALL} MusicFiles)
> -endif (NOT WL_NOMUSIC)
> -
> -if (WIN32)
> -  # Install files only needed for Windows
> -  FILE(GLOB dlls "${CMAKE_CURRENT_BINARY_DIR}/*.dll")
> -  install(
> -    FILES
> -      ${dlls}
> -      utils/win32/WL-Editor.ico
> -    DESTINATION ${WL_INSTALL_DATADIR}
> -    CONFIGURATIONS Debug;Release
> -    COMPONENT Win32Specific
> -  )
> -  set(CPACK_COMPONENT_WIN32SPECIFIC_HIDDEN TRUE)
> -  set(CPACK_COMPONENT_WIN32SPECIFIC_REQUIRED TRUE)
> -  set(CPACK_COMPONENTS_ALL ${CPACK_COMPONENTS_ALL} Win32Specific)
> -
> -  # Only NSIS supports install types
> -  set(CPACK_ALL_INSTALL_TYPES Full Minimal)
> -  set(CPACK_COMPONENT_EXECUTABLEFILES_INSTALL_TYPES Full Minimal)
> -  set(CPACK_COMPONENT_COREDATAFILES_INSTALL_TYPES Full Minimal)
> -  set(CPACK_COMPONENT_COREVERSIONFILE_INSTALL_TYPES Full Minimal)
> -  set(CPACK_COMPONENT_CORELICENSEFILES_INSTALL_TYPES Full Minimal)
> -  set(CPACK_COMPONENT_MAPFILES_INSTALL_TYPES Full)
> -  set(CPACK_COMPONENT_MUSICFILES_INSTALL_TYPES Full)
> -  set(CPACK_COMPONENT_CORELANGUAGEFILES_INSTALL_TYPES Full)
> -  set(CPACK_COMPONENT_WIN32SPECIFIC_INSTALL_TYPES Full Minimal)
> -
> -  # Set generator
> -  set(CPACK_GENERATOR NSIS)
> -
> -  # Graphics for the installer (all slashes are necessary!)
> -  set(CPACK_NSIS_MUI_ICON "${CMAKE_CURRENT_LIST_DIR}\\\\utils\\\\win32\\\\wl-ico-128.ico")
> -  set(CPACK_NSIS_MUI_UNIICON "${CMAKE_CURRENT_LIST_DIR}\\\\utils\\\\win32\\\\wl-ico-128.ico")
> -  set(CPACK_PACKAGE_ICON "${CMAKE_CURRENT_LIST_DIR}\\\\utils\\\\win32\\\\nsis\\\\install_header.bmp")
> -  set(CPACK_NSIS_MUI_WELCOMEFINISHPAGE_BITMAP "${CMAKE_CURRENT_LIST_DIR}\\\\utils\\\\win32\\\\nsis\\\\WL.bmp")
> -
> -  # Name for installer and Windows Add/Remove
> -  set(CPACK_NSIS_PACKAGE_NAME "Widelands")
> -  set(CPACK_NSIS_DISPLAY_NAME "Widelands ${WL_VERSION}")
> -  set(CPACK_NSIS_DISPLAY_NAME_SET "TRUE")
> -
> -  # Optional dialogs
> -  if (NOT DEFINED CPACK_NSIS_LANGUAGE_DIALOG)
> -    set(CPACK_NSIS_LANGUAGE_DIALOG "ON")
> -  endif (NOT DEFINED CPACK_NSIS_LANGUAGE_DIALOG)
> -  if (NOT DEFINED CPACK_NSIS_CHANGELOG)
> -    set(CPACK_NSIS_CHANGELOG "ON")
> -  endif (NOT DEFINED CPACK_NSIS_CHANGELOG)
> -
> -  # Setup (and remove) shortcuts to Widelands (all slashes are necessary!)
> -  set(CPACK_PACKAGE_EXECUTABLES "..\\\\widelands;Widelands")
> -  set(CPACK_NSIS_MENU_LINKS "http://wl.widelands.org/;Widelands Homepage")
> -  set(CPACK_NSIS_CREATE_ICONS_EXTRA "
> -    CreateShortCut \\\"$SMPROGRAMS\\\\$STARTMENU_FOLDER\\\\Widelands - Mapeditor.lnk\\\" \\\"$INSTDIR\\\\widelands.exe\\\" \\\"--editor\\\" \\\"$INSTDIR\\\\WL-Editor.ico\\\"
> -  ")
> -  set(CPACK_NSIS_DELETE_ICONS_EXTRA "
> -    Delete \\\"$DESKTOP\\\\Widelands.lnk\\\"
> -    Delete \\\"$DESKTOP\\\\Widelands - Mapeditor.lnk\\\"
> -    Delete \\\"$SMPROGRAMS\\\\$MUI_TEMP\\\\Widelands - Mapeditor.lnk\\\"
> -  ")
> -
> -  # Additional information (all slashes are necessary!)
> -  set(CPACK_NSIS_URL_INFO_ABOUT "http://wl.widelands.org/";)
> -  set(CPACK_NSIS_HELP_LINK "http://wl.widelands.org/";)
> -  set(CPACK_NSIS_INSTALLED_ICON_NAME "widelands.exe")
> -  set(CPACK_NSIS_MUI_FINISHPAGE_RUN "..\\\\widelands.exe")
> -  set(CPACK_NSIS_MUI_FINISHPAGE_README "$INSTDIR\\\\ChangeLog")
> -  set(CPACK_PACKAGE_VENDOR "Widelands Development Team")
> -  # replace [ and ], they will cause problems in filename!
> -  string(REPLACE "[" "-" PACKAGE_VERSION ${WL_VERSION})
> -  string(REPLACE "]" "" PACKAGE_VERSION ${PACKAGE_VERSION})
> -  set(CPACK_PACKAGE_VERSION "${PACKAGE_VERSION}(${CMAKE_BUILD_TYPE})")
> -  set(CPACK_PACKAGE_VERSION_MAJOR ${WL_VERSION_MAJOR})
> -  set(CPACK_PACKAGE_VERSION_MINOR ${WL_VERSION_MINOR})
> -  set(CPACK_PACKAGE_VERSION_PATCH ${WL_VERSION_PATCH})
> -  set(CPACK_RESOURCE_FILE_LICENSE "${CMAKE_CURRENT_LIST_DIR}\\\\COPYING")
> -  set(CPACK_RESOURCE_FILE_README "${CMAKE_CURRENT_LIST_DIR}\\\\ChangeLog")
> -
> -  # Setup (and remove) Registry entries for Widelands (all slashes are necessary!)
> -  set(CPACK_NSIS_EXTRA_INSTALL_COMMANDS "
> -    WriteRegStr HKCR \\\".wgf\\\" \\\"\\\" \\\"WidelandsSavegame\\\"
> -    WriteRegStr HKCR \\\"WidelandsSavegame\\\" \\\"\\\" \\\"Widelands Savegame\\\"
> -    WriteRegStr HKCR \\\"WidelandsSavegame\\\\DefaultIcon\\\" \\\"\\\" \\\"$INSTDIR\\\\widelands.exe,0\\\"
> -    WriteRegStr HKCR \\\"WidelandsSavegame\\\\shell\\\\open\\\\command\\\" \\\"\\\" \\\"$INSTDIR\\\\widelands.exe --loadgame=%1\\\"
> -
> -    WriteRegStr HKCR \\\".wmf\\\" \\\"\\\" \\\"WidelandsMapFile\\\"
> -    WriteRegStr HKCR \\\"WidelandsMapFile\\\" \\\"\\\" \\\"Widelands Mapfile\\\"
> -    WriteRegStr HKCR \\\"WidelandsMapFile\\\\DefaultIcon\\\" \\\"\\\" \\\"$INSTDIR\\\\WL-Editor.ico\\\"
> -    WriteRegStr HKCR \\\"WidelandsMapFile\\\\shell\\\\open\\\\command\\\" \\\"\\\" \\\"$INSTDIR\\\\widelands.exe --editor=%1\\\"
> -  ")
> -  set(CPACK_NSIS_EXTRA_UNINSTALL_COMMANDS "
> -    DeleteRegValue HKCR \\\".wgf\\\" \\\"WidelandsSavegame\\\"
> -    DeleteRegKey /ifempty HKCR \\\".wgf\\\"
> -    DeleteRegKey HKCR \\\"WidelandsSavegame\\\"
> -
> -    DeleteRegValue HKCR \\\".wmf\\\" \\\"WidelandsMapFile\\\"
> -    DeleteRegKey /ifempty HKCR \\\".wmf\\\"
> -    DeleteRegKey HKCR \\\"WidelandsMapFile\\\"
> -
> -    Delete \\\"$INSTDIR\\\\stdout.txt\\\"
> -    Delete \\\"$INSTDIR\\\\stderr.txt\\\"
> -    Delete \\\"$INSTDIR\\\"
> -  ")
> -
> -elseif (WIN32)
> -  set (CPACK_PACKAGE_FILE_NAME widelands-${WL_VERSION})
> -  set (CPACK_GENERATOR "TGZ")
> -  set (CPACK_SOURCE_GENERATOR "TGZ")
> -endif (WIN32)
> -
> -include(CPack)
> 
> === renamed file 'BzrRevision.cmake' => 'cmake/BzrRevision.cmake'
> === renamed file 'InputRevision.cmake' => 'cmake/InputRevision.cmake'
> === removed file 'cmake/Modules/FindMinizip.cmake'
> --- cmake/Modules/FindMinizip.cmake	2012-04-07 15:12:06 +0000
> +++ cmake/Modules/FindMinizip.cmake	1970-01-01 00:00:00 +0000
> @@ -1,37 +0,0 @@
> -# - Try to find Minizip
> -# Once done this will define
> -#  
> -#  MINIZIP_FOUND        - system has MINIZIP
> -#  MINIZIP_INCLUDE_DIR  - the MINIZIP include directory
> -#  MINIZIP_LIBRARY_DIR  - where the libraries are
> -#  MINIZIP_LIBRARY      - Link these to use MINIZIP
> -#   
> -
> -IF (MINIZIP_INCLUDE_DIR)
> -  # Already in cache, be silent
> -  SET(MINIZIP_FIND_QUIETLY TRUE)
> -ENDIF (MINIZIP_INCLUDE_DIR)
> -
> -FIND_PATH( MINIZIP_INCLUDE_DIR 
> -	  NAMES zip.h unzip.h ioapi.h
> -	  PATHS /usr/local/include /usr/include
> -	  PATH_SUFFIXES minizip/ )
> -SET( MINIZIP_NAMES minizip MINIZIP )
> -FIND_LIBRARY( MINIZIP_LIBRARY
> -	      NAMES ${MINIZIP_NAMES}
> -	      PATHS /usr/lib /usr/local/lib )
> -
> -GET_FILENAME_COMPONENT( MINIZIP_LIBRARY_DIR ${MINIZIP_LIBRARY} PATH )
> -
> -IF (MINIZIP_INCLUDE_DIR AND MINIZIP_LIBRARY)
> -   SET(MINIZIP_FOUND TRUE)
> -   SET(MINIZIP_LIBRARY_DIR ${MINIZIP_LIBRARY} )
> -   IF (NOT MINIZIP_FIND_QUIETLY)
> -     MESSAGE (STATUS "Found Minizip: ${MINIZIP_LIBRARY} ${MINIZIP_INCLUDE_DIR}")
> -   ENDIF (NOT MINIZIP_FIND_QUIETLY)
> -ELSE (MINIZIP_INCLUDE_DIR AND MINIZIP_LIBRARY)
> -   SET( MINIZIP_FOUND FALSE )
> -   SET( MINIZIP_LIBRARY_DIR )
> -   SET( MINIZIP_EXTRA_DEFINITIONS )
> -ENDIF (MINIZIP_INCLUDE_DIR AND MINIZIP_LIBRARY)
> -
> 
> === removed file 'cmake/Modules/NSIS.template.in'
> --- cmake/Modules/NSIS.template.in	2012-02-10 19:16:04 +0000
> +++ cmake/Modules/NSIS.template.in	1970-01-01 00:00:00 +0000
> @@ -1,994 +0,0 @@
> -; CPack install script designed for a nmake build
> -; Modified to fit Widelands' needs!
> -
> -;--------------------------------
> -; You must define these values
> -
> -  !define VERSION "@CPACK_PACKAGE_VERSION@"
> -  !define PATCH  "@CPACK_PACKAGE_VERSION_PATCH@"
> -  !define INST_DIR "@CPACK_TEMPORARY_DIRECTORY@"
> -
> -;--------------------------------
> -;Variables
> -
> -  Var MUI_TEMP
> -  Var STARTMENU_FOLDER
> -  Var SV_ALLUSERS
> -  Var START_MENU
> -  Var DO_NOT_ADD_TO_PATH
> -  Var ADD_TO_PATH_ALL_USERS
> -  Var ADD_TO_PATH_CURRENT_USER
> -  Var INSTALL_DESKTOP
> -  Var IS_DEFAULT_INSTALLDIR
> -;--------------------------------
> -;Include Modern UI
> -
> -  !include "MUI.nsh"
> -
> -  ;Default installation folder
> -  InstallDir "@CPACK_NSIS_INSTALL_ROOT@\@CPACK_PACKAGE_INSTALL_DIRECTORY@"
> -
> -;--------------------------------
> -;General
> -
> -  ;Name and file
> -  Name "@CPACK_NSIS_PACKAGE_NAME@"
> -  OutFile "@CPACK_TOPLEVEL_DIRECTORY@/@CPACK_OUTPUT_FILE_NAME@"
> -
> -  ;Set compression
> -  SetCompressor @CPACK_NSIS_COMPRESSOR@
> -
> -@CPACK_NSIS_DEFINES@
> -
> -  !include Sections.nsh
> -
> -;--- Component support macros: ---
> -; The code for the add/remove functionality is from:
> -;   http://nsis.sourceforge.net/Add/Remove_Functionality
> -; It has been modified slightly and extended to provide
> -; inter-component dependencies.
> -Var AR_SecFlags
> -Var AR_RegFlags
> -@CPACK_NSIS_SECTION_SELECTED_VARS@
> -
> -; Loads the "selected" flag for the section named SecName into the
> -; variable VarName.
> -!macro LoadSectionSelectedIntoVar SecName VarName
> - SectionGetFlags ${${SecName}} $${VarName}
> - IntOp $${VarName} $${VarName} & ${SF_SELECTED}  ;Turn off all other bits
> -!macroend
> -
> -; Loads the value of a variable... can we get around this?
> -!macro LoadVar VarName
> -  IntOp $R0 0 + $${VarName}
> -!macroend
> -
> -; Sets the value of a variable
> -!macro StoreVar VarName IntValue
> -  IntOp $${VarName} 0 + ${IntValue}
> -!macroend
> -
> -!macro InitSection SecName
> -  ;  This macro reads component installed flag from the registry and
> -  ;changes checked state of the section on the components page.
> -  ;Input: section index constant name specified in Section command.
> -   
> -  ClearErrors
> -  ;Reading component status from registry
> -  ReadRegDWORD $AR_RegFlags HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\@CPACK_PACKAGE_INSTALL_REGISTRY_KEY@\Components\${SecName}" "Installed"
> -  IfErrors "default_${SecName}"
> -    ;Status will stay default if registry value not found
> -    ;(component was never installed)
> -  IntOp $AR_RegFlags $AR_RegFlags & ${SF_SELECTED} ;Turn off all other bits
> -  SectionGetFlags ${${SecName}} $AR_SecFlags  ;Reading default section flags
> -  IntOp $AR_SecFlags $AR_SecFlags & 0xFFFE  ;Turn lowest (enabled) bit off
> -  IntOp $AR_SecFlags $AR_RegFlags | $AR_SecFlags      ;Change lowest bit
> -
> -  ; Note whether this component was installed before
> -  !insertmacro StoreVar ${SecName}_was_installed $AR_RegFlags
> -  IntOp $R0 $AR_RegFlags & $AR_RegFlags
> -  
> -  ;Writing modified flags
> -  SectionSetFlags ${${SecName}} $AR_SecFlags
> -  
> - "default_${SecName}:"
> - !insertmacro LoadSectionSelectedIntoVar ${SecName} ${SecName}_selected
> -!macroend
> - 
> -!macro FinishSection SecName
> -  ;  This macro reads section flag set by user and removes the section
> -  ;if it is not selected.
> -  ;Then it writes component installed flag to registry
> -  ;Input: section index constant name specified in Section command.
> - 
> -  SectionGetFlags ${${SecName}} $AR_SecFlags  ;Reading section flags
> -  ;Checking lowest bit:
> -  IntOp $AR_SecFlags $AR_SecFlags & ${SF_SELECTED}
> -  IntCmp $AR_SecFlags 1 "leave_${SecName}"
> -    ;Section is not selected:
> -    ;Calling Section uninstall macro and writing zero installed flag
> -    !insertmacro "Remove_${${SecName}}"
> -    WriteRegDWORD HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\@CPACK_PACKAGE_INSTALL_REGISTRY_KEY@\Components\${SecName}" \
> -  "Installed" 0
> -    Goto "exit_${SecName}"
> - 
> - "leave_${SecName}:"
> -    ;Section is selected:
> -    WriteRegDWORD HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\@CPACK_PACKAGE_INSTALL_REGISTRY_KEY@\Components\${SecName}" \
> -  "Installed" 1
> - 
> - "exit_${SecName}:"
> -!macroend
> - 
> -!macro RemoveSection SecName
> -  ;  This macro is used to call section's Remove_... macro
> -  ;from the uninstaller.
> -  ;Input: section index constant name specified in Section command.
> - 
> -  !insertmacro "Remove_${${SecName}}"
> -!macroend
> -
> -; Determine whether the selection of SecName changed
> -!macro MaybeSelectionChanged SecName
> -  !insertmacro LoadVar ${SecName}_selected
> -  SectionGetFlags ${${SecName}} $R1
> -  IntOp $R1 $R1 & ${SF_SELECTED} ;Turn off all other bits
> -  
> -  ; See if the status has changed:
> -  IntCmp $R0 $R1 "${SecName}_unchanged"
> -  !insertmacro LoadSectionSelectedIntoVar ${SecName} ${SecName}_selected
> -  
> -  IntCmp $R1 ${SF_SELECTED} "${SecName}_was_selected"
> -  !insertmacro "Deselect_required_by_${SecName}"
> -  goto "${SecName}_unchanged"
> -  
> -  "${SecName}_was_selected:"
> -  !insertmacro "Select_${SecName}_depends"
> -  
> -  "${SecName}_unchanged:"
> -!macroend
> -;--- End of Add/Remove macros ---
> -
> -;--------------------------------
> -;Interface Settings
> -
> -  !define MUI_HEADERIMAGE
> -  !define MUI_ABORTWARNING
> -    
> -;--------------------------------
> -; path functions
> -
> -!verbose 3
> -!include "WinMessages.NSH"
> -!verbose 4
> -
> -;----------------------------------------
> -; based upon a script of "Written by KiCHiK 2003-01-18 05:57:02"
> -;----------------------------------------
> -!verbose 3
> -!include "WinMessages.NSH"
> -!verbose 4
> -;====================================================
> -; get_NT_environment 
> -;     Returns: the selected environment
> -;     Output : head of the stack
> -;====================================================
> -!macro select_NT_profile UN
> -Function ${UN}select_NT_profile
> -   StrCmp $ADD_TO_PATH_ALL_USERS "1" 0 environment_single
> -      DetailPrint "Selected environment for all users"
> -      Push "all"
> -      Return
> -   environment_single:
> -      DetailPrint "Selected environment for current user only."
> -      Push "current"
> -      Return
> -FunctionEnd
> -!macroend
> -!insertmacro select_NT_profile ""
> -!insertmacro select_NT_profile "un."
> -;----------------------------------------------------
> -!define NT_current_env 'HKCU "Environment"'
> -!define NT_all_env     'HKLM "SYSTEM\CurrentControlSet\Control\Session Manager\Environment"'
> -
> -!ifndef WriteEnvStr_RegKey
> -  !ifdef ALL_USERS
> -    !define WriteEnvStr_RegKey \
> -       'HKLM "SYSTEM\CurrentControlSet\Control\Session Manager\Environment"'
> -  !else
> -    !define WriteEnvStr_RegKey 'HKCU "Environment"'
> -  !endif
> -!endif
> - 
> -; AddToPath - Adds the given dir to the search path.
> -;        Input - head of the stack
> -;        Note - Win9x systems requires reboot
> - 
> -Function AddToPath
> -  Exch $0
> -  Push $1
> -  Push $2
> -  Push $3
> - 
> -  # don't add if the path doesn't exist
> -  IfFileExists "$0\*.*" "" AddToPath_done
> - 
> -  ReadEnvStr $1 PATH
> -  ; if the path is too long for a NSIS variable NSIS will return a 0 
> -  ; length string.  If we find that, then warn and skip any path
> -  ; modification as it will trash the existing path.
> -  StrLen $2 $1
> -  IntCmp $2 0 CheckPathLength_ShowPathWarning CheckPathLength_Done CheckPathLength_Done
> -    CheckPathLength_ShowPathWarning:
> -    Messagebox MB_OK|MB_ICONEXCLAMATION "Warning! PATH too long installer unable to modify PATH!"
> -    Goto AddToPath_done
> -  CheckPathLength_Done:
> -  Push "$1;"
> -  Push "$0;"
> -  Call StrStr
> -  Pop $2
> -  StrCmp $2 "" "" AddToPath_done
> -  Push "$1;"
> -  Push "$0\;"
> -  Call StrStr
> -  Pop $2
> -  StrCmp $2 "" "" AddToPath_done
> -  GetFullPathName /SHORT $3 $0
> -  Push "$1;"
> -  Push "$3;"
> -  Call StrStr
> -  Pop $2
> -  StrCmp $2 "" "" AddToPath_done
> -  Push "$1;"
> -  Push "$3\;"
> -  Call StrStr
> -  Pop $2
> -  StrCmp $2 "" "" AddToPath_done
> - 
> -  Call IsNT
> -  Pop $1
> -  StrCmp $1 1 AddToPath_NT
> -    ; Not on NT
> -    StrCpy $1 $WINDIR 2
> -    FileOpen $1 "$1\autoexec.bat" a
> -    FileSeek $1 -1 END
> -    FileReadByte $1 $2
> -    IntCmp $2 26 0 +2 +2 # DOS EOF
> -      FileSeek $1 -1 END # write over EOF
> -    FileWrite $1 "$\r$\nSET PATH=%PATH%;$3$\r$\n"
> -    FileClose $1
> -    SetRebootFlag true
> -    Goto AddToPath_done
> - 
> -  AddToPath_NT:
> -    StrCmp $ADD_TO_PATH_ALL_USERS "1" ReadAllKey
> -      ReadRegStr $1 ${NT_current_env} "PATH"
> -      Goto DoTrim
> -    ReadAllKey:
> -      ReadRegStr $1 ${NT_all_env} "PATH"
> -    DoTrim:
> -    StrCmp $1 "" AddToPath_NTdoIt
> -      Push $1
> -      Call Trim
> -      Pop $1
> -      StrCpy $0 "$1;$0"
> -    AddToPath_NTdoIt:
> -      StrCmp $ADD_TO_PATH_ALL_USERS "1" WriteAllKey
> -        WriteRegExpandStr ${NT_current_env} "PATH" $0
> -        Goto DoSend
> -      WriteAllKey:
> -        WriteRegExpandStr ${NT_all_env} "PATH" $0
> -      DoSend:
> -      SendMessage ${HWND_BROADCAST} ${WM_WININICHANGE} 0 "STR:Environment" /TIMEOUT=5000
> - 
> -  AddToPath_done:
> -    Pop $3
> -    Pop $2
> -    Pop $1
> -    Pop $0
> -FunctionEnd
> -
> - 
> -; RemoveFromPath - Remove a given dir from the path
> -;     Input: head of the stack
> - 
> -Function un.RemoveFromPath
> -  Exch $0
> -  Push $1
> -  Push $2
> -  Push $3
> -  Push $4
> -  Push $5
> -  Push $6
> - 
> -  IntFmt $6 "%c" 26 # DOS EOF
> - 
> -  Call un.IsNT
> -  Pop $1
> -  StrCmp $1 1 unRemoveFromPath_NT
> -    ; Not on NT
> -    StrCpy $1 $WINDIR 2
> -    FileOpen $1 "$1\autoexec.bat" r
> -    GetTempFileName $4
> -    FileOpen $2 $4 w
> -    GetFullPathName /SHORT $0 $0
> -    StrCpy $0 "SET PATH=%PATH%;$0"
> -    Goto unRemoveFromPath_dosLoop
> - 
> -    unRemoveFromPath_dosLoop:
> -      FileRead $1 $3
> -      StrCpy $5 $3 1 -1 # read last char
> -      StrCmp $5 $6 0 +2 # if DOS EOF
> -        StrCpy $3 $3 -1 # remove DOS EOF so we can compare
> -      StrCmp $3 "$0$\r$\n" unRemoveFromPath_dosLoopRemoveLine
> -      StrCmp $3 "$0$\n" unRemoveFromPath_dosLoopRemoveLine
> -      StrCmp $3 "$0" unRemoveFromPath_dosLoopRemoveLine
> -      StrCmp $3 "" unRemoveFromPath_dosLoopEnd
> -      FileWrite $2 $3
> -      Goto unRemoveFromPath_dosLoop
> -      unRemoveFromPath_dosLoopRemoveLine:
> -        SetRebootFlag true
> -        Goto unRemoveFromPath_dosLoop
> - 
> -    unRemoveFromPath_dosLoopEnd:
> -      FileClose $2
> -      FileClose $1
> -      StrCpy $1 $WINDIR 2
> -      Delete "$1\autoexec.bat"
> -      CopyFiles /SILENT $4 "$1\autoexec.bat"
> -      Delete $4
> -      Goto unRemoveFromPath_done
> - 
> -  unRemoveFromPath_NT:
> -    StrCmp $ADD_TO_PATH_ALL_USERS "1" unReadAllKey
> -      ReadRegStr $1 ${NT_current_env} "PATH"
> -      Goto unDoTrim
> -    unReadAllKey:
> -      ReadRegStr $1 ${NT_all_env} "PATH"
> -    unDoTrim:
> -    StrCpy $5 $1 1 -1 # copy last char
> -    StrCmp $5 ";" +2 # if last char != ;
> -      StrCpy $1 "$1;" # append ;
> -    Push $1
> -    Push "$0;"
> -    Call un.StrStr ; Find `$0;` in $1
> -    Pop $2 ; pos of our dir
> -    StrCmp $2 "" unRemoveFromPath_done
> -      ; else, it is in path
> -      # $0 - path to add
> -      # $1 - path var
> -      StrLen $3 "$0;"
> -      StrLen $4 $2
> -      StrCpy $5 $1 -$4 # $5 is now the part before the path to remove
> -      StrCpy $6 $2 "" $3 # $6 is now the part after the path to remove
> -      StrCpy $3 $5$6
> - 
> -      StrCpy $5 $3 1 -1 # copy last char
> -      StrCmp $5 ";" 0 +2 # if last char == ;
> -        StrCpy $3 $3 -1 # remove last char
> - 
> -      StrCmp $ADD_TO_PATH_ALL_USERS "1" unWriteAllKey
> -        WriteRegExpandStr ${NT_current_env} "PATH" $3
> -        Goto unDoSend
> -      unWriteAllKey:
> -        WriteRegExpandStr ${NT_all_env} "PATH" $3
> -      unDoSend:
> -      SendMessage ${HWND_BROADCAST} ${WM_WININICHANGE} 0 "STR:Environment" /TIMEOUT=5000
> - 
> -  unRemoveFromPath_done:
> -    Pop $6
> -    Pop $5
> -    Pop $4
> -    Pop $3
> -    Pop $2
> -    Pop $1
> -    Pop $0
> -FunctionEnd
> - 
> -;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
> -; Uninstall sutff
> -;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
> -
> -###########################################
> -#            Utility Functions            #
> -###########################################
> - 
> -;====================================================
> -; IsNT - Returns 1 if the current system is NT, 0
> -;        otherwise.
> -;     Output: head of the stack
> -;====================================================
> -; IsNT
> -; no input
> -; output, top of the stack = 1 if NT or 0 if not
> -;
> -; Usage:
> -;   Call IsNT
> -;   Pop $R0
> -;  ($R0 at this point is 1 or 0)
> - 
> -!macro IsNT un
> -Function ${un}IsNT
> -  Push $0
> -  ReadRegStr $0 HKLM "SOFTWARE\Microsoft\Windows NT\CurrentVersion" CurrentVersion
> -  StrCmp $0 "" 0 IsNT_yes
> -  ; we are not NT.
> -  Pop $0
> -  Push 0
> -  Return
> - 
> -  IsNT_yes:
> -    ; NT!!!
> -    Pop $0
> -    Push 1
> -FunctionEnd
> -!macroend
> -!insertmacro IsNT ""
> -!insertmacro IsNT "un."
> - 
> -; StrStr
> -; input, top of stack = string to search for
> -;        top of stack-1 = string to search in
> -; output, top of stack (replaces with the portion of the string remaining)
> -; modifies no other variables.
> -;
> -; Usage:
> -;   Push "this is a long ass string"
> -;   Push "ass"
> -;   Call StrStr
> -;   Pop $R0
> -;  ($R0 at this point is "ass string")
> - 
> -!macro StrStr un
> -Function ${un}StrStr
> -Exch $R1 ; st=haystack,old$R1, $R1=needle
> -  Exch    ; st=old$R1,haystack
> -  Exch $R2 ; st=old$R1,old$R2, $R2=haystack
> -  Push $R3
> -  Push $R4
> -  Push $R5
> -  StrLen $R3 $R1
> -  StrCpy $R4 0
> -  ; $R1=needle
> -  ; $R2=haystack
> -  ; $R3=len(needle)
> -  ; $R4=cnt
> -  ; $R5=tmp
> -  loop:
> -    StrCpy $R5 $R2 $R3 $R4
> -    StrCmp $R5 $R1 done
> -    StrCmp $R5 "" done
> -    IntOp $R4 $R4 + 1
> -    Goto loop
> -done:
> -  StrCpy $R1 $R2 "" $R4
> -  Pop $R5
> -  Pop $R4
> -  Pop $R3
> -  Pop $R2
> -  Exch $R1
> -FunctionEnd
> -!macroend
> -!insertmacro StrStr ""
> -!insertmacro StrStr "un."
> -
> -Function Trim ; Added by Pelaca
> -	Exch $R1
> -	Push $R2
> -Loop:
> -	StrCpy $R2 "$R1" 1 -1
> -	StrCmp "$R2" " " RTrim
> -	StrCmp "$R2" "$\n" RTrim
> -	StrCmp "$R2" "$\r" RTrim
> -	StrCmp "$R2" ";" RTrim
> -	GoTo Done
> -RTrim:	
> -	StrCpy $R1 "$R1" -1
> -	Goto Loop
> -Done:
> -	Pop $R2
> -	Exch $R1
> -FunctionEnd
> -
> -Function ConditionalAddToRegisty
> -  Pop $0
> -  Pop $1
> -  StrCmp "$0" "" ConditionalAddToRegisty_EmptyString
> -    WriteRegStr SHCTX "Software\Microsoft\Windows\CurrentVersion\Uninstall\@CPACK_PACKAGE_INSTALL_REGISTRY_KEY@" \
> -    "$1" "$0"
> -    ;MessageBox MB_OK "Set Registry: '$1' to '$0'"
> -    DetailPrint "Set install registry entry: '$1' to '$0'"
> -  ConditionalAddToRegisty_EmptyString:
> -FunctionEnd
> -
> -;--------------------------------
> -
> -!ifdef CPACK_USES_DOWNLOAD
> -Function DownloadFile
> -    IfFileExists $INSTDIR\* +2
> -    CreateDirectory $INSTDIR
> -    Pop $0
> -
> -    ; Skip if already downloaded
> -    IfFileExists $INSTDIR\$0 0 +2
> -    Return
> -
> -    StrCpy $1 "@CPACK_DOWNLOAD_SITE@"
> -
> -  try_again:
> -    NSISdl::download "$1/$0" "$INSTDIR\$0"
> -    
> -    Pop $1
> -    StrCmp $1 "success" success
> -    StrCmp $1 "Cancelled" cancel
> -    MessageBox MB_OK "Download failed: $1"
> -  cancel:
> -    Return
> -  success:
> -FunctionEnd
> -!endif
> -
> -;--------------------------------
> -; Installation types
> -@CPACK_NSIS_INSTALLATION_TYPES@
> -
> -;--------------------------------
> -; Component sections
> -@CPACK_NSIS_COMPONENT_SECTIONS@
> -
> -;--------------------------------
> -; Define some macro setting for the gui
> -@CPACK_NSIS_INSTALLER_MUI_ICON_CODE@
> -@CPACK_NSIS_INSTALLER_ICON_CODE@
> -@CPACK_NSIS_INSTALLER_MUI_COMPONENTS_DESC@
> -@CPACK_NSIS_INSTALLER_MUI_FINISHPAGE_RUN_CODE@
> -
> -Function createShortcuts
> -    CreateShortCut "$DESKTOP\Widelands.lnk" "$INSTDIR\widelands.exe"
> -    CreateShortCut "$DESKTOP\Widelands - Mapeditor.lnk" "$INSTDIR\widelands.exe" "--editor" "$INSTDIR\WL-Editor.ico"
> -FunctionEnd
> -
> -!define MUI_FINISHPAGE_SHOWREADME ""
> -!define MUI_FINISHPAGE_SHOWREADME_NOTCHECKED
> -!define MUI_FINISHPAGE_SHOWREADME_TEXT "Create Desktop Shortcut"
> -!define MUI_FINISHPAGE_SHOWREADME_FUNCTION createShortcuts
> -
> -!define MUI_WELCOMEFINISHPAGE_BITMAP "@CPACK_NSIS_MUI_WELCOMEFINISHPAGE_BITMAP@"
> -!define MUI_UNWELCOMEFINISHPAGE_BITMAP "@CPACK_NSIS_MUI_WELCOMEFINISHPAGE_BITMAP@"
> -
> -;--------------------------------
> -;Pages
> -  !insertmacro MUI_PAGE_WELCOME
> -
> -  !insertmacro MUI_PAGE_LICENSE "@CPACK_RESOURCE_FILE_LICENSE@"
> -  Page custom InstallOptionsPage
> -  !insertmacro MUI_PAGE_DIRECTORY
> -  
> -  ;Start Menu Folder Page Configuration
> -  !define MUI_STARTMENUPAGE_REGISTRY_ROOT "SHCTX" 
> -  !define MUI_STARTMENUPAGE_REGISTRY_KEY "Software\@CPACK_PACKAGE_VENDOR@\@CPACK_PACKAGE_INSTALL_REGISTRY_KEY@" 
> -  !define MUI_STARTMENUPAGE_REGISTRY_VALUENAME "Start Menu Folder"
> -  !insertmacro MUI_PAGE_STARTMENU Application $STARTMENU_FOLDER
> -
> -  @CPACK_NSIS_PAGE_COMPONENTS@
> -
> -  !insertmacro MUI_PAGE_INSTFILES
> -  
> -  ;Changelog
> -  !define CPACK_NSIS_CHANGELOG_@CPACK_NSIS_CHANGELOG@
> -  !ifdef CPACK_NSIS_CHANGELOG_ON
> -    !define MUI_PAGE_HEADER_TEXT "Changelog"
> -    !define MUI_PAGE_HEADER_SUBTEXT ""
> -    !define MUI_LICENSEPAGE_TEXT_TOP ""
> -    !define MUI_LICENSEPAGE_TEXT_BOTTOM " "
> -    !define MUI_LICENSEPAGE_BUTTON "$(^NextBtn)"
> -    !insertmacro MUI_PAGE_LICENSE "@CPACK_RESOURCE_FILE_README@"
> -  !endif
> -   
> -  !insertmacro MUI_PAGE_FINISH
> -
> -  !insertmacro MUI_UNPAGE_CONFIRM
> -  !insertmacro MUI_UNPAGE_INSTFILES
> -
> -;--------------------------------
> -;Languages
> -
> -  !insertmacro MUI_LANGUAGE "English" ;first language is the default language
> -  !insertmacro MUI_LANGUAGE "Albanian"
> -  !insertmacro MUI_LANGUAGE "Arabic"
> -  !insertmacro MUI_LANGUAGE "Basque"
> -  !insertmacro MUI_LANGUAGE "Belarusian"
> -  !insertmacro MUI_LANGUAGE "Bosnian"
> -  !insertmacro MUI_LANGUAGE "Breton"
> -  !insertmacro MUI_LANGUAGE "Bulgarian"
> -  !insertmacro MUI_LANGUAGE "Croatian"
> -  !insertmacro MUI_LANGUAGE "Czech"
> -  !insertmacro MUI_LANGUAGE "Danish"
> -  !insertmacro MUI_LANGUAGE "Dutch"
> -  !insertmacro MUI_LANGUAGE "Estonian"
> -  !insertmacro MUI_LANGUAGE "Farsi"
> -  !insertmacro MUI_LANGUAGE "Finnish"
> -  !insertmacro MUI_LANGUAGE "French"
> -  !insertmacro MUI_LANGUAGE "German"
> -  !insertmacro MUI_LANGUAGE "Greek"
> -  !insertmacro MUI_LANGUAGE "Hebrew"
> -  !insertmacro MUI_LANGUAGE "Hungarian"
> -  !insertmacro MUI_LANGUAGE "Icelandic"
> -  !insertmacro MUI_LANGUAGE "Indonesian"
> -  !insertmacro MUI_LANGUAGE "Irish"
> -  !insertmacro MUI_LANGUAGE "Italian"
> -  !insertmacro MUI_LANGUAGE "Japanese"
> -  !insertmacro MUI_LANGUAGE "Korean"
> -  !insertmacro MUI_LANGUAGE "Kurdish"
> -  !insertmacro MUI_LANGUAGE "Latvian"
> -  !insertmacro MUI_LANGUAGE "Lithuanian"
> -  !insertmacro MUI_LANGUAGE "Luxembourgish"
> -  !insertmacro MUI_LANGUAGE "Macedonian"
> -  !insertmacro MUI_LANGUAGE "Malay"
> -  !insertmacro MUI_LANGUAGE "Mongolian"
> -  !insertmacro MUI_LANGUAGE "Norwegian"
> -  !insertmacro MUI_LANGUAGE "Polish"
> -  !insertmacro MUI_LANGUAGE "Portuguese"
> -  !insertmacro MUI_LANGUAGE "PortugueseBR"
> -  !insertmacro MUI_LANGUAGE "Romanian"
> -  !insertmacro MUI_LANGUAGE "Russian"
> -  !insertmacro MUI_LANGUAGE "Serbian"
> -  !insertmacro MUI_LANGUAGE "SerbianLatin"
> -  !insertmacro MUI_LANGUAGE "SimpChinese"
> -  !insertmacro MUI_LANGUAGE "Slovak"
> -  !insertmacro MUI_LANGUAGE "Slovenian"
> -  !insertmacro MUI_LANGUAGE "Spanish"
> -  !insertmacro MUI_LANGUAGE "Swedish"
> -  !insertmacro MUI_LANGUAGE "Thai"
> -  !insertmacro MUI_LANGUAGE "TradChinese"
> -  !insertmacro MUI_LANGUAGE "Turkish"
> -  !insertmacro MUI_LANGUAGE "Ukrainian"
> -  !insertmacro MUI_LANGUAGE "Welsh"
> -
> -
> -;--------------------------------
> -;Reserve Files
> -
> -  ;These files should be inserted before other files in the data block
> -  ;Keep these lines before any File command
> -  ;Only for solid compression (by default, solid compression is enabled for BZIP2 and LZMA)
> -
> -  ReserveFile "NSIS.InstallOptions.ini"
> -  !insertmacro MUI_RESERVEFILE_INSTALLOPTIONS
> -
> -;--------------------------------
> -;Installer Sections
> -
> -Section "-Core installation"
> -  ;Use the entire tree produced by the INSTALL target.  Keep the
> -  ;list of directories here in sync with the RMDir commands below.
> -  SetOutPath "$INSTDIR"
> -  @CPACK_NSIS_FULL_INSTALL@
> -  
> -  ;Store installation folder
> -  WriteRegStr SHCTX "Software\@CPACK_PACKAGE_VENDOR@\@CPACK_PACKAGE_INSTALL_REGISTRY_KEY@" "" $INSTDIR
> -  
> -  ;Create uninstaller
> -  WriteUninstaller "$INSTDIR\Uninstall.exe"
> -  Push "DisplayName"
> -  Push "@CPACK_NSIS_DISPLAY_NAME@"
> -  Call ConditionalAddToRegisty
> -  Push "DisplayVersion"
> -  Push "@CPACK_PACKAGE_VERSION@"
> -  Call ConditionalAddToRegisty
> -  Push "Publisher"
> -  Push "@CPACK_PACKAGE_VENDOR@"
> -  Call ConditionalAddToRegisty
> -  Push "UninstallString"
> -  Push "$INSTDIR\Uninstall.exe"
> -  Call ConditionalAddToRegisty
> -  Push "NoRepair"
> -  Push "1"
> -  Call ConditionalAddToRegisty
> -  
> -  !ifdef CPACK_NSIS_ADD_REMOVE
> -  ;Create add/remove functionality
> -  Push "ModifyPath"
> -  Push "$INSTDIR\AddRemove.exe"
> -  Call ConditionalAddToRegisty
> -  !else
> -  Push "NoModify"
> -  Push "1"
> -  Call ConditionalAddToRegisty
> -  !endif
> -  
> -  ; Optional registration
> -  Push "DisplayIcon"
> -  Push "$INSTDIR\@CPACK_NSIS_INSTALLED_ICON_NAME@"
> -  Call ConditionalAddToRegisty
> -  Push "HelpLink"
> -  Push "@CPACK_NSIS_HELP_LINK@"
> -  Call ConditionalAddToRegisty
> -  Push "URLInfoAbout"
> -  Push "@CPACK_NSIS_URL_INFO_ABOUT@"
> -  Call ConditionalAddToRegisty
> -  Push "Contact"
> -  Push "@CPACK_NSIS_CONTACT@"
> -  Call ConditionalAddToRegisty
> -  !insertmacro MUI_INSTALLOPTIONS_READ $INSTALL_DESKTOP "NSIS.InstallOptions.ini" "Field 5" "State"
> -  !insertmacro MUI_STARTMENU_WRITE_BEGIN Application
> -  
> -  ;Create shortcuts
> -  CreateDirectory "$SMPROGRAMS\$STARTMENU_FOLDER"
> -@CPACK_NSIS_CREATE_ICONS@
> -@CPACK_NSIS_CREATE_ICONS_EXTRA@
> -  CreateShortCut "$SMPROGRAMS\$STARTMENU_FOLDER\Uninstall.lnk" "$INSTDIR\Uninstall.exe"
> -
> -  ;Read a value from an InstallOptions INI file
> -  !insertmacro MUI_INSTALLOPTIONS_READ $DO_NOT_ADD_TO_PATH "NSIS.InstallOptions.ini" "Field 2" "State"
> -  !insertmacro MUI_INSTALLOPTIONS_READ $ADD_TO_PATH_ALL_USERS "NSIS.InstallOptions.ini" "Field 3" "State"
> -  !insertmacro MUI_INSTALLOPTIONS_READ $ADD_TO_PATH_CURRENT_USER "NSIS.InstallOptions.ini" "Field 4" "State"
> -
> -  ; Write special uninstall registry entries
> -  Push "StartMenu"
> -  Push "$STARTMENU_FOLDER"
> -  Call ConditionalAddToRegisty
> -  Push "DoNotAddToPath"
> -  Push "$DO_NOT_ADD_TO_PATH"
> -  Call ConditionalAddToRegisty
> -  Push "AddToPathAllUsers"
> -  Push "$ADD_TO_PATH_ALL_USERS"
> -  Call ConditionalAddToRegisty
> -  Push "AddToPathCurrentUser"
> -  Push "$ADD_TO_PATH_CURRENT_USER"
> -  Call ConditionalAddToRegisty
> -  Push "InstallToDesktop"
> -  Push "$INSTALL_DESKTOP"
> -  Call ConditionalAddToRegisty
> -
> -  !insertmacro MUI_STARTMENU_WRITE_END
> -
> -@CPACK_NSIS_EXTRA_INSTALL_COMMANDS@
> -
> -SectionEnd
> -
> -Section "-Add to path"
> -  Push $INSTDIR\bin
> -  StrCmp "@CPACK_NSIS_MODIFY_PATH@" "ON" 0 doNotAddToPath
> -  StrCmp $DO_NOT_ADD_TO_PATH "1" doNotAddToPath 0  
> -    Call AddToPath
> -  doNotAddToPath:
> -SectionEnd
> -
> -;--------------------------------
> -; Create custom pages
> -Function InstallOptionsPage
> -  !insertmacro MUI_HEADER_TEXT "Install Options" "Choose options for installing @CPACK_NSIS_PACKAGE_NAME@"
> -  !insertmacro MUI_INSTALLOPTIONS_DISPLAY "NSIS.InstallOptions.ini"
> -
> -FunctionEnd
> -
> -;--------------------------------
> -; determine admin versus local install
> -Function un.onInit
> -
> -  ;Load selected language from registry
> -  !ifndef CPACK_NSIS_LANGUAGE_DIALOG_@CPACK_NSIS_LANGUAGE_DIALOG@
> -    !define CPACK_NSIS_LANGUAGE_DIALOG_@CPACK_NSIS_LANGUAGE_DIALOG@
> -  !endif
> -  !ifdef CPACK_NSIS_LANGUAGE_DIALOG_ON
> -    !insertmacro MUI_UNGETLANGUAGE
> -  !endif
> -
> -  ClearErrors
> -  UserInfo::GetName
> -  IfErrors noLM
> -  Pop $0
> -  UserInfo::GetAccountType
> -  Pop $1
> -  StrCmp $1 "Admin" 0 +3
> -    SetShellVarContext all
> -    ;MessageBox MB_OK 'User "$0" is in the Admin group'
> -    Goto done
> -  StrCmp $1 "Power" 0 +3
> -    SetShellVarContext all
> -    ;MessageBox MB_OK 'User "$0" is in the Power Users group'
> -    Goto done
> -    
> -  noLM:
> -    ;Get installation folder from registry if available
> -
> -  done:
> -    
> -FunctionEnd
> -
> -;--- Add/Remove callback functions: ---
> -!macro SectionList MacroName
> -  ;This macro used to perform operation on multiple sections.
> -  ;List all of your components in following manner here.
> -@CPACK_NSIS_COMPONENT_SECTION_LIST@
> -!macroend
> - 
> -Section -FinishComponents
> -  ;Removes unselected components and writes component status to registry
> -  !insertmacro SectionList "FinishSection"
> -  
> -!ifdef CPACK_NSIS_ADD_REMOVE  
> -  ; Get the name of the installer executable
> -  System::Call 'kernel32::GetModuleFileNameA(i 0, t .R0, i 1024) i r1'
> -  StrCpy $R3 $R0
> -  
> -  ; Strip off the last 13 characters, to see if we have AddRemove.exe
> -  StrLen $R1 $R0
> -  IntOp $R1 $R0 - 13
> -  StrCpy $R2 $R0 13 $R1
> -  StrCmp $R2 "AddRemove.exe" addremove_installed
> -  
> -  ; We're not running AddRemove.exe, so install it
> -  CopyFiles $R3 $INSTDIR\AddRemove.exe
> -  
> -  addremove_installed:
> -!endif
> -SectionEnd
> -;--- End of Add/Remove callback functions ---
> -
> -;--------------------------------
> -; Component dependencies
> -Function .onSelChange
> -  !insertmacro SectionList MaybeSelectionChanged
> -FunctionEnd
> -
> -;--------------------------------
> -;Uninstaller Section
> -
> -Section "Uninstall"
> -  ReadRegStr $START_MENU SHCTX \
> -   "Software\Microsoft\Windows\CurrentVersion\Uninstall\@CPACK_PACKAGE_INSTALL_REGISTRY_KEY@" "StartMenu"
> -  ;MessageBox MB_OK "Start menu is in: $START_MENU"
> -  ReadRegStr $DO_NOT_ADD_TO_PATH SHCTX \
> -    "Software\Microsoft\Windows\CurrentVersion\Uninstall\@CPACK_PACKAGE_INSTALL_REGISTRY_KEY@" "DoNotAddToPath"
> -  ReadRegStr $ADD_TO_PATH_ALL_USERS SHCTX \
> -    "Software\Microsoft\Windows\CurrentVersion\Uninstall\@CPACK_PACKAGE_INSTALL_REGISTRY_KEY@" "AddToPathAllUsers"
> -  ReadRegStr $ADD_TO_PATH_CURRENT_USER SHCTX \
> -    "Software\Microsoft\Windows\CurrentVersion\Uninstall\@CPACK_PACKAGE_INSTALL_REGISTRY_KEY@" "AddToPathCurrentUser"
> -  ;MessageBox MB_OK "Add to path: $DO_NOT_ADD_TO_PATH all users: $ADD_TO_PATH_ALL_USERS"
> -  ReadRegStr $INSTALL_DESKTOP SHCTX \
> -    "Software\Microsoft\Windows\CurrentVersion\Uninstall\@CPACK_PACKAGE_INSTALL_REGISTRY_KEY@" "InstallToDesktop"
> -  ;MessageBox MB_OK "Install to desktop: $INSTALL_DESKTOP "
> -
> -@CPACK_NSIS_EXTRA_UNINSTALL_COMMANDS@
> -
> -  ;Remove files we installed.
> -  ;Keep the list of directories here in sync with the File commands above.
> -@CPACK_NSIS_DELETE_FILES@
> -@CPACK_NSIS_DELETE_DIRECTORIES@
> -
> -!ifdef CPACK_NSIS_ADD_REMOVE  
> -  ;Remove the add/remove program
> -  Delete "$INSTDIR\AddRemove.exe"
> -!endif
> -
> -  ;Remove the uninstaller itself.
> -  Delete "$INSTDIR\Uninstall.exe"
> -  DeleteRegKey SHCTX "Software\Microsoft\Windows\CurrentVersion\Uninstall\@CPACK_PACKAGE_INSTALL_REGISTRY_KEY@"
> -
> -  ;Remove the installation directory if it is empty.
> -  RMDir "$INSTDIR"
> -
> -  ; Remove the registry entries.
> -  DeleteRegKey SHCTX "Software\@CPACK_PACKAGE_VENDOR@\@CPACK_PACKAGE_INSTALL_REGISTRY_KEY@"
> -
> -  ; Removes all optional components
> -  !insertmacro SectionList "RemoveSection"
> -  
> -  !insertmacro MUI_STARTMENU_GETFOLDER Application $MUI_TEMP
> -    
> -  Delete "$SMPROGRAMS\$MUI_TEMP\Uninstall.lnk"
> -@CPACK_NSIS_DELETE_ICONS@
> -@CPACK_NSIS_DELETE_ICONS_EXTRA@
> -  
> -  ;Delete empty start menu parent diretories
> -  StrCpy $MUI_TEMP "$SMPROGRAMS\$MUI_TEMP"
> - 
> -  startMenuDeleteLoop:
> -    ClearErrors
> -    RMDir $MUI_TEMP
> -    GetFullPathName $MUI_TEMP "$MUI_TEMP\.."
> -    
> -    IfErrors startMenuDeleteLoopDone
> -  
> -    StrCmp "$MUI_TEMP" "$SMPROGRAMS" startMenuDeleteLoopDone startMenuDeleteLoop
> -  startMenuDeleteLoopDone:
> -
> -  ; If the user changed the shortcut, then untinstall may not work. This should
> -  ; try to fix it.
> -  StrCpy $MUI_TEMP "$START_MENU"
> -  Delete "$SMPROGRAMS\$MUI_TEMP\Uninstall.lnk"
> -@CPACK_NSIS_DELETE_ICONS_EXTRA@
> -  
> -  ;Delete empty start menu parent diretories
> -  StrCpy $MUI_TEMP "$SMPROGRAMS\$MUI_TEMP"
> - 
> -  secondStartMenuDeleteLoop:
> -    ClearErrors
> -    RMDir $MUI_TEMP
> -    GetFullPathName $MUI_TEMP "$MUI_TEMP\.."
> -    
> -    IfErrors secondStartMenuDeleteLoopDone
> -  
> -    StrCmp "$MUI_TEMP" "$SMPROGRAMS" secondStartMenuDeleteLoopDone secondStartMenuDeleteLoop
> -  secondStartMenuDeleteLoopDone:
> -
> -  DeleteRegKey /ifempty SHCTX "Software\@CPACK_PACKAGE_VENDOR@\@CPACK_PACKAGE_INSTALL_REGISTRY_KEY@"
> -
> -  Push $INSTDIR\bin
> -  StrCmp $DO_NOT_ADD_TO_PATH_ "1" doNotRemoveFromPath 0
> -    Call un.RemoveFromPath
> -  doNotRemoveFromPath:
> -SectionEnd
> -
> -;--------------------------------
> -; determine admin versus local install
> -; Is install for "AllUsers" or "JustMe"?
> -; Default to "JustMe" - set to "AllUsers" if admin or on Win9x
> -; This function is used for the very first "custom page" of the installer.
> -; This custom page does not show up visibly, but it executes prior to the
> -; first visible page and sets up $INSTDIR properly...
> -; Choose different default installation folder based on SV_ALLUSERS...
> -; "Program Files" for AllUsers, "My Documents" for JustMe...
> -
> -Function .onInit
> -  ;Language Selection Dialog
> -  !ifndef CPACK_NSIS_LANGUAGE_DIALOG_@CPACK_NSIS_LANGUAGE_DIALOG@
> -    !define CPACK_NSIS_LANGUAGE_DIALOG_@CPACK_NSIS_LANGUAGE_DIALOG@
> -  !endif
> -  !ifdef CPACK_NSIS_LANGUAGE_DIALOG_ON
> -    !define MUI_LANGDLL_REGISTRY_ROOT SHCTX
> -    !define MUI_LANGDLL_REGISTRY_KEY "Software\@CPACK_PACKAGE_VENDOR@\@CPACK_PACKAGE_INSTALL_REGISTRY_KEY@"
> -    !define MUI_LANGDLL_REGISTRY_VALUENAME "Installer Language"
> -    !insertmacro MUI_LANGDLL_DISPLAY
> -  !endif
> -  
> -  ; Reads components status for registry
> -  !insertmacro SectionList "InitSection"
> -
> -  ; check to see if /D has been used to change 
> -  ; the install directory by comparing it to the 
> -  ; install directory that is expected to be the
> -  ; default
> -  StrCpy $IS_DEFAULT_INSTALLDIR 0
> -  StrCmp "$INSTDIR" "@CPACK_NSIS_INSTALL_ROOT@\@CPACK_PACKAGE_INSTALL_DIRECTORY@" 0 +2
> -    StrCpy $IS_DEFAULT_INSTALLDIR 1
> -  
> -  StrCpy $SV_ALLUSERS "JustMe"
> -  ; if default install dir then change the default
> -  ; if it is installed for JustMe
> -  StrCmp "$IS_DEFAULT_INSTALLDIR" "1" 0 +2
> -    StrCpy $INSTDIR "$DOCUMENTS\@CPACK_PACKAGE_INSTALL_DIRECTORY@"
> -
> -  ClearErrors
> -  UserInfo::GetName
> -  IfErrors noLM
> -  Pop $0
> -  UserInfo::GetAccountType
> -  Pop $1
> -  StrCmp $1 "Admin" 0 +3
> -    SetShellVarContext all
> -    ;MessageBox MB_OK 'User "$0" is in the Admin group'
> -    StrCpy $SV_ALLUSERS "AllUsers"
> -    Goto done
> -  StrCmp $1 "Power" 0 +3
> -    SetShellVarContext all
> -    ;MessageBox MB_OK 'User "$0" is in the Power Users group'
> -    StrCpy $SV_ALLUSERS "AllUsers"
> -    Goto done
> -    
> -  noLM:
> -    StrCpy $SV_ALLUSERS "AllUsers"
> -    ;Get installation folder from registry if available
> -
> -  done:
> -  StrCmp $SV_ALLUSERS "AllUsers" 0 +3
> -    StrCmp "$IS_DEFAULT_INSTALLDIR" "1" 0 +2
> -      StrCpy $INSTDIR "@CPACK_NSIS_INSTALL_ROOT@\@CPACK_PACKAGE_INSTALL_DIRECTORY@"
> -
> -  StrCmp "@CPACK_NSIS_MODIFY_PATH@" "ON" 0 noOptionsPage
> -    !insertmacro MUI_INSTALLOPTIONS_EXTRACT "NSIS.InstallOptions.ini"
> -
> -  noOptionsPage:
> -FunctionEnd
> 
> === renamed file 'src/CodeCheck.cmake' => 'cmake/codecheck/CodeCheck.cmake'
> --- src/CodeCheck.cmake	2011-09-23 08:49:44 +0000
> +++ cmake/codecheck/CodeCheck.cmake	2014-06-16 13:55:52 +0000
> @@ -1,23 +1,17 @@
> -if (WIN32)
> -  execute_process(
> -    COMMAND "${PYTHON_EXECUTABLE}" "${WL_SOURCE_CHECKER}" -c "${sourcefile}"
> -    OUTPUT_VARIABLE checkresult
> -#   OUTPUT_FILE ${CMAKE_CURRENT_BINARY_DIR}/codecheck-stamps/${stamp}
> -    OUTPUT_STRIP_TRAILING_WHITESPACE
> -  )
> -else (WIN32)
> -  execute_process(
> -    COMMAND "${WL_SOURCE_CHECKER}" -c "${sourcefile}"
> -    OUTPUT_VARIABLE checkresult
> -#   OUTPUT_FILE ${CMAKE_CURRENT_BINARY_DIR}/codecheck-stamps/${stamp}
> -    OUTPUT_STRIP_TRAILING_WHITESPACE
> -  )
> -endif (WIN32)
> +execute_process(
> +  COMMAND "${PYTHON_EXECUTABLE}" "${WL_SOURCE_CHECKER}" -c "${SRC}"
> +  OUTPUT_VARIABLE checkresult
> +  RESULT_VARIABLE exitcode
> +  OUTPUT_STRIP_TRAILING_WHITESPACE
> +)
>  
> -if (checkresult STREQUAL "")
> +if (checkresult STREQUAL "" AND NOT exitcode)
>    execute_process(
> -    COMMAND cmake -E touch ${CMAKE_CURRENT_BINARY_DIR}/${stamp}
> +    COMMAND cmake -E touch ${OUTPUT_FILE}
>    )
> -else (checkresult STREQUAL "")
> +else (checkresult STREQUAL "" AND NOT exitcode)
>    message ("${checkresult}")
> -endif (checkresult STREQUAL "")
> +  execute_process(
> +    COMMAND cmake -E remove ${OUTPUT_FILE}
> +  )
> +endif (checkresult STREQUAL "" AND NOT exitcode)
> 
> === modified file 'cmake/codecheck/rules/const_qualifier_for_parameter_passed_by_value'
> --- cmake/codecheck/rules/const_qualifier_for_parameter_passed_by_value	2010-02-05 01:13:20 +0000
> +++ cmake/codecheck/rules/const_qualifier_for_parameter_passed_by_value	2014-06-16 13:55:52 +0000
> @@ -1,4 +1,4 @@
> -#!/usr/bin/python 
> +#!/usr/bin/python
>  
>  """
>  This catches const qualifiers for parameters passed by value to functions, in
> @@ -9,7 +9,7 @@
>  * qualifiers
>  """
>  
> -error_msg = "'const' for a literal parameter makes no sense. Remove the const."
> +error_msg = "'const' for a literal parameter is an implementation detail. Remove the const from the interface definition."
>  
>  regexp = r"""^\s*(?:(static|virtual) +)?(?:const +)?(?:[_a-zA-Z][_a-zA-Z0-9]*::)*[_a-zA-Z][_a-zA-Z0-9]*(?: +const)?(?: *(?:\*(?: *const)?|&))* +[_a-zA-Z][_a-zA-Z0-9]* *\((?:(const +)?(?:[_a-zA-Z][_a-zA-Z0-9]*::)*[_a-zA-Z][_a-zA-Z0-9]*(?: +const)?(?: *(?:\*(?: *const)?|&))*(?: +[_a-zA-Z][_a-zA-Z0-9]*)?, *)*(?:const +(?:[_a-zA-Z][_a-zA-Z0-9]*::)*[_a-zA-Z][_a-zA-Z0-9]*|(?:[_a-zA-Z][_a-zA-Z0-9]*::)*[_a-zA-Z][_a-zA-Z0-9]* +const)(?: +[_a-zA-Z][_a-zA-Z0-9]*)?(?:, *(?:const +)?(?:[_a-zA-Z][_a-zA-Z0-9]*::)*[_a-zA-Z][_a-zA-Z0-9]*(?: +const)?(?: *(?:\*(?: *const)?|&))*)*(?: +[_a-zA-Z][_a-zA-Z0-9]*)?(?:\)(?: *const)?(?: throw *\(.*\))?;|,$)"""
>  
> @@ -135,5 +135,5 @@
>      "void func(std::string * const & * ngi, Some_Type abc, std::string * const & * foo) const;",
>      " virtual void func(Some_Type,",
>      " virtual void * func(Some_Type,",
> -    "  virtual std::string & func(Some_Type,", 
> +    "  virtual std::string & func(Some_Type,",
>  ]
> 
> === modified file 'src/CMakeLists.txt'
> --- src/CMakeLists.txt	2014-04-16 06:51:52 +0000
> +++ src/CMakeLists.txt	2014-06-16 13:55:52 +0000
> @@ -1,150 +1,952 @@
> -configure_file (${CMAKE_CURRENT_SOURCE_DIR}/config.h.cmake ${CMAKE_CURRENT_BINARY_DIR}/config.h)
> -configure_file (${CMAKE_CURRENT_SOURCE_DIR}/build_info.cc.cmake ${CMAKE_CURRENT_BINARY_DIR}/build_info.cc)
> -
> -IF (WIN32)
> -  configure_file (${CMAKE_CURRENT_SOURCE_DIR}/../utils/win32/msvc/widelands.rc.cmake ${CMAKE_CURRENT_BINARY_DIR}/widelands.rc)
> -  if (NOT WL_VERSION_MAJOR OR WL_VERSION_MAJOR STREQUAL "")
> -    set (WL_VERSION_MAJOR 0)
> -  endif (NOT WL_VERSION_MAJOR OR WL_VERSION_MAJOR STREQUAL "")
> -  if (NOT WL_VERSION_MINOR OR WL_VERSION_MINOR STREQUAL "")
> -    set (WL_VERSION_MINOR 15)
> -  endif (NOT WL_VERSION_MINOR OR WL_VERSION_MINOR STREQUAL "")
> -  if (NOT WL_VERSION_PATCH OR WL_VERSION_PATCH STREQUAL "")
> -    set (WL_VERSION_PATCH 1)
> -  endif (NOT WL_VERSION_PATCH OR WL_VERSION_PATCH STREQUAL "")
> -  configure_file (${CMAKE_CURRENT_SOURCE_DIR}/../utils/win32/msvc/Widelands-msvc.iss.cmake ${CMAKE_CURRENT_BINARY_DIR}/Widelands-msvc.iss)
> -  IF (MINGW)
> -	set(WIN32_ICON_O ${CMAKE_CURRENT_BINARY_DIR}/wl_icon.o)
> -	ADD_CUSTOM_COMMAND( OUTPUT ${WIN32_ICON_O}
> -		COMMAND ${MINGW_PREFIX}windres
> -			-o${WIN32_ICON_O}
> -			-i${CMAKE_CURRENT_BINARY_DIR}/widelands.rc
> -		)
> -	ENDIF (MINGW)
> -endif (WIN32)
> -
> -file(GLOB_RECURSE WL_SRCS_CC *.cc)
> -file(GLOB_RECURSE WL_SRCS_H *.h)
> -file(GLOB_RECURSE WL_SRCS_CPP *.cpp)
> -
> -#convention: any directory called "test" contains test sources, including subdirectories
> -set(WL_TEST_SRCS "")
> -set(WL_CODECHECK_SRCS "")
> -foreach (sourcefile ${WL_SRCS_CC} ${WL_SRCS_H})
> -  if (${sourcefile} MATCHES ".*/test/.*")
> -    list (APPEND WL_TEST_SRCS ${sourcefile})
> -    list (REMOVE_ITEM WL_SRCS_CC ${sourcefile})
> -    list (REMOVE_ITEM WL_SRCS_H ${sourcefile})
> -  endif (${sourcefile} MATCHES ".*/test/.*")
> -  # exclude test sources from Codecheck, as well as the scripting/eris sources from lua and minizip
> -  if (NOT ${sourcefile} MATCHES ".*/scripting/eris/.*" AND NOT ${sourcefile} MATCHES ".*/test/.*" AND NOT ${sourcefile} MATCHES ".*/minizip/.*")
> -    list (APPEND WL_CODECHECK_SRCS ${sourcefile})
> -  endif (NOT ${sourcefile} MATCHES ".*/scripting/eris/.*" AND NOT ${sourcefile} MATCHES ".*/test/.*" AND NOT ${sourcefile} MATCHES ".*/minizip/.*")
> -endforeach (sourcefile ${WL_SRCS_CC} ${WL_SRCS_H})
> -foreach (sourcefile ${WL_SRCS_CPP})
> -  list (APPEND WL_CODECHECK_SRCS ${sourcefile})
> -endforeach (sourcefile ${WL_SRCS_CPP})
> -#convention: main.cc should be removed from all lists
> -list (REMOVE_ITEM WL_SRCS_CC "${CMAKE_CURRENT_SOURCE_DIR}/main.cc")
> -
> -IF (DEFINED MSVC)
> -  add_executable (widelands ${GUI_TYPE} main.cc build_info.cc widelands.rc)
> -else (DEFINED MSVC)
> -  if (DEFINED MINGW)
> -    add_executable (widelands ${GUI_TYPE} main.cc build_info.cc ${WIN32_ICON_O})
> -  else (DEFINED MINGW)
> -    add_executable (widelands ${GUI_TYPE} main.cc build_info.cc)
> -  endif (DEFINED MINGW)
> -endif (DEFINED MSVC)
> -
> -add_library (widelands_all STATIC ${WL_SRCS_CC} ${WL_SRCS_H})
> -
> -set (WL_SOURCES_ROOT ${CMAKE_CURRENT_SOURCE_DIR})
> -set (WL_SOURCES_BINARY_ROOT ${CMAKE_CURRENT_BINARY_DIR})
> -
> -if (CMAKE_BUILD_TYPE STREQUAL Debug)
> -  find_package (PythonInterp REQUIRED)
> -  set (commands "")
> -  foreach(sourcefile ${WL_CODECHECK_SRCS})
> -    string(REPLACE "${CMAKE_SOURCE_DIR}/src/" "" sourcewithoutpath ${sourcefile})
> -    string(REGEX REPLACE "\\.|\\/" "_" sourcenoslash ${sourcewithoutpath})
> -    if (WIN32)
> -      string(REGEX REPLACE "^.*:" "" sourcenoslash ${sourcenoslash})
> -    endif (WIN32)
> -    get_filename_component(sourcename ${sourcefile} NAME)
> -    set(stamp ${sourcename}_)
> -    add_custom_command(
> -      OUTPUT "${CMAKE_CURRENT_BINARY_DIR}/codecheck_${sourcenoslash}"
> -      COMMAND ${CMAKE_COMMAND} -DPYTHON_EXECUTABLE=${PYTHON_EXECUTABLE} -DWL_SOURCE_CHECKER=${CMAKE_SOURCE_DIR}/cmake/codecheck/CodeCheck.py -Dsourcefile=${sourcefile} -DCMAKE_CURRENT_BINARY_DIR=${CMAKE_CURRENT_BINARY_DIR} -Dstamp=codecheck_${sourcenoslash} -P ${CMAKE_SOURCE_DIR}/src/CodeCheck.cmake
> -      DEPENDS ${sourcefile}
> -      COMMENT "Checking ${sourcewithoutpath} with CodeCheck"
> -    )
> -    list(APPEND commands ${CMAKE_CURRENT_BINARY_DIR}/codecheck_${sourcenoslash})
> -  endforeach(sourcefile ${WL_CODECHECK_SRCS})
> -  add_custom_target(codecheck DEPENDS ${commands})
> -  add_dependencies(widelands codecheck)
> -endif (CMAKE_BUILD_TYPE STREQUAL Debug)
> -
> -#the subdirectories are only used for test definition
> -#temporarily disabled the 'old' tests due to incompatibility
> -if (WL_UNIT_TESTS)
> -  # Tests need to link with SDL library without main
> -  set(TEST_EXTRA_SOURCES ${CMAKE_CURRENT_BINARY_DIR}/build_info.cc)
> -  set(TEST_EXTRA_LIBS ${SDL_LIBRARY} )
> -  list(REMOVE_ITEM TEST_EXTRA_LIBS  ${SDLMAIN_LIBRARY})
> -
> -  add_subdirectory(economy)
> -  add_subdirectory(io)
> -endif (WL_UNIT_TESTS)
> -
> -add_subdirectory(scripting)
> -
> -if (NOT MINIZIP_FOUND)
> -  add_subdirectory(minizip)
> -  target_link_libraries(widelands_all wl_minizip)
> -endif (NOT MINIZIP_FOUND)
> -
> -target_link_libraries(widelands_all eris)
> -target_link_libraries(widelands_all ${SDLIMAGE_LIBRARY})
> -target_link_libraries(widelands_all ${SDLMIXER_LIBRARY})
> -target_link_libraries(widelands_all ${SDLNET_LIBRARY})
> -target_link_libraries(widelands_all ${SDLTTF_LIBRARY})
> -target_link_libraries(widelands_all ${SDLGFX_LIBRARY})
> -target_link_libraries(widelands_all ${PNG_LIBRARY})
> -target_link_libraries(widelands_all ${ZLIB_LIBRARY})
> -target_link_libraries(widelands_all ${OPENGL_gl_LIBRARY})
> -target_link_libraries(widelands_all ${GLEW_LIBRARY})
> -target_link_libraries(widelands_all ${Boost_LIBRARIES})
> -
> -if (MINIZIP_FOUND)
> -  target_link_libraries(widelands_all ${MINIZIP_LIBRARY})
> -endif (MINIZIP_FOUND)
> -if (CMAKE_SYSTEM_NAME MATCHES "FreeBSD" OR CMAKE_SYSTEM_NAME MATCHES "OpenBSD")
> -  target_link_libraries(widelands_all ${EXECINFO_LIBRARY})
> -endif (CMAKE_SYSTEM_NAME MATCHES "FreeBSD" OR CMAKE_SYSTEM_NAME MATCHES "OpenBSD")
> -
> -if (DEFINED WL_EXTRA_LINK_LIBRARIES)
> -  target_link_libraries(widelands_all ${WL_EXTRA_LINK_LIBRARIES})
> -endif (DEFINED WL_EXTRA_LINK_LIBRARIES)
> -
> -target_link_libraries(widelands widelands_all)
> -target_link_libraries(widelands ${SDL_LIBRARY})
> -
> -if (APPLE OR WIN32 OR CMAKE_SYSTEM_NAME MATCHES "FreeBSD")
> -  target_link_libraries(widelands_all ${INTL_LIBRARY})
> -endif (APPLE OR WIN32 OR CMAKE_SYSTEM_NAME MATCHES "FreeBSD")
> -
> -if (WIN32)
> -  if (DEFINED MSVC)
> -    target_link_libraries(widelands_all ws2_32)
> -
> -    #gettext on MSVC using 3rdparty bundle needs iconv library
> -    find_library(ICONV_LIBRARY iconv libiconv REQUIRED)
> -    target_link_libraries(widelands_all ${ICONV_LIBRARY})
> -
> -  else (DEFINED MSVC)
> -    target_link_libraries(widelands_all wsock32)
> -  endif (DEFINED MSVC)
> -endif (WIN32)
> -
> -install(TARGETS widelands DESTINATION ${WL_INSTALL_BINDIR} COMPONENT ExecutableFiles)
> +configure_file (${CMAKE_CURRENT_SOURCE_DIR}/config.h.cmake ${CMAKE_CURRENT_BINARY_DIR}/config.h)
> +configure_file (${CMAKE_CURRENT_SOURCE_DIR}/build_info.cc.cmake ${CMAKE_CURRENT_BINARY_DIR}/build_info.cc)
> +
> +# Catchall target to codecheck all files.
> +add_custom_target(codecheck)
> +
> +# A target that depends on all unit tests as 'make test' will not rebuild
> +# tests:
> +# http://stackoverflow.com/questions/733475/cmake-ctest-make-test-doesnt-build-tests
> +add_custom_target(wl_tests)
> +
> +macro(_parse_common_args ARGS)
> +  # TODO(sirver): add OPTIONS for the other external libraries we use
> +  set(OPTIONS THIRD_PARTY C_LIBRARY USES_BOOST_REGEX USES_ZLIB WIN32)
> +  set(ONE_VALUE_ARG )
> +  set(MULTI_VALUE_ARGS SRCS DEPENDS)
> +  cmake_parse_arguments(ARG "${OPTIONS}" "${ONE_VALUE_ARG}" "${MULTI_VALUE_ARGS}"
> +    ${ARGS}
> +  )
> +endmacro(_parse_common_args)
> +
> +macro(_common_compile_tasks)
> +  if (NOT ARG_C_LIBRARY)
> +    set(TARGET_COMPILE_FLAGS "${TARGET_COMPILE_FLAGS} ${WL_GENERIC_CXX_FLAGS}")
> +  endif()
> +
> +  set(TARGET_COMPILE_FLAGS "${TARGET_COMPILE_FLAGS} ${WL_OPTIMIZE_FLAGS} ${WL_DEBUG_FLAGS}")
> +
> +  if(ARG_THIRD_PARTY)
> +    # Disable all warings for third_party.
> +    set(TARGET_COMPILE_FLAGS "${TARGET_COMPILE_FLAGS} -w")
> +  else()
> +    foreach(SRC ${ARG_SRCS})
> +      run_codecheck(${NAME} ${SRC})
> +    endforeach(SRC)
> +
> +    set(TARGET_COMPILE_FLAGS "${TARGET_COMPILE_FLAGS} ${WL_COMPILE_WARNING_FLAGS}")
> +  endif()
> +
> +  set_target_properties(${NAME} PROPERTIES COMPILE_FLAGS ${TARGET_COMPILE_FLAGS})
> +
> +  if(NOT ARG_THIRD_PARTY)
> +    # src/ is the base for all of our includes. The binary one is for generated files.
> +    target_include_directories(${NAME} PRIVATE ${CMAKE_SOURCE_DIR}/src ${CMAKE_BINARY_DIR}/src)
> +
> +    # Boost is practically the standard library, so we always add a search path
> +    # to include it easily. Except for third party.
> +    target_include_directories(${NAME} SYSTEM INTERFACE ${Boost_INCLUDE_DIR})
> +  endif()
> +
> +  if(ARG_USES_ZLIB)
> +    target_include_directories(${NAME} SYSTEM INTERFACE ${ZLIB_INCLUDE_DIRS})
> +    target_link_libraries(${NAME} ${ZLIB_LIBRARY})
> +  endif()
> +
> +  if (ARG_USES_BOOST_REGEX)
> +    target_link_libraries(${NAME} ${Boost_LIBRARIES})
> +  endif()
> +
> +  foreach(DEPENDENCY ${ARG_DEPENDS})
> +    target_link_libraries(${NAME} ${DEPENDENCY})
> +  endforeach(DEPENDENCY)
> +endmacro(_common_compile_tasks)
> +
> +# See
> +# http://www.cmake.org/cmake/help/v3.0/module/CMakeParseArguments.html
> +function(wl_library NAME)
> +  _parse_common_args("${ARGN}")
> +
> +  # TODO(sirver): I do not get any unresolved dependency errors
> +  # when building a STATIC library, only for SHARED. We should
> +  # always gets those errors to track down cyclic dependencies.
> +  add_library(${NAME}
> +    STATIC
> +    EXCLUDE_FROM_ALL
> +    ${ARG_SRCS}
> +  )
> +
> +  _common_compile_tasks()
> +endfunction()
> +
> +function(wl_binary NAME)
> +  _parse_common_args("${ARGN}")
> +
> +  if (ARG_WIN32)
> +    add_executable(${NAME}
> +      WIN32
> +      ${ARG_SRCS}
> +    )
> +  else()
> +    add_executable(${NAME}
> +      ${ARG_SRCS}
> +    )
> +  endif()
> +
> +  _common_compile_tasks()
> +endfunction()
> +
> +function(wl_test NAME)
> +  _parse_common_args("${ARGN}")
> +
> +  add_executable(${NAME} ${ARG_SRCS})
> +
> +  # If boost unit test library is linked dynamically, BOOST_TEST_DYN_LINK must be defined
> +  string(REGEX MATCH ".a$" BOOST_STATIC_UNIT_TEST_LIB ${Boost_UNIT_TEST_FRAMEWORK_LIBRARY})
> +  if (NOT BOOST_STATIC_UNIT_TEST_LIB)
> +    set(TARGET_COMPILE_FLAGS "${TARGET_COMPILE_FLAGS} -DBOOST_TEST_DYN_LINK")
> +  endif()
> +  target_link_libraries(${NAME} ${Boost_UNIT_TEST_FRAMEWORK_LIBRARY})
> +
> +  # Tests need to link with SDL library without main.
> +  set(SDL_LIBRARY_TEMP ${SDL_LIBRARY})
> +  list(REMOVE_ITEM SDL_LIBRARY_TEMP ${SDLMAIN_LIBRARY})
> +  target_link_libraries(${NAME} ${SDL_LIBRARY_TEMP})
> +
> +  _common_compile_tasks()
> +
> +  add_test(${NAME} ${NAME})
> +  add_dependencies(wl_tests ${NAME})
> +endfunction()
> +
> +# Checks a single 'SRC' file using Codecheck and writes a file named
> +# codecheck_<shasum of input> if the codecheck did not yield anything. The
> +# target for the codecheck will be added as a dependency to 'NAME' for debug
> +# builds, but always for the target 'codecheck', so that make codecheck checks
> +# all source code.
> +function(run_codecheck NAME SRC)
> +  get_filename_component(ABSOLUTE_SRC ${SRC} ABSOLUTE)
> +
> +  # If the file does not exist, it is probably auto-generated. In that case, it
> +  # makes no sense to codecheck it.
> +  if(EXISTS ${ABSOLUTE_SRC})
> +    file(SHA1 ${ABSOLUTE_SRC} CHECKSUM)
> +
> +    set(OUTPUT_FILE "${CMAKE_CURRENT_BINARY_DIR}/codecheck_${CHECKSUM}")
> +    add_custom_command(
> +      OUTPUT
> +        ${OUTPUT_FILE}
> +      COMMAND
> +        ${CMAKE_COMMAND}
> +        -DPYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}
> +        -DWL_SOURCE_CHECKER=${CMAKE_SOURCE_DIR}/cmake/codecheck/CodeCheck.py
> +        -DSRC=${ABSOLUTE_SRC}
> +        -DOUTPUT_FILE=${OUTPUT_FILE}
> +        -DCMAKE_CURRENT_BINARY_DIR=${CMAKE_CURRENT_BINARY_DIR}
> +        -P ${CMAKE_SOURCE_DIR}/cmake/codecheck/CodeCheck.cmake
> +      DEPENDS ${ABSOLUTE_SRC}
> +      COMMENT "Checking ${SRC} with CodeCheck"
> +    )
> +    add_custom_target(run_codecheck_for_${CHECKSUM} DEPENDS ${OUTPUT_FILE})
> +    add_dependencies(codecheck run_codecheck_for_${CHECKSUM})
> +
> +    if(CMAKE_BUILD_TYPE STREQUAL Debug)
> +      add_dependencies(${NAME} run_codecheck_for_${CHECKSUM})
> +    endif(CMAKE_BUILD_TYPE STREQUAL Debug)
> +  endif(EXISTS ${ABSOLUTE_SRC})
> +endfunction(run_codecheck)
> +
> +wl_library(build_info
> +  SRCS
> +    build_info.cc
> +    build_info.h
> +)
> +
> +set(WL_SRCS
> +	ai/ai_help_structs.cc
> +	ai/ai_hints.cc
> +	ai/defaultai.cc
> +	campvis.cc
> +	chat.cc
> +	computer_player.cc
> +	economy/cmd_call_economy_balance.cc
> +	economy/economy.cc
> +	economy/economy_data_packet.cc
> +	economy/flag.cc
> +	economy/fleet.cc
> +	economy/idleworkersupply.cc
> +	economy/portdock.cc
> +	economy/request.cc
> +	economy/road.cc
> +	economy/route.cc
> +	economy/routeastar.cc
> +	economy/router.cc
> +	economy/shippingitem.cc
> +	economy/supply_list.cc
> +	economy/transfer.cc
> +	economy/ware_instance.cc
> +	economy/wares_queue.cc
> +	editor/editorinteractive.cc
> +	editor/tools/editor_decrease_height_tool.cc
> +	editor/tools/editor_decrease_resources_tool.cc
> +	editor/tools/editor_delete_bob_tool.cc
> +	editor/tools/editor_delete_immovable_tool.cc
> +	editor/tools/editor_draw_tool.cc
> +	editor/tools/editor_history.cc
> +	editor/tools/editor_increase_height_tool.cc
> +	editor/tools/editor_increase_resources_tool.cc
> +	editor/tools/editor_info_tool.cc
> +	editor/tools/editor_make_infrastructure_tool.cc
> +	editor/tools/editor_noise_height_tool.cc
> +	editor/tools/editor_place_bob_tool.cc
> +	editor/tools/editor_place_immovable_tool.cc
> +	editor/tools/editor_set_height_tool.cc
> +	editor/tools/editor_set_origin_tool.cc
> +	editor/tools/editor_set_port_space_tool.cc
> +	editor/tools/editor_set_resources_tool.cc
> +	editor/tools/editor_set_starting_pos_tool.cc
> +	editor/tools/editor_set_terrain_tool.cc
> +	editor/ui_menus/editor_main_menu.cc
> +	editor/ui_menus/editor_main_menu_load_map.cc
> +	editor/ui_menus/editor_main_menu_map_options.cc
> +	editor/ui_menus/editor_main_menu_new_map.cc
> +	editor/ui_menus/editor_main_menu_random_map.cc
> +	editor/ui_menus/editor_main_menu_save_map.cc
> +	editor/ui_menus/editor_main_menu_save_map_make_directory.cc
> +	editor/ui_menus/editor_player_menu.cc
> +	editor/ui_menus/editor_player_menu_allowed_buildings_menu.cc
> +	editor/ui_menus/editor_tool_change_height_options_menu.cc
> +	editor/ui_menus/editor_tool_change_resources_options_menu.cc
> +	editor/ui_menus/editor_tool_menu.cc
> +	editor/ui_menus/editor_tool_noise_height_options_menu.cc
> +	editor/ui_menus/editor_tool_options_menu.cc
> +	editor/ui_menus/editor_tool_place_bob_options_menu.cc
> +	editor/ui_menus/editor_tool_place_immovable_options_menu.cc
> +	editor/ui_menus/editor_tool_set_terrain_options_menu.cc
> +	editor/ui_menus/editor_toolsize_menu.cc
> +	game_io/game_cmd_queue_data_packet.cc
> +	game_io/game_game_class_data_packet.cc
> +	game_io/game_interactive_player_data_packet.cc
> +	game_io/game_loader.cc
> +	game_io/game_map_data_packet.cc
> +	game_io/game_player_economies_data_packet.cc
> +	game_io/game_player_info_data_packet.cc
> +	game_io/game_preload_data_packet.cc
> +	game_io/game_saver.cc
> +	graphic/align.cc
> +	graphic/animation.cc
> +	graphic/colormap.cc
> +	graphic/font.cc
> +	graphic/font_handler.cc
> +	graphic/font_handler1.cc
> +	graphic/graphic.cc
> +	graphic/image_cache.cc
> +	graphic/image_loader_impl.cc
> +	graphic/image_transformations.cc
> +	graphic/in_memory_image.cc
> +	graphic/render/gamerenderer.cc
> +	graphic/render/gamerenderer_gl.cc
> +	graphic/render/gamerenderer_sdl.cc
> +	graphic/render/gl_surface.cc
> +	graphic/render/gl_surface_screen.cc
> +	graphic/render/gl_surface_texture.cc
> +	graphic/render/gl_utils.cc
> +	graphic/render/minimaprenderer.cc
> +	graphic/render/sdl_helper.cc
> +	graphic/render/sdl_surface.cc
> +	graphic/render/terrain_sdl.cc
> +	graphic/rendertarget.cc
> +	graphic/richtext.cc
> +	graphic/surface.cc
> +	graphic/surface_cache.cc
> +	graphic/text/rt_parse.cc
> +	graphic/text/rt_render.cc
> +	graphic/text/sdl_ttf_font_impl.cc
> +	graphic/text/sdl_ttf_font_loader_from_file.cc
> +	graphic/text/sdl_ttf_font_loader_from_filesystem.cc
> +	graphic/text/textstream.cc
> +	graphic/text_parser.cc
> +	graphic/texture.cc
> +	graphic/wordwrap.cc
> +	helper.cc
> +	logic/backtrace.cc
> +	logic/battle.cc
> +	logic/bob.cc
> +	logic/buildcost.cc
> +	logic/building.cc
> +	logic/carrier.cc
> +	logic/checkstep.cc
> +	logic/cmd_calculate_statistics.cc
> +	logic/cmd_expire_message.cc
> +	logic/cmd_incorporate.cc
> +	logic/cmd_luacoroutine.cc
> +	logic/cmd_luascript.cc
> +	logic/cmd_queue.cc
> +	logic/constructionsite.cc
> +	logic/critter_bob.cc
> +	logic/dismantlesite.cc
> +	logic/editor_game_base.cc
> +	logic/expedition_bootstrap.cc
> +	logic/field.cc
> +	logic/findbob.cc
> +	logic/findimmovable.cc
> +	logic/findnode.cc
> +	logic/game.cc
> +	logic/game_data_error.cc
> +	logic/immovable.cc
> +	logic/instances.cc
> +	logic/map.cc
> +	logic/map_revision.cc
> +	logic/mapastar.cc
> +	logic/mapdifferenceregion.cc
> +	logic/mapfringeregion.cc
> +	logic/maphollowregion.cc
> +	logic/maptriangleregion.cc
> +	logic/military_data.cc
> +	logic/militarysite.cc
> +	logic/partially_finished_building.cc
> +	logic/path.cc
> +	logic/pathfield.cc
> +	logic/player.cc
> +	logic/playercommand.cc
> +	logic/playersmanager.cc
> +	logic/production_program.cc
> +	logic/productionsite.cc
> +	logic/queue_cmd_factory.cc
> +	logic/replay.cc
> +	logic/requirements.cc
> +	logic/ship.cc
> +	logic/soldier.cc
> +	logic/trainingsite.cc
> +	logic/tribe.cc
> +	logic/walkingdir.cc
> +	logic/ware_descr.cc
> +	logic/warehouse.cc
> +	logic/warelist.cc
> +	logic/widelands_geometry_io.cc
> +	logic/worker.cc
> +	logic/worker_descr.cc
> +	logic/worker_program.cc
> +	logic/world.cc
> +	map_generator.cc
> +	map_io/widelands_map_allowed_building_types_data_packet.cc
> +	map_io/widelands_map_allowed_worker_types_data_packet.cc
> +	map_io/widelands_map_building_data_packet.cc
> +	map_io/widelands_map_buildingdata_data_packet.cc
> +	map_io/widelands_map_elemental_data_packet.cc
> +	map_io/widelands_map_exploration_data_packet.cc
> +	map_io/widelands_map_extradata_data_packet.cc
> +	map_io/widelands_map_flag_data_packet.cc
> +	map_io/widelands_map_flagdata_data_packet.cc
> +	map_io/widelands_map_heights_data_packet.cc
> +	map_io/widelands_map_loader.cc
> +	map_io/widelands_map_map_object_loader.cc
> +	map_io/widelands_map_map_object_saver.cc
> +	map_io/widelands_map_node_ownership_data_packet.cc
> +	map_io/widelands_map_object_packet.cc
> +	map_io/widelands_map_objective_data_packet.cc
> +	map_io/widelands_map_player_names_and_tribes_data_packet.cc
> +	map_io/widelands_map_player_position_data_packet.cc
> +	map_io/widelands_map_players_messages_data_packet.cc
> +	map_io/widelands_map_players_view_data_packet.cc
> +	map_io/widelands_map_port_spaces_data_packet.cc
> +	map_io/widelands_map_resources_data_packet.cc
> +	map_io/widelands_map_road_data_packet.cc
> +	map_io/widelands_map_roaddata_data_packet.cc
> +	map_io/widelands_map_saver.cc
> +	map_io/widelands_map_scripting_data_packet.cc
> +	map_io/widelands_map_terrain_data_packet.cc
> +	map_io/widelands_map_version_data_packet.cc
> +	md5.cc
> +	network/internet_gaming.cc
> +	network/internet_gaming_messages.cc
> +	network/netclient.cc
> +	network/nethost.cc
> +	network/network.cc
> +	network/network_gaming_messages.cc
> +	network/network_lan_promotion.cc
> +	network/network_player_settings_backend.cc
> +	random.cc
> +	replay_game_controller.cc
> +	s2map.cc
> +	save_handler.cc
> +	scoped_timer.cc
> +	scripting/c_utils.cc
> +	scripting/factory.cc
> +	scripting/lua_bases.cc
> +	scripting/lua_coroutine.cc
> +	scripting/lua_editor.cc
> +	scripting/lua_game.cc
> +	scripting/lua_globals.cc
> +	scripting/lua_map.cc
> +	scripting/lua_root.cc
> +	scripting/lua_table.cc
> +	scripting/lua_ui.cc
> +	scripting/luna_impl.cc
> +	scripting/persistence.cc
> +	scripting/scripting.cc
> +	single_player_game_controller.cc
> +	single_player_game_settings_provider.cc
> +	text_layout.cc
> +	timestring.cc
> +	ui_basic/box.cc
> +	ui_basic/button.cc
> +	ui_basic/checkbox.cc
> +	ui_basic/editbox.cc
> +	ui_basic/helpwindow.cc
> +	ui_basic/icon.cc
> +	ui_basic/icongrid.cc
> +	ui_basic/listselect.cc
> +	ui_basic/messagebox.cc
> +	ui_basic/multilineeditbox.cc
> +	ui_basic/multilinetextarea.cc
> +	ui_basic/panel.cc
> +	ui_basic/progressbar.cc
> +	ui_basic/progresswindow.cc
> +	ui_basic/radiobutton.cc
> +	ui_basic/scrollbar.cc
> +	ui_basic/slider.cc
> +	ui_basic/spinbox.cc
> +	ui_basic/table.cc
> +	ui_basic/tabpanel.cc
> +	ui_basic/textarea.cc
> +	ui_basic/unique_window.cc
> +	ui_basic/window.cc
> +	ui_fsmenu/base.cc
> +	ui_fsmenu/campaign_select.cc
> +	ui_fsmenu/editor.cc
> +	ui_fsmenu/editor_mapselect.cc
> +	ui_fsmenu/fileview.cc
> +	ui_fsmenu/internet_lobby.cc
> +	ui_fsmenu/intro.cc
> +	ui_fsmenu/launchMPG.cc
> +	ui_fsmenu/launchSPG.cc
> +	ui_fsmenu/loadgame.cc
> +	ui_fsmenu/loadreplay.cc
> +	ui_fsmenu/main.cc
> +	ui_fsmenu/mapselect.cc
> +	ui_fsmenu/multiplayer.cc
> +	ui_fsmenu/netsetup_lan.cc
> +	ui_fsmenu/options.cc
> +	ui_fsmenu/singleplayer.cc
> +	wlapplication.cc
> +	wui/actionconfirm.cc
> +	wui/attack_box.cc
> +	wui/building_statistics_menu.cc
> +	wui/building_ui.cc
> +	wui/buildingwindow.cc
> +	wui/chatoverlay.cc
> +	wui/constructionsitewindow.cc
> +	wui/debugconsole.cc
> +	wui/dismantlesitewindow.cc
> +	wui/encyclopedia_window.cc
> +	wui/fieldaction.cc
> +	wui/game_chat_menu.cc
> +	wui/game_debug_ui.cc
> +	wui/game_main_menu.cc
> +	wui/game_main_menu_save_game.cc
> +	wui/game_message_menu.cc
> +	wui/game_objectives_menu.cc
> +	wui/game_options_menu.cc
> +	wui/game_options_sound_menu.cc
> +	wui/game_summary.cc
> +	wui/game_tips.cc
> +	wui/gamechatpanel.cc
> +	wui/general_statistics_menu.cc
> +	wui/interactive_base.cc
> +	wui/interactive_gamebase.cc
> +	wui/interactive_player.cc
> +	wui/interactive_spectator.cc
> +	wui/itemwaresdisplay.cc
> +	wui/login_box.cc
> +	wui/mapview.cc
> +	wui/mapviewpixelfunctions.cc
> +	wui/military_box.cc
> +	wui/militarysitewindow.cc
> +	wui/minimap.cc
> +	wui/multiplayersetupgroup.cc
> +	wui/overlay_manager.cc
> +	wui/playerdescrgroup.cc
> +	wui/plot_area.cc
> +	wui/portdockwaresdisplay.cc
> +	wui/productionsitewindow.cc
> +	wui/quicknavigation.cc
> +	wui/shipwindow.cc
> +	wui/soldiercapacitycontrol.cc
> +	wui/soldierlist.cc
> +	wui/stock_menu.cc
> +	wui/story_message_box.cc
> +	wui/trainingsitewindow.cc
> +	wui/transport_draw.cc
> +	wui/transport_ui.cc
> +	wui/unique_window_handler.cc
> +	wui/ware_statistics_menu.cc
> +	wui/warehousewindow.cc
> +	wui/waresdisplay.cc
> +	wui/waresqueuedisplay.cc
> +	wui/watchwindow.cc
> +  TribeBasicInfo.h
> +  ai/ai_help_structs.h
> +  ai/ai_hints.h
> +  ai/defaultai.h
> +  campvis.h
> +  chat.h
> +  compile_diagnostics.h
> +  computer_player.h
> +  constants.h
> +  container_iterate.h
> +  cookie_priority_queue.h
> +  economy/cmd_call_economy_balance.h
> +  economy/economy.h
> +  economy/economy_data_packet.h
> +  economy/flag.h
> +  economy/fleet.h
> +  economy/idleworkersupply.h
> +  economy/iroute.h
> +  economy/itransport_cost_calculator.h
> +  economy/portdock.h
> +  economy/request.h
> +  economy/road.h
> +  economy/route.h
> +  economy/routeastar.h
> +  economy/router.h
> +  economy/routing_node.h
> +  economy/shippingitem.h
> +  economy/supply.h
> +  economy/supply_list.h
> +  economy/transfer.h
> +  economy/ware_instance.h
> +  economy/warehousesupply.h
> +  economy/wares_queue.h
> +  editor/editorinteractive.h
> +  editor/tools/editor_action_args.h
> +  editor/tools/editor_decrease_height_tool.h
> +  editor/tools/editor_decrease_resources_tool.h
> +  editor/tools/editor_delete_bob_tool.h
> +  editor/tools/editor_delete_immovable_tool.h
> +  editor/tools/editor_draw_tool.h
> +  editor/tools/editor_history.h
> +  editor/tools/editor_increase_height_tool.h
> +  editor/tools/editor_increase_resources_tool.h
> +  editor/tools/editor_info_tool.h
> +  editor/tools/editor_make_infrastructure_tool.h
> +  editor/tools/editor_noise_height_tool.h
> +  editor/tools/editor_place_bob_tool.h
> +  editor/tools/editor_place_immovable_tool.h
> +  editor/tools/editor_set_height_tool.h
> +  editor/tools/editor_set_origin_tool.h
> +  editor/tools/editor_set_port_space_tool.h
> +  editor/tools/editor_set_resources_tool.h
> +  editor/tools/editor_set_starting_pos_tool.h
> +  editor/tools/editor_set_terrain_tool.h
> +  editor/tools/editor_tool.h
> +  editor/tools/editor_tool_action.h
> +  editor/tools/multi_select.h
> +  editor/ui_menus/editor_main_menu.h
> +  editor/ui_menus/editor_main_menu_load_map.h
> +  editor/ui_menus/editor_main_menu_map_options.h
> +  editor/ui_menus/editor_main_menu_new_map.h
> +  editor/ui_menus/editor_main_menu_random_map.h
> +  editor/ui_menus/editor_main_menu_save_map.h
> +  editor/ui_menus/editor_main_menu_save_map_make_directory.h
> +  editor/ui_menus/editor_player_menu.h
> +  editor/ui_menus/editor_player_menu_allowed_buildings_menu.h
> +  editor/ui_menus/editor_tool_change_height_options_menu.h
> +  editor/ui_menus/editor_tool_change_resources_options_menu.h
> +  editor/ui_menus/editor_tool_menu.h
> +  editor/ui_menus/editor_tool_noise_height_options_menu.h
> +  editor/ui_menus/editor_tool_options_menu.h
> +  editor/ui_menus/editor_tool_place_bob_options_menu.h
> +  editor/ui_menus/editor_tool_place_immovable_options_menu.h
> +  editor/ui_menus/editor_tool_set_terrain_options_menu.h
> +  editor/ui_menus/editor_toolsize_menu.h
> +  game_io/game_cmd_queue_data_packet.h
> +  game_io/game_data_packet.h
> +  game_io/game_game_class_data_packet.h
> +  game_io/game_interactive_player_data_packet.h
> +  game_io/game_loader.h
> +  game_io/game_map_data_packet.h
> +  game_io/game_player_economies_data_packet.h
> +  game_io/game_player_info_data_packet.h
> +  game_io/game_preload_data_packet.h
> +  game_io/game_saver.h
> +  gamecontroller.h
> +  gamesettings.h
> +  graphic/align.h
> +  graphic/animation.h
> +  graphic/colormap.h
> +  graphic/compositemode.h
> +  graphic/diranimations.h
> +  graphic/font.h
> +  graphic/font_handler.h
> +  graphic/font_handler1.h
> +  graphic/graphic.h
> +  graphic/image.h
> +  graphic/image_cache.h
> +  graphic/image_loader.h
> +  graphic/image_loader_impl.h
> +  graphic/image_transformations.h
> +  graphic/in_memory_image.h
> +  graphic/rect.h
> +  graphic/render/gamerenderer.h
> +  graphic/render/gamerenderer_gl.h
> +  graphic/render/gamerenderer_sdl.h
> +  graphic/render/gl_surface.h
> +  graphic/render/gl_surface_screen.h
> +  graphic/render/gl_surface_texture.h
> +  graphic/render/gl_utils.h
> +  graphic/render/minimaprenderer.h
> +  graphic/render/sdl_helper.h
> +  graphic/render/sdl_surface.h
> +  graphic/render/terrain_sdl.h
> +  graphic/render/vertex.h
> +  graphic/rendertarget.h
> +  graphic/richtext.h
> +  graphic/surface.h
> +  graphic/surface_cache.h
> +  graphic/text/rt_errors.h
> +  graphic/text/rt_errors_impl.h
> +  graphic/text/rt_parse.h
> +  graphic/text/rt_render.h
> +  graphic/text/sdl_ttf_font.h
> +  graphic/text/sdl_ttf_font_impl.h
> +  graphic/text/textstream.h
> +  graphic/text_parser.h
> +  graphic/texture.h
> +  graphic/wordwrap.h
> +  helper.h
> +  interval.h
> +  logic/attackable.h
> +  logic/backtrace.h
> +  logic/battle.h
> +  logic/bill_of_materials.h
> +  logic/bob.h
> +  logic/buildcost.h
> +  logic/building.h
> +  logic/carrier.h
> +  logic/checkstep.h
> +  logic/cmd_calculate_statistics.h
> +  logic/cmd_expire_message.h
> +  logic/cmd_incorporate.h
> +  logic/cmd_luacoroutine.h
> +  logic/cmd_luascript.h
> +  logic/cmd_queue.h
> +  logic/constructionsite.h
> +  logic/critter_bob.h
> +  logic/critter_bob_program.h
> +  logic/description_maintainer.h
> +  logic/dismantlesite.h
> +  logic/editor_game_base.h
> +  logic/expedition_bootstrap.h
> +  logic/field.h
> +  logic/findbob.h
> +  logic/findimmovable.h
> +  logic/findnode.h
> +  logic/game.h
> +  logic/game_data_error.h
> +  logic/immovable.h
> +  logic/immovable_program.h
> +  logic/instances.h
> +  logic/map.h
> +  logic/map_revision.h
> +  logic/mapastar.h
> +  logic/mapdifferenceregion.h
> +  logic/mapfringeregion.h
> +  logic/maphollowregion.h
> +  logic/mapregion.h
> +  logic/maptriangleregion.h
> +  logic/message.h
> +  logic/message_id.h
> +  logic/message_queue.h
> +  logic/military_data.h
> +  logic/militarysite.h
> +  logic/nodecaps.h
> +  logic/notification.h
> +  logic/objective.h
> +  logic/parse_map_object_types.h
> +  logic/partially_finished_building.h
> +  logic/path.h
> +  logic/pathfield.h
> +  logic/player.h
> +  logic/player_area.h
> +  logic/playercommand.h
> +  logic/playersmanager.h
> +  logic/production_program.h
> +  logic/productionsite.h
> +  logic/program_result.h
> +  logic/queue_cmd_factory.h
> +  logic/queue_cmd_ids.h
> +  logic/replay.h
> +  logic/requirements.h
> +  logic/roadtype.h
> +  logic/ship.h
> +  logic/soldier.h
> +  logic/soldier_counts.h
> +  logic/soldiercontrol.h
> +  logic/tattribute.h
> +  logic/trainingsite.h
> +  logic/tribe.h
> +  logic/walkingdir.h
> +  logic/ware_descr.h
> +  logic/warehouse.h
> +  logic/warelist.h
> +  logic/wareworker.h
> +  logic/widelands.h
> +  logic/widelands_geometry.h
> +  logic/widelands_geometry_io.h
> +  logic/workarea_info.h
> +  logic/worker.h
> +  logic/worker_descr.h
> +  logic/worker_program.h
> +  logic/world.h
> +  logic/worlddata.h
> +  machdep.h
> +  map_generator.h
> +  map_io/coords_profile.cc
> +  map_io/coords_profile.h
> +  map_io/map_loader.h
> +  map_io/widelands_map_allowed_building_types_data_packet.h
> +  map_io/widelands_map_allowed_worker_types_data_packet.h
> +  map_io/widelands_map_building_data_packet.h
> +  map_io/widelands_map_buildingdata_data_packet.h
> +  map_io/widelands_map_data_packet.h
> +  map_io/widelands_map_elemental_data_packet.h
> +  map_io/widelands_map_exploration_data_packet.h
> +  map_io/widelands_map_extradata_data_packet.h
> +  map_io/widelands_map_flag_data_packet.h
> +  map_io/widelands_map_flagdata_data_packet.h
> +  map_io/widelands_map_heights_data_packet.h
> +  map_io/widelands_map_loader.h
> +  map_io/widelands_map_map_object_loader.h
> +  map_io/widelands_map_map_object_saver.h
> +  map_io/widelands_map_message_saver.h
> +  map_io/widelands_map_node_ownership_data_packet.h
> +  map_io/widelands_map_object_packet.h
> +  map_io/widelands_map_objective_data_packet.h
> +  map_io/widelands_map_player_names_and_tribes_data_packet.h
> +  map_io/widelands_map_player_position_data_packet.h
> +  map_io/widelands_map_players_messages_data_packet.h
> +  map_io/widelands_map_players_view_data_packet.h
> +  map_io/widelands_map_port_spaces_data_packet.h
> +  map_io/widelands_map_resources_data_packet.h
> +  map_io/widelands_map_road_data_packet.h
> +  map_io/widelands_map_roaddata_data_packet.h
> +  map_io/widelands_map_saver.h
> +  map_io/widelands_map_scripting_data_packet.h
> +  map_io/widelands_map_terrain_data_packet.h
> +  map_io/widelands_map_version_data_packet.h
> +  md5.h
> +  network/internet_gaming.h
> +  network/internet_gaming_messages.h
> +  network/internet_gaming_protocol.h
> +  network/netclient.h
> +  network/nethost.h
> +  network/network.h
> +  network/network_gaming_messages.h
> +  network/network_lan_promotion.h
> +  network/network_player_settings_backend.h
> +  network/network_protocol.h
> +  network/network_system.h
> +  point.h
> +  random.h
> +  ref_cast.h
> +  replay_game_controller.h
> +  rgbcolor.h
> +  s2map.h
> +  save_handler.h
> +  scoped_timer.h
> +  scripting/c_utils.h
> +  scripting/factory.h
> +  scripting/lua_bases.h
> +  scripting/lua_coroutine.h
> +  scripting/lua_editor.h
> +  scripting/lua_errors.h
> +  scripting/lua_game.h
> +  scripting/lua_globals.h
> +  scripting/lua_map.h
> +  scripting/lua_root.h
> +  scripting/lua_table.h
> +  scripting/lua_ui.h
> +  scripting/luna.h
> +  scripting/luna_impl.h
> +  scripting/persistence.h
> +  scripting/scripting.h
> +  single_player_game_controller.h
> +  single_player_game_settings_provider.h
> +  text_layout.h
> +  timestring.h
> +  trackptr.h
> +  ui_basic/box.h
> +  ui_basic/button.h
> +  ui_basic/checkbox.h
> +  ui_basic/editbox.h
> +  ui_basic/helpwindow.h
> +  ui_basic/icon.h
> +  ui_basic/icongrid.h
> +  ui_basic/listselect.h
> +  ui_basic/messagebox.h
> +  ui_basic/mouse_constants.h
> +  ui_basic/multilineeditbox.h
> +  ui_basic/multilinetextarea.h
> +  ui_basic/panel.h
> +  ui_basic/progressbar.h
> +  ui_basic/progresswindow.h
> +  ui_basic/radiobutton.h
> +  ui_basic/scrollbar.h
> +  ui_basic/slider.h
> +  ui_basic/spinbox.h
> +  ui_basic/table.h
> +  ui_basic/tabpanel.h
> +  ui_basic/textarea.h
> +  ui_basic/unique_window.h
> +  ui_basic/window.h
> +  ui_fsmenu/base.h
> +  ui_fsmenu/campaign_select.h
> +  ui_fsmenu/editor.h
> +  ui_fsmenu/editor_mapselect.h
> +  ui_fsmenu/fileview.h
> +  ui_fsmenu/internet_lobby.h
> +  ui_fsmenu/intro.h
> +  ui_fsmenu/launchMPG.h
> +  ui_fsmenu/launchSPG.h
> +  ui_fsmenu/loadgame.h
> +  ui_fsmenu/loadreplay.h
> +  ui_fsmenu/main.h
> +  ui_fsmenu/mapselect.h
> +  ui_fsmenu/multiplayer.h
> +  ui_fsmenu/netsetup_lan.h
> +  ui_fsmenu/options.h
> +  ui_fsmenu/singleplayer.h
> +  upcast.h
> +  utf8.h
> +  vector.h
> +  wlapplication.h
> +  wui/actionconfirm.h
> +  wui/attack_box.h
> +  wui/building_statistics_menu.h
> +  wui/buildingwindow.h
> +  wui/chatoverlay.h
> +  wui/debugconsole.h
> +  wui/encyclopedia_window.h
> +  wui/fieldaction.h
> +  wui/game_chat_menu.h
> +  wui/game_debug_ui.h
> +  wui/game_main_menu.h
> +  wui/game_main_menu_save_game.h
> +  wui/game_message_menu.h
> +  wui/game_objectives_menu.h
> +  wui/game_options_menu.h
> +  wui/game_options_sound_menu.h
> +  wui/game_summary.h
> +  wui/game_tips.h
> +  wui/gamechatpanel.h
> +  wui/general_statistics_menu.h
> +  wui/interactive_base.h
> +  wui/interactive_gamebase.h
> +  wui/interactive_player.h
> +  wui/interactive_spectator.h
> +  wui/itemwaresdisplay.h
> +  wui/login_box.h
> +  wui/logmessage.h
> +  wui/mapview.h
> +  wui/mapviewpixelconstants.h
> +  wui/mapviewpixelfunctions.h
> +  wui/military_box.h
> +  wui/minimap.h
> +  wui/multiplayersetupgroup.h
> +  wui/overlay_manager.h
> +  wui/playerdescrgroup.h
> +  wui/plot_area.h
> +  wui/portdockwaresdisplay.h
> +  wui/productionsitewindow.h
> +  wui/quicknavigation.h
> +  wui/soldiercapacitycontrol.h
> +  wui/soldierlist.h
> +  wui/stock_menu.h
> +  wui/story_message_box.h
> +  wui/unique_window_handler.h
> +  wui/ware_statistics_menu.h
> +  wui/waresdisplay.h
> +  wui/waresqueuedisplay.h
> +  wui/watchwindow.h
> +)
> +
> +if (WIN32)
> +	set(WIN32_ICON_O ${CMAKE_CURRENT_BINARY_DIR}/wl_icon.o)
> +	ADD_CUSTOM_COMMAND(OUTPUT ${WIN32_ICON_O}
> +		COMMAND ${MINGW_PREFIX}windres
> +			-o${WIN32_ICON_O}
> +			-i${CMAKE_CURRENT_BINARY_DIR}/widelands.rc
> +  )
> +  wl_binary(
> +    widelands
> +    WIN32
> +    SRCS
> +      main.cc
> +      ${WIN32_ICON_O}
> +    DEPENDS
> +      widelands_ball_of_mud
> +      build_info
> +      # TODO(sirver): USE_SDL
> +      ${SDL_LIBRARY}
> +  )
> +else()
> +  wl_binary(
> +    widelands
> +    SRCS
> +      main.cc
> +    DEPENDS
> +      widelands_ball_of_mud
> +      build_info
> +      # TODO(sirver): USE_SDL
> +      ${SDL_LIBRARY}
> +  )
> +endif()
> +
> +add_subdirectory(base)
> +add_subdirectory(economy)
> +add_subdirectory(io)
> +add_subdirectory(profile)
> +add_subdirectory(scripting)
> +add_subdirectory(sound)
> +add_subdirectory(third_party)
> +
> +#TODO: It looks like various things have cyclic dependencies
> +#in all directions. Ideally this core shouldn't exist or at least
> +#be a limited set of header files needed to boostrap the other
> +#parts. For now it is absolutely everything to make things build :(
> +wl_library(widelands_ball_of_mud
> +  SRCS
> +    ${WL_SRCS}
> +  DEPENDS
> +    base_i18n
> +    third_party_eris
> +    io_dedicated_log
> +    io_filesystem
> +    profile
> +    sound
> +    # TODO(sirver): add USES_* for each of these
> +    ${SDLIMAGE_LIBRARY}
> +    ${SDLMIXER_LIBRARY}
> +    ${SDLNET_LIBRARY}
> +    ${SDLTTF_LIBRARY}
> +    ${SDLGFX_LIBRARY}
> +    ${PNG_LIBRARY}
> +    ${OPENGL_gl_LIBRARY}
> +    ${GLEW_LIBRARY}
> +)
> +
> +
> +if (CMAKE_SYSTEM_NAME MATCHES "FreeBSD" OR CMAKE_SYSTEM_NAME MATCHES "OpenBSD")
> +  target_link_libraries(widelands_ball_of_mud ${EXECINFO_LIBRARY})
> +endif (CMAKE_SYSTEM_NAME MATCHES "FreeBSD" OR CMAKE_SYSTEM_NAME MATCHES "OpenBSD")
> +
> +if (APPLE OR WIN32 OR CMAKE_SYSTEM_NAME MATCHES "FreeBSD")
> +  target_link_libraries(widelands_ball_of_mud ${INTL_LIBRARY})
> +endif (APPLE OR WIN32 OR CMAKE_SYSTEM_NAME MATCHES "FreeBSD")
> +
> +if (WIN32)
> +  target_link_libraries(widelands_ball_of_mud wsock32)
> +endif (WIN32)
> +
> +install(TARGETS widelands DESTINATION ${WL_INSTALL_BINDIR} COMPONENT ExecutableFiles)
> 
> === modified file 'src/ai/defaultai.cc'
> --- src/ai/defaultai.cc	2014-06-16 13:24:45 +0000
> +++ src/ai/defaultai.cc	2014-06-16 13:55:52 +0000
> @@ -28,10 +28,10 @@
>  #include <typeinfo>
>  
>  #include "ai/ai_hints.h"
> +#include "base/log.h"
>  #include "economy/economy.h"
>  #include "economy/flag.h"
>  #include "economy/road.h"
> -#include "log.h"
>  #include "logic/constructionsite.h"
>  #include "logic/findimmovable.h"
>  #include "logic/findnode.h"
> 
> === modified file 'src/ai/defaultai.h'
> --- src/ai/defaultai.h	2014-06-04 19:55:35 +0000
> +++ src/ai/defaultai.h	2014-06-16 13:55:52 +0000
> @@ -23,8 +23,8 @@
>  #include <map>
>  
>  #include "ai/ai_help_structs.h"
> +#include "base/i18n.h"
>  #include "computer_player.h"
> -#include "i18n.h"
>  
>  namespace Widelands {
>  struct Road;
> 
> === added directory 'src/base'
> === added file 'src/base/CMakeLists.txt'
> --- src/base/CMakeLists.txt	1970-01-01 00:00:00 +0000
> +++ src/base/CMakeLists.txt	2014-06-16 13:55:52 +0000
> @@ -0,0 +1,21 @@
> +wl_library(base_log
> +  SRCS
> +    log.cc
> +    log.h
> +)
> +
> +wl_library(base_exceptions
> +  SRCS
> +    exceptions.cc
> +    warning.h
> +    wexception.h
> +)
> +
> +wl_library(base_i18n
> +  SRCS
> +    i18n.h
> +    i18n.cc
> +  DEPENDS
> +    base_log
> +    ${INTL_LIBRARY}
> +)
> 
> === renamed file 'src/exceptions.cc' => 'src/base/exceptions.cc'
> --- src/exceptions.cc	2013-10-08 21:20:32 +0000
> +++ src/base/exceptions.cc	2014-06-16 13:55:52 +0000
> @@ -17,8 +17,8 @@
>   *
>   */
>  
> -#include "warning.h"
> -#include "wexception.h"
> +#include "base/warning.h"
> +#include "base/wexception.h"
>  
>  #include <cstdarg>
>  #include <cstdio>
> 
> === renamed file 'src/i18n.cc' => 'src/base/i18n.cc'
> --- src/i18n.cc	2013-07-26 19:16:51 +0000
> +++ src/base/i18n.cc	2014-06-16 13:55:52 +0000
> @@ -17,16 +17,16 @@
>   *
>   */
>  
> -#include "i18n.h"
> +#include "base/i18n.h"
>  
>  #include <cstdlib>
> +#include <map>
>  #include <utility>
>  
>  #include <config.h>
>  #include <libintl.h>
>  
> -#include "log.h"
> -#include "profile/profile.h"
> +#include "base/log.h"
>  
>  #ifdef __APPLE__
>  # if LIBINTL_VERSION >= 0x001201
> @@ -49,12 +49,16 @@
>  /// A stack of textdomains. On entering a new textdomain, the old one gets
>  /// pushed on the stack. On leaving the domain again it is popped back.
>  /// \see grab_texdomain()
> +namespace  {
> +
>  std::vector<std::pair<std::string, std::string> > textdomains;
>  
>  std::string env_locale;
>  std::string locale;
>  std::string localedir;
>  
> +}  // namespace
> +
>  /**
>   * Translate a string with gettext
>   * \todo Implement a workaround if gettext was not found
> @@ -148,6 +152,64 @@
>   * Code inspired by wesnoth.org
>   */
>  void set_locale(std::string name) {
> +	const std::map<std::string, std::string> kAlternatives = {
> +		{"ar", "ar,ar_AR,ar_AE,ar_BH,ar_DZ,ar_EG,ar_IN,ar_IQ,ar_JO,ar_KW,ar_LB,ar_LY,ar_MA,ar_OM,ar_"
> +		"QA,ar_SA,ar_SD,ar_SY,ar_TN,ar_YE"},
> +		{"ast", "ast,ast_ES"},
> +		{"ca", "ca,ca_ES,ca_ES@valencia,ca_FR,ca_IT"},
> +		{"cs", "cs,cs_CZ"},
> +		{"da", "da,da_DK"},
> +		{"de", "de,de_DE,de_AT,de_CH,de_LI,de_LU,de_BE"},
> +		{"el", "el,el_GR,el_CY"},
> +		{"en", "en,en_US,en_GB,en_AU,en_CA,en_AG,en_BW,en_DK,en_HK,en_IE,en_IN,en_NG,en_NZ,en_PH,en_"
> +		"SG,en_ZA,en_ZW"},
> +		{"en_AU", "en_AU,en,en_US,en_GB"},
> +		{"en_CA", "en_CA,en,en_US,en_GB"},
> +		{"en_GB", "en_GB,en,en_US"},
> +		{"eo", "eo,eo_XX"},
> +		{"es", "es,es_ES,es_MX,es_US"},
> +		{"et", "et,et_EE"},
> +		{"eu", "eu,eu_ES,eu_FR"},
> +		{"fa", "fa,fa_IR"},
> +		{"fi", "fi,fi_FI"},
> +		{"fr", "fr,fr_FR,fr_CH,fr_BE,fr_CA,fr_LU"},
> +		{"gd", "gd,gd_GB,gd_CA"},
> +		{"gl", "ga,gl_ES"},
> +		{"he", "he,he_IL"},
> +		{"hr", "hr,hr_HR,hr_RS,hr_BA,hr_ME,hr_HU"},
> +		{"hu", "hu,hu_HU"},
> +		{"ia", "ia"},
> +		{"id", "id,id_ID"},
> +		{"it", "it,it_IT,it_CH"},
> +		{"ja", "ja,ja_JP"},
> +		{"jv", "jv,jv_ID,jv_MY,jv_SR,jv_NC"},
> +		{"ka", "ka,ka_GE"},
> +		{"ko", "ko,ko_KR"},
> +		{"la", "la,la_AU,la_VA"},
> +		{"mr", "mr,mr_IN"},
> +		{"ms", "ms,ms_MY"},
> +		{"my", "my,my_MM"},
> +		{"nb", "nb,nb_NO"},
> +		{"nl", "nl,nl_NL,nl_BE,nl_AW"},
> +		{"nn", "nn,nn_NO"},
> +		{"oc", "oc,oc_FR"},
> +		{"pl", "pl,pl_PL"},
> +		{"pt", "pt,pt_PT,pt_BR"},
> +		{"pt_BR", "pt_BR,pt,pt_PT"},
> +		{"ru", "ru,ru_RU,ru_UA"},
> +		{"si", "si,si_LK"},
> +		{"sk", "sk,sk_SK"},
> +		{"sl", "sl,sl_SI"},
> +		{"sr", "sr,sr_RS,sr_ME"},
> +		{"sv", "sv,sv_FI,sv_SE"},
> +		{"tr", "tr,tr_TR,tr_CY"},
> +		{"uk", "uk,uk_UA"},
> +		{"vi", "vi,vi_VN"},
> +		{"zh", "zh,zh_CN,zh_TW,zh_HK,zh_MO"},
> +		{"zh_CN", "zh_CN,zh,zh_TW,zh_HK,zh_MO"},
> +		{"zh_TW", "zh_TW,zh_HK,zh_MO,zh,zh_CN"},
> +	};
> +
>  	std::string lang(name);
>  
>  	log("selected language: %s\n", lang.empty()?"(system language)":lang.c_str());
> @@ -164,14 +226,15 @@
>  	if (lang.empty()) {
>  		// reload system language, if selected
>  		lang = env_locale;
> -		alt_str = env_locale + ",";
> +		alt_str = env_locale;
>  	} else {
> -		// otherwise, read alternatives from file
> -		Profile loc("txts/locales");
> -		Section * s = &loc.pull_section("alternatives");
> -		alt_str = s->get_string(lang.c_str(), lang.c_str());
> -		alt_str += ",";
> +		alt_str = lang;
> +		// otherwise, try alternatives.
> +		if (kAlternatives.count(lang)) {
> +			alt_str = kAlternatives.at(lang);
> +		}
>  	}
> +	alt_str += ",";
>  
>  	// Somehow setlocale doesn't behave same on
>  	// some systems.
> 
> === renamed file 'src/i18n.h' => 'src/base/i18n.h'
> --- src/i18n.h	2013-07-26 19:16:51 +0000
> +++ src/base/i18n.h	2014-06-16 13:55:52 +0000
> @@ -26,7 +26,7 @@
>  
>  #include <config.h>
>  
> -#include "port.h"
> +#include "base/port.h"
>  
>  ///A macro to make i18n more readable and aid in tagging strings for translation
>  #define _(str) i18n::translate(str)
> 
> === renamed file 'src/log.cc' => 'src/base/log.cc'
> --- src/log.cc	2013-07-26 05:57:03 +0000
> +++ src/base/log.cc	2014-06-16 13:55:52 +0000
> @@ -17,14 +17,12 @@
>   *
>   */
>  
> -#include "log.h"
> +#include "base/log.h"
>  
>  #include <cstdarg>
>  #include <cstdio>
>  #include <iostream>
>  
> -#include "io/dedicated_log.h"
> -
>  // Default to stdout for logging.
>  std::ostream & wout = std::cout;
>  
> @@ -41,5 +39,3 @@
>  	wout << buffer;
>  	wout.flush();
>  }
> -
> -
> 
> === renamed file 'src/log.h' => 'src/base/log.h'
> === renamed file 'src/port.h' => 'src/base/port.h'
> === renamed file 'src/warning.h' => 'src/base/warning.h'
> --- src/warning.h	2014-02-22 18:04:02 +0000
> +++ src/base/warning.h	2014-06-16 13:55:52 +0000
> @@ -26,7 +26,7 @@
>  
>  #include <stdint.h>
>  
> -#include "port.h"
> +#include "base/port.h"
>  
>  #ifndef PRINTF_FORMAT
>  #ifdef __GNUC__
> 
> === renamed file 'src/wexception.h' => 'src/base/wexception.h'
> --- src/wexception.h	2014-02-22 18:04:02 +0000
> +++ src/base/wexception.h	2014-06-16 13:55:52 +0000
> @@ -26,7 +26,7 @@
>  
>  #include <stdint.h>
>  
> -#include "port.h"
> +#include "base/port.h"
>  
>  #ifndef PRINTF_FORMAT
>  #ifdef __GNUC__
> 
> === modified file 'src/campvis.cc'
> --- src/campvis.cc	2013-07-26 19:16:51 +0000
> +++ src/campvis.cc	2014-06-16 13:55:52 +0000
> @@ -24,9 +24,9 @@
>  
>  #include <sys/stat.h>
>  
> +#include "base/wexception.h"
>  #include "io/filesystem/filesystem.h"
>  #include "profile/profile.h"
> -#include "wexception.h"
>  
>  /**
>   * Get the path of campaign visibility save-file
> 
> === modified file 'src/economy/cmd_call_economy_balance.cc'
> --- src/economy/cmd_call_economy_balance.cc	2014-05-11 07:38:01 +0000
> +++ src/economy/cmd_call_economy_balance.cc	2014-06-16 13:55:52 +0000
> @@ -19,6 +19,7 @@
>  
>  #include "economy/cmd_call_economy_balance.h"
>  
> +#include "base/wexception.h"
>  #include "economy/economy.h"
>  #include "io/fileread.h"
>  #include "io/filewrite.h"
> @@ -26,7 +27,6 @@
>  #include "logic/player.h"
>  #include "map_io/widelands_map_map_object_loader.h"
>  #include "map_io/widelands_map_map_object_saver.h"
> -#include "wexception.h"
>  
>  namespace Widelands {
>  
> 
> === modified file 'src/economy/economy.cc'
> --- src/economy/economy.cc	2014-06-16 13:33:29 +0000
> +++ src/economy/economy.cc	2014-06-16 13:55:52 +0000
> @@ -23,6 +23,7 @@
>  
>  #include <boost/bind.hpp>
>  
> +#include "base/wexception.h"
>  #include "economy/cmd_call_economy_balance.h"
>  #include "economy/flag.h"
>  #include "economy/request.h"
> @@ -36,7 +37,6 @@
>  #include "logic/tribe.h"
>  #include "logic/warehouse.h"
>  #include "upcast.h"
> -#include "wexception.h"
>  
>  namespace Widelands {
>  
> 
> === modified file 'src/economy/flag.cc'
> --- src/economy/flag.cc	2014-04-21 10:27:29 +0000
> +++ src/economy/flag.cc	2014-06-16 13:55:52 +0000
> @@ -19,6 +19,7 @@
>  
>  #include "economy/flag.h"
>  
> +#include "base/wexception.h"
>  #include "container_iterate.h"
>  #include "economy/economy.h"
>  #include "economy/portdock.h"
> @@ -34,7 +35,6 @@
>  #include "logic/warehouse.h"
>  #include "logic/worker.h"
>  #include "upcast.h"
> -#include "wexception.h"
>  
>  namespace Widelands {
>  
> 
> === modified file 'src/economy/fleet.cc'
> --- src/economy/fleet.cc	2014-05-11 07:38:01 +0000
> +++ src/economy/fleet.cc	2014-06-16 13:55:52 +0000
> @@ -19,6 +19,8 @@
>  
>  #include "economy/fleet.h"
>  
> +#include <memory>
> +
>  #include "container_iterate.h"
>  #include "economy/economy.h"
>  #include "economy/flag.h"
> 
> === modified file 'src/economy/idleworkersupply.cc'
> --- src/economy/idleworkersupply.cc	2014-02-22 18:04:02 +0000
> +++ src/economy/idleworkersupply.cc	2014-06-16 13:55:52 +0000
> @@ -19,6 +19,7 @@
>  
>  #include "economy/idleworkersupply.h"
>  
> +#include "base/wexception.h"
>  #include "economy/economy.h"
>  #include "economy/request.h"
>  #include "logic/game.h"
> @@ -28,7 +29,6 @@
>  #include "logic/tribe.h"
>  #include "logic/warehouse.h"
>  #include "logic/worker.h"
> -#include "wexception.h"
>  
>  namespace Widelands {
>  
> 
> === modified file 'src/economy/portdock.cc'
> --- src/economy/portdock.cc	2014-06-10 20:38:57 +0000
> +++ src/economy/portdock.cc	2014-06-16 13:55:52 +0000
> @@ -21,12 +21,12 @@
>  
>  #include <memory>
>  
> +#include "base/log.h"
>  #include "container_iterate.h"
>  #include "economy/fleet.h"
>  #include "economy/ware_instance.h"
>  #include "economy/wares_queue.h"
>  #include "io/filewrite.h"
> -#include "log.h"
>  #include "logic/expedition_bootstrap.h"
>  #include "logic/game.h"
>  #include "logic/game_data_error.h"
> 
> === modified file 'src/economy/portdock.h'
> --- src/economy/portdock.h	2014-02-22 18:04:02 +0000
> +++ src/economy/portdock.h	2014-06-16 13:55:52 +0000
> @@ -20,6 +20,8 @@
>  #ifndef ECONOMY_PORTDOCK_H
>  #define ECONOMY_PORTDOCK_H
>  
> +#include <memory>
> +
>  #include "logic/immovable.h"
>  #include "logic/wareworker.h"
>  #include "economy/shippingitem.h"
> 
> === modified file 'src/economy/supply_list.cc'
> --- src/economy/supply_list.cc	2013-07-26 20:19:36 +0000
> +++ src/economy/supply_list.cc	2014-06-16 13:55:52 +0000
> @@ -19,10 +19,10 @@
>  
>  #include "economy/supply_list.h"
>  
> +#include "base/wexception.h"
>  #include "container_iterate.h"
>  #include "economy/request.h"
>  #include "economy/supply.h"
> -#include "wexception.h"
>  
>  namespace Widelands {
>  
> @@ -62,4 +62,3 @@
>  }
>  
>  }
> -
> 
> === modified file 'src/economy/test/CMakeLists.txt'
> --- src/economy/test/CMakeLists.txt	2012-04-18 20:09:45 +0000
> +++ src/economy/test/CMakeLists.txt	2014-06-16 13:55:52 +0000
> @@ -1,9 +1,9 @@
> -file(GLOB WL_TEST_ECONOMY_SRCS *.cc)
> -
> -add_executable(test_economy ${WL_TEST_ECONOMY_SRCS} ${TEST_EXTRA_SOURCES})
> -
> -target_link_libraries(test_economy widelands_all)
> -target_link_libraries(test_economy ${Boost_UNIT_TEST_FRAMEWORK_LIBRARY})
> -target_link_libraries(test_economy ${TEST_EXTRA_LIBS})
> -
> -add_test(test_economy test_economy)
> +wl_test(test_economy
> +  SRCS
> +    ./economy_test_main.cc
> +    ./test_economy.cc
> +    ./test_road.cc
> +    ./test_routing.cc
> +  DEPENDS
> +    widelands_ball_of_mud
> +)
> 
> === modified file 'src/economy/test/test_road.cc'
> --- src/economy/test/test_road.cc	2014-02-22 18:04:02 +0000
> +++ src/economy/test/test_road.cc	2014-06-16 13:55:52 +0000
> @@ -102,4 +102,3 @@
>  }
>  
>  BOOST_AUTO_TEST_SUITE_END()
> -
> 
> === modified file 'src/economy/ware_instance.cc'
> --- src/economy/ware_instance.cc	2014-05-11 07:38:01 +0000
> +++ src/economy/ware_instance.cc	2014-06-16 13:55:52 +0000
> @@ -19,6 +19,9 @@
>  
>  #include "economy/ware_instance.h"
>  
> +#include <memory>
> +
> +#include "base/wexception.h"
>  #include "economy/economy.h"
>  #include "economy/flag.h"
>  #include "economy/fleet.h"
> @@ -35,7 +38,6 @@
>  #include "map_io/widelands_map_map_object_loader.h"
>  #include "map_io/widelands_map_map_object_saver.h"
>  #include "upcast.h"
> -#include "wexception.h"
>  
>  namespace Widelands {
>  
> 
> === modified file 'src/economy/wares_queue.cc'
> --- src/economy/wares_queue.cc	2014-05-11 07:38:01 +0000
> +++ src/economy/wares_queue.cc	2014-06-16 13:55:52 +0000
> @@ -19,6 +19,7 @@
>  
>  #include "economy/wares_queue.h"
>  
> +#include "base/wexception.h"
>  #include "economy/economy.h"
>  #include "economy/request.h"
>  #include "io/fileread.h"
> @@ -29,7 +30,6 @@
>  #include "logic/tribe.h"
>  #include "map_io/widelands_map_map_object_loader.h"
>  #include "map_io/widelands_map_map_object_saver.h"
> -#include "wexception.h"
>  
>  namespace Widelands {
>  
> 
> === modified file 'src/editor/editorinteractive.cc'
> --- src/editor/editorinteractive.cc	2014-06-10 20:38:57 +0000
> +++ src/editor/editorinteractive.cc	2014-06-16 13:55:52 +0000
> @@ -26,6 +26,8 @@
>  #include <SDL_keysym.h>
>  #include <boost/format.hpp>
>  
> +#include "base/i18n.h"
> +#include "base/warning.h"
>  #include "editor/tools/editor_delete_immovable_tool.h"
>  #include "editor/ui_menus/editor_main_menu.h"
>  #include "editor/ui_menus/editor_main_menu_load_map.h"
> @@ -34,7 +36,6 @@
>  #include "editor/ui_menus/editor_tool_menu.h"
>  #include "editor/ui_menus/editor_toolsize_menu.h"
>  #include "graphic/graphic.h"
> -#include "i18n.h"
>  #include "logic/map.h"
>  #include "logic/player.h"
>  #include "logic/tribe.h"
> @@ -45,7 +46,6 @@
>  #include "scripting/scripting.h"
>  #include "ui_basic/messagebox.h"
>  #include "ui_basic/progresswindow.h"
> -#include "warning.h"
>  #include "wlapplication.h"
>  #include "wui/game_tips.h"
>  #include "wui/interactive_base.h"
> 
> === modified file 'src/editor/tools/editor_info_tool.cc'
> --- src/editor/tools/editor_info_tool.cc	2014-03-09 10:28:39 +0000
> +++ src/editor/tools/editor_info_tool.cc	2014-06-16 13:55:52 +0000
> @@ -23,8 +23,8 @@
>  
>  #include <boost/format.hpp>
>  
> +#include "base/i18n.h"
>  #include "editor/editorinteractive.h"
> -#include "i18n.h"
>  #include "logic/map.h"
>  #include "logic/world.h"
>  #include "ui_basic/multilinetextarea.h"
> 
> === modified file 'src/editor/ui_menus/editor_main_menu.cc'
> --- src/editor/ui_menus/editor_main_menu.cc	2014-04-06 11:58:13 +0000
> +++ src/editor/ui_menus/editor_main_menu.cc	2014-06-16 13:55:52 +0000
> @@ -19,13 +19,13 @@
>  
>  #include "editor/ui_menus/editor_main_menu.h"
>  
> +#include "base/i18n.h"
>  #include "editor/editorinteractive.h"
>  #include "editor/ui_menus/editor_main_menu_load_map.h"
>  #include "editor/ui_menus/editor_main_menu_map_options.h"
>  #include "editor/ui_menus/editor_main_menu_new_map.h"
>  #include "editor/ui_menus/editor_main_menu_random_map.h"
>  #include "editor/ui_menus/editor_main_menu_save_map.h"
> -#include "i18n.h"
>  #include "ui_fsmenu/fileview.h"
>  
>  //TODO: these should be defined globally for the whole UI
> 
> === modified file 'src/editor/ui_menus/editor_main_menu_load_map.cc'
> --- src/editor/ui_menus/editor_main_menu_load_map.cc	2014-04-06 16:58:10 +0000
> +++ src/editor/ui_menus/editor_main_menu_load_map.cc	2014-06-16 13:55:52 +0000
> @@ -20,13 +20,15 @@
>  #include "editor/ui_menus/editor_main_menu_load_map.h"
>  
>  #include <cstdio>
> +#include <memory>
>  
>  #include <boost/format.hpp>
>  
> +#include "base/i18n.h"
> +#include "base/wexception.h"
>  #include "editor/editorinteractive.h"
>  #include "editor/tools/editor_set_starting_pos_tool.h"
>  #include "graphic/graphic.h"
> -#include "i18n.h"
>  #include "io/filesystem/layered_filesystem.h"
>  #include "logic/building.h"
>  #include "logic/editor_game_base.h"
> @@ -40,7 +42,6 @@
>  #include "ui_basic/multilinetextarea.h"
>  #include "ui_basic/progresswindow.h"
>  #include "ui_basic/textarea.h"
> -#include "wexception.h"
>  #include "wui/overlay_manager.h"
>  
>  using Widelands::WL_Map_Loader;
> 
> === modified file 'src/editor/ui_menus/editor_main_menu_map_options.cc'
> --- src/editor/ui_menus/editor_main_menu_map_options.cc	2013-07-26 20:19:36 +0000
> +++ src/editor/ui_menus/editor_main_menu_map_options.cc	2014-06-16 13:55:52 +0000
> @@ -21,9 +21,9 @@
>  
>  #include <cstdio>
>  
> +#include "base/i18n.h"
>  #include "editor/editorinteractive.h"
>  #include "graphic/graphic.h"
> -#include "i18n.h"
>  #include "logic/map.h"
>  #include "profile/profile.h"
>  #include "ui_basic/editbox.h"
> 
> === modified file 'src/editor/ui_menus/editor_main_menu_new_map.cc'
> --- src/editor/ui_menus/editor_main_menu_new_map.cc	2013-08-05 03:26:31 +0000
> +++ src/editor/ui_menus/editor_main_menu_new_map.cc	2014-06-16 13:55:52 +0000
> @@ -24,9 +24,9 @@
>  #include <string>
>  #include <vector>
>  
> +#include "base/i18n.h"
>  #include "editor/editorinteractive.h"
>  #include "graphic/graphic.h"
> -#include "i18n.h"
>  #include "logic/editor_game_base.h"
>  #include "logic/map.h"
>  #include "logic/world.h"
> 
> === modified file 'src/editor/ui_menus/editor_main_menu_random_map.cc'
> --- src/editor/ui_menus/editor_main_menu_random_map.cc	2013-08-05 03:26:31 +0000
> +++ src/editor/ui_menus/editor_main_menu_random_map.cc	2014-06-16 13:55:52 +0000
> @@ -24,9 +24,9 @@
>  #include <string>
>  #include <vector>
>  
> +#include "base/i18n.h"
>  #include "editor/editorinteractive.h"
>  #include "graphic/graphic.h"
> -#include "i18n.h"
>  #include "logic/editor_game_base.h"
>  #include "logic/map.h"
>  #include "logic/world.h"
> 
> === modified file 'src/editor/ui_menus/editor_main_menu_save_map.cc'
> --- src/editor/ui_menus/editor_main_menu_save_map.cc	2014-06-10 20:38:57 +0000
> +++ src/editor/ui_menus/editor_main_menu_save_map.cc	2014-06-16 13:55:52 +0000
> @@ -26,11 +26,12 @@
>  
>  #include <boost/format.hpp>
>  
> +#include "base/i18n.h"
> +#include "base/wexception.h"
>  #include "constants.h"
>  #include "editor/editorinteractive.h"
>  #include "editor/ui_menus/editor_main_menu_save_map_make_directory.h"
>  #include "graphic/graphic.h"
> -#include "i18n.h"
>  #include "io/filesystem/filesystem.h"
>  #include "io/filesystem/layered_filesystem.h"
>  #include "io/filesystem/zip_filesystem.h"
> @@ -44,7 +45,6 @@
>  #include "ui_basic/multilinetextarea.h"
>  #include "ui_basic/textarea.h"
>  #include "upcast.h"
> -#include "wexception.h"
>  
>  inline Editor_Interactive & Main_Menu_Save_Map::eia() {
>  	return ref_cast<Editor_Interactive, UI::Panel>(*get_parent());
> 
> === modified file 'src/editor/ui_menus/editor_main_menu_save_map_make_directory.cc'
> --- src/editor/ui_menus/editor_main_menu_save_map_make_directory.cc	2013-07-26 20:19:36 +0000
> +++ src/editor/ui_menus/editor_main_menu_save_map_make_directory.cc	2014-06-16 13:55:52 +0000
> @@ -19,9 +19,9 @@
>  
>  #include "editor/ui_menus/editor_main_menu_save_map_make_directory.h"
>  
> +#include "base/i18n.h"
>  #include "constants.h"
>  #include "graphic/graphic.h"
> -#include "i18n.h"
>  #include "ui_basic/button.h"
>  #include "ui_basic/editbox.h"
>  #include "ui_basic/textarea.h"
> 
> === modified file 'src/editor/ui_menus/editor_player_menu.cc'
> --- src/editor/ui_menus/editor_player_menu.cc	2014-05-27 11:01:15 +0000
> +++ src/editor/ui_menus/editor_player_menu.cc	2014-06-16 13:55:52 +0000
> @@ -21,10 +21,11 @@
>  
>  #include <boost/format.hpp>
>  
> +#include "base/i18n.h"
> +#include "base/wexception.h"
>  #include "editor/editorinteractive.h"
>  #include "editor/tools/editor_set_starting_pos_tool.h"
>  #include "graphic/graphic.h"
> -#include "i18n.h"
>  #include "logic/map.h"
>  #include "logic/player.h"
>  #include "logic/tribe.h"
> @@ -32,7 +33,6 @@
>  #include "ui_basic/editbox.h"
>  #include "ui_basic/messagebox.h"
>  #include "ui_basic/textarea.h"
> -#include "wexception.h"
>  #include "wui/overlay_manager.h"
>  
>  #define UNDEFINED_TRIBE_NAME "<undefined>"
> 
> === modified file 'src/editor/ui_menus/editor_player_menu_allowed_buildings_menu.cc'
> --- src/editor/ui_menus/editor_player_menu_allowed_buildings_menu.cc	2014-04-21 09:19:14 +0000
> +++ src/editor/ui_menus/editor_player_menu_allowed_buildings_menu.cc	2014-06-16 13:55:52 +0000
> @@ -19,8 +19,8 @@
>  
>  #include "editor/ui_menus/editor_player_menu_allowed_buildings_menu.h"
>  
> +#include "base/i18n.h"
>  #include "graphic/graphic.h"
> -#include "i18n.h"
>  #include "logic/map.h"
>  #include "logic/player.h"
>  #include "logic/tribe.h"
> 
> === modified file 'src/editor/ui_menus/editor_tool_change_height_options_menu.cc'
> --- src/editor/ui_menus/editor_tool_change_height_options_menu.cc	2014-02-24 16:42:51 +0000
> +++ src/editor/ui_menus/editor_tool_change_height_options_menu.cc	2014-06-16 13:55:52 +0000
> @@ -21,11 +21,11 @@
>  
>  #include <cstdio>
>  
> +#include "base/i18n.h"
>  #include "editor/editorinteractive.h"
>  #include "editor/tools/editor_increase_height_tool.h"
>  #include "editor/tools/editor_set_height_tool.h"
>  #include "graphic/graphic.h"
> -#include "i18n.h"
>  #include "ui_basic/button.h"
>  
>  #define width  20
> 
> === modified file 'src/editor/ui_menus/editor_tool_change_resources_options_menu.cc'
> --- src/editor/ui_menus/editor_tool_change_resources_options_menu.cc	2014-03-09 18:32:29 +0000
> +++ src/editor/ui_menus/editor_tool_change_resources_options_menu.cc	2014-06-16 13:55:52 +0000
> @@ -21,11 +21,11 @@
>  
>  #include <cstdio>
>  
> +#include "base/i18n.h"
>  #include "editor/editorinteractive.h"
>  #include "editor/tools/editor_increase_resources_tool.h"
>  #include "editor/tools/editor_set_resources_tool.h"
>  #include "graphic/graphic.h"
> -#include "i18n.h"
>  #include "logic/map.h"
>  #include "logic/widelands.h"
>  #include "logic/world.h"
> 
> === modified file 'src/editor/ui_menus/editor_tool_menu.cc'
> --- src/editor/ui_menus/editor_tool_menu.cc	2014-03-16 20:55:15 +0000
> +++ src/editor/ui_menus/editor_tool_menu.cc	2014-06-16 13:55:52 +0000
> @@ -19,6 +19,7 @@
>  
>  #include "editor/ui_menus/editor_tool_menu.h"
>  
> +#include "base/i18n.h"
>  #include "editor/editorinteractive.h"
>  #include "editor/tools/editor_decrease_height_tool.h"
>  #include "editor/tools/editor_decrease_resources_tool.h"
> @@ -36,7 +37,6 @@
>  #include "editor/ui_menus/editor_tool_place_immovable_options_menu.h"
>  #include "editor/ui_menus/editor_tool_set_terrain_options_menu.h"
>  #include "graphic/graphic.h"
> -#include "i18n.h"
>  #include "ui_basic/radiobutton.h"
>  #include "ui_basic/textarea.h"
>  
> 
> === modified file 'src/editor/ui_menus/editor_tool_noise_height_options_menu.cc'
> --- src/editor/ui_menus/editor_tool_noise_height_options_menu.cc	2013-07-26 20:19:36 +0000
> +++ src/editor/ui_menus/editor_tool_noise_height_options_menu.cc	2014-06-16 13:55:52 +0000
> @@ -21,12 +21,12 @@
>  
>  #include <cstdio>
>  
> +#include "base/i18n.h"
>  #include "editor/editorinteractive.h"
>  #include "editor/tools/editor_decrease_height_tool.h"
>  #include "editor/tools/editor_increase_height_tool.h"
>  #include "editor/tools/editor_noise_height_tool.h"
>  #include "graphic/graphic.h"
> -#include "i18n.h"
>  
>  
>  using Widelands::Field;
> 
> === modified file 'src/editor/ui_menus/editor_tool_place_bob_options_menu.cc'
> --- src/editor/ui_menus/editor_tool_place_bob_options_menu.cc	2014-03-31 20:21:27 +0000
> +++ src/editor/ui_menus/editor_tool_place_bob_options_menu.cc	2014-06-16 13:55:52 +0000
> @@ -21,10 +21,10 @@
>  
>  #include <SDL_keysym.h>
>  
> +#include "base/i18n.h"
>  #include "editor/editorinteractive.h"
>  #include "editor/tools/editor_place_bob_tool.h"
>  #include "graphic/graphic.h"
> -#include "i18n.h"
>  #include "logic/critter_bob.h"
>  #include "logic/map.h"
>  #include "logic/world.h"
> 
> === modified file 'src/editor/ui_menus/editor_tool_place_immovable_options_menu.cc'
> --- src/editor/ui_menus/editor_tool_place_immovable_options_menu.cc	2014-04-20 20:02:13 +0000
> +++ src/editor/ui_menus/editor_tool_place_immovable_options_menu.cc	2014-06-16 13:55:52 +0000
> @@ -21,10 +21,10 @@
>  
>  #include <SDL_keysym.h>
>  
> +#include "base/i18n.h"
>  #include "editor/editorinteractive.h"
>  #include "editor/tools/editor_place_immovable_tool.h"
>  #include "graphic/graphic.h"
> -#include "i18n.h"
>  #include "logic/map.h"
>  #include "logic/world.h"
>  #include "ui_basic/box.h"
> @@ -77,7 +77,7 @@
>  	Point pos;
>  	uint32_t cur_x = immovables_in_row;
>  
> -	UI::Box * box;
> +	UI::Box * box = nullptr;
>  	for (int i = 0; i < nr_immovables; ++cur_x, ++i) {
>  		if (cur_x == immovables_in_row) {
>  			cur_x = 0;
> 
> === modified file 'src/editor/ui_menus/editor_tool_set_terrain_options_menu.cc'
> --- src/editor/ui_menus/editor_tool_set_terrain_options_menu.cc	2014-04-21 10:47:03 +0000
> +++ src/editor/ui_menus/editor_tool_set_terrain_options_menu.cc	2014-06-16 13:55:52 +0000
> @@ -21,6 +21,7 @@
>  
>  #include <SDL_keysym.h>
>  
> +#include "base/i18n.h"
>  #include "editor/editorinteractive.h"
>  #include "editor/tools/editor_set_terrain_tool.h"
>  #include "graphic/graphic.h"
> @@ -28,7 +29,6 @@
>  #include "graphic/rendertarget.h"
>  #include "graphic/surface.h"
>  #include "graphic/texture.h"
> -#include "i18n.h"
>  #include "logic/map.h"
>  #include "logic/world.h"
>  #include "logic/worlddata.h"
> 
> === modified file 'src/editor/ui_menus/editor_toolsize_menu.cc'
> --- src/editor/ui_menus/editor_toolsize_menu.cc	2014-02-24 16:42:51 +0000
> +++ src/editor/ui_menus/editor_toolsize_menu.cc	2014-06-16 13:55:52 +0000
> @@ -21,10 +21,10 @@
>  
>  #include <cstdio>
>  
> +#include "base/i18n.h"
>  #include "editor/editorinteractive.h"
>  #include "editor/tools/editor_tool.h"
>  #include "graphic/graphic.h"
> -#include "i18n.h"
>  
>  inline Editor_Interactive & Editor_Toolsize_Menu::eia() {
>  	return ref_cast<Editor_Interactive, UI::Panel>(*get_parent());
> 
> === modified file 'src/game_io/game_data_packet.h'
> --- src/game_io/game_data_packet.h	2014-03-24 21:47:08 +0000
> +++ src/game_io/game_data_packet.h	2014-06-16 13:55:52 +0000
> @@ -20,7 +20,7 @@
>  #ifndef GAME_DATA_PACKET_H
>  #define GAME_DATA_PACKET_H
>  
> -#include "wexception.h"
> +#include "base/wexception.h"
>  
>  class FileSystem;
>  
> 
> === modified file 'src/game_io/game_loader.cc'
> --- src/game_io/game_loader.cc	2014-02-22 18:04:02 +0000
> +++ src/game_io/game_loader.cc	2014-06-16 13:55:52 +0000
> @@ -22,6 +22,7 @@
>  #include <boost/bind.hpp>
>  #include <boost/signals2.hpp>
>  
> +#include "base/log.h"
>  #include "game_io/game_cmd_queue_data_packet.h"
>  #include "game_io/game_game_class_data_packet.h"
>  #include "game_io/game_interactive_player_data_packet.h"
> @@ -30,7 +31,6 @@
>  #include "game_io/game_player_info_data_packet.h"
>  #include "game_io/game_preload_data_packet.h"
>  #include "io/filesystem/layered_filesystem.h"
> -#include "log.h"
>  #include "logic/cmd_expire_message.h"
>  #include "logic/game.h"
>  #include "logic/player.h"
> 
> === modified file 'src/game_io/game_saver.cc'
> --- src/game_io/game_saver.cc	2014-02-22 18:04:02 +0000
> +++ src/game_io/game_saver.cc	2014-06-16 13:55:52 +0000
> @@ -19,6 +19,7 @@
>  
>  #include "game_io/game_saver.h"
>  
> +#include "base/log.h"
>  #include "game_io/game_cmd_queue_data_packet.h"
>  #include "game_io/game_game_class_data_packet.h"
>  #include "game_io/game_interactive_player_data_packet.h"
> @@ -27,7 +28,6 @@
>  #include "game_io/game_player_info_data_packet.h"
>  #include "game_io/game_preload_data_packet.h"
>  #include "io/filesystem/filesystem.h"
> -#include "log.h"
>  #include "logic/game.h"
>  #include "scoped_timer.h"
>  
> 
> === modified file 'src/game_io/game_saver.h'
> --- src/game_io/game_saver.h	2013-09-22 18:01:36 +0000
> +++ src/game_io/game_saver.h	2014-06-16 13:55:52 +0000
> @@ -20,7 +20,7 @@
>  #ifndef GAME_SAVER_H
>  #define GAME_SAVER_H
>  
> -#include "wexception.h"
> +#include "base/wexception.h"
>  
>  class FileSystem;
>  
> 
> === renamed file 'src/align.cc' => 'src/graphic/align.cc'
> --- src/align.cc	2013-02-10 14:55:10 +0000
> +++ src/graphic/align.cc	2014-06-16 13:55:52 +0000
> @@ -17,7 +17,7 @@
>   *
>   */
>  
> -#include "align.h"
> +#include "graphic/align.h"
>  
>  namespace UI {
>  
> 
> === renamed file 'src/align.h' => 'src/graphic/align.h'
> === modified file 'src/graphic/animation.cc'
> --- src/graphic/animation.cc	2014-06-16 13:24:45 +0000
> +++ src/graphic/animation.cc	2014-06-16 13:55:52 +0000
> @@ -29,6 +29,9 @@
>  #include <boost/format.hpp>
>  #include <boost/lexical_cast.hpp>
>  
> +#include "base/i18n.h"
> +#include "base/log.h"
> +#include "base/wexception.h"
>  #include "constants.h"
>  #include "container_iterate.h"
>  #include "graphic/diranimations.h"
> @@ -39,14 +42,11 @@
>  #include "graphic/surface.h"
>  #include "graphic/surface_cache.h"
>  #include "helper.h"
> -#include "i18n.h"
>  #include "io/filesystem/layered_filesystem.h"
> -#include "log.h"
>  #include "logic/bob.h"
>  #include "logic/instances.h"  // For Map_Object_Descr.
>  #include "profile/profile.h"
>  #include "sound/sound_handler.h"
> -#include "wexception.h"
>  
>  
>  using namespace std;
> 
> === modified file 'src/graphic/animation.h'
> --- src/graphic/animation.h	2014-04-06 15:46:29 +0000
> +++ src/graphic/animation.h	2014-06-16 13:55:52 +0000
> @@ -27,8 +27,8 @@
>  
>  #include <boost/utility.hpp>
>  
> +#include "graphic/rect.h"
>  #include "point.h"
> -#include "rect.h"
>  
>  class Image;
>  class Surface;
> 
> === modified file 'src/graphic/font_handler.cc'
> --- src/graphic/font_handler.cc	2014-02-22 18:04:02 +0000
> +++ src/graphic/font_handler.cc	2014-06-16 13:55:52 +0000
> @@ -26,13 +26,13 @@
>  #include <SDL_ttf.h>
>  #include <boost/algorithm/string.hpp>
>  
> +#include "base/log.h"
> +#include "base/wexception.h"
>  #include "graphic/graphic.h"
>  #include "graphic/in_memory_image.h"
>  #include "graphic/rendertarget.h"
>  #include "graphic/surface.h"
>  #include "graphic/wordwrap.h"
> -#include "log.h"
> -#include "wexception.h"
>  
>  namespace UI {
>  
> 
> === modified file 'src/graphic/font_handler.h'
> --- src/graphic/font_handler.h	2013-07-26 19:16:51 +0000
> +++ src/graphic/font_handler.h	2014-06-16 13:55:52 +0000
> @@ -23,7 +23,7 @@
>  #include <memory>
>  #include <string>
>  
> -#include "align.h"
> +#include "graphic/align.h"
>  #include "point.h"
>  
>  class RenderTarget;
> 
> === modified file 'src/graphic/font_handler1.cc'
> --- src/graphic/font_handler1.cc	2014-06-10 20:38:57 +0000
> +++ src/graphic/font_handler1.cc	2014-06-16 13:55:52 +0000
> @@ -24,6 +24,7 @@
>  #include <boost/lexical_cast.hpp>
>  #include <boost/utility.hpp>
>  
> +#include "base/wexception.h"
>  #include "graphic/graphic.h"
>  #include "graphic/image.h"
>  #include "graphic/image_cache.h"
> @@ -34,7 +35,6 @@
>  #include "graphic/text/rt_render.h"
>  #include "graphic/text/sdl_ttf_font.h"
>  #include "io/filesystem/filesystem.h"
> -#include "wexception.h"
>  
>  
>  using namespace std;
> 
> === modified file 'src/graphic/font_handler1.h'
> --- src/graphic/font_handler1.h	2013-07-25 21:05:20 +0000
> +++ src/graphic/font_handler1.h	2014-06-16 13:55:52 +0000
> @@ -24,7 +24,7 @@
>  
>  #include <boost/noncopyable.hpp>
>  
> -#include "align.h"
> +#include "graphic/align.h"
>  #include "point.h"
>  
>  class FileSystem;
> 
> === modified file 'src/graphic/graphic.cc'
> --- src/graphic/graphic.cc	2014-06-10 20:38:57 +0000
> +++ src/graphic/graphic.cc	2014-06-16 13:55:52 +0000
> @@ -24,10 +24,13 @@
>  #include <memory>
>  
>  #include <SDL_image.h>
> -#include <config.h>
>  
> +#include "base/i18n.h"
> +#include "base/log.h"
> +#include "base/wexception.h"
>  #include "build_info.h"
>  #include "compile_diagnostics.h"
> +#include "config.h"
>  #include "constants.h"
>  #include "container_iterate.h"
>  #include "graphic/animation.h"
> @@ -41,15 +44,12 @@
>  #include "graphic/rendertarget.h"
>  #include "graphic/surface_cache.h"
>  #include "graphic/texture.h"
> -#include "i18n.h"
>  #include "io/fileread.h"
>  #include "io/filesystem/layered_filesystem.h"
>  #include "io/streamwrite.h"
> -#include "log.h"
>  #include "logic/roadtype.h"
>  #include "ui_basic/progresswindow.h"
>  #include "upcast.h"
> -#include "wexception.h"
>  
>  using namespace std;
>  
> 
> === modified file 'src/graphic/graphic.h'
> --- src/graphic/graphic.h	2014-03-16 20:55:15 +0000
> +++ src/graphic/graphic.h	2014-06-16 13:55:52 +0000
> @@ -28,7 +28,7 @@
>  #include <png.h>
>  
>  #include "graphic/image_cache.h"
> -#include "rect.h"
> +#include "graphic/rect.h"
>  
>  #define MAX_RECTS 20
>  
> 
> === modified file 'src/graphic/image_cache.cc'
> --- src/graphic/image_cache.cc	2014-04-21 10:47:03 +0000
> +++ src/graphic/image_cache.cc	2014-06-16 13:55:52 +0000
> @@ -23,11 +23,11 @@
>  #include <map>
>  #include <string>
>  
> +#include "base/log.h"
>  #include "graphic/image.h"
>  #include "graphic/image_loader.h"
>  #include "graphic/surface.h"
>  #include "graphic/surface_cache.h"
> -#include "log.h"
>  
>  
>  using namespace std;
> 
> === modified file 'src/graphic/image_loader_impl.cc'
> --- src/graphic/image_loader_impl.cc	2014-05-10 17:07:11 +0000
> +++ src/graphic/image_loader_impl.cc	2014-06-16 13:55:52 +0000
> @@ -22,11 +22,11 @@
>  #include <SDL.h>
>  #include <SDL_image.h>
>  
> +#include "base/log.h"
> +#include "base/wexception.h"
>  #include "graphic/surface.h"
>  #include "io/fileread.h"
>  #include "io/filesystem/layered_filesystem.h"
> -#include "log.h"
> -#include "wexception.h"
>  
>  using namespace std;
>  
> 
> === renamed file 'src/rect.h' => 'src/graphic/rect.h'
> === modified file 'src/graphic/render/gamerenderer_gl.h'
> --- src/graphic/render/gamerenderer_gl.h	2014-02-22 18:04:02 +0000
> +++ src/graphic/render/gamerenderer_gl.h	2014-06-16 13:55:52 +0000
> @@ -23,9 +23,9 @@
>  #include <memory>
>  #include <vector>
>  
> +#include "graphic/rect.h"
>  #include "graphic/render/gamerenderer.h"
>  #include "logic/widelands.h"
> -#include "rect.h"
>  
>  namespace Widelands {
>  struct Coords;
> 
> === modified file 'src/graphic/render/gl_surface_texture.cc'
> --- src/graphic/render/gl_surface_texture.cc	2014-02-22 18:04:02 +0000
> +++ src/graphic/render/gl_surface_texture.cc	2014-06-16 13:55:52 +0000
> @@ -20,10 +20,10 @@
>  
>  #include <cassert>
>  
> +#include "base/wexception.h"
>  #include "gl_surface.h"  // for glew.h
>  #include "graphic/graphic.h"
>  #include "graphic/render/gl_utils.h"
> -#include "wexception.h"
>  
>  GLuint GLSurfaceTexture::gl_framebuffer_id_;
>  bool use_arb_;
> 
> === modified file 'src/graphic/render/gl_utils.cc'
> --- src/graphic/render/gl_utils.cc	2013-07-26 20:19:36 +0000
> +++ src/graphic/render/gl_utils.cc	2014-06-16 13:55:52 +0000
> @@ -20,7 +20,7 @@
>  
>  #include <SDL_video.h>
>  
> -#include "log.h"
> +#include "base/log.h"
>  
>  /**
>   * Return the smallest power of two greater than or equal to \p x.
> 
> === modified file 'src/graphic/render/sdl_surface.h'
> --- src/graphic/render/sdl_surface.h	2014-02-22 18:04:02 +0000
> +++ src/graphic/render/sdl_surface.h	2014-06-16 13:55:52 +0000
> @@ -20,8 +20,8 @@
>  #ifndef SDL_SURFACE_H
>  #define SDL_SURFACE_H
>  
> +#include "graphic/rect.h"
>  #include "graphic/surface.h"
> -#include "rect.h"
>  #include "rgbcolor.h"
>  
>  /**
> 
> === modified file 'src/graphic/render/terrain_sdl.h'
> --- src/graphic/render/terrain_sdl.h	2013-07-26 20:19:36 +0000
> +++ src/graphic/render/terrain_sdl.h	2014-06-16 13:55:52 +0000
> @@ -22,15 +22,15 @@
>  
>  #include <cassert>
>  
> +#include "base/log.h"
>  #include "constants.h"
>  #include "graphic/graphic.h"
> +#include "graphic/render/sdl_surface.h"
> +#include "graphic/render/vertex.h"
>  #include "graphic/texture.h"
> -#include "log.h"
>  #include "logic/roadtype.h"
>  #include "random.h"
> -#include "graphic/render/sdl_surface.h"
>  #include "upcast.h"
> -#include "vertex.h"
>  #include "wui/mapviewpixelconstants.h"
>  
>  ///Must be a power of two
> 
> === renamed file 'src/vertex.h' => 'src/graphic/render/vertex.h'
> === modified file 'src/graphic/rendertarget.cc'
> --- src/graphic/rendertarget.cc	2014-03-18 18:18:37 +0000
> +++ src/graphic/rendertarget.cc	2014-06-16 13:55:52 +0000
> @@ -19,11 +19,11 @@
>  
>  #include "graphic/rendertarget.h"
>  
> +#include "base/log.h"
>  #include "graphic/animation.h"
>  #include "graphic/graphic.h"
>  #include "graphic/image_transformations.h"
>  #include "graphic/surface.h"
> -#include "log.h"
>  #include "logic/player.h"
>  #include "logic/tribe.h"
>  #include "upcast.h"
> 
> === modified file 'src/graphic/rendertarget.h'
> --- src/graphic/rendertarget.h	2014-03-16 20:55:15 +0000
> +++ src/graphic/rendertarget.h	2014-06-16 13:55:52 +0000
> @@ -22,10 +22,10 @@
>  
>  #include <vector>
>  
> -#include "align.h"
> +#include "graphic/align.h"
>  #include "graphic/compositemode.h"
>  #include "graphic/image.h"
> -#include "rect.h"
> +#include "graphic/rect.h"
>  #include "rgbcolor.h"
>  
>  class Surface;
> 
> === modified file 'src/graphic/richtext.cc'
> --- src/graphic/richtext.cc	2014-02-22 18:04:02 +0000
> +++ src/graphic/richtext.cc	2014-06-16 13:55:52 +0000
> @@ -23,9 +23,9 @@
>  #include "graphic/font_handler.h"
>  #include "graphic/graphic.h"
>  #include "graphic/image.h"
> +#include "graphic/rect.h"
>  #include "graphic/rendertarget.h"
> -#include "rect.h"
> -#include "text_parser.h"
> +#include "graphic/text_parser.h"
>  
>  namespace UI {
>  
> 
> === modified file 'src/graphic/surface.h'
> --- src/graphic/surface.h	2013-07-26 20:19:36 +0000
> +++ src/graphic/surface.h	2014-06-16 13:55:52 +0000
> @@ -23,7 +23,7 @@
>  #include <boost/noncopyable.hpp>
>  
>  #include "graphic/compositemode.h"
> -#include "rect.h"
> +#include "graphic/rect.h"
>  #include "rgbcolor.h"
>  
>  /**
> 
> === modified file 'src/graphic/text/rt_render.cc'
> --- src/graphic/text/rt_render.cc	2014-06-10 20:38:57 +0000
> +++ src/graphic/text/rt_render.cc	2014-06-16 13:55:52 +0000
> @@ -29,10 +29,10 @@
>  #include <boost/lexical_cast.hpp>
>  
>  #include "graphic/image_cache.h"
> +#include "graphic/rect.h"
>  #include "graphic/surface.h"
>  #include "graphic/text/rt_parse.h"
>  #include "graphic/text/textstream.h"
> -#include "rect.h"
>  
>  
>  using namespace std;
> 
> === renamed file 'src/text_parser.cc' => 'src/graphic/text_parser.cc'
> --- src/text_parser.cc	2013-12-07 12:21:00 +0000
> +++ src/graphic/text_parser.cc	2014-06-16 13:55:52 +0000
> @@ -17,17 +17,17 @@
>   *
>   */
>  
> -#include "text_parser.h"
> +#include "graphic/text_parser.h"
>  
>  #include <algorithm>
>  #include <cstring>
>  #include <string>
>  #include <vector>
>  
> +#include "base/log.h"
>  #include "constants.h"
>  #include "container_iterate.h"
>  #include "helper.h"
> -#include "log.h"
>  
>  namespace UI {
>  
> 
> === renamed file 'src/text_parser.h' => 'src/graphic/text_parser.h'
> --- src/text_parser.h	2013-09-23 18:47:02 +0000
> +++ src/graphic/text_parser.h	2014-06-16 13:55:52 +0000
> @@ -23,7 +23,7 @@
>  #include <string>
>  #include <vector>
>  
> -#include "align.h"
> +#include "graphic/align.h"
>  #include "rgbcolor.h"
>  
>  namespace UI {
> 
> === modified file 'src/graphic/texture.cc'
> --- src/graphic/texture.cc	2014-05-10 16:56:38 +0000
> +++ src/graphic/texture.cc	2014-06-16 13:55:52 +0000
> @@ -21,12 +21,12 @@
>  
>  #include <SDL_image.h>
>  
> +#include "base/log.h"
> +#include "base/wexception.h"
>  #include "constants.h"
>  #include "container_iterate.h"
>  #include "io/fileread.h"
>  #include "io/filesystem/layered_filesystem.h"
> -#include "log.h"
> -#include "wexception.h"
>  
>  extern bool g_opengl;
>  
> 
> === modified file 'src/graphic/wordwrap.cc'
> --- src/graphic/wordwrap.cc	2013-07-26 20:19:36 +0000
> +++ src/graphic/wordwrap.cc	2014-06-16 13:55:52 +0000
> @@ -23,9 +23,9 @@
>  
>  #include "graphic/wordwrap.h"
>  
> +#include "base/log.h"
>  #include "graphic/font_handler.h"
>  #include "graphic/rendertarget.h"
> -#include "log.h"
>  
>  namespace UI {
>  
> 
> === modified file 'src/graphic/wordwrap.h'
> --- src/graphic/wordwrap.h	2013-07-26 20:19:36 +0000
> +++ src/graphic/wordwrap.h	2014-06-16 13:55:52 +0000
> @@ -21,7 +21,7 @@
>  
>  #include <string>
>  
> -#include "align.h"
> +#include "graphic/align.h"
>  #include "graphic/font.h"
>  #include "point.h"
>  
> 
> === modified file 'src/helper.h'
> --- src/helper.h	2014-03-26 07:24:34 +0000
> +++ src/helper.h	2014-06-16 13:55:52 +0000
> @@ -29,7 +29,7 @@
>  #include <SDL_keyboard.h>
>  #include <boost/utility.hpp>
>  
> -#include "wexception.h"
> +#include "base/wexception.h"
>  
>  /// Matches the string that candidate points to against the string that
>  /// template points to. Stops at when reaching a null character or the
> 
> === modified file 'src/io/CMakeLists.txt'
> --- src/io/CMakeLists.txt	2010-10-30 18:23:52 +0000
> +++ src/io/CMakeLists.txt	2014-06-16 13:55:52 +0000
> @@ -1,1 +1,46 @@
>  add_subdirectory(filesystem)
> +
> +wl_library(io_stream
> +  SRCS
> +    streamread.cc
> +    streamread.h
> +    streamwrite.cc
> +    streamwrite.h
> +  DEPENDS
> +    base_exceptions
> +)
> +
> +# TODO(sirver): Splitting this into filesystem and fileread.
> +wl_library(io_filesystem
> +  SRCS
> +    fileread.cc
> +    fileread.h
> +    filewrite.cc
> +    filewrite.h
> +    filesystem/disk_filesystem.cc
> +    filesystem/disk_filesystem.h
> +    filesystem/filesystem.cc
> +    filesystem/filesystem.h
> +    filesystem/filesystem_exceptions.h
> +    filesystem/layered_filesystem.cc
> +    filesystem/layered_filesystem.h
> +    filesystem/zip_exceptions.h
> +    filesystem/zip_filesystem.cc
> +    filesystem/zip_filesystem.h
> +  DEPENDS
> +    base_log
> +    build_info
> +    io_stream
> +    third_party_minizip
> +)
> +
> +
> +# TODO(sirver): This depends on logic, so it should not be here.
> +wl_library(io_dedicated_log
> +  SRCS
> +    dedicated_log.h
> +    dedicated_log.cc
> +  DEPENDS
> +    base_log
> +    io_filesystem
> +)
> 
> === modified file 'src/io/dedicated_log.cc'
> --- src/io/dedicated_log.cc	2014-02-22 18:04:02 +0000
> +++ src/io/dedicated_log.cc	2014-06-16 13:55:52 +0000
> @@ -21,9 +21,9 @@
>  
>  #include <boost/format.hpp>
>  
> -#include "i18n.h"
> +#include "base/i18n.h"
> +#include "base/log.h"
>  #include "io/filesystem/layered_filesystem.h"
> -#include "log.h"
>  
>  /// The dedicated server logger
>  static DedicatedLog * logger;
> 
> === modified file 'src/io/dedicated_log.h'
> --- src/io/dedicated_log.h	2013-07-26 20:19:36 +0000
> +++ src/io/dedicated_log.h	2014-06-16 13:55:52 +0000
> @@ -20,10 +20,10 @@
>  #ifndef DEDICATED_LOG_H
>  #define DEDICATED_LOG_H
>  
> +#include "base/log.h"
>  #include "chat.h"
>  #include "io/filesystem/disk_filesystem.h"
>  #include "io/filewrite.h"
> -#include "log.h"
>  
>  void dedicatedlog(const char *, ...) PRINTF_FORMAT(1, 2);
>  
> 
> === modified file 'src/io/fileread.h'
> --- src/io/fileread.h	2014-06-16 13:33:29 +0000
> +++ src/io/fileread.h	2014-06-16 13:55:52 +0000
> @@ -103,7 +103,7 @@
>  
>  	// Returns the next 'bytes' starting at 'pos' in the file. Can throw
>  	// File_Boundary_Exceeded.
> -	char* Data(uint32_t const bytes, const Pos pos = Pos::Null());
> +	char* Data(uint32_t bytes, Pos pos = Pos::Null());
>  
>  	// Returns the whole file as a string starting from 'pos'.
>  	char* CString(Pos pos);
> 
> === modified file 'src/io/filesystem/disk_filesystem.cc'
> --- src/io/filesystem/disk_filesystem.cc	2014-06-14 13:53:57 +0000
> +++ src/io/filesystem/disk_filesystem.cc	2014-06-16 13:55:52 +0000
> @@ -40,13 +40,13 @@
>  #include <sys/types.h>
>  #endif
>  
> +#include "base/log.h"
> +#include "base/wexception.h"
>  #include "compile_diagnostics.h"
>  #include "io/filesystem/filesystem_exceptions.h"
>  #include "io/filesystem/zip_filesystem.h"
>  #include "io/streamread.h"
>  #include "io/streamwrite.h"
> -#include "log.h"
> -#include "wexception.h"
>  
>  struct FileSystemPath: public std::string
>  {
> 
> === modified file 'src/io/filesystem/filesystem.cc'
> --- src/io/filesystem/filesystem.cc	2014-06-14 13:53:57 +0000
> +++ src/io/filesystem/filesystem.cc	2014-06-16 13:55:52 +0000
> @@ -32,7 +32,6 @@
>  #include <string>
>  #include <vector>
>  
> -#include <config.h>
>  #ifdef _WIN32
>  #include <direct.h>
>  #include <io.h>
> @@ -44,11 +43,12 @@
>  #include <sys/stat.h>
>  #include <unistd.h>
>  
> +#include "base/log.h"
> +#include "config.h"
>  #include "io/filesystem/disk_filesystem.h"
>  #include "io/filesystem/layered_filesystem.h"
>  #include "io/filesystem/zip_exceptions.h"
>  #include "io/filesystem/zip_filesystem.h"
> -#include "log.h"
>  
>  #ifdef _WIN32
>  #define stat _stat
> 
> === modified file 'src/io/filesystem/layered_filesystem.cc'
> --- src/io/filesystem/layered_filesystem.cc	2014-05-10 16:56:38 +0000
> +++ src/io/filesystem/layered_filesystem.cc	2014-06-16 13:55:52 +0000
> @@ -22,12 +22,12 @@
>  #include <cstdio>
>  #include <memory>
>  
> +#include "base/log.h"
> +#include "base/wexception.h"
>  #include "build_info.h"
>  #include "container_iterate.h"
>  #include "io/fileread.h"
>  #include "io/streamread.h"
> -#include "log.h"
> -#include "wexception.h"
>  
>  LayeredFileSystem * g_fs;
>  
> @@ -208,12 +208,8 @@
>  	{
>  		files = (*it)->ListDirectory(path);
>  
> -		// need to workaround MSVC++6 issues
> -		for
> -			(filenameset_t::iterator fnit = files.begin();
> -			 fnit != files.end();
> -			 ++fnit)
> -				results.insert(*fnit);
> +		for (filenameset_t::iterator fnit = files.begin(); fnit != files.end(); ++fnit)
> +			   results.insert(*fnit);
>  	}
>  	return results;
>  }
> 
> === modified file 'src/io/filesystem/test/CMakeLists.txt'
> --- src/io/filesystem/test/CMakeLists.txt	2012-04-18 20:09:45 +0000
> +++ src/io/filesystem/test/CMakeLists.txt	2014-06-16 13:55:52 +0000
> @@ -1,9 +1,7 @@
> -file(GLOB WL_TEST_IO_FILESYSTEM_SRCS *.cc)
> -
> -add_executable(test_io_filesystem ${WL_TEST_IO_FILESYSTEM_SRCS} ${TEST_EXTRA_SOURCES})
> -
> -target_link_libraries(test_io_filesystem widelands_all)
> -target_link_libraries(test_io_filesystem ${Boost_UNIT_TEST_FRAMEWORK_LIBRARY})
> -target_link_libraries(test_io_filesystem ${TEST_EXTRA_LIBS})
> -
> -add_test(test_io_filesystem test_io_filesystem)
> +wl_test(test_io_filesystem
> +  SRCS
> +    ./filesystem_test_main.cc
> +    ./test_filesystem.cc
> +  DEPENDS
> +    io_filesystem
> +)
> 
> === modified file 'src/io/filesystem/zip_filesystem.cc'
> --- src/io/filesystem/zip_filesystem.cc	2014-05-10 16:56:38 +0000
> +++ src/io/filesystem/zip_filesystem.cc	2014-06-16 13:55:52 +0000
> @@ -27,11 +27,11 @@
>  #include <cstring>
>  #include <string>
>  
> +#include "base/wexception.h"
>  #include "io/filesystem/filesystem_exceptions.h"
>  #include "io/filesystem/zip_exceptions.h"
>  #include "io/streamread.h"
>  #include "io/streamwrite.h"
> -#include "wexception.h"
>  
>  /**
>   * Initialize the real file-system
> 
> === modified file 'src/io/filesystem/zip_filesystem.h'
> --- src/io/filesystem/zip_filesystem.h	2014-05-10 16:56:38 +0000
> +++ src/io/filesystem/zip_filesystem.h	2014-06-16 13:55:52 +0000
> @@ -23,13 +23,12 @@
>  #include <cstring>
>  #include <string>
>  
> -#include <minizip/unzip.h>
> -#include <minizip/zip.h>
> -
> +#include "base/port.h"
>  #include "io/filesystem/filesystem.h"
>  #include "io/streamread.h"
>  #include "io/streamwrite.h"
> -#include "port.h"
> +#include "third_party/minizip/unzip.h"
> +#include "third_party/minizip/zip.h"
>  
>  class ZipFilesystem : public FileSystem {
>  public:
> 
> === modified file 'src/io/filewrite.h'
> --- src/io/filewrite.h	2014-06-16 13:33:29 +0000
> +++ src/io/filewrite.h	2014-06-16 13:55:52 +0000
> @@ -93,7 +93,7 @@
>  	void Data(const void* src, size_t size, Pos pos);
>  
>  	/// Write data at the current file pointer and advance it.
> -	void Data(void const* const src, size_t const size) override;
> +	void Data(void const* src, size_t size) override;
>  
>  private:
>  	char* data_;
> 
> === modified file 'src/io/streamread.cc'
> --- src/io/streamread.cc	2013-09-23 18:47:02 +0000
> +++ src/io/streamread.cc	2014-06-16 13:55:52 +0000
> @@ -23,7 +23,7 @@
>  #include <cstdarg>
>  #include <cstdio>
>  
> -#include "wexception.h"
> +#include "base/wexception.h"
>  
>  StreamRead::~StreamRead() {}
>  
> 
> === modified file 'src/io/streamread.h'
> --- src/io/streamread.h	2013-09-23 18:47:02 +0000
> +++ src/io/streamread.h	2014-06-16 13:55:52 +0000
> @@ -25,8 +25,8 @@
>  
>  #include <boost/noncopyable.hpp>
>  
> +#include "base/wexception.h"
>  #include "machdep.h"
> -#include "wexception.h"
>  
>  
>  /**
> 
> === modified file 'src/io/streamwrite.cc'
> --- src/io/streamwrite.cc	2014-02-22 18:04:02 +0000
> +++ src/io/streamwrite.cc	2014-06-16 13:55:52 +0000
> @@ -21,7 +21,7 @@
>  
>  #include <cstdarg>
>  
> -#include "wexception.h"
> +#include "base/wexception.h"
>  
>  StreamWrite::~StreamWrite() {}
>  
> @@ -66,4 +66,3 @@
>  		delete[] heapbuf;
>  	}
>  }
> -
> 
> === modified file 'src/io/streamwrite.h'
> --- src/io/streamwrite.h	2013-09-22 18:01:36 +0000
> +++ src/io/streamwrite.h	2014-06-16 13:55:52 +0000
> @@ -27,8 +27,8 @@
>  
>  #include <boost/noncopyable.hpp>
>  
> +#include "base/port.h"
>  #include "machdep.h"
> -#include "port.h"
>  
>  /**
>   * Abstract base class for stream-like data sinks.
> 
> === renamed file 'src/backtrace.cc' => 'src/logic/backtrace.cc'
> --- src/backtrace.cc	2013-07-26 19:16:51 +0000
> +++ src/logic/backtrace.cc	2014-06-16 13:55:52 +0000
> @@ -17,7 +17,7 @@
>   *
>   */
>  
> -#include "backtrace.h"
> +#include "logic/backtrace.h"
>  
>  #ifndef _WIN32
>  #ifndef __APPLE__
> 
> === renamed file 'src/backtrace.h' => 'src/logic/backtrace.h'
> === modified file 'src/logic/battle.cc'
> --- src/logic/battle.cc	2014-06-10 20:38:57 +0000
> +++ src/logic/battle.cc	2014-06-16 13:55:52 +0000
> @@ -21,16 +21,16 @@
>  
>  #include <memory>
>  
> +#include "base/log.h"
> +#include "base/wexception.h"
>  #include "io/fileread.h"
>  #include "io/filewrite.h"
> -#include "log.h"
>  #include "logic/game.h"
>  #include "logic/player.h"
>  #include "logic/soldier.h"
>  #include "map_io/widelands_map_map_object_loader.h"
>  #include "map_io/widelands_map_map_object_saver.h"
>  #include "upcast.h"
> -#include "wexception.h"
>  
>  namespace Widelands {
>  
> 
> === modified file 'src/logic/bob.cc'
> --- src/logic/bob.cc	2014-05-11 07:38:01 +0000
> +++ src/logic/bob.cc	2014-06-16 13:55:52 +0000
> @@ -21,13 +21,14 @@
>  
>  #include <cstdlib>
>  
> -#include "backtrace.h"
> +#include "base/wexception.h"
>  #include "economy/route.h"
>  #include "economy/transfer.h"
>  #include "graphic/graphic.h"
>  #include "graphic/rendertarget.h"
>  #include "io/fileread.h"
>  #include "io/filewrite.h"
> +#include "logic/backtrace.h"
>  #include "logic/checkstep.h"
>  #include "logic/critter_bob.h"
>  #include "logic/findbob.h"
> @@ -43,7 +44,6 @@
>  #include "map_io/widelands_map_map_object_saver.h"
>  #include "profile/profile.h"
>  #include "upcast.h"
> -#include "wexception.h"
>  #include "wui/mapviewpixelconstants.h"
>  
>  
> 
> === modified file 'src/logic/bob.h'
> --- src/logic/bob.h	2014-05-11 07:38:01 +0000
> +++ src/logic/bob.h	2014-06-16 13:55:52 +0000
> @@ -20,6 +20,7 @@
>  #ifndef BOB_H
>  #define BOB_H
>  
> +#include "base/port.h"
>  #include "economy/route.h"
>  #include "graphic/animation.h"
>  #include "graphic/diranimations.h"
> @@ -27,7 +28,6 @@
>  #include "logic/walkingdir.h"
>  #include "logic/widelands_geometry.h"
>  #include "point.h"
> -#include "port.h"
>  
>  struct Profile;
>  
> 
> === modified file 'src/logic/buildcost.cc'
> --- src/logic/buildcost.cc	2014-05-11 07:38:01 +0000
> +++ src/logic/buildcost.cc	2014-06-16 13:55:52 +0000
> @@ -19,11 +19,11 @@
>  
>  #include "logic/buildcost.h"
>  
> +#include "base/wexception.h"
>  #include "io/fileread.h"
>  #include "io/filewrite.h"
>  #include "logic/tribe.h"
>  #include "profile/profile.h"
> -#include "wexception.h"
>  
>  namespace Widelands {
>  
> 
> === modified file 'src/logic/building.cc'
> --- src/logic/building.cc	2014-04-21 10:47:03 +0000
> +++ src/logic/building.cc	2014-06-16 13:55:52 +0000
> @@ -22,6 +22,7 @@
>  #include <cstdio>
>  #include <sstream>
>  
> +#include "base/wexception.h"
>  #include "economy/flag.h"
>  #include "economy/request.h"
>  #include "graphic/font.h"
> @@ -43,7 +44,6 @@
>  #include "sound/sound_handler.h"
>  #include "text_layout.h"
>  #include "upcast.h"
> -#include "wexception.h"
>  #include "wui/interactive_player.h"
>  
>  namespace Widelands {
> 
> === modified file 'src/logic/building.h'
> --- src/logic/building.h	2014-05-11 07:38:01 +0000
> +++ src/logic/building.h	2014-06-16 13:55:52 +0000
> @@ -33,7 +33,7 @@
>  #include "logic/soldier_counts.h"
>  #include "logic/wareworker.h"
>  #include "logic/widelands.h"
> -#include "workarea_info.h"
> +#include "logic/workarea_info.h"
>  
>  namespace UI {class Window;}
>  struct BuildingHints;
> 
> === modified file 'src/logic/carrier.cc'
> --- src/logic/carrier.cc	2014-05-11 07:38:01 +0000
> +++ src/logic/carrier.cc	2014-06-16 13:55:52 +0000
> @@ -19,6 +19,7 @@
>  
>  #include "logic/carrier.h"
>  
> +#include "base/wexception.h"
>  #include "economy/flag.h"
>  #include "economy/road.h"
>  #include "economy/ware_instance.h"
> @@ -27,7 +28,6 @@
>  #include "logic/game.h"
>  #include "logic/game_data_error.h"
>  #include "upcast.h"
> -#include "wexception.h"
>  
>  namespace Widelands {
>  
> 
> === modified file 'src/logic/cmd_incorporate.cc'
> --- src/logic/cmd_incorporate.cc	2014-05-11 07:38:01 +0000
> +++ src/logic/cmd_incorporate.cc	2014-06-16 13:55:52 +0000
> @@ -19,12 +19,12 @@
>  
>  #include "logic/cmd_incorporate.h"
>  
> -#include "i18n.h"
> +#include "base/i18n.h"
> +#include "base/wexception.h"
>  #include "io/fileread.h"
>  #include "io/filewrite.h"
>  #include "map_io/widelands_map_map_object_loader.h"
>  #include "map_io/widelands_map_map_object_saver.h"
> -#include "wexception.h"
>  
>  namespace Widelands {
>  
> 
> === modified file 'src/logic/cmd_luacoroutine.cc'
> --- src/logic/cmd_luacoroutine.cc	2014-05-11 07:38:01 +0000
> +++ src/logic/cmd_luacoroutine.cc	2014-06-16 13:55:52 +0000
> @@ -19,10 +19,10 @@
>  
>  #include "logic/cmd_luacoroutine.h"
>  
> +#include "base/log.h"
>  #include "gamecontroller.h"
>  #include "io/fileread.h"
>  #include "io/filewrite.h"
> -#include "log.h"
>  #include "logic/game.h"
>  #include "logic/game_data_error.h"
>  #include "logic/player.h"
> 
> === modified file 'src/logic/cmd_luascript.cc'
> --- src/logic/cmd_luascript.cc	2014-05-11 07:38:01 +0000
> +++ src/logic/cmd_luascript.cc	2014-06-16 13:55:52 +0000
> @@ -19,9 +19,9 @@
>  
>  #include "logic/cmd_luascript.h"
>  
> +#include "base/log.h"
>  #include "io/fileread.h"
>  #include "io/filewrite.h"
> -#include "log.h"
>  #include "logic/game.h"
>  #include "logic/game_data_error.h"
>  #include "scripting/lua_table.h"
> 
> === modified file 'src/logic/cmd_queue.cc'
> --- src/logic/cmd_queue.cc	2014-05-10 16:47:03 +0000
> +++ src/logic/cmd_queue.cc	2014-06-16 13:55:52 +0000
> @@ -19,6 +19,7 @@
>  
>  #include "logic/cmd_queue.h"
>  
> +#include "base/wexception.h"
>  #include "io/fileread.h"
>  #include "io/filewrite.h"
>  #include "logic/game.h"
> @@ -29,7 +30,6 @@
>  #include "logic/worker.h"
>  #include "machdep.h"
>  #include "upcast.h"
> -#include "wexception.h"
>  
>  namespace Widelands {
>  
> 
> === modified file 'src/logic/constructionsite.cc'
> --- src/logic/constructionsite.cc	2014-04-21 09:19:14 +0000
> +++ src/logic/constructionsite.cc	2014-06-16 13:55:52 +0000
> @@ -23,11 +23,12 @@
>  
>  #include <boost/format.hpp>
>  
> +#include "base/i18n.h"
> +#include "base/wexception.h"
>  #include "economy/wares_queue.h"
>  #include "graphic/animation.h"
>  #include "graphic/graphic.h"
>  #include "graphic/rendertarget.h"
> -#include "i18n.h"
>  #include "logic/editor_game_base.h"
>  #include "logic/game.h"
>  #include "logic/tribe.h"
> @@ -35,7 +36,6 @@
>  #include "sound/sound_handler.h"
>  #include "ui_basic/window.h"
>  #include "upcast.h"
> -#include "wexception.h"
>  #include "wui/interactive_gamebase.h"
>  
>  namespace Widelands {
> 
> === modified file 'src/logic/critter_bob.cc'
> --- src/logic/critter_bob.cc	2014-05-11 07:38:01 +0000
> +++ src/logic/critter_bob.cc	2014-06-16 13:55:52 +0000
> @@ -20,7 +20,9 @@
>  #include "logic/critter_bob.h"
>  
>  #include <cstdio>
> +#include <memory>
>  
> +#include "base/wexception.h"
>  #include "helper.h"
>  #include "io/fileread.h"
>  #include "io/filewrite.h"
> @@ -30,7 +32,6 @@
>  #include "logic/game_data_error.h"
>  #include "logic/tribe.h"
>  #include "profile/profile.h"
> -#include "wexception.h"
>  
>  
>  namespace Widelands {
> 
> === renamed file 'src/description_maintainer.h' => 'src/logic/description_maintainer.h'
> === modified file 'src/logic/dismantlesite.cc'
> --- src/logic/dismantlesite.cc	2014-04-21 10:47:03 +0000
> +++ src/logic/dismantlesite.cc	2014-06-16 13:55:52 +0000
> @@ -21,18 +21,18 @@
>  
>  #include <cstdio>
>  
> +#include "base/i18n.h"
> +#include "base/wexception.h"
>  #include "economy/wares_queue.h"
>  #include "graphic/animation.h"
>  #include "graphic/graphic.h"
>  #include "graphic/rendertarget.h"
> -#include "i18n.h"
>  #include "logic/editor_game_base.h"
>  #include "logic/game.h"
>  #include "logic/tribe.h"
>  #include "logic/worker.h"
>  #include "sound/sound_handler.h"
>  #include "upcast.h"
> -#include "wexception.h"
>  
>  namespace Widelands {
>  
> 
> === modified file 'src/logic/editor_game_base.cc'
> --- src/logic/editor_game_base.cc	2014-04-20 20:02:13 +0000
> +++ src/logic/editor_game_base.cc	2014-06-16 13:55:52 +0000
> @@ -22,11 +22,12 @@
>  #include <algorithm>
>  #include <set>
>  
> +#include "base/i18n.h"
> +#include "base/wexception.h"
>  #include "economy/flag.h"
>  #include "economy/road.h"
>  #include "graphic/font_handler.h"
>  #include "graphic/graphic.h"
> -#include "i18n.h"
>  #include "logic/battle.h"
>  #include "logic/building.h"
>  #include "logic/dismantlesite.h"
> @@ -46,7 +47,6 @@
>  #include "sound/sound_handler.h"
>  #include "ui_basic/progresswindow.h"
>  #include "upcast.h"
> -#include "wexception.h"
>  #include "wui/interactive_base.h"
>  #include "wui/interactive_gamebase.h"
>  
> @@ -527,7 +527,7 @@
>  	f.field->set_road(direction, roadtype);
>  
>  	FCoords neighbour;
> -	uint8_t mask;
> +	uint8_t mask = 0;
>  	switch (direction) {
>  	case Road_SouthWest:
>  		neighbour = m.bl_n(f);
> 
> === modified file 'src/logic/expedition_bootstrap.cc'
> --- src/logic/expedition_bootstrap.cc	2014-05-11 07:38:01 +0000
> +++ src/logic/expedition_bootstrap.cc	2014-06-16 13:55:52 +0000
> @@ -19,6 +19,8 @@
>  
>  #include "logic/expedition_bootstrap.h"
>  
> +#include <memory>
> +
>  #include "economy/portdock.h"
>  #include "io/filewrite.h"
>  #include "logic/player.h"
> 
> === modified file 'src/logic/findnode.cc'
> --- src/logic/findnode.cc	2013-08-01 08:33:15 +0000
> +++ src/logic/findnode.cc	2014-06-16 13:55:52 +0000
> @@ -19,11 +19,11 @@
>  
>  #include "logic/findnode.h"
>  
> +#include "base/wexception.h"
>  #include "container_iterate.h"
>  #include "logic/field.h"
>  #include "logic/immovable.h"
>  #include "logic/map.h"
> -#include "wexception.h"
>  
>  
>  namespace Widelands {
> 
> === modified file 'src/logic/game.cc'
> --- src/logic/game.cc	2014-06-10 20:38:57 +0000
> +++ src/logic/game.cc	2014-06-16 13:55:52 +0000
> @@ -29,17 +29,18 @@
>  #include <windows.h>
>  #endif
>  
> +#include "base/i18n.h"
> +#include "base/log.h"
> +#include "base/warning.h"
>  #include "computer_player.h"
>  #include "economy/economy.h"
>  #include "game_io/game_loader.h"
>  #include "game_io/game_preload_data_packet.h"
>  #include "gamesettings.h"
>  #include "graphic/graphic.h"
> -#include "i18n.h"
>  #include "io/fileread.h"
>  #include "io/filesystem/layered_filesystem.h"
>  #include "io/filewrite.h"
> -#include "log.h"
>  #include "logic/carrier.h"
>  #include "logic/cmd_calculate_statistics.h"
>  #include "logic/cmd_luacoroutine.h"
> @@ -62,7 +63,6 @@
>  #include "timestring.h"
>  #include "ui_basic/progresswindow.h"
>  #include "upcast.h"
> -#include "warning.h"
>  #include "wlapplication.h"
>  #include "wui/game_tips.h"
>  #include "wui/interactive_player.h"
> 
> === modified file 'src/logic/game_data_error.h'
> --- src/logic/game_data_error.h	2014-02-22 18:04:02 +0000
> +++ src/logic/game_data_error.h	2014-06-16 13:55:52 +0000
> @@ -20,7 +20,7 @@
>  #ifndef GAME_DATA_ERROR_H
>  #define GAME_DATA_ERROR_H
>  
> -#include "wexception.h"
> +#include "base/wexception.h"
>  
>  namespace Widelands {
>  
> 
> === modified file 'src/logic/immovable.cc'
> --- src/logic/immovable.cc	2014-06-10 20:38:57 +0000
> +++ src/logic/immovable.cc	2014-06-16 13:55:52 +0000
> @@ -23,8 +23,9 @@
>  #include <memory>
>  
>  #include <boost/format.hpp>
> -#include <config.h>
>  
> +#include "base/wexception.h"
> +#include "config.h"
>  #include "container_iterate.h"
>  #include "graphic/font_handler1.h"
>  #include "graphic/graphic.h"
> @@ -47,7 +48,6 @@
>  #include "sound/sound_handler.h"
>  #include "text_layout.h"
>  #include "upcast.h"
> -#include "wexception.h"
>  #include "wui/interactive_base.h"
>  
>  namespace Widelands {
> 
> === modified file 'src/logic/instances.cc'
> --- src/logic/instances.cc	2014-05-11 07:38:01 +0000
> +++ src/logic/instances.cc	2014-06-16 13:55:52 +0000
> @@ -24,16 +24,16 @@
>  #include <cstring>
>  #include <string>
>  
> +#include "base/log.h"
> +#include "base/wexception.h"
>  #include "container_iterate.h"
>  #include "io/fileread.h"
>  #include "io/filewrite.h"
> -#include "log.h"
>  #include "logic/cmd_queue.h"
>  #include "logic/game.h"
>  #include "logic/queue_cmd_ids.h"
>  #include "map_io/widelands_map_map_object_loader.h"
>  #include "map_io/widelands_map_map_object_saver.h"
> -#include "wexception.h"
>  
>  namespace Widelands {
>  
> 
> === modified file 'src/logic/instances.h'
> --- src/logic/instances.h	2014-05-11 07:38:01 +0000
> +++ src/logic/instances.h	2014-06-16 13:55:52 +0000
> @@ -30,11 +30,11 @@
>  #include <boost/unordered_map.hpp>
>  #include <boost/signals2.hpp>
>  
> -#include "log.h"
> +#include "base/log.h"
> +#include "base/port.h"
>  #include "logic/cmd_queue.h"
> -#include "port.h"
> +#include "logic/widelands.h"
>  #include "ref_cast.h"
> -#include "widelands.h"
>  
>  class FileRead;
>  class RenderTarget;
> 
> === modified file 'src/logic/map.cc'
> --- src/logic/map.cc	2014-06-16 13:24:45 +0000
> +++ src/logic/map.cc	2014-06-16 13:55:52 +0000
> @@ -25,12 +25,13 @@
>  #include <boost/algorithm/string.hpp>
>  #include <boost/algorithm/string/predicate.hpp>
>  
> +#include "base/log.h"
> +#include "base/wexception.h"
>  #include "build_info.h"
>  #include "economy/flag.h"
>  #include "economy/road.h"
>  #include "editor/tools/editor_increase_resources_tool.h"
>  #include "io/filesystem/layered_filesystem.h"
> -#include "log.h"
>  #include "logic/checkstep.h"
>  #include "logic/findimmovable.h"
>  #include "logic/findnode.h"
> @@ -45,7 +46,6 @@
>  #include "map_io/widelands_map_loader.h"
>  #include "s2map.h"
>  #include "upcast.h"
> -#include "wexception.h"
>  #include "wui/overlay_manager.h"
>  
>  
> 
> === modified file 'src/logic/map.h'
> --- src/logic/map.h	2014-05-27 11:01:15 +0000
> +++ src/logic/map.h	2014-06-16 13:55:52 +0000
> @@ -26,8 +26,8 @@
>  #include <string>
>  #include <vector>
>  
> +#include "base/i18n.h"
>  #include "economy/itransport_cost_calculator.h"
> -#include "i18n.h"
>  #include "interval.h"
>  #include "logic/field.h"
>  #include "logic/map_revision.h"
> 
> === modified file 'src/logic/mapastar.h'
> --- src/logic/mapastar.h	2013-07-26 20:19:36 +0000
> +++ src/logic/mapastar.h	2014-06-16 13:55:52 +0000
> @@ -20,7 +20,7 @@
>  #ifndef LOGIC_MAPASTAR_H
>  #define LOGIC_MAPASTAR_H
>  
> -#include "log.h"
> +#include "base/log.h"
>  #include "logic/map.h"
>  #include "logic/pathfield.h"
>  
> 
> === modified file 'src/logic/message_id.h'
> --- src/logic/message_id.h	2013-07-09 05:40:36 +0000
> +++ src/logic/message_id.h	2014-06-16 13:55:52 +0000
> @@ -22,7 +22,7 @@
>  
>  #include <stdint.h>
>  
> -#include "port.h"
> +#include "base/port.h"
>  
>  namespace Widelands {
>  
> 
> === modified file 'src/logic/military_data.cc'
> --- src/logic/military_data.cc	2014-03-04 13:24:58 +0000
> +++ src/logic/military_data.cc	2014-06-16 13:55:52 +0000
> @@ -22,9 +22,9 @@
>  #include <string>
>  #include <vector>
>  
> +#include "base/i18n.h"
>  #include "container_iterate.h"
>  #include "helper.h"
> -#include "i18n.h"
>  #include "logic/game_data_error.h"
>  
>  namespace Widelands {
> @@ -83,4 +83,3 @@
>  }
>  
>  }
> -
> 
> === modified file 'src/logic/militarysite.cc'
> --- src/logic/militarysite.cc	2014-04-21 10:47:03 +0000
> +++ src/logic/militarysite.cc	2014-06-16 13:55:52 +0000
> @@ -24,10 +24,10 @@
>  
>  #include <libintl.h>
>  
> +#include "base/i18n.h"
> +#include "base/log.h"
>  #include "economy/flag.h"
>  #include "economy/request.h"
> -#include "i18n.h"
> -#include "log.h"
>  #include "logic/battle.h"
>  #include "logic/editor_game_base.h"
>  #include "logic/findbob.h"
> 
> === modified file 'src/logic/militarysite.h'
> --- src/logic/militarysite.h	2014-04-18 16:31:54 +0000
> +++ src/logic/militarysite.h	2014-06-16 13:55:52 +0000
> @@ -20,6 +20,8 @@
>  #ifndef MILITARYSITE_H
>  #define MILITARYSITE_H
>  
> +#include <memory>
> +
>  #include "logic/attackable.h"
>  #include "logic/productionsite.h"
>  #include "logic/requirements.h"
> 
> === modified file 'src/logic/objective.h'
> --- src/logic/objective.h	2014-04-20 20:53:01 +0000
> +++ src/logic/objective.h	2014-06-16 13:55:52 +0000
> @@ -24,7 +24,7 @@
>  #include <cstring>
>  #include <string>
>  
> -#include "i18n.h"
> +#include "base/i18n.h"
>  
>  namespace Widelands {
>  
> 
> === renamed file 'src/parse_map_object_types.h' => 'src/logic/parse_map_object_types.h'
> === modified file 'src/logic/pathfield.cc'
> --- src/logic/pathfield.cc	2013-07-26 20:19:36 +0000
> +++ src/logic/pathfield.cc	2014-06-16 13:55:52 +0000
> @@ -19,8 +19,8 @@
>  
>  #include "logic/pathfield.h"
>  
> +#include "base/wexception.h"
>  #include "container_iterate.h"
> -#include "wexception.h"
>  
>  namespace Widelands {
>  
> 
> === modified file 'src/logic/player.cc'
> --- src/logic/player.cc	2014-06-10 20:38:57 +0000
> +++ src/logic/player.cc	2014-06-16 13:55:52 +0000
> @@ -24,13 +24,15 @@
>  #include <boost/bind.hpp>
>  #include <boost/signals2.hpp>
>  
> +#include "base/i18n.h"
> +#include "base/log.h"
> +#include "base/warning.h"
> +#include "base/wexception.h"
>  #include "economy/economy.h"
>  #include "economy/flag.h"
>  #include "economy/road.h"
> -#include "i18n.h"
>  #include "io/fileread.h"
>  #include "io/filewrite.h"
> -#include "log.h"
>  #include "logic/building.h"
>  #include "logic/checkstep.h"
>  #include "logic/cmd_expire_message.h"
> @@ -50,8 +52,6 @@
>  #include "scripting/scripting.h"
>  #include "sound/sound_handler.h"
>  #include "upcast.h"
> -#include "warning.h"
> -#include "wexception.h"
>  #include "wui/interactive_player.h"
>  
>  
> 
> === modified file 'src/logic/playercommand.cc'
> --- src/logic/playercommand.cc	2014-05-11 07:38:01 +0000
> +++ src/logic/playercommand.cc	2014-06-16 13:55:52 +0000
> @@ -19,12 +19,13 @@
>  
>  #include "logic/playercommand.h"
>  
> +#include "base/log.h"
> +#include "base/wexception.h"
>  #include "economy/economy.h"
>  #include "economy/wares_queue.h"
>  #include "io/fileread.h"
>  #include "io/filewrite.h"
>  #include "io/streamwrite.h"
> -#include "log.h"
>  #include "logic/game.h"
>  #include "logic/instances.h"
>  #include "logic/militarysite.h"
> @@ -36,7 +37,6 @@
>  #include "map_io/widelands_map_map_object_loader.h"
>  #include "map_io/widelands_map_map_object_saver.h"
>  #include "upcast.h"
> -#include "wexception.h"
>  
>  namespace Widelands {
>  
> 
> === modified file 'src/logic/playersmanager.cc'
> --- src/logic/playersmanager.cc	2014-02-22 18:04:02 +0000
> +++ src/logic/playersmanager.cc	2014-06-16 13:55:52 +0000
> @@ -21,10 +21,10 @@
>  
>  #include <cstring>
>  
> +#include "base/wexception.h"
>  #include "gamesettings.h"
>  #include "logic/editor_game_base.h"
>  #include "logic/player.h"
> -#include "wexception.h"
>  #include "wui/interactive_gamebase.h"
>  
>  namespace Widelands {
> 
> === modified file 'src/logic/production_program.cc'
> --- src/logic/production_program.cc	2014-04-21 10:00:16 +0000
> +++ src/logic/production_program.cc	2014-06-16 13:55:52 +0000
> @@ -20,9 +20,9 @@
>  #include "logic/production_program.h"
>  
>  #include <boost/format.hpp>
> -#include <config.h>
>  #include <libintl.h>
>  
> +#include "config.h"
>  #include "economy/economy.h"
>  #include "economy/flag.h"
>  #include "economy/wares_queue.h"
> 
> === modified file 'src/logic/production_program.h'
> --- src/logic/production_program.h	2014-05-11 07:38:01 +0000
> +++ src/logic/production_program.h	2014-06-16 13:55:52 +0000
> @@ -29,8 +29,8 @@
>  #include <boost/noncopyable.hpp>
>  #include <stdint.h>
>  
> +#include "base/log.h"
>  #include "container_iterate.h"
> -#include "log.h"
>  #include "logic/bill_of_materials.h"
>  #include "logic/program_result.h"
>  #include "logic/tattribute.h"
> 
> === modified file 'src/logic/productionsite.cc'
> --- src/logic/productionsite.cc	2014-06-16 13:33:29 +0000
> +++ src/logic/productionsite.cc	2014-06-16 13:55:52 +0000
> @@ -23,12 +23,13 @@
>  #include <boost/format.hpp>
>  #include <libintl.h>
>  
> +#include "base/i18n.h"
> +#include "base/wexception.h"
>  #include "economy/economy.h"
>  #include "economy/request.h"
>  #include "economy/ware_instance.h"
>  #include "economy/wares_queue.h"
>  #include "helper.h"
> -#include "i18n.h"
>  #include "logic/carrier.h"
>  #include "logic/editor_game_base.h"
>  #include "logic/game.h"
> @@ -40,7 +41,6 @@
>  #include "logic/world.h"
>  #include "profile/profile.h"
>  #include "upcast.h"
> -#include "wexception.h"
>  
>  namespace Widelands {
>  
> 
> === modified file 'src/logic/queue_cmd_factory.cc'
> --- src/logic/queue_cmd_factory.cc	2013-08-05 14:05:21 +0000
> +++ src/logic/queue_cmd_factory.cc	2014-06-16 13:55:52 +0000
> @@ -19,6 +19,7 @@
>  
>  #include "logic/queue_cmd_factory.h"
>  
> +#include "base/wexception.h"
>  #include "economy/cmd_call_economy_balance.h"
>  #include "logic/cmd_calculate_statistics.h"
>  #include "logic/cmd_incorporate.h"
> @@ -27,7 +28,6 @@
>  #include "logic/instances.h"
>  #include "logic/playercommand.h"
>  #include "logic/queue_cmd_ids.h"
> -#include "wexception.h"
>  
>  namespace Widelands {
>  
> 
> === modified file 'src/logic/replay.cc'
> --- src/logic/replay.cc	2014-05-11 07:38:01 +0000
> +++ src/logic/replay.cc	2014-06-16 13:55:52 +0000
> @@ -19,19 +19,19 @@
>  
>  #include "logic/replay.h"
>  
> +#include "base/log.h"
> +#include "base/wexception.h"
>  #include "game_io/game_loader.h"
>  #include "gamecontroller.h"
>  #include "io/filesystem/layered_filesystem.h"
>  #include "io/streamread.h"
>  #include "io/streamwrite.h"
> -#include "log.h"
>  #include "logic/game.h"
>  #include "logic/game_data_error.h"
>  #include "logic/playercommand.h"
>  #include "md5.h"
>  #include "random.h"
>  #include "save_handler.h"
> -#include "wexception.h"
>  
>  namespace Widelands {
>  
> 
> === modified file 'src/logic/requirements.cc'
> --- src/logic/requirements.cc	2014-05-11 07:38:01 +0000
> +++ src/logic/requirements.cc	2014-06-16 13:55:52 +0000
> @@ -19,8 +19,8 @@
>  
>  #include "logic/requirements.h"
>  
> +#include "base/i18n.h"
>  #include "container_iterate.h"
> -#include "i18n.h"
>  #include "io/fileread.h"
>  #include "io/filewrite.h"
>  #include "logic/game_data_error.h"
> 
> === modified file 'src/logic/soldier.cc'
> --- src/logic/soldier.cc	2014-05-11 07:38:01 +0000
> +++ src/logic/soldier.cc	2014-06-16 13:55:52 +0000
> @@ -22,6 +22,7 @@
>  #include <cstdio>
>  #include <list>
>  
> +#include "base/wexception.h"
>  #include "economy/economy.h"
>  #include "economy/flag.h"
>  #include "gamecontroller.h"
> @@ -49,7 +50,6 @@
>  #include "map_io/widelands_map_map_object_saver.h"
>  #include "profile/profile.h"
>  #include "upcast.h"
> -#include "wexception.h"
>  #include "wui/mapviewpixelconstants.h"
>  
>  namespace Widelands {
> 
> === modified file 'src/logic/trainingsite.cc'
> --- src/logic/trainingsite.cc	2014-04-18 16:31:54 +0000
> +++ src/logic/trainingsite.cc	2014-06-16 13:55:52 +0000
> @@ -21,9 +21,9 @@
>  
>  #include <cstdio>
>  
> +#include "base/i18n.h"
>  #include "economy/request.h"
>  #include "helper.h"
> -#include "i18n.h"
>  #include "logic/editor_game_base.h"
>  #include "logic/game.h"
>  #include "logic/player.h"
> 
> === modified file 'src/logic/tribe.cc'
> --- src/logic/tribe.cc	2014-05-10 17:07:11 +0000
> +++ src/logic/tribe.cc	2014-06-16 13:55:52 +0000
> @@ -20,12 +20,13 @@
>  #include "logic/tribe.h"
>  
>  #include <iostream>
> +#include <memory>
>  
>  #include <boost/algorithm/string.hpp>
>  
> +#include "base/i18n.h"
>  #include "graphic/graphic.h"
>  #include "helper.h"
> -#include "i18n.h"
>  #include "io/fileread.h"
>  #include "io/filesystem/disk_filesystem.h"
>  #include "io/filesystem/layered_filesystem.h"
> @@ -38,13 +39,13 @@
>  #include "logic/game_data_error.h"
>  #include "logic/immovable.h"
>  #include "logic/militarysite.h"
> +#include "logic/parse_map_object_types.h"
>  #include "logic/ship.h"
>  #include "logic/soldier.h"
>  #include "logic/trainingsite.h"
>  #include "logic/warehouse.h"
>  #include "logic/worker.h"
>  #include "logic/world.h"
> -#include "parse_map_object_types.h"
>  #include "profile/profile.h"
>  #include "scripting/lua_table.h"
>  #include "scripting/scripting.h"
> 
> === modified file 'src/logic/tribe.h'
> --- src/logic/tribe.h	2014-05-11 07:38:01 +0000
> +++ src/logic/tribe.h	2014-06-16 13:55:52 +0000
> @@ -24,10 +24,10 @@
>  #include <vector>
>  
>  #include "TribeBasicInfo.h"
> -#include "description_maintainer.h"
>  #include "graphic/animation.h"
>  #include "logic/bob.h"
>  #include "logic/building.h"
> +#include "logic/description_maintainer.h"
>  #include "logic/immovable.h"
>  #include "logic/military_data.h"
>  #include "logic/ware_descr.h"
> 
> === modified file 'src/logic/ware_descr.cc'
> --- src/logic/ware_descr.cc	2014-03-16 20:55:15 +0000
> +++ src/logic/ware_descr.cc	2014-06-16 13:55:52 +0000
> @@ -19,9 +19,9 @@
>  
>  #include "logic/ware_descr.h"
>  
> +#include "base/i18n.h"
>  #include "graphic/animation.h"
>  #include "graphic/graphic.h"
> -#include "i18n.h"
>  #include "profile/profile.h"
>  
>  namespace Widelands {
> 
> === modified file 'src/logic/warehouse.cc'
> --- src/logic/warehouse.cc	2014-04-21 10:47:03 +0000
> +++ src/logic/warehouse.cc	2014-06-16 13:55:52 +0000
> @@ -21,6 +21,8 @@
>  
>  #include <algorithm>
>  
> +#include "base/log.h"
> +#include "base/wexception.h"
>  #include "container_iterate.h"
>  #include "economy/economy.h"
>  #include "economy/flag.h"
> @@ -29,7 +31,6 @@
>  #include "economy/ware_instance.h"
>  #include "economy/warehousesupply.h"
>  #include "economy/wares_queue.h"
> -#include "log.h"
>  #include "logic/battle.h"
>  #include "logic/carrier.h"
>  #include "logic/editor_game_base.h"
> @@ -45,7 +46,6 @@
>  #include "logic/worker.h"
>  #include "profile/profile.h"
>  #include "upcast.h"
> -#include "wexception.h"
>  
>  namespace Widelands {
>  
> 
> === modified file 'src/logic/warehouse.h'
> --- src/logic/warehouse.h	2014-05-11 07:38:01 +0000
> +++ src/logic/warehouse.h	2014-06-16 13:55:52 +0000
> @@ -20,12 +20,12 @@
>  #ifndef WAREHOUSE_H
>  #define WAREHOUSE_H
>  
> +#include "base/wexception.h"
>  #include "economy/request.h"
>  #include "logic/attackable.h"
>  #include "logic/building.h"
>  #include "logic/soldiercontrol.h"
>  #include "logic/wareworker.h"
> -#include "wexception.h"
>  
>  class Interactive_Player;
>  struct Profile;
> 
> === modified file 'src/logic/warelist.cc'
> --- src/logic/warelist.cc	2014-04-21 09:19:14 +0000
> +++ src/logic/warelist.cc	2014-06-16 13:55:52 +0000
> @@ -19,7 +19,7 @@
>  
>  #include "logic/warelist.h"
>  
> -#include "log.h"
> +#include "base/log.h"
>  
>  namespace Widelands {
>  
> 
> === modified file 'src/logic/widelands.h'
> --- src/logic/widelands.h	2014-04-21 09:19:14 +0000
> +++ src/logic/widelands.h	2014-06-16 13:55:52 +0000
> @@ -26,7 +26,7 @@
>  
>  #include <stdint.h>
>  
> -#include "port.h"
> +#include "base/port.h"
>  
>  namespace Widelands {
>  
> 
> === renamed file 'src/workarea_info.h' => 'src/logic/workarea_info.h'
> === modified file 'src/logic/worker.cc'
> --- src/logic/worker.cc	2014-06-10 20:38:57 +0000
> +++ src/logic/worker.cc	2014-06-16 13:55:52 +0000
> @@ -23,6 +23,7 @@
>  
>  #include <boost/format.hpp>
>  
> +#include "base/wexception.h"
>  #include "economy/economy.h"
>  #include "economy/flag.h"
>  #include "economy/portdock.h"
> @@ -55,7 +56,6 @@
>  #include "profile/profile.h"
>  #include "sound/sound_handler.h"
>  #include "upcast.h"
> -#include "wexception.h"
>  
>  namespace Widelands {
>  
> 
> === modified file 'src/logic/worker_descr.cc'
> --- src/logic/worker_descr.cc	2014-04-21 10:00:16 +0000
> +++ src/logic/worker_descr.cc	2014-06-16 13:55:52 +0000
> @@ -19,9 +19,10 @@
>  
>  #include "logic/worker_descr.h"
>  
> +#include "base/i18n.h"
> +#include "base/wexception.h"
>  #include "graphic/graphic.h"
>  #include "helper.h"
> -#include "i18n.h"
>  #include "logic/carrier.h"
>  #include "logic/nodecaps.h"
>  #include "logic/soldier.h"
> @@ -31,7 +32,6 @@
>  #include "profile/profile.h"
>  #include "ref_cast.h"
>  #include "sound/sound_handler.h"
> -#include "wexception.h"
>  
>  namespace Widelands {
>  
> 
> === modified file 'src/logic/worker_program.h'
> --- src/logic/worker_program.h	2014-02-22 18:04:02 +0000
> +++ src/logic/worker_program.h	2014-06-16 13:55:52 +0000
> @@ -21,7 +21,7 @@
>  #define WORKER_PROGRAM_H
>  
>  #include "logic/bob.h"
> -#include "workarea_info.h"
> +#include "logic/workarea_info.h"
>  #include "logic/worker.h"
>  
>  namespace Widelands {
> 
> === modified file 'src/logic/world.cc'
> --- src/logic/world.cc	2014-06-10 20:38:57 +0000
> +++ src/logic/world.cc	2014-06-16 13:55:52 +0000
> @@ -23,21 +23,21 @@
>  #include <memory>
>  #include <sstream>
>  
> +#include "base/i18n.h"
> +#include "base/log.h"
> +#include "base/wexception.h"
>  #include "constants.h"
>  #include "container_iterate.h"
>  #include "graphic/graphic.h"
>  #include "helper.h"
> -#include "i18n.h"
>  #include "io/fileread.h"
>  #include "io/filesystem/layered_filesystem.h"
>  #include "io/filewrite.h"
> -#include "log.h"
>  #include "logic/critter_bob.h"
>  #include "logic/game_data_error.h"
> +#include "logic/parse_map_object_types.h"
>  #include "logic/worlddata.h"
> -#include "parse_map_object_types.h"
>  #include "profile/profile.h"
> -#include "wexception.h"
>  
>  using std::cerr;
>  using std::endl;
> 
> === modified file 'src/logic/world.h'
> --- src/logic/world.h	2014-05-10 16:47:03 +0000
> +++ src/logic/world.h	2014-06-16 13:55:52 +0000
> @@ -21,7 +21,7 @@
>  #define WORLD_H
>  
>  #include "logic/bob.h"
> -#include "description_maintainer.h"
> +#include "logic/description_maintainer.h"
>  #include "logic/immovable.h"
>  #include "logic/widelands.h"
>  #include "logic/worlddata.h"
> 
> === modified file 'src/main.cc'
> --- src/main.cc	2014-02-22 18:04:02 +0000
> +++ src/main.cc	2014-06-16 13:55:52 +0000
> @@ -22,15 +22,15 @@
>  #include <typeinfo>
>  
>  #include <SDL_main.h>
> -#include <config.h>
>  #ifndef _WIN32
>  #include <fcntl.h>
>  #include <syslog.h>
>  #endif
>  #include <unistd.h>
>  
> +#include "base/wexception.h"
>  #include "build_info.h"
> -#include "wexception.h"
> +#include "config.h"
>  #include "wlapplication.h"
>  
>  using std::cout;
> 
> === modified file 'src/map_generator.cc'
> --- src/map_generator.cc	2014-06-10 20:38:57 +0000
> +++ src/map_generator.cc	2014-06-16 13:55:52 +0000
> @@ -21,8 +21,8 @@
>  
>  #include <memory>
>  
> +#include "base/log.h"
>  #include "editor/tools/editor_increase_resources_tool.h"
> -#include "log.h"
>  #include "logic/editor_game_base.h"
>  #include "logic/findnode.h"
>  #include "logic/map.h"
> 
> === modified file 'src/map_io/coords_profile.cc'
> --- src/map_io/coords_profile.cc	2014-06-16 09:38:03 +0000
> +++ src/map_io/coords_profile.cc	2014-06-16 13:55:52 +0000
> @@ -24,9 +24,9 @@
>  #include <memory>
>  #include <string>
>  
> +#include "base/wexception.h"
>  #include "logic/widelands_geometry.h"
>  #include "profile/profile.h"
> -#include "wexception.h"
>  
>  namespace Widelands {
>  
> 
> === modified file 'src/map_io/coords_profile.h'
> --- src/map_io/coords_profile.h	2014-06-16 13:33:29 +0000
> +++ src/map_io/coords_profile.h	2014-06-16 13:55:52 +0000
> @@ -31,11 +31,17 @@
>  
>  // Returns the key 'name' from 'section' parsed as Coords. Will throw if the
>  // value cannot be parsed. If 'name' is not in 'section' will return 'def'.
> +<<<<<<< TREE
>  Widelands::Coords get_coords(
>  	const std::string& name,
>  	const Widelands::Extent& extent,
>  	const Widelands::Coords& def,
>  	Section* section);
> +=======
> +Widelands::Coords get_coords
> +	(const std::string& name, const Widelands::Extent& extent, const
> +	 Widelands::Coords& def, Section* section);
> +>>>>>>> MERGE-SOURCE
>  
>  // Like get_coords, but will also throw when 'name' is not in 'section'.
>  Widelands::Coords
> 
> === modified file 'src/map_io/widelands_map_data_packet.h'
> --- src/map_io/widelands_map_data_packet.h	2014-05-11 07:38:01 +0000
> +++ src/map_io/widelands_map_data_packet.h	2014-06-16 13:55:52 +0000
> @@ -20,7 +20,7 @@
>  #ifndef WIDELANDS_MAP_DATA_PACKET_H
>  #define WIDELANDS_MAP_DATA_PACKET_H
>  
> -#include "wexception.h"
> +#include "base/wexception.h"
>  
>  class FileSystem;
>  
> 
> === modified file 'src/map_io/widelands_map_exploration_data_packet.cc'
> --- src/map_io/widelands_map_exploration_data_packet.cc	2014-05-11 07:38:01 +0000
> +++ src/map_io/widelands_map_exploration_data_packet.cc	2014-06-16 13:55:52 +0000
> @@ -19,9 +19,9 @@
>  
>  #include "map_io/widelands_map_exploration_data_packet.h"
>  
> +#include "base/log.h"
>  #include "io/fileread.h"
>  #include "io/filewrite.h"
> -#include "log.h"
>  #include "logic/editor_game_base.h"
>  #include "logic/game_data_error.h"
>  #include "logic/map.h"
> 
> === modified file 'src/map_io/widelands_map_loader.cc'
> --- src/map_io/widelands_map_loader.cc	2014-04-01 18:15:56 +0000
> +++ src/map_io/widelands_map_loader.cc	2014-06-16 13:55:52 +0000
> @@ -19,7 +19,8 @@
>  
>  #include "map_io/widelands_map_loader.h"
>  
> -#include "log.h"
> +#include "base/log.h"
> +#include "base/warning.h"
>  #include "logic/editor_game_base.h"
>  #include "logic/map.h"
>  #include "logic/player.h"
> @@ -51,7 +52,6 @@
>  #include "map_io/widelands_map_terrain_data_packet.h"
>  #include "map_io/widelands_map_version_data_packet.h"
>  #include "scoped_timer.h"
> -#include "warning.h"
>  
>  namespace Widelands {
>  
> 
> === modified file 'src/map_io/widelands_map_map_object_loader.cc'
> --- src/map_io/widelands_map_map_object_loader.cc	2013-07-26 20:19:36 +0000
> +++ src/map_io/widelands_map_map_object_loader.cc	2014-06-16 13:55:52 +0000
> @@ -19,9 +19,9 @@
>  
>  #include "map_io/widelands_map_map_object_loader.h"
>  
> +#include "base/wexception.h"
>  #include "logic/editor_game_base.h"
>  #include "logic/instances.h"
> -#include "wexception.h"
>  
>  namespace Widelands {
>  
> 
> === modified file 'src/map_io/widelands_map_map_object_saver.cc'
> --- src/map_io/widelands_map_map_object_saver.cc	2014-04-01 18:15:56 +0000
> +++ src/map_io/widelands_map_map_object_saver.cc	2014-06-16 13:55:52 +0000
> @@ -19,6 +19,7 @@
>  
>  #include "map_io/widelands_map_map_object_saver.h"
>  
> +#include "base/wexception.h"
>  #include "container_iterate.h"
>  #include "economy/flag.h"
>  #include "economy/fleet.h"
> @@ -29,7 +30,6 @@
>  #include "logic/bob.h"
>  #include "logic/building.h"
>  #include "logic/ware_descr.h"
> -#include "wexception.h"
>  
>  namespace Widelands {
>  
> 
> === modified file 'src/map_io/widelands_map_object_packet.cc'
> --- src/map_io/widelands_map_object_packet.cc	2014-05-11 07:38:01 +0000
> +++ src/map_io/widelands_map_object_packet.cc	2014-06-16 13:55:52 +0000
> @@ -19,6 +19,7 @@
>  
>  #include "map_io/widelands_map_object_packet.h"
>  
> +#include "base/wexception.h"
>  #include "economy/fleet.h"
>  #include "economy/portdock.h"
>  #include "io/fileread.h"
> @@ -32,7 +33,6 @@
>  #include "logic/worker.h"
>  #include "map_io/widelands_map_map_object_loader.h"
>  #include "map_io/widelands_map_map_object_saver.h"
> -#include "wexception.h"
>  
>  namespace Widelands {
>  
> 
> === modified file 'src/map_io/widelands_map_objective_data_packet.cc'
> --- src/map_io/widelands_map_objective_data_packet.cc	2014-04-21 10:21:08 +0000
> +++ src/map_io/widelands_map_objective_data_packet.cc	2014-06-16 13:55:52 +0000
> @@ -19,6 +19,8 @@
>  
>  #include "map_io/widelands_map_objective_data_packet.h"
>  
> +#include <memory>
> +
>  #include "logic/editor_game_base.h"
>  #include "logic/game_data_error.h"
>  #include "logic/map.h"
> 
> === modified file 'src/map_io/widelands_map_players_view_data_packet.cc'
> --- src/map_io/widelands_map_players_view_data_packet.cc	2014-05-11 07:38:01 +0000
> +++ src/map_io/widelands_map_players_view_data_packet.cc	2014-06-16 13:55:52 +0000
> @@ -22,10 +22,10 @@
>  #include <iostream>
>  #include <typeinfo>
>  
> +#include "base/log.h"
>  #include "economy/road.h"
>  #include "io/fileread.h"
>  #include "io/filewrite.h"
> -#include "log.h"
>  #include "logic/editor_game_base.h"
>  #include "logic/field.h"
>  #include "logic/game_data_error.h"
> @@ -997,7 +997,7 @@
>  	Map_Object_Descr const * const map_object_descr = map_object_data->map_object_descr;
>  	const Player::Constructionsite_Information & csi = map_object_data->csi;
>  	assert(not Road::IsRoadDescr(map_object_descr));
> -	uint8_t immovable_kind;
> +	uint8_t immovable_kind = 255;
>  
>  	if (not map_object_descr)
>  		immovable_kind = 0;
> 
> === modified file 'src/map_io/widelands_map_port_spaces_data_packet.cc'
> --- src/map_io/widelands_map_port_spaces_data_packet.cc	2014-06-08 21:02:17 +0000
> +++ src/map_io/widelands_map_port_spaces_data_packet.cc	2014-06-16 13:55:52 +0000
> @@ -21,8 +21,8 @@
>  
>  #include <boost/algorithm/string.hpp>
>  
> +#include "base/log.h"
>  #include "container_iterate.h"
> -#include "log.h"
>  #include "logic/editor_game_base.h"
>  #include "logic/game_data_error.h"
>  #include "logic/map.h"
> 
> === modified file 'src/map_io/widelands_map_resources_data_packet.cc'
> --- src/map_io/widelands_map_resources_data_packet.cc	2014-05-11 07:38:01 +0000
> +++ src/map_io/widelands_map_resources_data_packet.cc	2014-06-16 13:55:52 +0000
> @@ -19,9 +19,9 @@
>  
>  #include "map_io/widelands_map_resources_data_packet.h"
>  
> +#include "base/log.h"
>  #include "io/fileread.h"
>  #include "io/filewrite.h"
> -#include "log.h"
>  #include "logic/editor_game_base.h"
>  #include "logic/game_data_error.h"
>  #include "logic/map.h"
> 
> === modified file 'src/map_io/widelands_map_saver.cc'
> --- src/map_io/widelands_map_saver.cc	2014-04-21 09:19:14 +0000
> +++ src/map_io/widelands_map_saver.cc	2014-06-16 13:55:52 +0000
> @@ -19,7 +19,8 @@
>  
>  #include "map_io/widelands_map_saver.h"
>  
> -#include "log.h"
> +#include "base/log.h"
> +#include "base/wexception.h"
>  #include "logic/editor_game_base.h"
>  #include "logic/map.h"
>  #include "logic/player.h"
> @@ -50,7 +51,6 @@
>  #include "map_io/widelands_map_terrain_data_packet.h"
>  #include "map_io/widelands_map_version_data_packet.h"
>  #include "scoped_timer.h"
> -#include "wexception.h"
>  
>  namespace Widelands {
>  
> 
> === modified file 'src/map_io/widelands_map_saver.h'
> --- src/map_io/widelands_map_saver.h	2013-09-23 18:47:02 +0000
> +++ src/map_io/widelands_map_saver.h	2014-06-16 13:55:52 +0000
> @@ -20,7 +20,7 @@
>  #ifndef WIDELANDS_MAP_SAVER_H
>  #define WIDELANDS_MAP_SAVER_H
>  
> -#include "wexception.h"
> +#include "base/wexception.h"
>  
>  class FileSystem;
>  
> 
> === modified file 'src/map_io/widelands_map_terrain_data_packet.cc'
> --- src/map_io/widelands_map_terrain_data_packet.cc	2014-05-11 07:38:01 +0000
> +++ src/map_io/widelands_map_terrain_data_packet.cc	2014-06-16 13:55:52 +0000
> @@ -21,9 +21,9 @@
>  
>  #include <map>
>  
> +#include "base/log.h"
>  #include "io/fileread.h"
>  #include "io/filewrite.h"
> -#include "log.h"
>  #include "logic/editor_game_base.h"
>  #include "logic/game_data_error.h"
>  #include "logic/map.h"
> 
> === removed file 'src/minizip/CMakeLists.txt'
> --- src/minizip/CMakeLists.txt	2012-04-07 15:12:06 +0000
> +++ src/minizip/CMakeLists.txt	1970-01-01 00:00:00 +0000
> @@ -1,3 +0,0 @@
> -add_library(wl_minizip STATIC EXCLUDE_FROM_ALL "unzip.cc")
> -
> -message(WARNING "You are using widelands-bundled minizip sources. Please install your distribution's minizip library or urge your distribution maintainer to include the minizip library in your package repository. Thank you.")
> 
> === modified file 'src/network/internet_gaming.cc'
> --- src/network/internet_gaming.cc	2014-05-10 17:07:11 +0000
> +++ src/network/internet_gaming.cc	2014-06-16 13:55:52 +0000
> @@ -23,14 +23,14 @@
>  #include <boost/lexical_cast.hpp>
>  #include <libintl.h>
>  
> +#include "base/i18n.h"
> +#include "base/log.h"
> +#include "base/warning.h"
>  #include "compile_diagnostics.h"
> -#include "i18n.h"
>  #include "io/dedicated_log.h"
>  #include "io/fileread.h"
>  #include "io/filesystem/layered_filesystem.h"
> -#include "log.h"
>  #include "network/internet_gaming_messages.h"
> -#include "warning.h"
>  
>  
>  
> 
> === modified file 'src/network/internet_gaming_messages.cc'
> --- src/network/internet_gaming_messages.cc	2014-02-25 15:04:27 +0000
> +++ src/network/internet_gaming_messages.cc	2014-06-16 13:55:52 +0000
> @@ -21,7 +21,7 @@
>  
>  #include <map>
>  
> -#include "i18n.h"
> +#include "base/i18n.h"
>  
>  static std::map <std::string, std::string> igmessages;
>  
> 
> === modified file 'src/network/netclient.cc'
> --- src/network/netclient.cc	2014-05-10 17:07:11 +0000
> +++ src/network/netclient.cc	2014-06-16 13:55:52 +0000
> @@ -19,14 +19,18 @@
>  
>  #include "network/netclient.h"
>  
> +#include <memory>
> +
>  #include <boost/algorithm/string/predicate.hpp>
>  #include <boost/lexical_cast.hpp>
> -#include <config.h>
>  
> +#include "base/i18n.h"
> +#include "base/warning.h"
> +#include "base/wexception.h"
>  #include "build_info.h"
> +#include "config.h"
>  #include "game_io/game_loader.h"
>  #include "helper.h"
> -#include "i18n.h"
>  #include "io/fileread.h"
>  #include "io/filewrite.h"
>  #include "logic/game.h"
> @@ -44,8 +48,6 @@
>  #include "ui_basic/messagebox.h"
>  #include "ui_basic/progresswindow.h"
>  #include "ui_fsmenu/launchMPG.h"
> -#include "warning.h"
> -#include "wexception.h"
>  #include "wlapplication.h"
>  #include "wui/game_tips.h"
>  #include "wui/interactive_player.h"
> 
> === modified file 'src/network/nethost.cc'
> --- src/network/nethost.cc	2014-05-10 17:07:11 +0000
> +++ src/network/nethost.cc	2014-06-16 13:55:52 +0000
> @@ -19,6 +19,7 @@
>  
>  #include "network/nethost.h"
>  
> +#include <memory>
>  #include <sstream>
>  
>  #include <boost/algorithm/string/predicate.hpp>
> @@ -29,13 +30,14 @@
>  #include <unistd.h> // for usleep
>  #endif
>  
> +#include "base/i18n.h"
> +#include "base/wexception.h"
>  #include "build_info.h"
>  #include "chat.h"
>  #include "computer_player.h"
>  #include "game_io/game_loader.h"
>  #include "game_io/game_preload_data_packet.h"
>  #include "helper.h"
> -#include "i18n.h"
>  #include "io/dedicated_log.h"
>  #include "io/fileread.h"
>  #include "io/filesystem/layered_filesystem.h"
> @@ -56,7 +58,6 @@
>  #include "scripting/scripting.h"
>  #include "ui_basic/progresswindow.h"
>  #include "ui_fsmenu/launchMPG.h"
> -#include "wexception.h"
>  #include "wlapplication.h"
>  #include "wui/game_tips.h"
>  #include "wui/interactive_player.h"
> 
> === modified file 'src/network/network.cc'
> --- src/network/network.cc	2013-10-08 21:20:32 +0000
> +++ src/network/network.cc	2014-06-16 13:55:52 +0000
> @@ -19,7 +19,7 @@
>  
>  #include "network/network.h"
>  
> -#include "log.h"
> +#include "base/log.h"
>  #include "wlapplication.h"
>  
>  
> 
> === modified file 'src/network/network_gaming_messages.cc'
> --- src/network/network_gaming_messages.cc	2014-03-09 10:28:39 +0000
> +++ src/network/network_gaming_messages.cc	2014-06-16 13:55:52 +0000
> @@ -24,8 +24,8 @@
>  #include <boost/format.hpp>
>  #include <stdint.h>
>  
> -#include "i18n.h"
> -#include "log.h"
> +#include "base/i18n.h"
> +#include "base/log.h"
>  
>  static std::map <std::string, std::string> ngmessages;
>  
> 
> === modified file 'src/network/network_player_settings_backend.cc'
> --- src/network/network_player_settings_backend.cc	2013-07-26 20:19:36 +0000
> +++ src/network/network_player_settings_backend.cc	2014-06-16 13:55:52 +0000
> @@ -19,9 +19,9 @@
>  
>  #include "network/network_player_settings_backend.h"
>  
> +#include "base/i18n.h"
> +#include "base/log.h"
>  #include "gamesettings.h"
> -#include "i18n.h"
> -#include "log.h"
>  #include "logic/player.h"
>  #include "logic/tribe.h"
>  #include "profile/profile.h"
> 
> === added file 'src/profile/CMakeLists.txt'
> --- src/profile/CMakeLists.txt	1970-01-01 00:00:00 +0000
> +++ src/profile/CMakeLists.txt	2014-06-16 13:55:52 +0000
> @@ -0,0 +1,8 @@
> +wl_library(profile
> +  SRCS
> +   profile.h
> +   profile.cc
> +  DEPENDS
> +   base_i18n
> +   io_filesystem
> + )
> 
> === modified file 'src/profile/profile.cc'
> --- src/profile/profile.cc	2014-06-08 21:02:17 +0000
> +++ src/profile/profile.cc	2014-06-16 13:55:52 +0000
> @@ -26,14 +26,14 @@
>  #include <limits>
>  #include <string>
>  
> +#include "base/i18n.h"
> +#include "base/log.h"
> +#include "base/wexception.h"
>  #include "build_info.h"
> -#include "i18n.h"
>  #include "io/fileread.h"
>  #include "io/filewrite.h"
> -#include "log.h"
>  #include "logic/player.h"
>  #include "logic/tribe.h"
> -#include "wexception.h"
>  
>  #define TRUE_WORDS 4
>  char const * trueWords[TRUE_WORDS] =
> 
> === modified file 'src/profile/profile.h'
> --- src/profile/profile.h	2014-06-08 21:02:17 +0000
> +++ src/profile/profile.h	2014-06-16 13:55:52 +0000
> @@ -25,11 +25,10 @@
>  
>  #include <boost/noncopyable.hpp>
>  
> -//TODO: as soon as g_fs is not needed anymore, next include can be changed
> -//to ..../filesystem.h
> +//TODO: as soon as g_fs is not needed anymore, include "filesystem.h" instead of layered_filesystem.h.
> +#include "base/port.h"
>  #include "io/filesystem/layered_filesystem.h"
>  #include "point.h"
> -#include "port.h"
>  
>  
>  extern struct Profile g_options;
> 
> === modified file 'src/random.cc'
> --- src/random.cc	2013-07-26 19:16:51 +0000
> +++ src/random.cc	2014-06-16 13:55:52 +0000
> @@ -21,9 +21,9 @@
>  
>  #include <cstdio>
>  
> +#include "base/wexception.h"
>  #include "io/streamread.h"
>  #include "io/streamwrite.h"
> -#include "wexception.h"
>  
>  RNG::RNG () : state0(0), state1(0) {}
>  
> 
> === modified file 'src/s2map.cc'
> --- src/s2map.cc	2014-05-11 07:38:01 +0000
> +++ src/s2map.cc	2014-06-16 13:55:52 +0000
> @@ -24,11 +24,12 @@
>  
>  #include <libintl.h>
>  
> +#include "base/i18n.h"
> +#include "base/log.h"
> +#include "base/wexception.h"
>  #include "constants.h"
> -#include "i18n.h"
>  #include "io/fileread.h"
>  #include "io/filesystem/layered_filesystem.h"
> -#include "log.h"
>  #include "logic/editor_game_base.h"
>  #include "logic/field.h"
>  #include "logic/game.h"
> @@ -39,7 +40,6 @@
>  #include "logic/world.h"
>  #include "map_io/map_loader.h"
>  #include "upcast.h"
> -#include "wexception.h"
>  
>  using std::cerr;
>  using std::endl;
> 
> === modified file 'src/save_handler.cc'
> --- src/save_handler.cc	2014-06-10 20:38:57 +0000
> +++ src/save_handler.cc	2014-06-16 13:55:52 +0000
> @@ -21,15 +21,15 @@
>  
>  #include <memory>
>  
> +#include "base/log.h"
> +#include "base/wexception.h"
>  #include "chat.h"
>  #include "game_io/game_saver.h"
>  #include "io/filesystem/filesystem.h"
> -#include "log.h"
>  #include "logic/game.h"
>  #include "profile/profile.h"
>  #include "scoped_timer.h"
>  #include "upcast.h"
> -#include "wexception.h"
>  #include "wlapplication.h"
>  #include "wui/interactive_base.h"
>  
> 
> === modified file 'src/scoped_timer.cc'
> --- src/scoped_timer.cc	2013-10-10 04:58:26 +0000
> +++ src/scoped_timer.cc	2014-06-16 13:55:52 +0000
> @@ -22,7 +22,7 @@
>  #include <SDL.h>
>  #include <boost/format.hpp>
>  
> -#include "log.h"
> +#include "base/log.h"
>  
>  ScopedTimer::ScopedTimer(const std::string& message)
>  		: message_(message)
> 
> === modified file 'src/scripting/CMakeLists.txt'
> --- src/scripting/CMakeLists.txt	2013-10-17 07:53:54 +0000
> +++ src/scripting/CMakeLists.txt	2014-06-16 13:55:52 +0000
> @@ -1,77 +1,1 @@
> -file(GLOB_RECURSE ERIS_SRCS_C *.c)
> -file(GLOB_RECURSE ERIS_SRCS_H *.h)
> -
> -SET(ERIS_SOURCES
> -  eris/eris.c
> -  eris/lapi.c
> -  eris/lauxlib.c
> -  eris/lbaselib.c
> -  eris/lbitlib.c
> -  eris/lcode.c
> -  eris/lcorolib.c
> -  eris/lctype.c
> -  eris/ldblib.c
> -  eris/ldebug.c
> -  eris/ldo.c
> -  eris/ldump.c
> -  eris/lfunc.c
> -  eris/lgc.c
> -  eris/linit.c
> -  eris/liolib.c
> -  eris/llex.c
> -  eris/lmathlib.c
> -  eris/lmem.c
> -  eris/loadlib.c
> -  eris/lobject.c
> -  eris/lopcodes.c
> -  eris/loslib.c
> -  eris/lparser.c
> -  eris/lstate.c
> -  eris/lstring.c
> -  eris/lstrlib.c
> -  eris/ltable.c
> -  eris/ltablib.c
> -  eris/ltm.c
> -  eris/lua.c
> -  eris/luac.c
> -  eris/lundump.c
> -  eris/lvm.c
> -  eris/lzio.c
> -)
> -
> -SET(ERIS_HEADERS
> -  eris/eris.h
> -  eris/lapi.h
> -  eris/lauxlib.h
> -  eris/lcode.h
> -  eris/lctype.h
> -  eris/ldebug.h
> -  eris/ldo.h
> -  eris/lfunc.h
> -  eris/lgc.h
> -  eris/llex.h
> -  eris/llimits.h
> -  eris/lmem.h
> -  eris/lobject.h
> -  eris/lopcodes.h
> -  eris/lparser.h
> -  eris/lstate.h
> -  eris/lstring.h
> -  eris/ltable.h
> -  eris/ltm.h
> -  eris/lua.h
> -  eris/luaconf.h
> -  eris/lualib.h
> -  eris/lundump.h
> -  eris/lvm.h
> -  eris/lzio.h
> -)
> -
> -add_library(eris STATIC
> -  ${ERIS_SOURCES}
> -  ${ERIS_HEADERS}
> -)
> -
> -if (WL_UNIT_TESTS)
> -  add_subdirectory(test)
> -endif (WL_UNIT_TESTS)
> +add_subdirectory(test)
> 
> === modified file 'src/scripting/c_utils.h'
> --- src/scripting/c_utils.h	2014-04-06 15:47:56 +0000
> +++ src/scripting/c_utils.h	2014-06-16 13:55:52 +0000
> @@ -24,8 +24,8 @@
>  #include "logic/game.h"
>  #include "map_io/widelands_map_map_object_loader.h"
>  #include "map_io/widelands_map_map_object_saver.h"
> -#include "scripting/eris/lua.hpp"
>  #include "scripting/factory.h"
> +#include "third_party/eris/lua.hpp"
>  
>  Factory & get_factory(lua_State *);
>  Widelands::Game & get_game(lua_State *);
> 
> === modified file 'src/scripting/eris.h'
> --- src/scripting/eris.h	2013-10-19 12:18:35 +0000
> +++ src/scripting/eris.h	2014-06-16 13:55:52 +0000
> @@ -22,7 +22,7 @@
>  
>  // We need eris in a cpp context. Include it as such.
>  extern "C" {
> -#include "scripting/eris/eris.h"
> +#include "third_party/eris/eris.h"
>  }
>  
>  
> 
> === modified file 'src/scripting/factory.h'
> --- src/scripting/factory.h	2014-02-22 18:04:02 +0000
> +++ src/scripting/factory.h	2014-06-16 13:55:52 +0000
> @@ -22,7 +22,7 @@
>  
>  
>  #include "logic/widelands.h"
> -#include "scripting/eris/lua.hpp"
> +#include "third_party/eris/lua.hpp"
>  
>  /*
>   * Class to create the correct type for types shared between Editor and Game.
> 
> === modified file 'src/scripting/lua_bases.h'
> --- src/scripting/lua_bases.h	2014-02-22 18:04:02 +0000
> +++ src/scripting/lua_bases.h	2014-06-16 13:55:52 +0000
> @@ -20,8 +20,8 @@
>  #ifndef LUA_BASES_H
>  #define LUA_BASES_H
>  
> -#include "scripting/eris/lua.hpp"
>  #include "scripting/luna.h"
> +#include "third_party/eris/lua.hpp"
>  
>  namespace LuaBases {
>  
> 
> === modified file 'src/scripting/lua_coroutine.h'
> --- src/scripting/lua_coroutine.h	2014-05-11 07:38:01 +0000
> +++ src/scripting/lua_coroutine.h	2014-06-16 13:55:52 +0000
> @@ -22,7 +22,7 @@
>  
>  #include <stdint.h>
>  
> -#include "scripting/eris/lua.hpp"
> +#include "third_party/eris/lua.hpp"
>  
>  class FileRead;
>  class FileWrite;
> 
> === modified file 'src/scripting/lua_editor.cc'
> --- src/scripting/lua_editor.cc	2014-02-22 18:04:02 +0000
> +++ src/scripting/lua_editor.cc	2014-06-16 13:55:52 +0000
> @@ -19,7 +19,7 @@
>  
>  #include "scripting/lua_editor.h"
>  
> -#include "log.h"
> +#include "base/log.h"
>  #include "logic/game.h"
>  #include "logic/player.h"
>  #include "scripting/c_utils.h"
> 
> === modified file 'src/scripting/lua_editor.h'
> --- src/scripting/lua_editor.h	2014-02-22 18:04:02 +0000
> +++ src/scripting/lua_editor.h	2014-06-16 13:55:52 +0000
> @@ -20,8 +20,8 @@
>  #ifndef LUA_EDITOR_H
>  #define LUA_EDITOR_H
>  
> -#include "scripting/eris/lua.hpp"
>  #include "scripting/lua_bases.h"
> +#include "third_party/eris/lua.hpp"
>  
>  namespace LuaEditor {
>  
> 
> === modified file 'src/scripting/lua_errors.h'
> --- src/scripting/lua_errors.h	2014-03-26 10:20:37 +0000
> +++ src/scripting/lua_errors.h	2014-06-16 13:55:52 +0000
> @@ -22,7 +22,7 @@
>  
>  #include <string>
>  
> -#include "wexception.h"
> +#include "base/wexception.h"
>  
>  class LuaError : public _wexception {
>  public:
> 
> === modified file 'src/scripting/lua_game.cc'
> --- src/scripting/lua_game.cc	2014-04-21 09:19:14 +0000
> +++ src/scripting/lua_game.cc	2014-06-16 13:55:52 +0000
> @@ -19,13 +19,15 @@
>  
>  #include "scripting/lua_game.h"
>  
> +#include <memory>
> +
>  #include <boost/format.hpp>
>  
> +#include "base/i18n.h"
>  #include "campvis.h"
>  #include "economy/economy.h"
>  #include "economy/flag.h"
>  #include "gamecontroller.h"
> -#include "i18n.h"
>  #include "logic/objective.h"
>  #include "logic/path.h"
>  #include "logic/player.h"
> 
> === modified file 'src/scripting/lua_game.h'
> --- src/scripting/lua_game.h	2014-04-20 20:53:01 +0000
> +++ src/scripting/lua_game.h	2014-06-16 13:55:52 +0000
> @@ -22,9 +22,9 @@
>  
>  #include "logic/building.h"
>  #include "logic/message_id.h"
> -#include "scripting/eris/lua.hpp"
>  #include "scripting/lua_bases.h"
>  #include "scripting/luna.h"
> +#include "third_party/eris/lua.hpp"
>  
>  namespace Widelands {
>  	struct Tribe_Descr;
> 
> === modified file 'src/scripting/lua_globals.cc'
> --- src/scripting/lua_globals.cc	2014-05-10 09:08:14 +0000
> +++ src/scripting/lua_globals.cc	2014-06-16 13:55:52 +0000
> @@ -24,8 +24,8 @@
>  #include <boost/format.hpp>
>  #include <libintl.h>
>  
> +#include "base/i18n.h"
>  #include "build_info.h"
> -#include "i18n.h"
>  #include "io/filesystem/layered_filesystem.h"
>  #include "logic/game.h"
>  #include "scripting/c_utils.h"
> 
> === modified file 'src/scripting/lua_globals.h'
> --- src/scripting/lua_globals.h	2013-10-17 07:53:54 +0000
> +++ src/scripting/lua_globals.h	2014-06-16 13:55:52 +0000
> @@ -20,7 +20,7 @@
>  #ifndef LUA_GLOBALS_H
>  #define LUA_GLOBALS_H
>  
> -#include "scripting/eris/lua.hpp"
> +#include "third_party/eris/lua.hpp"
>  
>  namespace LuaGlobals {
>  
> 
> === modified file 'src/scripting/lua_map.cc'
> --- src/scripting/lua_map.cc	2014-04-21 10:47:03 +0000
> +++ src/scripting/lua_map.cc	2014-06-16 13:55:52 +0000
> @@ -19,9 +19,9 @@
>  
>  #include "scripting/lua_map.h"
>  
> +#include "base/log.h"
>  #include "container_iterate.h"
>  #include "economy/wares_queue.h"
> -#include "log.h"
>  #include "logic/carrier.h"
>  #include "logic/checkstep.h"
>  #include "logic/findimmovable.h"
> 
> === modified file 'src/scripting/lua_map.h'
> --- src/scripting/lua_map.h	2014-03-31 20:21:27 +0000
> +++ src/scripting/lua_map.h	2014-06-16 13:55:52 +0000
> @@ -34,8 +34,8 @@
>  #include "logic/trainingsite.h"
>  #include "logic/warehouse.h"
>  #include "logic/worker.h"
> -#include "scripting/eris/lua.hpp"
>  #include "scripting/luna.h"
> +#include "third_party/eris/lua.hpp"
>  
>  
>  namespace Widelands {
> 
> === modified file 'src/scripting/lua_root.cc'
> --- src/scripting/lua_root.cc	2014-03-24 21:47:08 +0000
> +++ src/scripting/lua_root.cc	2014-06-16 13:55:52 +0000
> @@ -19,8 +19,8 @@
>  
>  #include "scripting/lua_root.h"
>  
> +#include "base/log.h"
>  #include "gamecontroller.h"
> -#include "log.h"
>  #include "logic/cmd_luacoroutine.h"
>  #include "logic/findimmovable.h"
>  #include "logic/game.h"
> 
> === modified file 'src/scripting/lua_root.h'
> --- src/scripting/lua_root.h	2014-02-22 18:04:02 +0000
> +++ src/scripting/lua_root.h	2014-06-16 13:55:52 +0000
> @@ -20,9 +20,9 @@
>  #ifndef LUA_ROOT_H
>  #define LUA_ROOT_H
>  
> -#include "scripting/eris/lua.hpp"
>  #include "scripting/lua_bases.h"
>  #include "scripting/luna.h"
> +#include "third_party/eris/lua.hpp"
>  
>  namespace LuaRoot {
>  
> 
> === modified file 'src/scripting/lua_table.h'
> --- src/scripting/lua_table.h	2014-06-10 20:42:45 +0000
> +++ src/scripting/lua_table.h	2014-06-16 13:55:52 +0000
> @@ -25,9 +25,9 @@
>  #include <boost/lexical_cast.hpp>
>  
>  #include "scripting/c_utils.h"
> -#include "scripting/eris/lua.hpp"
>  #include "scripting/lua_coroutine.h"
>  #include "scripting/lua_errors.h"
> +#include "third_party/eris/lua.hpp"
>  
>  class LuaTableKeyError : public LuaError {
>  public:
> 
> === modified file 'src/scripting/lua_ui.h'
> --- src/scripting/lua_ui.h	2014-02-22 18:04:02 +0000
> +++ src/scripting/lua_ui.h	2014-06-16 13:55:52 +0000
> @@ -20,8 +20,8 @@
>  #ifndef LUA_UI_H
>  #define LUA_UI_H
>  
> -#include "scripting/eris/lua.hpp"
>  #include "scripting/luna.h"
> +#include "third_party/eris/lua.hpp"
>  #include "ui_basic/button.h"
>  #include "ui_basic/tabpanel.h"
>  #include "ui_basic/window.h"
> 
> === modified file 'src/scripting/luna.h'
> --- src/scripting/luna.h	2013-10-19 10:42:47 +0000
> +++ src/scripting/luna.h	2014-06-16 13:55:52 +0000
> @@ -59,8 +59,8 @@
>  #define UNPERS_UINT32(name, value) _UNPERS_TYPE(name, value, uint32)
>  #define UNPERS_STRING(name, value) _UNPERS_TYPE(name, value, string)
>  
> -#include "scripting/eris/lua.hpp"
>  #include "scripting/luna_impl.h"
> +#include "third_party/eris/lua.hpp"
>  
>  /**
>   * Base Class. All Luna class must derive from this
> 
> === modified file 'src/scripting/luna_impl.cc'
> --- src/scripting/luna_impl.cc	2014-04-15 05:06:05 +0000
> +++ src/scripting/luna_impl.cc	2014-06-16 13:55:52 +0000
> @@ -21,7 +21,7 @@
>  
>  #include <string>
>  
> -#include "log.h"
> +#include "base/log.h"
>  #include "scripting/c_utils.h"
>  #include "scripting/luna.h"
>  
> 
> === modified file 'src/scripting/luna_impl.h'
> --- src/scripting/luna_impl.h	2014-04-15 05:06:05 +0000
> +++ src/scripting/luna_impl.h	2014-06-16 13:55:52 +0000
> @@ -27,7 +27,7 @@
>  #define LUNA_IMPL_H
>  
>  #include "scripting/c_utils.h"
> -#include "scripting/eris/lua.hpp"
> +#include "third_party/eris/lua.hpp"
>  
>  int luna_unpersisting_closure(lua_State * L);
>  
> 
> === modified file 'src/scripting/persistence.cc'
> --- src/scripting/persistence.cc	2014-05-11 07:38:01 +0000
> +++ src/scripting/persistence.cc	2014-06-16 13:55:52 +0000
> @@ -21,9 +21,9 @@
>  
>  #include <memory>
>  
> +#include "base/log.h"
>  #include "io/fileread.h"
>  #include "io/filewrite.h"
> -#include "log.h"
>  #include "scripting/c_utils.h"
>  #include "scripting/eris.h"
>  #include "scripting/luna_impl.h"
> 
> === modified file 'src/scripting/persistence.h'
> --- src/scripting/persistence.h	2014-05-11 07:38:01 +0000
> +++ src/scripting/persistence.h	2014-06-16 13:55:52 +0000
> @@ -22,7 +22,7 @@
>  
>  #include <string>
>  
> -#include "scripting/eris/lua.hpp"
> +#include "third_party/eris/lua.hpp"
>  
>  class FileRead;
>  class FileWrite;
> 
> === modified file 'src/scripting/scripting.cc'
> --- src/scripting/scripting.cc	2014-06-10 20:38:57 +0000
> +++ src/scripting/scripting.cc	2014-06-16 13:55:52 +0000
> @@ -29,8 +29,8 @@
>  #endif
>  #include <stdint.h>
>  
> +#include "base/log.h"
>  #include "io/filesystem/layered_filesystem.h"
> -#include "log.h"
>  #include "scripting/c_utils.h"
>  #include "scripting/factory.h"
>  #include "scripting/lua_bases.h"
> 
> === modified file 'src/scripting/scripting.h'
> --- src/scripting/scripting.h	2014-05-11 12:29:55 +0000
> +++ src/scripting/scripting.h	2014-06-16 13:55:52 +0000
> @@ -26,8 +26,8 @@
>  
>  #include <stdint.h>
>  
> -#include "scripting/eris/lua.hpp"
>  #include "scripting/lua_errors.h"
> +#include "third_party/eris/lua.hpp"
>  
>  class FileRead;
>  class FileWrite;
> 
> === modified file 'src/scripting/test/CMakeLists.txt'
> --- src/scripting/test/CMakeLists.txt	2013-10-17 18:02:40 +0000
> +++ src/scripting/test/CMakeLists.txt	2014-06-16 13:55:52 +0000
> @@ -1,12 +1,8 @@
> -if (WL_UNIT_TESTS)
> -  file(GLOB WL_SCRIPTING_TEST_SRCS *.cc)
> -
> -  add_executable(test_widelands_scripting ${WL_SCRIPTING_TEST_SRCS} ${TEST_EXTRA_SOURCES})
> -
> -  target_link_libraries(test_widelands_scripting widelands_all)
> -  target_link_libraries(test_widelands_scripting eris)
> -  target_link_libraries(test_widelands_scripting ${Boost_UNIT_TEST_FRAMEWORK_LIBRARY})
> -  target_link_libraries(test_widelands_scripting ${TEST_EXTRA_LIBS})
> -
> -  add_test(test_widelands_scripting test_widelands_scripting)
> -endif (WL_UNIT_TESTS)
> +wl_test(test_scripting
> + SRCS
> +   ./scripting_test_main.cc
> +   ./test_luna.cc
> + DEPENDS
> +   widelands_ball_of_mud
> +   third_party_eris
> +)
> 
> === modified file 'src/scripting/test/test_luna.cc'
> --- src/scripting/test/test_luna.cc	2014-02-22 18:04:02 +0000
> +++ src/scripting/test/test_luna.cc	2014-06-16 13:55:52 +0000
> @@ -22,9 +22,9 @@
>  
>  #include <boost/test/unit_test.hpp>
>  
> -#include "scripting/eris/lua.hpp"
>  #include "scripting/luna.h"
>  #include "scripting/luna_impl.h"
> +#include "third_party/eris/lua.hpp"
>  
>  #ifndef BEGIN_LUNA_PROPERTIES
>  #define BEGIN_LUNA_PROPERTIES(klass) \
> 
> === removed file 'src/singleton.h'
> --- src/singleton.h	2012-02-15 21:25:34 +0000
> +++ src/singleton.h	1970-01-01 00:00:00 +0000
> @@ -1,66 +0,0 @@
> -/*
> - * Copyright (C) 2002, 2008 by the Widelands Development Team
> - *
> - * This program is free software; you can redistribute it and/or
> - * modify it under the terms of the GNU General Public License
> - * as published by the Free Software Foundation; either version 2
> - * of the License, or (at your option) any later version.
> - *
> - * This program is distributed in the hope that it will be useful,
> - * but WITHOUT ANY WARRANTY; without even the implied warranty of
> - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
> - * GNU General Public License for more details.
> - *
> - * You should have received a copy of the GNU General Public License
> - * along with this program; if not, write to the Free Software
> - * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
> - *
> - */
> -
> -#ifndef SINGLETON_H
> -#define SINGLETON_H
> -
> -
> -#include <cassert>
> -
> -/* The original code seems to have come from Game Programming Gems I, P. 38
> - * but the current version probably doesn't really resemble it any more.
> - */
> -
> -/// Singleton class, to be used in
> -///
> -/// class SomeClass : public Singleton<SomeClass> {
> -///   etc.
> -/// };
> -///
> -/// The singleton must be explicitly instantiated using
> -///  new SomeClass;
> -/// and explicitly deleted using
> -///  delete SomeClass::get_ptsingleton();
> -///
> -/// \note There is a weakness here because the implementation doesn't
> -/// enforce that T equals the derived class. Unfortunately, using dynamic_cast
> -/// (or any other kind of RTTI) in the constructor doesn't work.
> -template <typename T> class Singleton {
> -	static T * ms;
> -
> -protected:
> -	Singleton() {
> -		assert(!ms);
> -		ms = static_cast<T *>(this);
> -	}
> -
> -	~Singleton() {
> -		assert(ms);
> -		ms = 0;
> -	}
> -
> -public:
> -	static T & get_singleton  () {assert(ms); return *ms;}
> -	static T * get_ptsingleton() {assert(ms); return  ms;}
> -};
> -
> -template <typename T> T * Singleton <T>::ms = 0;
> -
> -
> -#endif
> 
> === added file 'src/sound/CMakeLists.txt'
> --- src/sound/CMakeLists.txt	1970-01-01 00:00:00 +0000
> +++ src/sound/CMakeLists.txt	2014-06-16 13:55:52 +0000
> @@ -0,0 +1,15 @@
> +wl_library(sound
> +  SRCS
> +    ./fxset.cc
> +    ./fxset.h
> +    ./songset.cc
> +    ./songset.h
> +    #TODO: Has dependencies on graphic, logic, and wui... and various things in src root
> +    ./sound_handler.cc
> +    ./sound_handler.h
> +  USES_BOOST_REGEX
> +  DEPENDS
> +    base_log
> +    io_filesystem
> +    profile
> +)
> 
> === modified file 'src/sound/songset.cc'
> --- src/sound/songset.cc	2014-05-10 17:07:11 +0000
> +++ src/sound/songset.cc	2014-06-16 13:55:52 +0000
> @@ -21,9 +21,9 @@
>  
>  #include <utility>
>  
> +#include "base/log.h"
>  #include "io/fileread.h"
>  #include "io/filesystem/layered_filesystem.h"
> -#include "log.h"
>  #include "sound/sound_handler.h"
>  
>  namespace {
> 
> === modified file 'src/sound/sound_handler.cc'
> --- src/sound/sound_handler.cc	2014-04-16 14:10:43 +0000
> +++ src/sound/sound_handler.cc	2014-06-16 13:55:52 +0000
> @@ -28,12 +28,12 @@
>  #include <windows.h>
>  #endif
>  
> +#include "base/i18n.h"
> +#include "base/log.h"
>  #include "graphic/graphic.h"
>  #include "helper.h"
> -#include "i18n.h"
>  #include "io/fileread.h"
>  #include "io/filesystem/layered_filesystem.h"
> -#include "log.h"
>  #include "logic/game.h"
>  #include "logic/map.h"
>  #include "profile/profile.h"
> 
> === added directory 'src/third_party'
> === added file 'src/third_party/CMakeLists.txt'
> --- src/third_party/CMakeLists.txt	1970-01-01 00:00:00 +0000
> +++ src/third_party/CMakeLists.txt	2014-06-16 13:55:52 +0000
> @@ -0,0 +1,73 @@
> +wl_library(third_party_minizip
> +  THIRD_PARTY
> +  SRCS
> +    minizip/unzip.cc
> +  USES_ZLIB
> +)
> +
> +wl_library(third_party_eris
> +  THIRD_PARTY
> +  C_LIBRARY
> +  SRCS
> +    eris/eris.c
> +    eris/eris.h
> +    eris/lapi.c
> +    eris/lapi.h
> +    eris/lauxlib.c
> +    eris/lauxlib.h
> +    eris/lbaselib.c
> +    eris/lbitlib.c
> +    eris/lcode.c
> +    eris/lcode.h
> +    eris/lcorolib.c
> +    eris/lctype.c
> +    eris/lctype.h
> +    eris/ldblib.c
> +    eris/ldebug.c
> +    eris/ldebug.h
> +    eris/ldo.c
> +    eris/ldo.h
> +    eris/ldump.c
> +    eris/lfunc.c
> +    eris/lfunc.h
> +    eris/lgc.c
> +    eris/lgc.h
> +    eris/linit.c
> +    eris/liolib.c
> +    eris/llex.c
> +    eris/llex.h
> +    eris/llimits.h
> +    eris/lmathlib.c
> +    eris/lmem.c
> +    eris/lmem.h
> +    eris/loadlib.c
> +    eris/lobject.c
> +    eris/lobject.h
> +    eris/lopcodes.c
> +    eris/lopcodes.h
> +    eris/loslib.c
> +    eris/lparser.c
> +    eris/lparser.h
> +    eris/lstate.c
> +    eris/lstate.h
> +    eris/lstring.c
> +    eris/lstring.h
> +    eris/lstrlib.c
> +    eris/ltable.c
> +    eris/ltable.h
> +    eris/ltablib.c
> +    eris/ltm.c
> +    eris/ltm.h
> +    eris/lua.c
> +    eris/lua.h
> +    eris/lua.hpp
> +    eris/luac.c
> +    eris/luaconf.h
> +    eris/lualib.h
> +    eris/lundump.c
> +    eris/lundump.h
> +    eris/lvm.c
> +    eris/lvm.h
> +    eris/lzio.c
> +    eris/lzio.h
> +)
> 
> === added file 'src/third_party/README'
> --- src/third_party/README	1970-01-01 00:00:00 +0000
> +++ src/third_party/README	2014-06-16 13:55:52 +0000
> @@ -0,0 +1,2 @@
> +This contains third party libraries that are uncommon and are therefore shipped
> +with the Widelands source code for transparent compilation.
> 
> === renamed directory 'src/scripting/eris' => 'src/third_party/eris'
> === renamed directory 'src/minizip' => 'src/third_party/minizip'
> === modified file 'src/third_party/minizip/README.txt'
> --- src/minizip/README.txt	2012-04-07 15:12:06 +0000
> +++ src/third_party/minizip/README.txt	2014-06-16 13:55:52 +0000
> @@ -1,5 +1,2 @@
> -The files in this directory are either original or derived sources from zlib's minizip examples.
> -
> -The sources are only included in Widelands if you don't have Minizip installed.
> -Please install your distribution's minizip library or urge your distribution maintainer 
> -to include the minizip library in your package repository. Thank you.
> +The files in this directory are either original or derived sources from zlib's
> +minizip examples.
> 
> === modified file 'src/third_party/minizip/unzip.cc'
> --- src/minizip/unzip.cc	2014-02-22 18:04:02 +0000
> +++ src/third_party/minizip/unzip.cc	2014-06-16 13:55:52 +0000
> @@ -1,10 +1,3 @@
> -/* Don't want to modify the minizip/zlib sources, so lets silence the warnings */
> -#include "compile_diagnostics.h"
> -GCC_DIAG_OFF("-Wold-style-cast")
> -GCC_DIAG_OFF("-Wswitch-default")
> -GCC_DIAG_OFF("-Wunused-macros")
> -CLANG_DIAG_OFF("-Wunused-macros")
> -
>  /*
>  ================================================================================
>  
> 
> === modified file 'src/ui_basic/box.cc'
> --- src/ui_basic/box.cc	2014-02-22 18:04:02 +0000
> +++ src/ui_basic/box.cc	2014-06-16 13:55:52 +0000
> @@ -23,9 +23,9 @@
>  
>  #include <boost/bind.hpp>
>  
> +#include "base/wexception.h"
>  #include "graphic/graphic.h"
>  #include "ui_basic/scrollbar.h"
> -#include "wexception.h"
>  
>  namespace UI {
>  /**
> 
> === modified file 'src/ui_basic/button.cc'
> --- src/ui_basic/button.cc	2013-07-26 20:19:36 +0000
> +++ src/ui_basic/button.cc	2014-06-16 13:55:52 +0000
> @@ -19,12 +19,12 @@
>  
>  #include "ui_basic/button.h"
>  
> +#include "base/log.h"
>  #include "graphic/font.h"
>  #include "graphic/font_handler.h"
>  #include "graphic/image.h"
>  #include "graphic/image_transformations.h"
>  #include "graphic/rendertarget.h"
> -#include "log.h"
>  #include "ui_basic/mouse_constants.h"
>  #include "wlapplication.h"
>  
> 
> === modified file 'src/ui_basic/editbox.h'
> --- src/ui_basic/editbox.h	2014-06-10 20:42:45 +0000
> +++ src/ui_basic/editbox.h	2014-06-16 13:55:52 +0000
> @@ -25,7 +25,7 @@
>  #include <SDL_keyboard.h>
>  #include <boost/signals2.hpp>
>  
> -#include "align.h"
> +#include "graphic/align.h"
>  #include "ui_basic/button.h"
>  #include "graphic/graphic.h"
>  
> 
> === modified file 'src/ui_basic/helpwindow.cc'
> --- src/ui_basic/helpwindow.cc	2014-06-10 20:38:57 +0000
> +++ src/ui_basic/helpwindow.cc	2014-06-16 13:55:52 +0000
> @@ -23,13 +23,13 @@
>  
>  #include <boost/format.hpp>
>  
> +#include "base/i18n.h"
> +#include "base/log.h"
>  #include "constants.h"
>  #include "graphic/font.h"
>  #include "graphic/font_handler.h"
>  #include "graphic/graphic.h"
> -#include "i18n.h"
>  #include "io/filesystem/layered_filesystem.h"
> -#include "log.h"
>  #include "scripting/lua_table.h"
>  #include "scripting/scripting.h"
>  #include "ui_basic/button.h"
> 
> === modified file 'src/ui_basic/helpwindow.h'
> --- src/ui_basic/helpwindow.h	2014-04-06 11:58:13 +0000
> +++ src/ui_basic/helpwindow.h	2014-06-16 13:55:52 +0000
> @@ -22,7 +22,7 @@
>  
>  #include <memory>
>  
> -#include "align.h"
> +#include "graphic/align.h"
>  #include "ui_basic/multilinetextarea.h"
>  #include "ui_basic/unique_window.h"
>  #include "ui_basic/window.h"
> 
> === modified file 'src/ui_basic/icongrid.cc'
> --- src/ui_basic/icongrid.cc	2014-02-22 18:04:02 +0000
> +++ src/ui_basic/icongrid.cc	2014-06-16 13:55:52 +0000
> @@ -19,10 +19,10 @@
>  
>  #include "ui_basic/icongrid.h"
>  
> +#include "base/log.h"
>  #include "constants.h"
>  #include "graphic/font_handler.h"
>  #include "graphic/rendertarget.h"
> -#include "log.h"
>  #include "ui_basic/button.h"
>  #include "ui_basic/mouse_constants.h"
>  
> 
> === modified file 'src/ui_basic/listselect.cc'
> --- src/ui_basic/listselect.cc	2013-09-23 18:47:02 +0000
> +++ src/ui_basic/listselect.cc	2014-06-16 13:55:52 +0000
> @@ -23,13 +23,13 @@
>  
>  #include <boost/bind.hpp>
>  
> +#include "base/log.h"
>  #include "constants.h"
>  #include "container_iterate.h"
>  #include "graphic/font.h"
>  #include "graphic/font_handler.h"
>  #include "graphic/graphic.h"
>  #include "graphic/rendertarget.h"
> -#include "log.h"
>  #include "wlapplication.h"
>  
>  namespace UI {
> 
> === modified file 'src/ui_basic/listselect.h'
> --- src/ui_basic/listselect.h	2014-02-22 18:04:02 +0000
> +++ src/ui_basic/listselect.h	2014-06-16 13:55:52 +0000
> @@ -26,7 +26,7 @@
>  
>  #include <boost/signals2.hpp>
>  
> -#include "align.h"
> +#include "graphic/align.h"
>  #include "ui_basic/panel.h"
>  #include "rgbcolor.h"
>  #include "ui_basic/scrollbar.h"
> 
> === modified file 'src/ui_basic/messagebox.cc'
> --- src/ui_basic/messagebox.cc	2013-10-18 11:23:26 +0000
> +++ src/ui_basic/messagebox.cc	2014-06-16 13:55:52 +0000
> @@ -19,10 +19,10 @@
>  
>  #include "ui_basic/messagebox.h"
>  
> +#include "base/i18n.h"
>  #include "constants.h"
>  #include "graphic/font_handler.h"
>  #include "graphic/graphic.h"
> -#include "i18n.h"
>  #include "ui_basic/button.h"
>  #include "ui_basic/multilinetextarea.h"
>  #include "ui_basic/window.h"
> 
> === modified file 'src/ui_basic/messagebox.h'
> --- src/ui_basic/messagebox.h	2014-02-22 18:04:02 +0000
> +++ src/ui_basic/messagebox.h	2014-06-16 13:55:52 +0000
> @@ -20,9 +20,11 @@
>  #ifndef UI_MESSAGEBOX_H
>  #define UI_MESSAGEBOX_H
>  
> +#include <memory>
> +
>  #include <boost/signals2.hpp>
>  
> -#include "align.h"
> +#include "graphic/align.h"
>  #include "ui_basic/window.h"
>  
>  namespace UI {
> 
> === modified file 'src/ui_basic/multilinetextarea.h'
> --- src/ui_basic/multilinetextarea.h	2014-02-22 18:04:02 +0000
> +++ src/ui_basic/multilinetextarea.h	2014-06-16 13:55:52 +0000
> @@ -20,7 +20,9 @@
>  #ifndef UI_MULTILINE_TEXTAREA_H
>  #define UI_MULTILINE_TEXTAREA_H
>  
> -#include "align.h"
> +#include <memory>
> +
> +#include "graphic/align.h"
>  #include "ui_basic/panel.h"
>  #include "rgbcolor.h"
>  #include "ui_basic/scrollbar.h"
> 
> === modified file 'src/ui_basic/panel.cc'
> --- src/ui_basic/panel.cc	2014-04-16 11:19:14 +0000
> +++ src/ui_basic/panel.cc	2014-06-16 13:55:52 +0000
> @@ -19,6 +19,7 @@
>  
>  #include "ui_basic/panel.h"
>  
> +#include "base/log.h"
>  #include "constants.h"
>  #include "graphic/font_handler.h"
>  #include "graphic/font_handler1.h"
> @@ -27,7 +28,6 @@
>  #include "graphic/surface.h"
>  #include "graphic/surface_cache.h"
>  #include "helper.h"
> -#include "log.h"
>  #include "profile/profile.h"
>  #include "sound/sound_handler.h"
>  #include "text_layout.h"
> 
> === modified file 'src/ui_basic/progresswindow.cc'
> --- src/ui_basic/progresswindow.cc	2014-03-25 08:22:48 +0000
> +++ src/ui_basic/progresswindow.cc	2014-06-16 13:55:52 +0000
> @@ -23,6 +23,7 @@
>  #include <sys/time.h>
>  #endif
>  
> +#include "base/i18n.h"
>  #include "constants.h"
>  #include "container_iterate.h"
>  #include "graphic/font.h"
> @@ -30,7 +31,6 @@
>  #include "graphic/graphic.h"
>  #include "graphic/image_transformations.h"
>  #include "graphic/rendertarget.h"
> -#include "i18n.h"
>  #include "io/filesystem/layered_filesystem.h"
>  
>  #define PROGRESS_FONT_COLOR_FG        RGBColor(128, 128, 255)
> 
> === modified file 'src/ui_basic/progresswindow.h'
> --- src/ui_basic/progresswindow.h	2013-07-26 19:16:51 +0000
> +++ src/ui_basic/progresswindow.h	2014-06-16 13:55:52 +0000
> @@ -24,8 +24,8 @@
>  #include <string>
>  #include <vector>
>  
> +#include "graphic/rect.h"
>  #include "point.h"
> -#include "rect.h"
>  
>  class Image;
>  class RenderTarget;
> 
> === modified file 'src/ui_basic/scrollbar.h'
> --- src/ui_basic/scrollbar.h	2014-02-22 18:04:02 +0000
> +++ src/ui_basic/scrollbar.h	2014-06-16 13:55:52 +0000
> @@ -22,8 +22,8 @@
>  
>  #include <boost/signals2.hpp>
>  
> +#include "graphic/rect.h"
>  #include "ui_basic/panel.h"
> -#include "rect.h"
>  
>  namespace UI {
>  /**
> 
> === modified file 'src/ui_basic/spinbox.cc'
> --- src/ui_basic/spinbox.cc	2014-02-22 18:04:02 +0000
> +++ src/ui_basic/spinbox.cc	2014-06-16 13:55:52 +0000
> @@ -21,11 +21,11 @@
>  
>  #include <vector>
>  
> +#include "base/i18n.h"
> +#include "base/wexception.h"
>  #include "container_iterate.h"
> -#include "i18n.h"
>  #include "ui_basic/button.h"
>  #include "ui_basic/textarea.h"
> -#include "wexception.h"
>  
>  namespace UI {
>  
> 
> === modified file 'src/ui_basic/spinbox.h'
> --- src/ui_basic/spinbox.h	2013-07-26 20:19:36 +0000
> +++ src/ui_basic/spinbox.h	2014-06-16 13:55:52 +0000
> @@ -22,7 +22,7 @@
>  
>  #include <cstring>
>  
> -#include "align.h"
> +#include "graphic/align.h"
>  #include "ui_basic/button.h"
>  #include "graphic/graphic.h"
>  
> 
> === modified file 'src/ui_basic/table.h'
> --- src/ui_basic/table.h	2014-04-06 17:14:28 +0000
> +++ src/ui_basic/table.h	2014-06-16 13:55:52 +0000
> @@ -27,7 +27,7 @@
>  #include <boost/function.hpp>
>  #include <boost/signals2.hpp>
>  
> -#include "align.h"
> +#include "graphic/align.h"
>  #include "ui_basic/panel.h"
>  #include "rgbcolor.h"
>  
> 
> === modified file 'src/ui_basic/textarea.h'
> --- src/ui_basic/textarea.h	2014-02-22 18:04:02 +0000
> +++ src/ui_basic/textarea.h	2014-06-16 13:55:52 +0000
> @@ -20,8 +20,8 @@
>  #ifndef UI_TEXTAREA_H
>  #define UI_TEXTAREA_H
>  
> -#include "align.h"
>  #include "constants.h"
> +#include "graphic/align.h"
>  #include "graphic/font.h"
>  #include "ui_basic/panel.h"
>  
> 
> === modified file 'src/ui_basic/window.cc'
> --- src/ui_basic/window.cc	2014-02-22 18:04:02 +0000
> +++ src/ui_basic/window.cc	2014-06-16 13:55:52 +0000
> @@ -21,12 +21,12 @@
>  
>  #include <SDL_keysym.h>
>  
> +#include "base/log.h"
>  #include "constants.h"
>  #include "graphic/font.h"
>  #include "graphic/font_handler1.h"
>  #include "graphic/graphic.h"
>  #include "graphic/rendertarget.h"
> -#include "log.h"
>  #include "text_layout.h"
>  #include "wlapplication.h"
>  
> 
> === modified file 'src/ui_fsmenu/base.cc'
> --- src/ui_fsmenu/base.cc	2014-02-22 18:04:02 +0000
> +++ src/ui_fsmenu/base.cc	2014-06-16 13:55:52 +0000
> @@ -21,15 +21,15 @@
>  
>  #include <cstdio>
>  
> +#include "base/log.h"
> +#include "base/wexception.h"
>  #include "constants.h"
>  #include "graphic/font.h"
>  #include "graphic/graphic.h"
>  #include "graphic/image_transformations.h"
>  #include "graphic/rendertarget.h"
>  #include "io/filesystem/filesystem.h"
> -#include "log.h"
>  #include "profile/profile.h"
> -#include "wexception.h"
>  #include "wlapplication.h"
>  
>  /*
> 
> === modified file 'src/ui_fsmenu/campaign_select.cc'
> --- src/ui_fsmenu/campaign_select.cc	2014-06-10 20:38:57 +0000
> +++ src/ui_fsmenu/campaign_select.cc	2014-06-16 13:55:52 +0000
> @@ -21,13 +21,13 @@
>  
>  #include <memory>
>  
> +#include "base/i18n.h"
> +#include "base/wexception.h"
>  #include "campvis.h"
>  #include "constants.h"
>  #include "graphic/graphic.h"
> -#include "i18n.h"
>  #include "map_io/widelands_map_loader.h"
>  #include "profile/profile.h"
> -#include "wexception.h"
>  
>  
>  /*
> 
> === modified file 'src/ui_fsmenu/editor.cc'
> --- src/ui_fsmenu/editor.cc	2013-07-31 16:48:47 +0000
> +++ src/ui_fsmenu/editor.cc	2014-06-16 13:55:52 +0000
> @@ -19,9 +19,9 @@
>  
>  #include "ui_fsmenu/editor.h"
>  
> +#include "base/i18n.h"
>  #include "constants.h"
>  #include "graphic/graphic.h"
> -#include "i18n.h"
>  
>  Fullscreen_Menu_Editor::Fullscreen_Menu_Editor() :
>  	Fullscreen_Menu_Base("singleplmenu.jpg"),
> 
> === modified file 'src/ui_fsmenu/editor_mapselect.cc'
> --- src/ui_fsmenu/editor_mapselect.cc	2014-06-10 20:38:57 +0000
> +++ src/ui_fsmenu/editor_mapselect.cc	2014-06-16 13:55:52 +0000
> @@ -24,16 +24,16 @@
>  
>  #include <boost/format.hpp>
>  
> +#include "base/i18n.h"
> +#include "base/log.h"
> +#include "base/wexception.h"
>  #include "graphic/graphic.h"
> -#include "i18n.h"
>  #include "io/filesystem/layered_filesystem.h"
> -#include "log.h"
>  #include "logic/editor_game_base.h"
>  #include "logic/map.h"
>  #include "map_io/widelands_map_loader.h"
>  #include "profile/profile.h"
>  #include "s2map.h"
> -#include "wexception.h"
>  
>  using Widelands::WL_Map_Loader;
>  
> 
> === modified file 'src/ui_fsmenu/fileview.cc'
> --- src/ui_fsmenu/fileview.cc	2014-03-25 07:39:28 +0000
> +++ src/ui_fsmenu/fileview.cc	2014-06-16 13:55:52 +0000
> @@ -19,11 +19,13 @@
>  
>  #include "ui_fsmenu/fileview.h"
>  
> +#include <memory>
> +
>  #include <boost/algorithm/string/predicate.hpp>
>  
> +#include "base/i18n.h"
>  #include "constants.h"
>  #include "graphic/graphic.h"
> -#include "i18n.h"
>  #include "io/filesystem/filesystem.h"
>  #include "profile/profile.h"
>  #include "scripting/lua_table.h"
> 
> === modified file 'src/ui_fsmenu/internet_lobby.cc'
> --- src/ui_fsmenu/internet_lobby.cc	2014-04-06 16:01:43 +0000
> +++ src/ui_fsmenu/internet_lobby.cc	2014-06-16 13:55:52 +0000
> @@ -22,11 +22,11 @@
>  #include <boost/bind.hpp>
>  #include <boost/format.hpp>
>  
> +#include "base/i18n.h"
> +#include "base/log.h"
>  #include "compile_diagnostics.h"
>  #include "constants.h"
>  #include "graphic/graphic.h"
> -#include "i18n.h"
> -#include "log.h"
>  #include "network/internet_gaming.h"
>  #include "network/netclient.h"
>  #include "network/nethost.h"
> 
> === modified file 'src/ui_fsmenu/intro.cc'
> --- src/ui_fsmenu/intro.cc	2013-07-26 20:19:36 +0000
> +++ src/ui_fsmenu/intro.cc	2014-06-16 13:55:52 +0000
> @@ -19,7 +19,7 @@
>  
>  #include "ui_fsmenu/intro.h"
>  
> -#include "i18n.h"
> +#include "base/i18n.h"
>  
>  
>  Fullscreen_Menu_Intro::Fullscreen_Menu_Intro()
> 
> === modified file 'src/ui_fsmenu/launchMPG.cc'
> --- src/ui_fsmenu/launchMPG.cc	2014-06-10 20:38:57 +0000
> +++ src/ui_fsmenu/launchMPG.cc	2014-06-16 13:55:52 +0000
> @@ -24,10 +24,11 @@
>  #include <boost/format.hpp>
>  #include <libintl.h>
>  
> +#include "base/i18n.h"
> +#include "base/warning.h"
>  #include "gamecontroller.h"
>  #include "gamesettings.h"
>  #include "graphic/graphic.h"
> -#include "i18n.h"
>  #include "io/filesystem/layered_filesystem.h"
>  #include "logic/game.h"
>  #include "logic/instances.h"
> @@ -40,7 +41,6 @@
>  #include "ui_basic/messagebox.h"
>  #include "ui_fsmenu/loadgame.h"
>  #include "ui_fsmenu/mapselect.h"
> -#include "warning.h"
>  #include "wui/gamechatpanel.h"
>  #include "wui/multiplayersetupgroup.h"
>  
> 
> === modified file 'src/ui_fsmenu/launchSPG.cc'
> --- src/ui_fsmenu/launchSPG.cc	2014-03-29 16:04:47 +0000
> +++ src/ui_fsmenu/launchSPG.cc	2014-06-16 13:55:52 +0000
> @@ -19,13 +19,16 @@
>  
>  #include "ui_fsmenu/launchSPG.h"
>  
> +#include <memory>
> +
>  #include <boost/algorithm/string/predicate.hpp>
>  
> +#include "base/i18n.h"
> +#include "base/warning.h"
>  #include "gamecontroller.h"
>  #include "gamesettings.h"
>  #include "graphic/graphic.h"
>  #include "helper.h"
> -#include "i18n.h"
>  #include "io/filesystem/layered_filesystem.h"
>  #include "logic/game.h"
>  #include "logic/instances.h"
> @@ -37,7 +40,6 @@
>  #include "scripting/scripting.h"
>  #include "ui_fsmenu/loadgame.h"
>  #include "ui_fsmenu/mapselect.h"
> -#include "warning.h"
>  #include "wui/playerdescrgroup.h"
>  
>  Fullscreen_Menu_LaunchSPG::Fullscreen_Menu_LaunchSPG
> 
> === modified file 'src/ui_fsmenu/loadgame.cc'
> --- src/ui_fsmenu/loadgame.cc	2014-06-10 20:38:57 +0000
> +++ src/ui_fsmenu/loadgame.cc	2014-06-16 13:55:52 +0000
> @@ -24,6 +24,8 @@
>  
>  #include <boost/format.hpp>
>  
> +#include "base/i18n.h"
> +#include "base/log.h"
>  #include "game_io/game_loader.h"
>  #include "game_io/game_preload_data_packet.h"
>  #include "gamecontroller.h"
> @@ -33,9 +35,7 @@
>  #include "graphic/image_transformations.h"
>  #include "graphic/in_memory_image.h"
>  #include "graphic/surface.h"
> -#include "i18n.h"
>  #include "io/filesystem/layered_filesystem.h"
> -#include "log.h"
>  #include "logic/game.h"
>  #include "timestring.h"
>  #include "ui_basic/icon.h"
> 
> === modified file 'src/ui_fsmenu/loadreplay.cc'
> --- src/ui_fsmenu/loadreplay.cc	2014-03-26 07:24:34 +0000
> +++ src/ui_fsmenu/loadreplay.cc	2014-06-16 13:55:52 +0000
> @@ -22,13 +22,13 @@
>  #include <boost/algorithm/string/predicate.hpp>
>  #include <boost/format.hpp>
>  
> +#include "base/i18n.h"
> +#include "base/log.h"
>  #include "game_io/game_loader.h"
>  #include "game_io/game_preload_data_packet.h"
>  #include "graphic/graphic.h"
>  #include "helper.h"
> -#include "i18n.h"
>  #include "io/filesystem/layered_filesystem.h"
> -#include "log.h"
>  #include "logic/game.h"
>  #include "logic/replay.h"
>  #include "timestring.h"
> 
> === modified file 'src/ui_fsmenu/main.cc'
> --- src/ui_fsmenu/main.cc	2014-02-24 16:42:51 +0000
> +++ src/ui_fsmenu/main.cc	2014-06-16 13:55:52 +0000
> @@ -19,9 +19,9 @@
>  
>  #include "ui_fsmenu/main.h"
>  
> +#include "base/i18n.h"
>  #include "build_info.h"
>  #include "graphic/graphic.h"
> -#include "i18n.h"
>  
>  Fullscreen_Menu_Main::Fullscreen_Menu_Main() :
>  	Fullscreen_Menu_Base("mainmenu.jpg"),
> 
> === modified file 'src/ui_fsmenu/mapselect.cc'
> --- src/ui_fsmenu/mapselect.cc	2014-06-10 20:38:57 +0000
> +++ src/ui_fsmenu/mapselect.cc	2014-06-16 13:55:52 +0000
> @@ -23,19 +23,19 @@
>  
>  #include <boost/format.hpp>
>  
> +#include "base/i18n.h"
> +#include "base/log.h"
> +#include "base/wexception.h"
>  #include "gamecontroller.h"
>  #include "gamesettings.h"
>  #include "graphic/graphic.h"
> -#include "i18n.h"
>  #include "io/filesystem/layered_filesystem.h"
> -#include "log.h"
>  #include "logic/editor_game_base.h"
>  #include "map_io/widelands_map_loader.h"
>  #include "profile/profile.h"
>  #include "s2map.h"
>  #include "ui_basic/box.h"
>  #include "ui_basic/checkbox.h"
> -#include "wexception.h"
>  
>  
>  using Widelands::WL_Map_Loader;
> 
> === modified file 'src/ui_fsmenu/multiplayer.cc'
> --- src/ui_fsmenu/multiplayer.cc	2013-07-26 20:19:36 +0000
> +++ src/ui_fsmenu/multiplayer.cc	2014-06-16 13:55:52 +0000
> @@ -19,8 +19,8 @@
>  
>  #include "ui_fsmenu/multiplayer.h"
>  
> +#include "base/i18n.h"
>  #include "constants.h"
> -#include "i18n.h"
>  #include "profile/profile.h"
>  #include "wui/login_box.h"
>  
> 
> === modified file 'src/ui_fsmenu/netsetup_lan.cc'
> --- src/ui_fsmenu/netsetup_lan.cc	2013-07-26 20:19:36 +0000
> +++ src/ui_fsmenu/netsetup_lan.cc	2014-06-16 13:55:52 +0000
> @@ -19,10 +19,10 @@
>  
>  #include "ui_fsmenu/netsetup_lan.h"
>  
> +#include "base/i18n.h"
>  #include "compile_diagnostics.h"
>  #include "constants.h"
>  #include "graphic/graphic.h"
> -#include "i18n.h"
>  #include "network/network.h"
>  #include "profile/profile.h"
>  
> @@ -265,4 +265,3 @@
>  		joingame.set_enabled(true);
>  	opengames.select(opengames.no_selection_index());
>  }
> -
> 
> === modified file 'src/ui_fsmenu/options.cc'
> --- src/ui_fsmenu/options.cc	2014-03-26 07:24:34 +0000
> +++ src/ui_fsmenu/options.cc	2014-06-16 13:55:52 +0000
> @@ -25,10 +25,10 @@
>  #include <boost/algorithm/string/predicate.hpp>
>  #include <libintl.h>
>  
> +#include "base/i18n.h"
>  #include "constants.h"
>  #include "graphic/graphic.h"
>  #include "helper.h"
> -#include "i18n.h"
>  #include "io/filesystem/layered_filesystem.h"
>  #include "profile/profile.h"
>  #include "save_handler.h"
> 
> === modified file 'src/ui_fsmenu/singleplayer.cc'
> --- src/ui_fsmenu/singleplayer.cc	2014-03-10 19:27:00 +0000
> +++ src/ui_fsmenu/singleplayer.cc	2014-06-16 13:55:52 +0000
> @@ -19,9 +19,9 @@
>  
>  #include "ui_fsmenu/singleplayer.h"
>  
> +#include "base/i18n.h"
>  #include "constants.h"
>  #include "graphic/graphic.h"
> -#include "i18n.h"
>  
>  Fullscreen_Menu_SinglePlayer::Fullscreen_Menu_SinglePlayer() :
>  Fullscreen_Menu_Base("singleplmenu.jpg"),
> 
> === modified file 'src/wlapplication.cc'
> --- src/wlapplication.cc	2014-04-16 11:19:14 +0000
> +++ src/wlapplication.cc	2014-06-16 13:55:52 +0000
> @@ -27,30 +27,33 @@
>  #include <ctime>
>  #include <fstream>
>  #include <iostream>
> +#include <memory>
>  #include <stdexcept>
>  #include <string>
>  
>  #include <boost/algorithm/string/predicate.hpp>
>  #include <boost/format.hpp>
> -#include <config.h>
>  #ifdef __APPLE__
>  #include <mach-o/dyld.h>
>  #endif
>  #include <sys/stat.h>
>  #include <sys/types.h>
>  
> +#include "base/i18n.h"
> +#include "base/log.h"
> +#include "base/warning.h"
> +#include "base/wexception.h"
>  #include "build_info.h"
>  #include "computer_player.h"
> +#include "config.h"
>  #include "editor/editorinteractive.h"
>  #include "gamesettings.h"
>  #include "graphic/font_handler.h"
>  #include "graphic/font_handler1.h"
>  #include "helper.h"
> -#include "i18n.h"
>  #include "io/dedicated_log.h"
>  #include "io/filesystem/disk_filesystem.h"
>  #include "io/filesystem/layered_filesystem.h"
> -#include "log.h"
>  #include "logic/game.h"
>  #include "logic/game_data_error.h"
>  #include "logic/map.h"
> @@ -83,8 +86,6 @@
>  #include "ui_fsmenu/netsetup_lan.h"
>  #include "ui_fsmenu/options.h"
>  #include "ui_fsmenu/singleplayer.h"
> -#include "warning.h"
> -#include "wexception.h"
>  #include "wui/game_tips.h"
>  #include "wui/interactive_player.h"
>  #include "wui/interactive_spectator.h"
> 
> === modified file 'src/wui/building_statistics_menu.cc'
> --- src/wui/building_statistics_menu.cc	2014-04-21 09:19:14 +0000
> +++ src/wui/building_statistics_menu.cc	2014-06-16 13:55:52 +0000
> @@ -23,9 +23,9 @@
>  
>  #include <boost/bind.hpp>
>  
> +#include "base/i18n.h"
>  #include "graphic/graphic.h"
>  #include "graphic/rendertarget.h"
> -#include "i18n.h"
>  #include "logic/building.h"
>  #include "logic/player.h"
>  #include "logic/productionsite.h"
> 
> === modified file 'src/wui/buildingwindow.cc'
> --- src/wui/buildingwindow.cc	2014-05-27 11:01:15 +0000
> +++ src/wui/buildingwindow.cc	2014-06-16 13:55:52 +0000
> @@ -35,11 +35,11 @@
>  #include "logic/warehouse.h"
>  #include "ui_basic/helpwindow.h"
>  #include "ui_basic/tabpanel.h"
> -#include "unique_window_handler.h"
>  #include "upcast.h"
>  #include "wui/actionconfirm.h"
>  #include "wui/game_debug_ui.h"
>  #include "wui/interactive_player.h"
> +#include "wui/unique_window_handler.h"
>  #include "wui/waresqueuedisplay.h"
>  
>  static const char * pic_bulldoze           = "pics/menu_bld_bulldoze.png";
> 
> === modified file 'src/wui/chatoverlay.cc'
> --- src/wui/chatoverlay.cc	2014-02-22 18:04:02 +0000
> +++ src/wui/chatoverlay.cc	2014-06-16 13:55:52 +0000
> @@ -22,8 +22,8 @@
>  #include "chat.h"
>  #include "graphic/font_handler1.h"
>  #include "graphic/rendertarget.h"
> -#include "logmessage.h"
>  #include "profile/profile.h"
> +#include "wui/logmessage.h"
>  
>  /**
>   * Time, in seconds, that chat messages are shown in the overlay.
> 
> === renamed file 'src/debugconsole.cc' => 'src/wui/debugconsole.cc'
> --- src/debugconsole.cc	2014-02-22 18:04:02 +0000
> +++ src/wui/debugconsole.cc	2014-06-16 13:55:52 +0000
> @@ -17,14 +17,14 @@
>   *
>   */
>  
> -#include "debugconsole.h"
> +#include "wui/debugconsole.h"
>  
>  #include <map>
>  
>  #include <boost/bind.hpp>
>  
> +#include "base/log.h"
>  #include "chat.h"
> -#include "log.h"
>  
>  namespace DebugConsole {
>  
> 
> === renamed file 'src/debugconsole.h' => 'src/wui/debugconsole.h'
> === modified file 'src/wui/encyclopedia_window.cc'
> --- src/wui/encyclopedia_window.cc	2014-04-21 09:19:14 +0000
> +++ src/wui/encyclopedia_window.cc	2014-06-16 13:55:52 +0000
> @@ -27,10 +27,10 @@
>  #include <typeinfo>
>  #include <vector>
>  
> +#include "base/i18n.h"
>  #include "economy/economy.h"
>  #include "graphic/graphic.h"
>  #include "helper.h"
> -#include "i18n.h"
>  #include "logic/building.h"
>  #include "logic/player.h"
>  #include "logic/production_program.h"
> 
> === modified file 'src/wui/fieldaction.cc'
> --- src/wui/fieldaction.cc	2014-05-27 11:01:15 +0000
> +++ src/wui/fieldaction.cc	2014-06-16 13:55:52 +0000
> @@ -19,12 +19,12 @@
>  
>  #include "wui/fieldaction.h"
>  
> +#include "base/i18n.h"
>  #include "economy/economy.h"
>  #include "economy/flag.h"
>  #include "economy/road.h"
>  #include "graphic/graphic.h"
>  #include "graphic/image_transformations.h"
> -#include "i18n.h"
>  #include "logic/attackable.h"
>  #include "logic/cmd_queue.h"
>  #include "logic/maphollowregion.h"
> 
> === modified file 'src/wui/game_chat_menu.cc'
> --- src/wui/game_chat_menu.cc	2014-04-06 17:14:28 +0000
> +++ src/wui/game_chat_menu.cc	2014-06-16 13:55:52 +0000
> @@ -19,7 +19,7 @@
>  
>  #include "wui/game_chat_menu.h"
>  
> -#include "i18n.h"
> +#include "base/i18n.h"
>  
>  /*
>  ==============================================================================
> 
> === modified file 'src/wui/game_debug_ui.cc'
> --- src/wui/game_debug_ui.cc	2014-03-16 20:55:15 +0000
> +++ src/wui/game_debug_ui.cc	2014-06-16 13:55:52 +0000
> @@ -22,8 +22,8 @@
>  
>  #include <cstdio>
>  
> +#include "base/i18n.h"
>  #include "graphic/graphic.h"
> -#include "i18n.h"
>  #include "logic/bob.h"
>  #include "logic/building.h"
>  #include "logic/field.h"
> 
> === modified file 'src/wui/game_main_menu.cc'
> --- src/wui/game_main_menu.cc	2014-04-14 06:17:25 +0000
> +++ src/wui/game_main_menu.cc	2014-06-16 13:55:52 +0000
> @@ -21,8 +21,8 @@
>  
>  #include <boost/bind.hpp>
>  
> +#include "base/i18n.h"
>  #include "graphic/graphic.h"
> -#include "i18n.h"
>  #include "ui_basic/unique_window.h"
>  #include "wui/building_statistics_menu.h"
>  #include "wui/general_statistics_menu.h"
> 
> === modified file 'src/wui/game_main_menu_save_game.cc'
> --- src/wui/game_main_menu_save_game.cc	2014-03-25 08:22:48 +0000
> +++ src/wui/game_main_menu_save_game.cc	2014-06-16 13:55:52 +0000
> @@ -22,12 +22,12 @@
>  #include <boost/format.hpp>
>  #include <libintl.h>
>  
> +#include "base/i18n.h"
>  #include "constants.h"
>  #include "game_io/game_loader.h"
>  #include "game_io/game_preload_data_packet.h"
>  #include "game_io/game_saver.h"
>  #include "gamecontroller.h"
> -#include "i18n.h"
>  #include "io/filesystem/filesystem.h"
>  #include "io/filesystem/layered_filesystem.h"
>  #include "logic/game.h"
> 
> === modified file 'src/wui/game_main_menu_save_game.h'
> --- src/wui/game_main_menu_save_game.h	2014-02-22 18:04:02 +0000
> +++ src/wui/game_main_menu_save_game.h	2014-06-16 13:55:52 +0000
> @@ -20,7 +20,7 @@
>  #ifndef GAME_MAIN_MENU_SAVE_GAME_H
>  #define GAME_MAIN_MENU_SAVE_GAME_H
>  
> -#include "i18n.h"
> +#include "base/i18n.h"
>  #include "ref_cast.h"
>  #include "ui_basic/button.h"
>  #include "ui_basic/editbox.h"
> 
> === modified file 'src/wui/game_message_menu.h'
> --- src/wui/game_message_menu.h	2014-04-20 21:07:45 +0000
> +++ src/wui/game_message_menu.h	2014-06-16 13:55:52 +0000
> @@ -20,8 +20,8 @@
>  #ifndef GAME_MESSAGE_MENU_H
>  #define GAME_MESSAGE_MENU_H
>  
> +#include "base/i18n.h"
>  #include "container_iterate.h"
> -#include "i18n.h"
>  #include "logic/message_queue.h"
>  #include "ref_cast.h"
>  #include "ui_basic/button.h"
> 
> === modified file 'src/wui/game_options_menu.cc'
> --- src/wui/game_options_menu.cc	2014-04-06 11:58:13 +0000
> +++ src/wui/game_options_menu.cc	2014-06-16 13:55:52 +0000
> @@ -24,8 +24,8 @@
>  #include <boost/lambda/construct.hpp>
>  #include <boost/type_traits.hpp>
>  
> +#include "base/i18n.h"
>  #include "graphic/graphic.h"
> -#include "i18n.h"
>  #include "sound/sound_handler.h"
>  #include "ui_fsmenu/fileview.h"
>  #include "wui/game_main_menu_save_game.h"
> 
> === modified file 'src/wui/game_options_sound_menu.cc'
> --- src/wui/game_options_sound_menu.cc	2013-07-26 20:19:36 +0000
> +++ src/wui/game_options_sound_menu.cc	2014-06-16 13:55:52 +0000
> @@ -18,8 +18,8 @@
>  
>  #include "wui/game_options_sound_menu.h"
>  
> +#include "base/i18n.h"
>  #include "graphic/graphic.h"
> -#include "i18n.h"
>  #include "sound/sound_handler.h"
>  
>  GameOptionsSoundMenu::GameOptionsSoundMenu
> 
> === modified file 'src/wui/game_tips.cc'
> --- src/wui/game_tips.cc	2014-02-22 18:04:02 +0000
> +++ src/wui/game_tips.cc	2014-06-16 13:55:52 +0000
> @@ -19,12 +19,12 @@
>  
>  #include "wui/game_tips.h"
>  
> +#include "base/i18n.h"
>  #include "constants.h"
>  #include "graphic/font.h"
>  #include "graphic/font_handler1.h"
>  #include "graphic/graphic.h"
>  #include "graphic/rendertarget.h"
> -#include "i18n.h"
>  #include "io/fileread.h"
>  #include "profile/profile.h"
>  #include "text_layout.h"
> 
> === modified file 'src/wui/general_statistics_menu.cc'
> --- src/wui/general_statistics_menu.cc	2014-03-24 21:47:08 +0000
> +++ src/wui/general_statistics_menu.cc	2014-06-16 13:55:52 +0000
> @@ -19,9 +19,11 @@
>  
>  #include "wui/general_statistics_menu.h"
>  
> +#include <memory>
> +
> +#include "base/i18n.h"
>  #include "graphic/graphic.h"
>  #include "graphic/rendertarget.h"
> -#include "i18n.h"
>  #include "logic/editor_game_base.h"
>  #include "logic/game.h"
>  #include "logic/player.h"
> 
> === modified file 'src/wui/interactive_base.cc'
> --- src/wui/interactive_base.cc	2014-06-10 20:38:57 +0000
> +++ src/wui/interactive_base.cc	2014-06-16 13:55:52 +0000
> @@ -41,7 +41,6 @@
>  #include "profile/profile.h"
>  #include "scripting/scripting.h"
>  #include "text_layout.h"
> -#include "unique_window_handler.h"
>  #include "upcast.h"
>  #include "wlapplication.h"
>  #include "wui/game_chat_menu.h"
> @@ -52,6 +51,7 @@
>  #include "wui/minimap.h"
>  #include "wui/overlay_manager.h"
>  #include "wui/quicknavigation.h"
> +#include "wui/unique_window_handler.h"
>  
>  using boost::format;
>  using Widelands::Area;
> @@ -264,7 +264,10 @@
>  		case 1: wa_index = 5; break;
>  		case 2: wa_index = 3; break;
>  		case 3: wa_index = 0; break;
> -		default: assert(false); break;
> +		default:
> +		  wa_index = 0;
> +		  assert(false);
> +		  break;
>  	}
>  	Widelands::Map & map = m_egbase.map();
>  	OverlayManager & overlay_manager = map.overlay_manager();
> 
> === modified file 'src/wui/interactive_base.h'
> --- src/wui/interactive_base.h	2014-06-10 20:42:45 +0000
> +++ src/wui/interactive_base.h	2014-06-16 13:55:52 +0000
> @@ -24,12 +24,12 @@
>  
>  #include <SDL_keysym.h>
>  
> -#include "debugconsole.h"
>  #include "logic/editor_game_base.h"
>  #include "logic/map.h"
>  #include "logic/notification.h"
> -#include "logmessage.h"
>  #include "wui/chatoverlay.h"
> +#include "wui/debugconsole.h"
> +#include "wui/logmessage.h"
>  #include "wui/mapview.h"
>  #include "wui/overlay_manager.h"
>  #include "ui_basic/box.h"
> 
> === modified file 'src/wui/interactive_player.cc'
> --- src/wui/interactive_player.cc	2014-05-27 11:01:15 +0000
> +++ src/wui/interactive_player.cc	2014-06-16 13:55:52 +0000
> @@ -27,12 +27,11 @@
>  #include <boost/type_traits.hpp>
>  #include <libintl.h>
>  
> -#include "debugconsole.h"
> +#include "base/i18n.h"
>  #include "economy/flag.h"
>  #include "game_io/game_loader.h"
>  #include "graphic/font_handler.h"
>  #include "helper.h"
> -#include "i18n.h"
>  #include "logic/building.h"
>  #include "logic/cmd_queue.h"
>  #include "logic/constructionsite.h"
> @@ -46,6 +45,7 @@
>  #include "ui_basic/unique_window.h"
>  #include "upcast.h"
>  #include "wui/building_statistics_menu.h"
> +#include "wui/debugconsole.h"
>  #include "wui/encyclopedia_window.h"
>  #include "wui/fieldaction.h"
>  #include "wui/game_chat_menu.h"
> 
> === modified file 'src/wui/interactive_spectator.cc'
> --- src/wui/interactive_spectator.cc	2014-05-27 11:01:15 +0000
> +++ src/wui/interactive_spectator.cc	2014-06-16 13:55:52 +0000
> @@ -19,10 +19,10 @@
>  
>  #include "wui/interactive_spectator.h"
>  
> +#include "base/i18n.h"
>  #include "chat.h"
>  #include "gamecontroller.h"
>  #include "graphic/graphic.h"
> -#include "i18n.h"
>  #include "ui_basic/editbox.h"
>  #include "ui_basic/multilinetextarea.h"
>  #include "ui_basic/textarea.h"
> 
> === modified file 'src/wui/login_box.cc'
> --- src/wui/login_box.cc	2013-10-18 11:23:26 +0000
> +++ src/wui/login_box.cc	2014-06-16 13:55:52 +0000
> @@ -19,7 +19,7 @@
>  
>  #include "wui/login_box.h"
>  
> -#include "i18n.h"
> +#include "base/i18n.h"
>  #include "profile/profile.h"
>  #include "ui_basic/button.h"
>  #include "ui_basic/messagebox.h"
> 
> === renamed file 'src/logmessage.h' => 'src/wui/logmessage.h'
> === modified file 'src/wui/minimap.cc'
> --- src/wui/minimap.cc	2013-10-13 10:05:51 +0000
> +++ src/wui/minimap.cc	2014-06-16 13:55:52 +0000
> @@ -21,12 +21,12 @@
>  
>  #include <memory>
>  
> +#include "base/i18n.h"
>  #include "graphic/graphic.h"
>  #include "graphic/in_memory_image.h"
>  #include "graphic/render/minimaprenderer.h"
>  #include "graphic/rendertarget.h"
>  #include "graphic/surface.h"
> -#include "i18n.h"
>  #include "logic/map.h"
>  #include "wui/interactive_player.h"
>  #include "wui/mapviewpixelconstants.h"
> 
> === modified file 'src/wui/multiplayersetupgroup.cc'
> --- src/wui/multiplayersetupgroup.cc	2014-03-03 20:50:30 +0000
> +++ src/wui/multiplayersetupgroup.cc	2014-06-16 13:55:52 +0000
> @@ -21,10 +21,11 @@
>  
>  #include <boost/format.hpp>
>  
> +#include "base/i18n.h"
> +#include "base/log.h"
> +#include "base/wexception.h"
>  #include "gamesettings.h"
>  #include "graphic/graphic.h"
> -#include "i18n.h"
> -#include "log.h"
>  #include "logic/game.h"
>  #include "logic/player.h"
>  #include "logic/tribe.h"
> @@ -34,7 +35,6 @@
>  #include "ui_basic/icon.h"
>  #include "ui_basic/scrollbar.h"
>  #include "ui_basic/textarea.h"
> -#include "wexception.h"
>  
>  struct MultiPlayerClientGroup : public UI::Box {
>  	MultiPlayerClientGroup
> 
> === modified file 'src/wui/multiplayersetupgroup.h'
> --- src/wui/multiplayersetupgroup.h	2013-07-21 08:07:18 +0000
> +++ src/wui/multiplayersetupgroup.h	2014-06-16 13:55:52 +0000
> @@ -21,6 +21,7 @@
>  #define MULTIPLAYERSETUPGROUP_H
>  
>  #include <map>
> +#include <memory>
>  #include <string>
>  
>  #include "constants.h"
> 
> === modified file 'src/wui/playerdescrgroup.cc'
> --- src/wui/playerdescrgroup.cc	2014-03-07 09:22:06 +0000
> +++ src/wui/playerdescrgroup.cc	2014-06-16 13:55:52 +0000
> @@ -21,17 +21,17 @@
>  
>  #include <boost/format.hpp>
>  
> +#include "base/i18n.h"
> +#include "base/wexception.h"
>  #include "constants.h"
>  #include "gamesettings.h"
>  #include "graphic/graphic.h"
> -#include "i18n.h"
>  #include "logic/player.h"
>  #include "logic/tribe.h"
>  #include "profile/profile.h"
>  #include "ui_basic/button.h"
>  #include "ui_basic/checkbox.h"
>  #include "ui_basic/textarea.h"
> -#include "wexception.h"
>  
>  
>  struct PlayerDescriptionGroupImpl {
> 
> === modified file 'src/wui/plot_area.cc'
> --- src/wui/plot_area.cc	2013-07-26 20:19:36 +0000
> +++ src/wui/plot_area.cc	2014-06-16 13:55:52 +0000
> @@ -25,12 +25,12 @@
>  #include <boost/format.hpp>
>  #include <boost/lexical_cast.hpp>
>  
> +#include "base/i18n.h"
>  #include "constants.h"
>  #include "graphic/font.h"
>  #include "graphic/font_handler1.h"
>  #include "graphic/graphic.h"
>  #include "graphic/rendertarget.h"
> -#include "i18n.h"
>  #include "text_layout.h"
>  #include "ui_basic/panel.h"
>  
> @@ -627,4 +627,3 @@
>  
>  	m_negative_plotdata[id].dataset   = data;
>  }
> -
> 
> === modified file 'src/wui/stock_menu.cc'
> --- src/wui/stock_menu.cc	2013-07-26 20:19:36 +0000
> +++ src/wui/stock_menu.cc	2014-06-16 13:55:52 +0000
> @@ -19,9 +19,9 @@
>  
>  #include "wui/stock_menu.h"
>  
> +#include "base/i18n.h"
>  #include "economy/economy.h"
>  #include "graphic/graphic.h"
> -#include "i18n.h"
>  #include "logic/player.h"
>  #include "logic/warehouse.h"
>  #include "ui_basic/tabpanel.h"
> 
> === renamed file 'src/unique_window_handler.cc' => 'src/wui/unique_window_handler.cc'
> --- src/unique_window_handler.cc	2014-04-06 11:58:13 +0000
> +++ src/wui/unique_window_handler.cc	2014-06-16 13:55:52 +0000
> @@ -17,7 +17,7 @@
>   *
>   */
>  
> -#include "unique_window_handler.h"
> +#include "wui/unique_window_handler.h"
>  
>  UI::UniqueWindow::Registry& UniqueWindowHandler::get_registry(const std::string& name) {
>  	return registries_[name];
> 
> === renamed file 'src/unique_window_handler.h' => 'src/wui/unique_window_handler.h'
> === modified file 'src/wui/ware_statistics_menu.cc'
> --- src/wui/ware_statistics_menu.cc	2014-04-21 09:19:14 +0000
> +++ src/wui/ware_statistics_menu.cc	2014-06-16 13:55:52 +0000
> @@ -19,9 +19,9 @@
>  
>  #include "wui/ware_statistics_menu.h"
>  
> +#include "base/i18n.h"
>  #include "graphic/graphic.h"
>  #include "graphic/rendertarget.h"
> -#include "i18n.h"
>  #include "logic/player.h"
>  #include "logic/tribe.h"
>  #include "logic/warelist.h"
> 
> === modified file 'src/wui/waresdisplay.cc'
> --- src/wui/waresdisplay.cc	2014-04-21 10:47:03 +0000
> +++ src/wui/waresdisplay.cc	2014-06-16 13:55:52 +0000
> @@ -23,18 +23,18 @@
>  
>  #include <boost/lexical_cast.hpp>
>  
> +#include "base/i18n.h"
> +#include "base/wexception.h"
>  #include "graphic/font.h"
>  #include "graphic/font_handler.h"
>  #include "graphic/font_handler1.h"
>  #include "graphic/graphic.h"
>  #include "graphic/rendertarget.h"
> -#include "i18n.h"
>  #include "logic/editor_game_base.h"
>  #include "logic/player.h"
>  #include "logic/tribe.h"
>  #include "logic/worker.h"
>  #include "text_layout.h"
> -#include "wexception.h"
>  
>  const int WARE_MENU_INFO_SIZE = 12;
>  
> 
> === modified file 'src/wui/watchwindow.cc'
> --- src/wui/watchwindow.cc	2014-03-03 20:50:30 +0000
> +++ src/wui/watchwindow.cc	2014-06-16 13:55:52 +0000
> @@ -21,8 +21,8 @@
>  
>  #include <vector>
>  
> +#include "base/i18n.h"
>  #include "graphic/graphic.h"
> -#include "i18n.h"
>  #include "logic/bob.h"
>  #include "logic/game.h"
>  #include "logic/map.h"
> 
> === removed file 'txts/locales'
> --- txts/locales	2013-10-09 17:40:17 +0000
> +++ txts/locales	1970-01-01 00:00:00 +0000
> @@ -1,54 +0,0 @@
> -[alternatives]
> -ar="ar,ar_AR,ar_AE,ar_BH,ar_DZ,ar_EG,ar_IN,ar_IQ,ar_JO,ar_KW,ar_LB,ar_LY,ar_MA,ar_OM,ar_QA,ar_SA,ar_SD,ar_SY,ar_TN,ar_YE"
> -ast="ast,ast_ES"
> -ca="ca,ca_ES,ca_ES@valencia,ca_FR,ca_IT"
> -cs="cs,cs_CZ"
> -da="da,da_DK"
> -de="de,de_DE,de_AT,de_CH,de_LI,de_LU,de_BE"
> -el="el,el_GR,el_CY"
> -en="en,en_US,en_GB,en_AU,en_CA,en_AG,en_BW,en_DK,en_HK,en_IE,en_IN,en_NG,en_NZ,en_PH,en_SG,en_ZA,en_ZW"
> -en_AU="en_AU,en,en_US,en_GB"
> -en_CA="en_CA,en,en_US,en_GB"
> -en_GB="en_GB,en,en_US"
> -eo="eo,eo_XX"
> -es="es,es_ES,es_MX,es_US"
> -et="et,et_EE"
> -eu="eu,eu_ES,eu_FR"
> -fa="fa,fa_IR"
> -fi="fi,fi_FI"
> -fr="fr,fr_FR,fr_CH,fr_BE,fr_CA,fr_LU"
> -gd="gd,gd_GB,gd_CA"
> -gl="ga,gl_ES"
> -he="he,he_IL"
> -hr="hr,hr_HR,hr_RS,hr_BA,hr_ME,hr_HU"
> -hu="hu,hu_HU"
> -ia="ia"
> -id="id,id_ID"
> -it="it,it_IT,it_CH"
> -ja="ja,ja_JP"
> -jv="jv,jv_ID,jv_MY,jv_SR,jv_NC"
> -ka="ka,ka_GE"
> -ko="ko,ko_KR"
> -la="la,la_AU,la_VA"
> -mr="mr,mr_IN"
> -ms="ms,ms_MY"
> -my="my,my_MM"
> -nb="nb,nb_NO"
> -nl="nl,nl_NL,nl_BE,nl_AW"
> -nn="nn,nn_NO"
> -oc="oc,oc_FR"
> -pl="pl,pl_PL"
> -pt="pt,pt_PT,pt_BR"
> -pt_BR="pt_BR,pt,pt_PT"
> -ru="ru,ru_RU,ru_UA"
> -si="si,si_LK"
> -sk="sk,sk_SK"
> -sl="sl,sl_SI"
> -sr="sr,sr_RS,sr_ME"
> -sv="sv,sv_FI,sv_SE"
> -tr="tr,tr_TR,tr_CY"
> -uk="uk,uk_UA"
> -vi="vi,vi_VN"
> -zh="zh,zh_CN,zh_TW,zh_HK,zh_MO"
> -zh_CN="zh_CN,zh,zh_TW,zh_HK,zh_MO"
> -zh_TW="zh_TW,zh_HK,zh_MO,zh,zh_CN"
> 
> === removed directory 'utils/win32/msvc'
> === removed file 'utils/win32/msvc/Widelands-msvc.iss.cmake'
> --- utils/win32/msvc/Widelands-msvc.iss.cmake	2014-03-04 18:56:41 +0000
> +++ utils/win32/msvc/Widelands-msvc.iss.cmake	1970-01-01 00:00:00 +0000
> @@ -1,163 +0,0 @@
> -; ===================================== ;
> -; Widelands-Inno-Setup-Script           ;
> -; ===================================== ;
> -;                                       ;
> -; You will need a current version of    ;
> -; the "Inno Setup Compiler" and the     ;
> -; "Inno Setup QuickStart Pack" to com-  ;
> -; pile a Setup with use of this script. ;
> -;                                       ;
> -; For more information visit:           ;
> -; http://www.innosetup.com              ;
> -;                                       ;
> -; ===================================== ;
> -
> -
> -; CHANGES BEFORE COMPILE:
> -;
> -; Only change the "Placeholder"-variables in the two "#define"-sections.
> -; Nothing more must be changed. All visible stuff is defined there.
> -
> -
> -;Version String
> -#define Name "Widelands"
> -#define VerName "Widelands @WL_VERSION@"
> -#define VerNumber "@WL_VERSION_MAJOR@.@WL_VERSION_MINOR@.@WL_VERSION_PATCH@"
> -#define Copyright "Widelands Development Team 2001-2014"
> -#define SetupFileName "Widelands-@WL_VERSION@-win32"
> -
> -;General String
> -#define Publisher "Widelands Development Team"
> -#define URL "http://www.widelands.org";
> -#define HelpURL "http://wl.widelands.org/wiki/MainPage/";
> -#define ExeName "widelands.exe"
> -#define UrlName "Widelands.url"
> -#define HelpName "Widelands-Onlinehelp.url"
> -#define HelpNameName "Widelands-Onlinehelp"
> -#define Copying "COPYING.txt"
> -
> -[Setup]
> -AppName={#Name}
> -AppVerName={#VerName}
> -AppPublisher={#Publisher}
> -AppPublisherURL={#URL}
> -AppSupportURL={#URL}
> -AppUpdatesURL={#URL}
> -DefaultDirName={pf}\{#Name}
> -DefaultGroupName={#Name}
> -AllowNoIcons=true
> -LicenseFile=@CMAKE_CURRENT_SOURCE_DIR@\..\COPYING
> -InfoAfterFile=@CMAKE_CURRENT_SOURCE_DIR@\..\ChangeLog
> -OutputDir=@CMAKE_CURRENT_BINARY_DIR@\..\
> -OutputBaseFilename={#SetupFileName}
> -SetupIconFile=@CMAKE_CURRENT_SOURCE_DIR@\..\build\win32\WL.ico
> -Compression=lzma/ultra
> -SolidCompression=true
> -VersionInfoVersion={#VerNumber}
> -VersionInfoCompany={#Publisher}
> -VersionInfoDescription={#VerName} Setup
> -ShowLanguageDialog=yes
> -WizardImageFile=@CMAKE_CURRENT_SOURCE_DIR@\..\utils\win32\innosetup\WL.bmp
> -WizardSmallImageFile=@CMAKE_CURRENT_SOURCE_DIR@\utils\build\win32\innosetup\WLsmall.bmp
> -AppVersion={#VerName}
> -UninstallDisplayIcon={app}\unins000.exe
> -UninstallDisplayName={#VerName}
> -VersionInfoCopyright={#Publisher}
> -InternalCompressLevel=max
> -AppID={{WIDELANDS-WIN32-IS}
> -AppCopyright={#Copyright}
> -ChangesAssociations=yes
> -
> -[Languages]
> -Name: english;   MessagesFile: compiler:Default.isl
> -Name: czech;     MessagesFile: compiler:Languages\Czech.isl
> -Name: finnish;   MessagesFile: compiler:Languages\Finnish.isl
> -Name: french;    MessagesFile: compiler:Languages\French.isl
> -Name: german;    MessagesFile: compiler:Languages\German.isl
> -Name: polish;    MessagesFile: compiler:Languages\Polish.isl
> -Name: swedish;   MessagesFile: compiler:Languages\Swedish.isl
> -Name: slovak;    MessagesFile: compiler:Languages\Slovak.isl
> -Name: russian;   MessagesFile: compiler:Languages\Russian.isl
> -Name: hungarian; MessagesFile: compiler:Languages\Hungarian.isl
> -Name: dutch;     MessagesFile: compiler:Languages\Dutch.isl
> -Name: gaelic;    MessagesFile: compiler:Languages\ScottishGaelic.isl
> -Name: hebrew;    MessagesFile: compiler:Languages\Hebrew.isl
> -Name: russian;   MessagesFile: compiler:Languages\Russian.isl
> -Name: spanish;   MessagesFile: compiler:Languages\Spanish.isl
> -
> -[Tasks]
> -Name: desktopicon;     Description: {cm:CreateDesktopIcon};     GroupDescription: {cm:AdditionalIcons}; Flags: unchecked
> -Name: quicklaunchicon; Description: {cm:CreateQuickLaunchIcon}; GroupDescription: {cm:AdditionalIcons}; Flags: unchecked
> -
> -[Files]
> -Source: @CMAKE_CURRENT_SOURCE_DIR@\..\campaigns\*;  DestDir: {app}\campaigns\; Flags: recursesubdirs ignoreversion; Tasks: ; Languages: ; Attribs: hidden; Components: " Widelands"
> -Source: @CMAKE_CURRENT_SOURCE_DIR@\..\fonts\*;      DestDir: {app}\fonts\;     Flags: recursesubdirs ignoreversion; Tasks: ; Languages: ; Attribs: hidden; Components: " Widelands"
> -Source: @CMAKE_CURRENT_BINARY_DIR@\..\locale\*;     DestDir: {app}\locale\;    Flags: recursesubdirs ignoreversion; Tasks: ; Languages: ; Attribs: hidden; Components: " Widelands"
> -Source: @CMAKE_CURRENT_SOURCE_DIR@\..\maps\*;       DestDir: {app}\maps\;      Flags: recursesubdirs ignoreversion; Tasks: ; Languages: ;                  Components: " Maps"
> -Source: @CMAKE_CURRENT_SOURCE_DIR@\..\music\*;      DestDir: {app}\music\;     Flags: recursesubdirs ignoreversion; Tasks: ; Languages: ;                  Components: " Music"
> -Source: @CMAKE_CURRENT_SOURCE_DIR@\..\pics\*;       DestDir: {app}\pics\;      Flags: recursesubdirs ignoreversion; Tasks: ; Languages: ; Attribs: hidden; Components: " Widelands"
> -Source: @CMAKE_CURRENT_SOURCE_DIR@\..\sound\*;      DestDir: {app}\sound\;     Flags: recursesubdirs ignoreversion; Tasks: ; Languages: ; Attribs: hidden; Components: " Sound"
> -Source: @CMAKE_CURRENT_SOURCE_DIR@\..\tribes\*;     DestDir: {app}\tribes\;    Flags: recursesubdirs ignoreversion; Tasks: ; Languages: ; Attribs: hidden; Components: " Widelands"
> -Source: @CMAKE_CURRENT_SOURCE_DIR@\..\txts\*;       DestDir: {app}\txts\;      Flags: recursesubdirs ignoreversion; Tasks: ; Languages: ; Attribs: hidden; Components: " Widelands"
> -Source: @CMAKE_CURRENT_SOURCE_DIR@\..\worlds\*;     DestDir: {app}\worlds\;    Flags: recursesubdirs ignoreversion; Tasks: ; Languages: ; Attribs: hidden; Components: " Widelands"
> -Source: @CMAKE_CURRENT_SOURCE_DIR@\..\global\*;     DestDir: {app}\global\;    Flags: recursesubdirs ignoreversion; Tasks: ; Languages: ; Attribs: hidden; Components: " Widelands"
> -Source: @CMAKE_CURRENT_SOURCE_DIR@\..\scripting\*;  DestDir: {app}\scripting\; Flags: recursesubdirs ignoreversion; Tasks: ; Languages: ; Attribs: hidden; Components: " Widelands"
> -Source: @CMAKE_CURRENT_BINARY_DIR@\@CMAKE_BUILD_TYPE@\widelands.exe;           DestDir: {app};            Flags: ignoreversion;                                                       Components: " Widelands"
> -Source: @CMAKE_CURRENT_SOURCE_DIR@\..\ChangeLog;                               DestDir: {app};            Flags: ignoreversion; DestName: ChangeLog.txt;                              Components: " Widelands"
> -Source: @CMAKE_CURRENT_SOURCE_DIR@\..\COPYING;                                 DestDir: {app};            Flags: ignoreversion; DestName: COPYING.txt;                                Components: " Widelands"
> -Source: @CMAKE_CURRENT_SOURCE_DIR@\..\CREDITS;                                 DestDir: {app};            Flags: ignoreversion; DestName: CREDITS.txt;                                Components: " Widelands"
> -Source: @CMAKE_CURRENT_SOURCE_DIR@\..\utils\win32\innosetup\WL-Editor.ico;     DestDir: {app};            Flags: ignoreversion;                                                       Components: " Widelands"
> -
> -[INI]
> -Filename: {app}\{#UrlName};  Section: InternetShortcut; Key: URL; String: {#URL}
> -Filename: {app}\{#HelpName}; Section: InternetShortcut; Key: URL; String: {#HelpURL}
> -
> -[Icons]
> -Name: {app}\{#Name} - Mapeditor;             Filename: {app}\{#ExeName}; Parameters: " --editor"; WorkingDir: {app}; IconFilename: {app}\WL-Editor.ico; Comment: Directly starts the Widelands-Editor; Flags: useapppaths
> -Name: {group}\{#Name};                       Filename: {app}\{#ExeName}; WorkingDir: {app}; IconFilename: {app}\widelands.exe; Flags: useapppaths; Tasks: ; Languages:
> -Name: {group}\{cm:ProgramOnTheWeb,{#Name}};  Filename: {app}\{#UrlName}
> -Name: {group}\{cm:UninstallProgram,{#Name}}; Filename: {uninstallexe}
> -Name: {group}\{#HelpNameName};               Filename: {app}\{#HelpName}; Tasks: ; Languages:
> -Name: {group}\{#Name} - Mapeditor;           Filename: {app}\{#ExeName}; Parameters: " --editor"; WorkingDir: {app}; IconFilename: {app}\WL-Editor.ico; Comment: Directly starts the Widelands-Editor; Flags: useapppaths
> -Name: {userappdata}\Microsoft\Internet Explorer\Quick Launch\{#Name}; Filename: {app}\{#ExeName}; Tasks: quicklaunchicon; WorkingDir: {app}; Flags: useapppaths; IconFilename: {app}\widelands.exe
> -Name: {userdesktop}\{#Name};                 Filename: {app}\{#ExeName}; Tasks: desktopicon; WorkingDir: {app}; Flags: useapppaths; IconFilename: {app}\widelands.exe
> -Name: {userdesktop}\{#Name} - Mapeditor;     Filename: {app}\{#ExeName}; Parameters: " --editor"; Tasks: desktopicon; WorkingDir: {app}; IconFilename: {app}\WL-Editor.ico; Comment: Directly starts the Widelands-Editor; Flags: useapppaths
> -Name: {group}\{#Copying};                    Filename: {app}\{#Copying}
> -
> -[Run]
> -Filename: {app}\{#ExeName}; Description: {cm:LaunchProgram,{#Name}}; Flags: nowait postinstall skipifsilent
> -
> -[InstallDelete]
> -Type: filesandordirs; Name: {app}\campaigns\*
> -Type: filesandordirs; Name: {app}\global\*
> -Type: filesandordirs; Name: {app}\locale\*
> -Type: filesandordirs; Name: {app}\maps\*
> -Type: filesandordirs; Name: {app}\pics\*
> -Type: filesandordirs; Name: {app}\scripting\*
> -Type: filesandordirs; Name: {app}\sound\*
> -Type: filesandordirs; Name: {app}\tribes\*
> -Type: filesandordirs; Name: {app}\txts\*
> -Type: filesandordirs; Name: {app}\worlds\*
> -
> -[UninstallDelete]
> -Type: files; Name: {app}\{#UrlName}
> -Type: files; Name: {app}\{#HelpName}
> -Type: files; Name: {app}\stdout.txt
> -Type: files; Name: {app}\stderr.txt
> -
> -[Components]
> -Name: Widelands; Description: Widelands Core;             Flags: fixed checkablealone; Types: custom compact full
> -Name: Music;     Description: Widelands Background Music;                              Types: full
> -Name: Sound;     Description: Widelands Sound Effects;                                 Types: compact full
> -Name: Maps;      Description: Widelands Maps;                                          Types: compact full
> -
> -[Registry]
> -Root: HKCR; Subkey: .wgf;                                 ValueType: string; ValueName: ; ValueData: WidelandsSavegame;  Flags: uninsdeletevalue
> -Root: HKCR; Subkey: WidelandsSavegame;                    ValueType: string; ValueName: ; ValueData: Widelands Savegame; Flags: uninsdeletekey
> -Root: HKCR; Subkey: WidelandsSavegame\DefaultIcon;        ValueType: string; ValueName: ; ValueData: {app}\{#ExeName},0
> -Root: HKCR; Subkey: WidelandsSavegame\shell\open\command; ValueType: string; ValueName: ; ValueData: """{app}\{#ExeName}"" ""--loadgame=%1"""
> -
> -Root: HKCR; Subkey: .wmf;                                 ValueType: string; ValueName: ; ValueData: WidelandsMapFile;  Flags: uninsdeletevalue
> -Root: HKCR; Subkey: WidelandsMapFile;                     ValueType: string; ValueName: ; ValueData: Widelands Mapfile; Flags: uninsdeletekey
> -Root: HKCR; Subkey: WidelandsMapFile\DefaultIcon;         ValueType: string; ValueName: ; ValueData: {app}\WL-Editor.ico
> -Root: HKCR; Subkey: WidelandsMapFile\shell\open\command;  ValueType: string; ValueName: ; ValueData: """{app}\{#ExeName}"" ""--editor=%1"""
> 
> === removed file 'utils/win32/msvc/widelands.rc.cmake'
> --- utils/win32/msvc/widelands.rc.cmake	2014-01-28 17:33:10 +0000
> +++ utils/win32/msvc/widelands.rc.cmake	1970-01-01 00:00:00 +0000
> @@ -1,53 +0,0 @@
> -/*
> - * Copyright (C) 2006-2014 by the Widelands Development Team
> - *
> - * This program is free software; you can redistribute it and/or
> - * modify it under the terms of the GNU General Public License
> - * as published by the Free Software Foundation; either version 2
> - * of the License, or (at your option) any later version.
> - *
> - * This program is distributed in the hope that it will be useful,
> - * but WITHOUT ANY WARRANTY; without even the implied warranty of
> - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
> - * GNU General Public License for more details.
> - *
> - * You should have received a copy of the GNU General Public License
> - * along with this program; if not, write to the Free Software
> - * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
> - *
> - */
> -
> -#include <windows.h> // included for version info constants
> -
> -A ICON MOVEABLE PURE LOADONCALL DISCARDABLE "@CMAKE_CURRENT_SOURCE_DIR@/../utils/win32/WL.ico"
> -
> -//
> -// TO CHANGE VERSION INFORMATION, EDIT  OPTIONS BELOW...
> -//
> -1 VERSIONINFO
> -FILEVERSION 0,18,0,1
> -PRODUCTVERSION 0,18,0,1
> -FILETYPE VFT_APP
> -{
> -  BLOCK "StringFileInfo"
> -	 {
> -		 BLOCK "080904E4"
> -		 {
> -			 VALUE "CompanyName", "The Widelands Development Team"
> -			 VALUE "FileVersion", "@WL_VERSION@"
> -			 VALUE "FileDescription", "Widelands - realtime strategy game"
> -			 VALUE "InternalName", "WL"
> -			 VALUE "LegalCopyright", "GPL v2"
> -			 VALUE "WWW", "http://www.widelands.org";
> -			 VALUE "License", "Gnu GPL v2"
> -			 VALUE "OriginalFilename", "widelands"
> -			 VALUE "ProductName", "Widelands - an Open-Source realtime strategy game"
> -			 VALUE "ProductVersion", "@WL_VERSION@"
> -		 }
> -	 }
> -  BLOCK "VarFileInfo"
> -	 {
> -		 VALUE "Translation", 0x0809, 1252
> -	 }
> -}
> -
> 
> === removed directory 'utils/win32/nsis'
> === removed file 'utils/win32/nsis/WL.bmp'
> Binary files utils/win32/nsis/WL.bmp	2012-02-06 15:14:44 +0000 and utils/win32/nsis/WL.bmp	1970-01-01 00:00:00 +0000 differ
> === removed file 'utils/win32/nsis/install_header.bmp'
> Binary files utils/win32/nsis/install_header.bmp	2012-02-06 15:14:44 +0000 and utils/win32/nsis/install_header.bmp	1970-01-01 00:00:00 +0000 differ


-- 
https://code.launchpad.net/~widelands-dev/widelands/cmake-reworked/+merge/222455
Your team Widelands Developers is requested to review the proposed merge of lp:~widelands-dev/widelands/cmake-reworked into lp:widelands.


References