Coder Social home page Coder Social logo

freeorion-sdk's Introduction

Tag Tag Contributors Activity

follow on Twitter

FreeOrion

FreeOrion is a free, Open Source, turn-based space empire and galactic conquest computer game.

FreeOrion is inspired by the tradition of the Master of Orion games, but does not try to be a clone or remake of that series or any other game. It builds on the classic 4X (eXplore, eXpand, eXploit and eXterminate) model.

By adding scripting capabilities to the game engine the FreeOrion project aims to give the community an easy way to customize the game mechanics and presentation to create a living, breathing universe in a grand campaign model.

Requirements

FreeOrion requires an OpenGL 2.1 capable graphic card and a display with a suggested minimum resolution of at least 1280x800.

Recent releases of FreeOrion require at least Windows 8.1 or later, macOS 10.12 or later or any reasonably recent Linux distribution on x86 compatible processors, such as Ubuntu 20.04 or 22.10. Other operating systems and architectures have reported to be working by users, but are not actively supported by the FreeOrion project.

Download

FreeOrion Stable Releases are the recommended way to play FreeOrion. Stable Releases can be obtained as native installer binaries for Windows and Mac OSX or as source releases for Linux and other UNIX-ish platforms from GitHub.

Some Linux distributions like Fedora, Debian and Arch provide packages of FreeOrion. Alternatively, FreeOrion is also available on Flathub.

FreeOrion Weekly Releases are in-development releases intended for enthusiasts and testers, who want to track or contribute to the development. Weekly Releases can be obtained as native installer binaries for Windows and Mac OSX from Sourceforge.

Install

For Windows, execute the native installer binary and follow the on-screen instructions of the installer to install FreeOrion.

For Mac OSX, open the downloaded DMG file and copy the contained FreeOrion application to your system Applications folder by Drag and Drop.

For Linux or other from-source installations, refer to the Build Instructions.

Various Linux distributions provide the stable release of FreeOrion in a prebuilt way. Usually you can install those packages by either using a graphical package manager and searching for FreeOrion or by installing the packages via the command line.

To install FreeOrion from Flathub, follow the instructions to install Flatpak and Flathub and then install FreeOrion.

Directories

  • install directory
    The location of this README.md file, called <install_dir> below.
  • config - game settings
    Called <config_dir> below.
    • linux
      $XDG_CONFIG_HOME/freeorion which defaults to ~/.config/freeorion
    • OSX
      $HOME/Library/Application Support/FreeOrion/ which defaults to ~/Library/Application Support/FreeOrion/
    • Windows
      $APPDATA\FreeOrion
  • data - local user data, saved games, log files
    Called <data_dir> below.
    • linux
      $XDG_DATA_HOME/freeorion which defaults to ~/.config/freeorion
    • OSX
      $HOME/Library/Application Support/FreeOrion/ which defaults to ~/Library/Application Support/FreeOrion/
    • Windows
      $APPDATA\FreeOrion
  • resource directory - audio, visual and textual UI content, python scripts
    Called <resource_dir> below.
    <install_dir>/default/
    <resource_dir> can be redirected in <config_dir>/config.xml or <config_dir>/persistent_config.xml
  • stringtables - translation indices for various languages
    <resource_dir>/stringtables/
  • scripting - FreeOrion Content Scripts (FOCS) describing game content (tech, species etc.)
    <resource_dir>/scripting/
  • AI - AI for computer controlled empires
    <resource_dir>/python/AI

Contact and Getting Help

Visit the FreeOrion Homepage to learn more about the project. Also you can get in touch with the FreeOrion developers and join the community in the FreeOrion Forum.

Contribute

The FreeOrion project encourages anybody to contribute to FreeOrion. For more details please see the Contribution Guidelines.

License

The FreeOrion source code is licensed under the terms of GPL v2, game assets are licensed under the terms of CC-BY-SA-3.0 and game content scripts are licensed under the terms of both GPL v2 and CC-BY-SA-3.0. For more details please see the License File.

Additional to the immediate project sources, the FreeOrion source tree bundles some third party projects or assets which may be also licensed under different terms than the FreeOrion project. For more details please consult the accompanying license file.

  • GiGi library located within the GG/ directory.
  • Roboto font located within the default/data/fonts/ directory.
  • DejaVuSans located within the default/data/fonts/ directory.

freeorion-sdk's People

Contributors

adrianbroher avatar cotsog avatar dbenage-cx avatar geoffthemedio avatar lgm-doyle avatar memem359 avatar o01eg avatar vezzra avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

freeorion-sdk's Issues

Boost_PYTHON_LIBRARY symbol not correctly set

When trying to build FO with a SDK based on latest master (2758d37), the build fails during the post build phase where the application bundle gets generated:

PhaseScriptExecution CMake\ PostBuild\ Rules /Users/user/SoftwareProjekte/FO/main/build/FreeOrion.build/Release/freeorion.build/Script-54254A979D48448E8F966E1F.sh
    cd /Users/user/SoftwareProjekte/FO/main/src
    /bin/sh -c /Users/user/SoftwareProjekte/FO/main/build/FreeOrion.build/Release/freeorion.build/Script-54254A979D48448E8F966E1F.sh
/Applications/CMake.app/Contents/bin/cmake -E make_directory /Users/user/SoftwareProjekte/FO/main/build/Release/FreeOrion.app/Contents/MacOS/../Executables
/Applications/CMake.app/Contents/bin/cmake -E copy_if_different /Users/user/SoftwareProjekte/FO/main/build/Release/freeorionca /Users/user/SoftwareProjekte/FO/main/build/Release/FreeOrion.app/Contents/MacOS/../Executables
/Applications/CMake.app/Contents/bin/cmake -E copy_if_different /Users/user/SoftwareProjekte/FO/main/build/Release/freeoriond /Users/user/SoftwareProjekte/FO/main/build/Release/FreeOrion.app/Contents/MacOS/../Executables
/Applications/CMake.app/Contents/bin/cmake -E make_directory /Users/user/SoftwareProjekte/FO/main/build/Release/FreeOrion.app/Contents/MacOS/../SharedSupport
/Applications/CMake.app/Contents/bin/cmake -E copy_if_different /Users/user/SoftwareProjekte/FO/main/build/Release/libfreeorioncommon.dylib /Users/user/SoftwareProjekte/FO/main/build/Release/FreeOrion.app/Contents/MacOS/../SharedSupport
/Applications/CMake.app/Contents/bin/cmake -E copy_if_different /Users/user/SoftwareProjekte/FO/main/build/Release/libfreeorionparse.dylib /Users/user/SoftwareProjekte/FO/main/build/Release/FreeOrion.app/Contents/MacOS/../SharedSupport
/Applications/CMake.app/Contents/bin/cmake -E copy_if_different /Users/user/SoftwareProjekte/FO/main/build/Release/libGiGi.dylib /Users/user/SoftwareProjekte/FO/main/build/Release/FreeOrion.app/Contents/MacOS/../SharedSupport
/Applications/CMake.app/Contents/bin/cmake -E copy_if_different /Users/user/SoftwareProjekte/FO/main/build/Release/libGiGiSDL.dylib /Users/user/SoftwareProjekte/FO/main/build/Release/FreeOrion.app/Contents/MacOS/../SharedSupport
/Applications/CMake.app/Contents/bin/cmake -E copy_if_different /Users/user/SoftwareProjekte/FO/main/build/dep/lib/libboost_atomic.dylib /Users/user/SoftwareProjekte/FO/main/build/Release/FreeOrion.app/Contents/MacOS/../SharedSupport
/Applications/CMake.app/Contents/bin/cmake -E copy_if_different /Users/user/SoftwareProjekte/FO/main/build/dep/lib/libboost_chrono.dylib /Users/user/SoftwareProjekte/FO/main/build/Release/FreeOrion.app/Contents/MacOS/../SharedSupport
/Applications/CMake.app/Contents/bin/cmake -E copy_if_different /Users/user/SoftwareProjekte/FO/main/build/dep/lib/libboost_date_time.dylib /Users/user/SoftwareProjekte/FO/main/build/Release/FreeOrion.app/Contents/MacOS/../SharedSupport
/Applications/CMake.app/Contents/bin/cmake -E copy_if_different /Users/user/SoftwareProjekte/FO/main/build/dep/lib/libboost_filesystem.dylib /Users/user/SoftwareProjekte/FO/main/build/Release/FreeOrion.app/Contents/MacOS/../SharedSupport
/Applications/CMake.app/Contents/bin/cmake -E copy_if_different /Users/user/SoftwareProjekte/FO/main/build/dep/lib/libboost_iostreams.dylib /Users/user/SoftwareProjekte/FO/main/build/Release/FreeOrion.app/Contents/MacOS/../SharedSupport
/Applications/CMake.app/Contents/bin/cmake -E copy_if_different /Users/user/SoftwareProjekte/FO/main/build/dep/lib/libboost_locale.dylib /Users/user/SoftwareProjekte/FO/main/build/Release/FreeOrion.app/Contents/MacOS/../SharedSupport
/Applications/CMake.app/Contents/bin/cmake -E copy_if_different /Users/user/SoftwareProjekte/FO/main/build/dep/lib/libboost_log.dylib /Users/user/SoftwareProjekte/FO/main/build/Release/FreeOrion.app/Contents/MacOS/../SharedSupport
/Applications/CMake.app/Contents/bin/cmake -E copy_if_different /Users/user/SoftwareProjekte/FO/main/build/dep/lib/libboost_log_setup.dylib /Users/user/SoftwareProjekte/FO/main/build/Release/FreeOrion.app/Contents/MacOS/../SharedSupport
/Applications/CMake.app/Contents/bin/cmake -E copy_if_different /Users/user/SoftwareProjekte/FO/main/build/dep/lib/libboost_regex.dylib /Users/user/SoftwareProjekte/FO/main/build/Release/FreeOrion.app/Contents/MacOS/../SharedSupport
/Applications/CMake.app/Contents/bin/cmake -E copy_if_different  /Users/user/SoftwareProjekte/FO/main/build/Release/FreeOrion.app/Contents/MacOS/../SharedSupport
CMake Error: cmake version 3.14.5
Usage: /Applications/CMake.app/Contents/bin/cmake -E <command> [arguments...]
Available commands: 
  capabilities              - Report capabilities built into cmake in JSON format
  chdir dir cmd [args...]   - run command in a given directory
  compare_files [--ignore-eol] file1 file2
                              - check if file1 is same as file2
  copy <file>... destination  - copy files to destination (either file or directory)
  copy_directory <dir>... destination   - copy content of <dir>... directories to 'destination' directory
  copy_if_different <file>... destination  - copy files if it has changed
  echo [<string>...]        - displays arguments as text
  echo_append [<string>...] - displays arguments as text but no new line
  env [--unset=NAME]... [NAME=VALUE]... COMMAND [ARG]...
                            - run command in a modified environment
  environment               - display the current environment
  make_directory <dir>...   - create parent and <dir> directories
  md5sum <file>...          - create MD5 checksum of files
  sha1sum <file>...         - create SHA1 checksum of files
  sha224sum <file>...       - create SHA224 checksum of files
  sha256sum <file>...       - create SHA256 checksum of files
  sha384sum <file>...       - create SHA384 checksum of files
  sha512sum <file>...       - create SHA512 checksum of files
  remove [-f] <file>...     - remove the file(s), use -f to force it
  remove_directory dir      - remove a directory and its contents
  rename oldname newname    - rename a file or directory (on one volume)
  server                    - start cmake in server mode
  sleep <number>...         - sleep for given number of seconds
  tar [cxt][vf][zjJ] file.tar [file/dir1 file/dir2 ...]
                            - create or extract a tar or zip archive
  time command [args...]    - run command and display elapsed time
  touch file                - touch a file.
  touch_nocreate file       - touch a file but do not create it.
  create_symlink old new    - create a symbolic link new -> old

make: *** [freeorion_buildpart_0] Error 1
Command /bin/sh failed with exit code 2

As far as I could narrow it down, the problem is that the Boost_PYTHON_LIBRARY symbol doesn't get set correctly, resolving to an empty string, causing the cmake -E copy_if_different command that is supposed to copy the Python framework into the app bundle to fail.

Max OSX - Boost fails to find SDKs

OSX: 10.12.5 XCode: 8
Build fails during boost build:

/opt/projects/freeorion-sdk/build-cm/boost-prefix/src/boost/tools/build/src/build/feature.jam:494: in validate-value-string from module feature
error: "10.9" is not a known value of feature <macosx-version-min>
error: legal values:
/opt/projects/freeorion-sdk/build-cm/boost-prefix/src/boost/tools/build/src/build/feature.jam:364: in expand-subfeatures-aux from module feature
/opt/projects/freeorion-sdk/build-cm/boost-prefix/src/boost/tools/build/src/build/feature.jam:425: in feature.expand-subfeatures from module feature
/opt/projects/freeorion-sdk/build-cm/boost-prefix/src/boost/tools/build/src/build/build-request.jam:20: in apply-to-property-set from module build-request
(builtin):-1: in sequence.transform from module sequence
/opt/projects/freeorion-sdk/build-cm/boost-prefix/src/boost/tools/build/src/build/build-request.jam:32: in build-request.expand-no-defaults from module build-request
/opt/projects/freeorion-sdk/build-cm/boost-prefix/src/boost/tools/build/src/build-system.jam:594: in load from module build-system
/opt/projects/freeorion-sdk/build-cm/boost-prefix/src/boost/tools/build/src/kernel/modules.jam:295: in import from module modules
/opt/projects/freeorion-sdk/build-cm/boost-prefix/src/boost/tools/build/src/kernel/bootstrap.jam:139: in boost-build from module
/opt/projects/freeorion-sdk/build-cm/boost-prefix/src/boost/boost-build.jam:17: in module scope from module

build_log.txt

Resolved by adding symlink, as noted in workaround for https://svn.boost.org/trac/boost/ticket/10275.

PDB file not found

When linking FreeOrion, I get a bunch of missing pdf file warnings:

1>freetype255MT.lib(autofit.obj) : warning LNK4099: PDB 'freetype.pdb' was not found with 'freetype255MT.lib(autofit.obj)' or at 'C:\Users\Geoff\Desktop\FreeOrionSDK3\FreeOrion\freetype.pdb'; linking object as if no debug info

Might be nice to put it where expected / include in the SDK.

compiling takes A LONG TIME

Takes about 5 minutes to build freeorion on liquid-cooled AMD FX-9590 8 x 5.2GHz, with every core is loaded 100%. This seems to be too long for such a small game (even boost is built much faster, while libpng is built in 2 seconds). Not sure if problem of MSVS itself, but mingw builds are typically much faster (maybe 10 times faster) without any drawbacks, so maybe you could consider replacing MSVC for mingw on windows. With such frequent updates compilation is painful.

[mac-support branch] patch step for target python-cmake fails

Application of the patch fails with the following error message:

[ 56%] Performing patch step for 'python-cmake'
patching file cmake/libpython/CMakeLists.txt
Hunk #1 FAILED at 311.
1 out of 1 hunk FAILED -- saving rejects to file cmake/libpython/CMakeLists.txt.rej
make[2]: *** [python-cmake-prefix/src/python-cmake-stamp/python-cmake-patch] Error 1
make[1]: *** [CMakeFiles/python-cmake.dir/all] Error 2
make: *** [all] Error 2

Attached the CMakeLists.txt.rej the error message refers to:
CMakeLists.txt.rej.zip

Open tasks for SDK

This issue contains things to check before declaring the setup working:

  • Travis-CI doesn't contain any artifact deployment as Github Release.
  • Validate MacOSX SDK file layout.
  • Validate MacOSX SDK ABI compability.
  • Check if MacOSX build flags are matching the regular upstream build flags for all dependencies.
  • Validate Windows SDK ABI compability.
  • Check if Windows build flags are matching the regular upstream build flags for all dependencies.
  • Write initial ChangeLog.md.

Cann't build python from SDK on MSVS 2017.

I've trying to build sdk for target Visual Studio 15 2017 Win64.

When process gets to python step it fails to configure it:

InitializeBuildStatus:
  Обращение к "x64\RelWithDebInfo\python\python.tlog\unsuccessfulbuild".
ComputeCustomBuildOutput:
  Создание каталога "D:\devel\freeorion-sdk\build\python-prefix\src\python-stamp\RelWithDebInfo\".
CustomBuild:
  Creating directories for 'python'
  Building Custom Rule D:/devel/freeorion-sdk/CMakeLists.txt
  CMake does not need to re-run because D:/devel/freeorion-sdk/build/CMakeFiles/generate.stamp is up-to-date.
  Performing download step (download, verify and extract) for 'python'
  -- verifying file...
         file='D:/devel/freeorion-sdk/build/downloads/Python-2.7.14.tgz'
  -- File already exists and hash match (skip download):
    file='D:/devel/freeorion-sdk/build/downloads/Python-2.7.14.tgz'
    MD5='cee2e4b33ad3750da77b2e85f2f8b724'
  -- extracting...
       src='D:/devel/freeorion-sdk/build/downloads/Python-2.7.14.tgz'
       dst='D:/devel/freeorion-sdk/build/python-prefix/src/python'
  -- extracting... [tar xfz]
  -- extracting... [analysis]
  -- extracting... [rename]
  -- extracting... [clean up]
  -- extracting... done
  No update step for 'python'
  Performing patch step for 'python'
  Performing configure step for 'python'
  -- The C compiler identification is MSVC 19.13.26132.0
  -- The ASM compiler identification is MSVC
  -- Found assembler: C:/Program Files (x86)/Microsoft Visual Studio/2017/Community/VC/Tools/MSVC/14.13.26128/bin/Hostx86/x64/cl.exe
  -- Check for working C compiler: C:/Program Files (x86)/Microsoft Visual Studio/2017/Community/VC/Tools/MSVC/14.13.26128/bin/Hostx86/x64/cl.exe
  -- Check for working C compiler: C:/Program Files (x86)/Microsoft Visual Studio/2017/Community/VC/Tools/MSVC/14.13.26128/bin/Hostx86/x64/cl.exe -- works
  -- Detecting C compiler ABI info
  -- Detecting C compiler ABI info - done
  CMake Deprecation Warning at CMakeLists.txt:29 (cmake_policy):
    The OLD behavior for policy CMP0042 will be removed from a future version
    of CMake.
  
    The cmake-policies(7) manual explains that the OLD behaviors of all
    policies are deprecated and that a policy should be set to OLD only under
    specific short-term circumstances.  Projects should be ported to the NEW
    behavior and not rely on setting a policy to OLD.
  
  
  -- Looking for CMake command configure_package_config_file
  -- Looking for CMake command configure_package_config_file - found
  -- Looking for CMake command write_basic_package_version_file
  -- Looking for CMake command write_basic_package_version_file - found
  -- Looking for CMake command target_compile_definitions
  -- Looking for CMake command target_compile_definitions - found
  -- Looking for CMake property POSITION_INDEPENDENT_CODE
  -- Looking for CMake property POSITION_INDEPENDENT_CODE - found
  -- SRC_DIR: D:/devel/freeorion-sdk/build/python-prefix/src/python
  -- PY_VERSION: 2.7.14
  -- Found Git: C:/Program Files/Git/cmd/git.exe (found version "2.17.0.windows.1") 
  -- Using 2.7.13 patches for 2.7.13 <= PY_VERSION < 3.0.0
  -- Skipping patches: Directory 'D:/devel/freeorion-sdk/build/python-prefix/src/python/patches/2.7' does not exist
  -- Skipping patches: Directory 'D:/devel/freeorion-sdk/build/python-prefix/src/python/patches/2.7.13/Windows' does not exist
  -- Skipping patches: Directory 'D:/devel/freeorion-sdk/build/python-prefix/src/python/patches/2.7.13/Windows-MSVC/1913' does not exist
  -- The system name is Windows
  -- The system processor is AMD64
  -- The system version is 6.1.7601
  -- Could NOT find BZip2 (missing: BZIP2_LIBRARIES BZIP2_INCLUDE_DIR) 
  -- Could NOT find Curses (missing: CURSES_LIBRARY CURSES_INCLUDE_PATH) 
  -- Could NOT find EXPAT (missing: EXPAT_LIBRARY EXPAT_INCLUDE_DIR) 
  -- Could NOT find Tclsh (missing: TCL_TCLSH) 
  -- Could NOT find TCL (missing: TCL_LIBRARY TCL_INCLUDE_PATH) 
  -- Could NOT find TCLTK (missing: TCL_LIBRARY TCL_INCLUDE_PATH TK_LIBRARY TK_INCLUDE_PATH) 
  -- Could NOT find TK (missing: TK_LIBRARY TK_INCLUDE_PATH) 
  -- The ASM_MASM compiler identification is MSVC
  -- Found assembler: C:/Program Files (x86)/Microsoft Visual Studio/2017/Community/VC/Tools/MSVC/14.13.26128/bin/Hostx86/x64/ml64.exe
  -- 
  -- The following extensions will NOT be built:
  -- 
  --     audioop (not set: ENABLE_AUDIOOP)
  --     _codecs_cn (not set: ENABLE_CODECS_CN)
  --     _codecs_hk (not set: ENABLE_CODECS_HK)
  --     _codecs_iso2022 (not set: ENABLE_CODECS_ISO2022)
  --     _codecs_jp (not set: ENABLE_CODECS_JP)
  --     _codecs_kr (not set: ENABLE_CODECS_KR)
  --     _codecs_tw (not set: ENABLE_CODECS_TW)
  --     crypt (not set: HAVE_LIBCRYPT)
  --     _csv (not set: ENABLE_CSV)
  --     _ctypes_test (not set: ENABLE_CTYPES_TEST)
  --     _hotshot (not set: ENABLE_HOTSHOT)
  --     _json (not set: ENABLE_JSON)
  --     mmap (not set: ENABLE_MMAP)
  --     _multibytecodec (not set: ENABLE_MULTIBYTECODEC)
  --     parser (not set: ENABLE_PARSER)
  --     _testcapi (not set: ENABLE_TESTCAPI)
  --     unicodedata (not set: ENABLE_UNICODEDATA)
  --     atexit (not set: IS_PY3)
  --     _codecs (not set: IS_PY3)
  --     faulthandler (not set: IS_PY3)
  --     _opcode (not set: IS_PY3)
  --     _operator (not set: IS_PY3)
  --     _pickle (not set: IS_PY3)
  --     _sre (not set: IS_PY3)
  --     _stat (not set: IS_PY3)
  --     _symtable (not set: IS_PY3)
  --     _testbuffer (not set: IS_PY3)
  --     _testimportmultiple (not set: IS_PY3)
  --     _testmultiphase (not set: IS_PY3)
  --     _tracemalloc (not set: IS_PY3)
  --     _weakref (not set: IS_PY3)
  --     xxlimited (not set: IS_PY3 BUILD_TESTING)
  --     xxsubtype (not set: IS_PY3)
  --     zipimport (not set: IS_PY3)
  --     fcntl (not set: UNIX)
  --     grp (not set: UNIX ENABLE_GRP)
  --     nis (not set: UNIX HAVE_LIBNSL ENABLE_NIS)
  --     posix (not set: UNIX)
  --     pwd (not set: UNIX ENABLE_PWD)
  --     resource (not set: UNIX)
  --     spwd (not set: UNIX HAVE_GETSPNAM HAVE_GETSPENT ENABLE_SPWD)
  --     syslog (not set: UNIX ENABLE_SYSLOG)
  --     termios (not set: UNIX ENABLE_TERMIOS)
  --     errno (not set: IS_PY3 UNIX)
  --     _posixsubprocess (not set: IS_PY3 UNIX)
  --     _scproxy (not set: APPLE HAVE_LIBSYSTEMCONFIGURATION)
  --     linuxaudiodev (not set: LINUX ENABLE_LINUXAUDIODEV)
  --     ossaudiodev (not set: LINUX ENABLE_OSSAUDIODEV)
  --     _overlapped (not set: IS_PY3)
  --     _winapi (not set: IS_PY3)
  --     _multiprocessing (not set: ENABLE_MULTIPROCESSING)
  --     _socket (not set: ENABLE_SOCKET)
  --     pyexpat (not set: ENABLE_PYEXPAT)
  --     _elementtree (not set: ENABLE_ELEMENTTREE)
  --     _bsddb (not set: DB_INCLUDE_PATH DB_LIBRARIES ENABLE_BSDDB)
  --     bz2 (not set: BZIP2_LIBRARIES BZIP2_INCLUDE_DIR)
  --     _curses_panel (not set: CURSES_LIBRARIES PANEL_LIBRARIES HAVE_PANEL_H OR HAVE_NCURSES_PANEL_H ENABLE_CURSES_PANEL)
  --     _curses (not set: CURSES_LIBRARIES ENABLE_CURSES)
  --     dbm (not set: NDBM_TAG GDBM_LIBRARY GDBM_COMPAT_LIBRARY ENABLE_DBM)
  --     gdbm (not set: GDBM_INCLUDE_PATH GDBM_LIBRARY GDBM_COMPAT_LIBRARY ENABLE_GDBM)
  --     _hashlib (not set: OPENSSL_INCLUDE_DIR OPENSSL_LIBRARIES ENABLE_HASHLIB)
  --     readline (not set: READLINE_INCLUDE_PATH READLINE_LIBRARY CURSES_LIBRARIES HAVE_READLINE_READLINE_H)
  --     _sqlite3 (not set: SQLITE3_INCLUDE_PATH SQLITE3_LIBRARY ENABLE_SQLITE3)
  --     _ssl (not set: OPENSSL_INCLUDE_DIR OPENSSL_LIBRARIES ENABLE_SSL)
  --     _tkinter (not set: TCL_LIBRARY TK_LIBRARY TCL_INCLUDE_PATH TK_INCLUDE_PATH ENABLE_TKINTER)
  -- 
  -- Configuring done
  CMake Error at cmake/libpython/CMakeLists.txt:475 (add_library):
    Cannot find source file:
  
      D:/devel/freeorion-sdk/build/python-prefix/src/python/PC/invalid_parameter_handler.c
  
    Tried extensions .c .C .c++ .cc .cpp .cxx .cu .m .M .mm .h .hh .h++ .hm
    .hpp .hxx .in .txx
  Call Stack (most recent call first):
    cmake/libpython/CMakeLists.txt:538 (add_libpython)
  
  
  CMake Error at cmake/libpython/CMakeLists.txt:475 (add_library):
    No SOURCES given to target: libpython-shared
  Call Stack (most recent call first):
    cmake/libpython/CMakeLists.txt:538 (add_libpython)
  
  
  -- Build files have been written to: D:/devel/freeorion-sdk/build/python-prefix/src/python-build
C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\Common7\IDE\VC\VCTargets\Microsoft.CppCommon.targets(171,5): error MSB6006: "cmd.exe" завершилась с кодом 1. [D:\devel\freeorion-sdk\build\python.vcxproj]

CMake: 3.11.1
Freeorion SDK version: f2fdcbb
Only changes is to enable 64 bit for boost:

--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -552,8 +552,12 @@ else()
     set(_VS_PLATFORM_TOOLSET_VERSION "${_VS_PLATFORM_TOOLSET_VERSION}.0")
     set(BOOST_CONFIGURE_FLAGS
         debug-store=database
-        address-model=32
     )
+       if(CMAKE_CL_64)
+               list(APPEND BOOST_CONFIGURE_FLAGS address-model=64)
+       else()
+               list(APPEND BOOST_CONFIGURE_FLAGS address-model=32)
+       endif()
     if("${_VS_PLATFORM_TOOLSET_TARGET}" STREQUAL "_xp")
         list(APPEND BOOST_CONFIGURE_FLAGS define=BOOST_USE_WINAPI_VERSION=BOOST_WINAPI_VERSION_WINXP)
     endif()

Bump Boost Version

When buliding FreeOrion in MSVC with the Boost version currently in the SDK, there are a bunch of warnings like
**include\boost\function_output_iterator.hpp(14): message : This header is deprecated. Use <boost/iterator/function_output_iterator.hpp> instead.** throughout the build log. These seem to come from within Boost code, not anything FreeOrion or the SDK are doing.

I assume that bumping the Boost version a bit would resolve this.

Symbol visibility for Boost libraries

Since the FreeOrion code is being compiled with -fvisibility=hidden for Clang:
freeorion/freeorion@d77858f

... shouldn't that also be done for the SDK?
I did a search through the CMakeLists.txt file, and didn't get a hit.
Travis builds are getting a lot of warning messages (for the regular FO build) due to the current Boost libraries and the visibility setting mismatch.

[mac-support branch] libvorbis install fails

cmake .runs successfully, but the subsequent cmake --build . --config RelWithDebInfo fails with the following error message when trying to build target libvorbis:

Install the project...
-- Install configuration: "RelWithDebInfo"
CMake Error at cmake_install.cmake:31 (file):
  file INSTALL cannot find
  "/Users/user/SoftwareProjekte/FO/sdk/build/libvorbis-prefix/src/libvorbis/vorbis.pc".


make[3]: *** [install] Error 1
make[2]: *** [libvorbis-prefix/src/libvorbis-stamp/libvorbis-install] Error 2
make[1]: *** [CMakeFiles/libvorbis.dir/all] Error 2
make: *** [all] Error 2

Windows build documentation

@geoffthemedio

In #8 we tried to convince CMake to build the SDK with various generators and toolsets. Could you please check if the configuration still works without those additional parameters (-T, -G) and we still get the desired SDK for the desired VisualStudio+toolset or if the README.md needs to be updated?

Cann't build openal from SDK on MSVS 2017

Openal don't build for Visual Studio 15 2017 Win64.

On configuration step it fails:

InitializeBuildStatus:
  Обращение к "x64\RelWithDebInfo\openal-soft\openal-soft.tlog\unsuccessfulbuild".
CustomBuild:
  Creating directories for 'openal-soft'
  Building Custom Rule D:/devel/freeorion-sdk/CMakeLists.txt
  CMake does not need to re-run because D:/devel/freeorion-sdk/build/CMakeFiles/generate.stamp is up-to-date.
  Performing download step (download, verify and extract) for 'openal-soft'
  -- verifying file...
         file='D:/devel/freeorion-sdk/build/downloads/openal-soft-1.18.2.tar.bz2'
  -- File already exists and hash match (skip download):
    file='D:/devel/freeorion-sdk/build/downloads/openal-soft-1.18.2.tar.bz2'
    MD5='d4eeb0889812e2fdeaa1843523d76190'
  -- extracting...
       src='D:/devel/freeorion-sdk/build/downloads/openal-soft-1.18.2.tar.bz2'
       dst='D:/devel/freeorion-sdk/build/openal-soft-prefix/src/openal-soft'
  -- extracting... [tar xfz]
  -- extracting... [analysis]
  -- extracting... [rename]
  -- extracting... [clean up]
  -- extracting... done
  No update step for 'openal-soft'
  Performing patch step for 'openal-soft'
  patching file CMakeLists.txt
  patching file CMakeLists.txt
  Performing configure step for 'openal-soft'
  -- The C compiler identification is MSVC 19.13.26132.0
  -- The CXX compiler identification is MSVC 19.13.26132.0
  -- Check for working C compiler: C:/Program Files (x86)/Microsoft Visual Studio/2017/Community/VC/Tools/MSVC/14.13.26128/bin/Hostx86/x64/cl.exe
  -- Check for working C compiler: C:/Program Files (x86)/Microsoft Visual Studio/2017/Community/VC/Tools/MSVC/14.13.26128/bin/Hostx86/x64/cl.exe -- works
  -- Detecting C compiler ABI info
  -- Detecting C compiler ABI info - done
  -- Check for working CXX compiler: C:/Program Files (x86)/Microsoft Visual Studio/2017/Community/VC/Tools/MSVC/14.13.26128/bin/Hostx86/x64/cl.exe
  -- Check for working CXX compiler: C:/Program Files (x86)/Microsoft Visual Studio/2017/Community/VC/Tools/MSVC/14.13.26128/bin/Hostx86/x64/cl.exe -- works
  -- Detecting CXX compiler ABI info
  -- Detecting CXX compiler ABI info - done
  -- Detecting CXX compile features
  -- Detecting CXX compile features - done
  -- Looking for sys/types.h
  -- Looking for sys/types.h - found
  -- Looking for stdint.h
  -- Looking for stdint.h - found
  -- Looking for stddef.h
  -- Looking for stddef.h - found
  -- Check size of long
  -- Check size of long - done
  -- Check size of long long
  -- Check size of long long - done
  -- Performing Test HAVE_STD_C11
  -- Performing Test HAVE_STD_C11 - Failed
  -- Performing Test HAVE_STD_C99
  -- Performing Test HAVE_STD_C99 - Failed
  -- Performing Test HAVE_STD_CXX11
  -- Performing Test HAVE_STD_CXX11 - Success
  -- Checking _FILE_OFFSET_BITS for large files
  -- Checking _FILE_OFFSET_BITS for large files - not needed
  -- Performing Test HAVE_RESTRICT
  -- Performing Test HAVE_RESTRICT - Failed
  -- Performing Test HAVE_INLINE
  -- Performing Test HAVE_INLINE - Success
  -- Performing Test HAVE_STRUCT_TIMESPEC
  -- Performing Test HAVE_STRUCT_TIMESPEC - Success
  -- Performing Test HAVE_LIBATOMIC
  -- Performing Test HAVE_LIBATOMIC - Failed
  -- Looking for __android_log_print in log
  -- Looking for __android_log_print in log - not found
  -- Performing Test HAVE_C99_VLA
  -- Performing Test HAVE_C99_VLA - Failed
  -- Performing Test HAVE_C99_BOOL
  -- Performing Test HAVE_C99_BOOL - Success
  -- Performing Test HAVE_C11_STATIC_ASSERT
  -- Performing Test HAVE_C11_STATIC_ASSERT - Failed
  -- Performing Test HAVE_C11_ALIGNAS
  -- Performing Test HAVE_C11_ALIGNAS - Failed
  -- Performing Test HAVE_C11_ATOMIC
  -- Performing Test HAVE_C11_ATOMIC - Failed
  -- Performing Test HAVE___BUILTIN_ASSUME_ALIGNED
  -- Performing Test HAVE___BUILTIN_ASSUME_ALIGNED - Failed
  -- Performing Test HAVE_MSSE_SWITCH
  -- Performing Test HAVE_MSSE_SWITCH - Failed
  -- Performing Test HAVE_MSSE2_SWITCH
  -- Performing Test HAVE_MSSE2_SWITCH - Failed
  -- Performing Test HAVE_MSSE3_SWITCH
  -- Performing Test HAVE_MSSE3_SWITCH - Failed
  -- Performing Test HAVE_MSSE4_1_SWITCH
  -- Performing Test HAVE_MSSE4_1_SWITCH - Failed
  -- Performing Test HAVE_MFPU_NEON_SWITCH
  -- Performing Test HAVE_MFPU_NEON_SWITCH - Failed
  -- Performing Test HAVE_GCC_FORMAT
  -- Performing Test HAVE_GCC_FORMAT - Failed
  -- Looking for stdbool.h
  -- Looking for stdbool.h - found
  -- Looking for stdalign.h
  -- Looking for stdalign.h - not found
  -- Looking for malloc.h
  -- Looking for malloc.h - found
  -- Looking for dirent.h
  -- Looking for dirent.h - not found
  -- Looking for strings.h
  -- Looking for strings.h - not found
  -- Looking for cpuid.h
  -- Looking for cpuid.h - not found
  -- Looking for intrin.h
  -- Looking for intrin.h - found
  -- Looking for sys/sysconf.h
  -- Looking for sys/sysconf.h - not found
  -- Looking for fenv.h
  -- Looking for fenv.h - found
  -- Looking for float.h
  -- Looking for float.h - found
  -- Looking for ieeefp.h
  -- Looking for ieeefp.h - not found
  -- Looking for guiddef.h
  -- Looking for guiddef.h - found
  -- Looking for pow in m
  -- Looking for pow in m - not found
  -- Looking for dlopen in dl
  -- Looking for dlopen in dl - not found
  -- Looking for dlfcn.h
  -- Looking for dlfcn.h - not found
  -- Performing Test HAVE_CPUID_INTRINSIC
  -- Performing Test HAVE_CPUID_INTRINSIC - Success
  -- Looking for aligned_alloc
  -- Looking for aligned_alloc - not found
  -- Looking for posix_memalign
  -- Looking for posix_memalign - not found
  -- Looking for _aligned_malloc
  -- Looking for _aligned_malloc - found
  -- Looking for lrintf
  -- Looking for lrintf - found
  -- Looking for modff
  -- Looking for modff - found
  -- Looking for log2f
  -- Looking for log2f - found
  -- Looking for alloca
  -- Looking for alloca - found
  -- Looking for _controlfp
  -- Looking for _controlfp - found
  -- Looking for __control87_2
  -- Looking for __control87_2 - not found
  -- Looking for stat
  -- Looking for stat - found
  -- Looking for strtof
  -- Looking for strtof - found
  -- Looking for strcasecmp
  -- Looking for strcasecmp - not found
  -- Looking for _stricmp
  -- Looking for _stricmp - found
  -- Looking for strncasecmp
  -- Looking for strncasecmp - not found
  -- Looking for _strnicmp
  -- Looking for _strnicmp - found
  -- Looking for strnlen
  -- Looking for strnlen - found
  -- Looking for snprintf
  -- Looking for snprintf - found
  -- Looking for isfinite
  -- Looking for isfinite - found
  -- Looking for isnan
  -- Looking for isnan - found
  -- Looking for windows.h
  -- Looking for windows.h - found
  -- Looking for xmmintrin.h
  -- Looking for xmmintrin.h - found
  -- Looking for emmintrin.h
  -- Looking for emmintrin.h - found
  -- Looking for pmmintrin.h
  -- Looking for pmmintrin.h - found
  -- Looking for smmintrin.h
  -- Looking for smmintrin.h - found
  -- Looking for arm_neon.h
  -- Looking for arm_neon.h - not found
  -- Could NOT find ALSA (missing: ALSA_LIBRARY ALSA_INCLUDE_DIR) 
  -- Could NOT find OSS (missing: OSS_INCLUDE_DIR) 
  -- Could NOT find AudioIO (missing: AUDIOIO_INCLUDE_DIR) 
  -- Could NOT find SoundIO (missing: SOUNDIO_LIBRARY SOUNDIO_INCLUDE_DIR) 
  -- Could NOT find QSA (missing: QSA_LIBRARY QSA_INCLUDE_DIR) 
  CMake Error at C:/Program Files/CMake/share/cmake-3.11/Modules/CheckIncludeFiles.cmake:61 (message):
    Unknown arguments:
  
      -D_WIN32_WINNT=0x0502
  
  Call Stack (most recent call first):
    CMakeLists.txt:968 (CHECK_INCLUDE_FILES)
  
  
  -- Configuring incomplete, errors occurred!
  See also "D:/devel/freeorion-sdk/build/openal-soft-prefix/src/openal-soft-build/CMakeFiles/CMakeOutput.log".
  See also "D:/devel/freeorion-sdk/build/openal-soft-prefix/src/openal-soft-build/CMakeFiles/CMakeError.log".
C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\Common7\IDE\VC\VCTargets\Microsoft.CppCommon.targets(171,5): error MSB6006: "cmd.exe" завершилась с кодом 1. [D:\devel\freeorion-sdk\build\openal-soft.vcxproj]

CMake: 3.11.1
Freeorion SDK version: f2fdcbb

Mac OSX SDK: wrong library id names and paths in mach headers of shared libraries

Stumbled upon another issue with the shared libraries the cmake scripts produce. Noticed that in the Ogg and Vorbis binaries of the Ogg and Vorbis frameworks. The library paths as returned by the otool command are as follows:

user$ otool -L Ogg
Ogg:
    Ogg.framework/Versions/1.3.2/Ogg (compatibility version 0.8.2, current version 0.0.0)
    /usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 1213.0.0)
user$ otool -L Vorbis
Vorbis:
    Vorbis.framework/Versions/1.3.5/Vorbis (compatibility version 0.0.0, current version 0.0.0)
    Ogg.framework/Versions/1.3.2/Ogg (compatibility version 0.8.2, current version 0.0.0)
    /usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 1213.0.0)

When built and linked with the libraries containing these paths in their mach headers, the FO app immediately quits when launched, with the dynamic linker giving an error that it can't find the binary images.

What the paths (and id names) need to be is:

user$ otool -L Ogg
Ogg:
    @executable_path/../Frameworks/Ogg.framework/Versions/1.3.2/Ogg (compatibility version 0.8.2, current version 0.0.0)
    /usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 1213.0.0)
user$ otool -L Vorbis
Vorbis:
    @executable_path/../Frameworks/vorbis.framework/Versions/1.3.5/Vorbis (compatibility version 0.0.0, current version 0.0.0)
    @executable_path/../Frameworks/Ogg.framework/Versions/1.3.2/Ogg (compatibility version 0.8.2, current version 0.0.0)
    /usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 1213.0.0)

Of course that applies to all the dynamic libraries generated by the cmake scripts too (Python etc.).

Boost Version in README.txt

README.txt in the SDK says

Boost 1.58          - http://www.boost.org/users/history/version_1_58_0.html

But the version of Boost the SDK downloads is 1.59

Specifying MSVC Toolset v141 Produces v140 SDK

I've installed MSVC 2017 and CMake 3.9.3. I then used the provided instructions to produce the SDK, additionally specifying that MSVC 2017 and toolset v141 should be used. This runs, and generates a .zip as expected.

However it appears to have still used the v140 (MSVC 2015) toolset. This can be seen from filenames and looking into binary dependencies; all the boost libraries and DLLs have vc140-mt-1_59 in their filenames, and matching dependencies in Dependency Walker. python27.dll and libpng16.dll depend on VCRUNTIME140.DLL in Dependency Walker.

Output from generating the SDK:

build_CMake_step_1.txt
build_CMake_step_2.txt

Windows - CMake output has -prefex on dir names

As in the attached, the output of the generate step with the CMake GUI has -prefix on the dependency directory names.

The SDK build in MSVC 2015 from the solution still starts up and finishes at least a few projects, so it might not be an practical problem.

sdk_configure_output-prefix

MSVC2017 - Building boost fails

Environment

OS: Win10
Compiler: MSVC2017

Problem description:

When building the SDK as per instructions, the boost project will fail to build with MSVC2017 because it looks for clang (and fails to find which is expected). The same problem has previously been reported in the forum.

Relevant log:

CUSTOMBUILD : warning : toolset clang-linux initialization: can not find tool clang++ [D:\FOTestBuild\freeorion-sdk\build\boost.vcxproj]
CUSTOMBUILD : warning : initialized from D:\FOTestBuild\freeorion-sdk\build\boost-config.jam:20 [D:\FOTestBuild\freeorion-sdk\build\boost.vcxproj]
  '"clang++"' is not recognized as an internal or external command,
  operable program or batch file.
  notice: will use 'clang++' for clang-linux, condition <toolset>clang-linux

As a workaround, I deleted the following lines
https://github.com/freeorion/freeorion-sdk/blob/master/boost-config.jam.in#L15-L20
which allowed me to build the SDK just fine.

Steps to reproduce:

git clone https://github.com/freeorion/freeorion-sdk
cd freeorion-sdk
mkdir build && cd build
cmake ..
cmake --build . --config RelWithDebInfo

Expected result:

Do not try to use clang under windows

MSVC 2015 FreeOrion build fails

Just generated the SDK (with the MSVC 2015 compiler), unpacked it, and ran the bootstrap to get the freeorion code, then loaded the MSVC 2013 project files in MSVC 2015). I then tried to build freeorion. Most of it compiles, but I'm getting some errors, mostly in boost serialization stuff...

Severity	Code	Description	Project	File	Line	Suppression State
Error	C2996	'Deserialize': recursive function template definition	FreeOrionD	C:\Users\Geoff\Desktop\FreeOrionSDK_MSVC-_2016-11-01\FreeOrion\server\SaveLoad.cpp	485	
Error	C2996	'CombatEvent::serialize': recursive function template definition	Common	C:\Users\Geoff\Desktop\FreeOrionSDK_MSVC-_2016-11-01\FreeOrion\combat\CombatEvents.cpp	1056	
Error	C2996	'CombatEvent::serialize': recursive function template definition	Common	C:\Users\Geoff\Desktop\FreeOrionSDK_MSVC-_2016-11-01\FreeOrion\combat\CombatEvents.cpp	1056	
Error	C2064	term does not evaluate to a function taking 0 arguments (compiling source file ..\..\network\ServerNetworking.cpp)	FreeOrionD	C:\Users\Geoff\Desktop\FreeOrionSDK_MSVC-_2016-11-01\Boost\include\boost\function\function_template.hpp	159	
Error	C2064	term does not evaluate to a function taking 0 arguments (compiling source file ..\..\network\ServerNetworking.cpp)	FreeOrionD	C:\Users\Geoff\Desktop\FreeOrionSDK_MSVC-_2016-11-01\Boost\include\boost\function\function_template.hpp	159	
Error	C2996	'Serialize': recursive function template definition	FreeOrionD	C:\Users\Geoff\Desktop\FreeOrionSDK_MSVC-_2016-11-01\FreeOrion\server\SaveLoad.cpp	485	
Error	C2996	'Serialize': recursive function template definition	FreeOrionD	C:\Users\Geoff\Desktop\FreeOrionSDK_MSVC-_2016-11-01\FreeOrion\server\SaveLoad.cpp	485	
Error	C2996	'Deserialize': recursive function template definition	FreeOrionD	C:\Users\Geoff\Desktop\FreeOrionSDK_MSVC-_2016-11-01\FreeOrion\server\SaveLoad.cpp	485	

Not sure if you want such errors here in the SDK, but I wondering if using a newer version of boost (currently it downloads 1.59) might help...

There are also some possibly relevant warnings...

1>C:\Users\Geoff\Desktop\FreeOrionSDK_MSVC-_2016-11-01\Boost\include\boost/asio/detail/config.hpp(227): warning C4005: 'BOOST_ASIO_ERROR_CATEGORY_NOEXCEPT': macro redefinition
1>         C:\Users\Geoff\Desktop\FreeOrionSDK_MSVC-_2016-11-01\Boost\include\boost/asio/detail/config.hpp(213): note: see previous definition of 'BOOST_ASIO_ERROR_CATEGORY_NOEXCEPT'
1>     1>
3>C:\Users\Geoff\Desktop\FreeOrionSDK_MSVC-_2016-11-01\Boost\include\boost/asio/detail/config.hpp(227): warning C4005: 'BOOST_ASIO_ERROR_CATEGORY_NOEXCEPT': macro redefinition (compiling source file ..\..\network\ServerNetworking.cpp)
3>         C:\Users\Geoff\Desktop\FreeOrionSDK_MSVC-_2016-11-01\Boost\include\boost/asio/detail/config.hpp(213): note: see previous definition of 'BOOST_ASIO_ERROR_CATEGORY_NOEXCEPT' (compiling source file ..\..\network\ServerNetworking.cpp)
3>     1>
3>C:\Users\Geoff\Desktop\FreeOrionSDK_MSVC-_2016-11-01\Boost\include\boost/asio/detail/config.hpp(227): warning C4005: 'BOOST_ASIO_ERROR_CATEGORY_NOEXCEPT': macro redefinition (compiling source file ..\..\server\SaveLoad.cpp)
3>         C:\Users\Geoff\Desktop\FreeOrionSDK_MSVC-_2016-11-01\Boost\include\boost/asio/detail/config.hpp(213): note: see previous definition of 'BOOST_ASIO_ERROR_CATEGORY_NOEXCEPT' (compiling source file ..\..\server\SaveLoad.cpp)
3>     1>

Which appear to be fixed in 1.60: boostorg/asio@b9cb614
boostorg/asio#22

Patching Boost 1.73 Fails

I wanted to be able to build against Boost 1.73 to try to fix some reported FreeOrion build errors, so I edited Sources.cmake to build Boost 1.73 (with the MD5 from the SourceForge download link):

set(BOOST_VERSION 1.73.0)
string(REPLACE "." "_" BOOST_VERSION_ ${BOOST_VERSION})
set(BOOST_URL http://downloads.sourceforge.net/project/boost/boost/${BOOST_VERSION}/boost_${BOOST_VERSION_}.tar.gz)
set(BOOST_MD5 4036cd27ef7548b8d29c30ea10956196)

When I try to build the SDK, I get an error

patching file boost/gil/channel_algorithm.hpp
  Hunk #1 FAILED at 51.

More of the log for context:

Done Building Project "C:\Users\Geoff\Desktop\freeorion-sdk-boost173\build\python3.vcxproj" (default targets).
PrepareForBuild:
  Creating directory "Win32\RelWithDebInfo\boost\".
  Creating directory "Win32\RelWithDebInfo\boost\boost.tlog\".
InitializeBuildStatus:
  Creating "Win32\RelWithDebInfo\boost\boost.tlog\unsuccessfulbuild" because "AlwaysCreate" was specified.
ComputeCustomBuildOutput:
  Creating directory "C:\Users\Geoff\Desktop\freeorion-sdk-boost173\build\boost-prefix\src\boost-stamp\RelWithDebInfo\".
CustomBuild:
  Creating directories for 'boost'
  Performing download step (download, verify and extract) for 'boost'
  -- Downloading...
     dst='C:/Users/Geoff/Desktop/freeorion-sdk-boost173/build/downloads/boost_1_73_0.tar.gz'
     timeout='none'
  -- Using src='http://downloads.sourceforge.net/project/boost/boost/1.73.0/boost_1_73_0.tar.gz'
  -- [download 100% complete]
  -- [download 0% complete]
  -- [download 1% complete]
  -- [download 2% complete]
 [...]
  -- [download 100% complete]
  -- verifying file...
         file='C:/Users/Geoff/Desktop/freeorion-sdk-boost173/build/downloads/boost_1_73_0.tar.gz'
  -- Downloading... done
  -- extracting...
       src='C:/Users/Geoff/Desktop/freeorion-sdk-boost173/build/downloads/boost_1_73_0.tar.gz'
       dst='C:/Users/Geoff/Desktop/freeorion-sdk-boost173/build/boost-prefix/src/boost'
  -- extracting... [tar xfz]
  -- extracting... [analysis]
  -- extracting... [rename]
  -- extracting... [clean up]
  -- extracting... done
  No update step for 'boost'
  Performing patch step for 'boost'
  patching file boost/log/detail/setup_config.hpp
  patching file tools/build/src/tools/package.jam
  Hunk #1 succeeded at 234 (offset 135 lines).
  patching file tools/build/src/tools/darwin.jam
  Hunk #2 succeeded at 201 (offset -3 lines).
  patching file boost/gil/channel_algorithm.hpp
  Hunk #1 FAILED at 51.
  1 out of 1 hunk FAILED -- saving rejects to file boost/gil/channel_algorithm.hpp.rej
C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\Common7\IDE\VC\VCTargets\Microsoft.CppCommon.targets(209,5): error MSB6006: "cmd.exe" exited with code 1. [C:\Users\Geoff\Desktop\freeorion-sdk-boost173\build\boost.vcxproj]
Done Building Project "C:\Users\Geoff\Desktop\freeorion-sdk-boost173\build\boost.vcxproj" (default targets) -- FAILED.

On Windows: Cannot build FreeOrion master with SDK based on latest master of SDK repo

Built a SDK package based on 2758d37 and tried to build FO master with it. The build failed, build log:

1>------ Rebuild All started: Project: GiGi, Configuration: Release-XP Win32 ------
2>------ Rebuild All started: Project: Parsers, Configuration: Release-XP Win32 ------
2>StdAfx.cpp
1>StdAfx.cpp
1>AlignmentFlags.cpp
1>Base.cpp
1>BrowseInfoWnd.cpp
1>Button.cpp
1>Control.cpp
1>Cursor.cpp
1>DeferredLayout.cpp
1>ColorDlg.cpp
1>FileDlg.cpp
1>ThreeButtonDlg.cpp
1>DrawUtil.cpp
1>DropDownList.cpp
1>DynamicGraphic.cpp
1>Edit.cpp
1>EventPump.cpp
1>Font.cpp
1>GLClientAndServerBuffer.cpp
1>GroupBox.cpp
1>GUI.cpp
1>Layout.cpp
1>ListBox.cpp
1>Menu.cpp
1>c:\users\user\softwareprojekte\fo\test\freeorion\gg\src\gilext/io/png_io.hpp(37): fatal error C1083: Cannot open include file: 'boost/gil/gil_config.hpp': No such file or directory (compiling source file ..\..\GG\src\GUI.cpp)
1>MultiEdit.cpp
1>nanovg.c
1>c:\users\user\softwareprojekte\fo\test\freeorion\gg\src\nanovg\stb_image.h(1358): warning C4068: unknown pragma (compiling source file ..\..\GG\src\nanovg\nanovg.c)
1>c:\users\user\softwareprojekte\fo\test\freeorion\gg\src\nanovg\stb_image.h(1359): warning C4068: unknown pragma (compiling source file ..\..\GG\src\nanovg\nanovg.c)
1>c:\users\user\softwareprojekte\fo\test\freeorion\gg\src\nanovg\stb_image.h(1382): warning C4068: unknown pragma (compiling source file ..\..\GG\src\nanovg\nanovg.c)
1>c:\users\user\softwareprojekte\fo\test\freeorion\gg\src\nanovg\stb_image.h(4049): warning C4068: unknown pragma (compiling source file ..\..\GG\src\nanovg\nanovg.c)
1>c:\users\user\softwareprojekte\fo\test\freeorion\gg\src\nanovg\stb_image.h(4050): warning C4068: unknown pragma (compiling source file ..\..\GG\src\nanovg\nanovg.c)
1>c:\users\user\softwareprojekte\fo\test\freeorion\gg\src\nanovg\stb_image.h(4088): warning C4068: unknown pragma (compiling source file ..\..\GG\src\nanovg\nanovg.c)
1>PtRect.cpp
1>BlockControl.cpp
1>ImageBlock.cpp
1>RichText.cpp
1>TagParser.cpp
1>TextBlock.cpp
1>Scroll.cpp
1>ScrollPanel.cpp
1>StaticGraphic.cpp
1>StyleFactory.cpp
1>svg.cpp
1>TabWnd.cpp
1>TextControl.cpp
2>ArithmeticRules.cpp
1>Texture.cpp
2>BuildingsParser.cpp
1>Timer.cpp
1>UnicodeCharsets.cpp
1>VectorTexture.cpp
1>c:\users\user\softwareprojekte\fo\test\freeorion\gg\src\gilext/io/png_dynamic_io.hpp(36): fatal error C1083: Cannot open include file: 'boost/gil/extension/io/io_error.hpp': No such file or directory (compiling source file ..\..\GG\src\Texture.cpp)
1>Wnd.cpp
1>WndEvent.cpp
1>ZList.cpp
1>Done building project "GiGi.vcxproj" -- FAILED.
3>------ Rebuild All started: Project: GiGiSDL, Configuration: Release-XP Win32 ------
3>SDLGUI.cpp
3>LINK : fatal error LNK1181: cannot open input file 'GiGi.lib'
3>Done building project "GiGiSDL.vcxproj" -- FAILED.
2>ConditionParser.cpp
2>ConditionParser1.cpp
2>ConditionParser2.cpp
2>ConditionParser3.cpp
2>ConditionParser4.cpp
2>ConditionParser5.cpp
2>ConditionParser6.cpp
2>ConditionParser7.cpp
2>DoubleComplexValueRefParser.cpp
2>DoubleValueRefParser.cpp
2>EffectParser.cpp
2>EffectParser1.cpp
2>EffectParser2.cpp
2>EffectParser3.cpp
2>EffectParser4.cpp
2>EffectParser5.cpp
2>EmpireStatsParser.cpp
2>EncyclopediaParser.cpp
2>EnumParser.cpp
2>FieldsParser.cpp
2>FleetPlansParser.cpp
2>GameRulesParser.cpp
2>IntComplexValueRefParser.cpp
2>IntValueRefParser.cpp
2>ItemsParser.cpp
2>KeymapParser.cpp
2>Lexer.cpp
2>MonsterFleetPlansParser.cpp
2>Parse.cpp
2>PlanetEnvironmentValueRefParser.cpp
2>PlanetSizeValueRefParser.cpp
2>PlanetTypeValueRefParser.cpp
2>ReportParseError.cpp
2>ShipDesignsParser.cpp
2>SpecialsParser.cpp
2>SpeciesParser.cpp
2>StarTypeValueRefParser.cpp
2>StringComplexValueRefParser.cpp
2>StringValueRefParser.cpp
2>TechsParser.cpp
2>UniverseObjectTypeValueRefParser.cpp
2>ValueRefParser.cpp
2>VisibilityValueRefParser.cpp
2>CommonParamsParser.cpp
2>ShipHullsParser.cpp
2>ShipPartsParser.cpp
2>Parsers.vcxproj -> C:\Users\User\SoftwareProjekte\FO\test\FreeOrion\msvc2017\Parsers\../../Parsers.lib
4>------ Rebuild All started: Project: Common, Configuration: Release-XP Win32 ------
4>Configuring Version.cpp
4>Der Befehl ""C:\Users\User\SoftwareProjekte\FO\test\FreeOrion\msvc2017\..\python.exe"" ist entweder falsch geschrieben oder
4>konnte nicht gefunden werden.
4>C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V140\Microsoft.CppCommon.targets(171,5): error MSB6006: "cmd.exe" exited with code 9009.
4>Done building project "Common.vcxproj" -- FAILED.
5>------ Rebuild All started: Project: FreeOrion, Configuration: Release-XP Win32 ------
6>------ Rebuild All started: Project: FreeOrionD, Configuration: Release-XP Win32 ------
7>------ Rebuild All started: Project: FreeOrionCA, Configuration: Release-XP Win32 ------
6>StdAfx.cpp
5>StdAfx.cpp
7>StdAfx.cpp
5>ClientApp.cpp
5>ClientFSMEvents.cpp
5>ClientNetworking.cpp
5>chmain.cpp
5>HumanClientApp.cpp
5>HumanClientFSM.cpp
5>About.cpp
5>AccordionPanel.cpp
5>BuildDesignatorWnd.cpp
5>BuildingsPanel.cpp
5>CensusBrowseWnd.cpp
5>ChatWnd.cpp
5>ClientUI.cpp
5>CombatLogWnd.cpp
5>CombatReportData.cpp
5>CombatReportWnd.cpp
5>GraphicalSummary.cpp
7>AIClientApp.cpp
7>AIFramework.cpp
7>AIWrapper.cpp
7>camain.cpp
7>ClientApp.cpp
7>ClientFSMEvents.cpp
7>ClientNetworking.cpp
7>CommonFramework.cpp
7>ConfigWrapper.cpp
7>EmpireWrapper.cpp
7>EnumWrapper.cpp
7>LoggingWrapper.cpp
7>UniverseWrapper.cpp
7>DependencyVersions.cpp
6>CombatSystem.cpp
6>CommonFramework.cpp
6>ConfigWrapper.cpp
6>EmpireWrapper.cpp
6>EnumWrapper.cpp
6>LoggingWrapper.cpp
6>UniverseWrapper.cpp
6>dmain.cpp
6>SaveLoad.cpp
6>ServerApp.cpp
6>ServerFramework.cpp
6>ServerFSM.cpp
6>ServerNetworking.cpp
6>ServerWrapper.cpp
6>UniverseGenerator.cpp
6>Process.cpp
6>DependencyVersions.cpp
6>C:\Users\User\SoftwareProjekte\FO\test\include\boost/uuid/detail/random_provider_wincrypt.ipp(30): warning C4005: 'BOOST_AUTO_LINK_NOMANGLE': macro redefinition (compiling source file ..\..\server\ServerNetworking.cpp)
6>C:\Users\User\SoftwareProjekte\FO\test\include\boost/uuid/detail/random_provider_wincrypt.ipp(30): note: command-line arguments:  see previous definition of 'BOOST_AUTO_LINK_NOMANGLE' (compiling source file ..\..\server\ServerNetworking.cpp)
7>C:\Users\User\SoftwareProjekte\FO\test\include\boost/uuid/detail/random_provider_wincrypt.ipp(30): warning C4005: 'BOOST_AUTO_LINK_NOMANGLE': macro redefinition (compiling source file ..\..\client\AI\AIWrapper.cpp)
7>C:\Users\User\SoftwareProjekte\FO\test\include\boost/uuid/detail/random_provider_wincrypt.ipp(30): note: command-line arguments:  see previous definition of 'BOOST_AUTO_LINK_NOMANGLE' (compiling source file ..\..\client\AI\AIWrapper.cpp)
5>CUIControls.cpp
6>C:\Users\User\SoftwareProjekte\FO\test\include\boost/uuid/detail/random_provider_wincrypt.ipp(30): warning C4005: 'BOOST_AUTO_LINK_NOMANGLE': macro redefinition (compiling source file ..\..\server\ServerApp.cpp)
6>C:\Users\User\SoftwareProjekte\FO\test\include\boost/uuid/detail/random_provider_wincrypt.ipp(30): note: command-line arguments:  see previous definition of 'BOOST_AUTO_LINK_NOMANGLE' (compiling source file ..\..\server\ServerApp.cpp)
5>CUIDrawUtil.cpp
5>CUILinkTextBlock.cpp
5>CUIStyle.cpp
5>CUIWnd.cpp
5>DesignWnd.cpp
5>EncyclopediaDetailPanel.cpp
5>FieldIcon.cpp
5>C:\Users\User\SoftwareProjekte\FO\test\include\boost/uuid/detail/random_provider_wincrypt.ipp(30): warning C4005: 'BOOST_AUTO_LINK_NOMANGLE': macro redefinition (compiling source file ..\..\UI\DesignWnd.cpp)
5>C:\Users\User\SoftwareProjekte\FO\test\include\boost/uuid/detail/random_provider_wincrypt.ipp(30): note: command-line arguments:  see previous definition of 'BOOST_AUTO_LINK_NOMANGLE' (compiling source file ..\..\UI\DesignWnd.cpp)
5>FleetButton.cpp
5>FleetWnd.cpp
5>GalaxySetupWnd.cpp
5>GraphControl.cpp
5>Hotkeys.cpp
5>IconTextBrowseWnd.cpp
5>InGameMenu.cpp
5>IntroScreen.cpp
5>LinkText.cpp
5>MapWnd.cpp
5>MeterBrowseWnd.cpp
5>MilitaryPanel.cpp
5>ModeratorActionsWnd.cpp
5>MultiIconValueIndicator.cpp
7>LINK : fatal error LNK1181: cannot open input file 'Common.lib'
7>Done building project "FreeOrionCA.vcxproj" -- FAILED.
5>MultiMeterStatusBar.cpp
6>LINK : fatal error LNK1181: cannot open input file 'Common.lib'
6>Done building project "FreeOrionD.vcxproj" -- FAILED.
5>MultiplayerLobbyWnd.cpp
5>ObjectListWnd.cpp
5>OptionsWnd.cpp
5>PasswordEnterWnd.cpp
5>PlayerListWnd.cpp
5>PopulationPanel.cpp
5>ProductionWnd.cpp
5>QueueListBox.cpp
5>ResearchWnd.cpp
5>ResourceBrowseWnd.cpp
5>ResourcePanel.cpp
5>SaveFileDialog.cpp
5>ServerConnectWnd.cpp
5>ShaderProgram.cpp
5>SidePanel.cpp
5>SitRepPanel.cpp
5>Sound.cpp
5>SpecialsPanel.cpp
5>SystemIcon.cpp
5>SystemResourceSummaryBrowseWnd.cpp
5>TechTreeArcs.cpp
5>TechTreeLayout.cpp
5>TechTreeWnd.cpp
5>TextBrowseWnd.cpp
5>Process.cpp
5>DependencyVersions.cpp
5>LINK : fatal error LNK1181: cannot open input file 'Common.lib'
5>Done building project "FreeOrion.vcxproj" -- FAILED.
========== Rebuild All: 1 succeeded, 6 failed, 0 skipped ==========

As far as I can see, there are multiple issues:

  • Missing boost/gil/gil_config.hpp
  • Missing boost/gil/extension/io/io_error.hpp
  • Missing python.exe in the project root (required for generating version.cpp)

[mac-support branch] Building boost fails

Error message:

[ 77%] Performing build step for 'boost'
/Users/user/SoftwareProjekte/FO/sdk/build/boost-prefix/src/boost/tools/build/src/build/feature.jam:326: in validate-feature from module feature
error: unknown feature "<debug-store>"
/Users/user/SoftwareProjekte/FO/sdk/build/boost-prefix/src/boost/tools/build/src/build/feature.jam:360: in expand-subfeatures-aux from module feature
/Users/user/SoftwareProjekte/FO/sdk/build/boost-prefix/src/boost/tools/build/src/build/feature.jam:425: in feature.expand-subfeatures from module feature
/Users/user/SoftwareProjekte/FO/sdk/build/boost-prefix/src/boost/tools/build/src/build/build-request.jam:20: in apply-to-property-set from module build-request
(builtin):-1: in sequence.transform from module sequence
/Users/user/SoftwareProjekte/FO/sdk/build/boost-prefix/src/boost/tools/build/src/build/build-request.jam:32: in build-request.expand-no-defaults from module build-request
/Users/user/SoftwareProjekte/FO/sdk/build/boost-prefix/src/boost/tools/build/src/build-system.jam:594: in load from module build-system
/Users/user/SoftwareProjekte/FO/sdk/build/boost-prefix/src/boost/tools/build/src/kernel/modules.jam:295: in import from module modules
/Users/user/SoftwareProjekte/FO/sdk/build/boost-prefix/src/boost/tools/build/src/kernel/bootstrap.jam:139: in boost-build from module
/Users/user/SoftwareProjekte/FO/sdk/build/boost-prefix/src/boost/boost-build.jam:17: in module scope from module

make[2]: *** [boost-prefix/src/boost-stamp/boost-build] Error 1
make[1]: *** [CMakeFiles/boost.dir/all] Error 2
make: *** [all] Error 2

Switch Boost library version?

The FO-SDK currently uses Boost v1.59.

I noticed a recent FO PR freeorion/freeorion#1775
... where it sounds like Fedora users might want Boost v1.63 or higher to resolve certain ptr problems.

Question: Would it be beneficial to switch Boost versions (1.59 to 1.63) for everyone?
I don't know what safeguards are in place.
Or maybe this kind of action is strictly forbidden (except to select experts).

I might be interested in this switch for the Mac. There is a request (in PR #29) to have B2 handle renaming shared library path names. This was broken for 1.59, but I found a discussion thread where someone claimed it was fixed by 1.63. I'd be willing to check this, but I want to know before putting in the work if this is a viable solution or not.

(Also, I don't have a Windows system, so someone else would have to test for side effects. I wouldn't want to make life difficult for the Windows users, if switching Boost versions would cause a headache.)

Mac OSX SDK: Compile and link errors

Using the dep folder produced with bd3379c I encountered the following issues:

  1. A compile error that ft2build.h can't be found, which can be solved by adding dep/include/freetype to the header search paths of the Xcode project.
  2. With the previous issue fixed, I still get these link errors when trying to build the FreeOrionServer target:
Undefined symbols for architecture i386:
  "boost::archive::basic_text_oprimitive<std::ostream>::~basic_text_oprimitive()", referenced from:
      boost::archive::xml_oarchive_impl<boost::archive::xml_oarchive>::~xml_oarchive_impl() in SaveLoad.o
  "boost::archive::basic_binary_iprimitive<boost::archive::binary_iarchive, char, std::char_traits<char> >::init()", referenced from:
      boost::archive::binary_iarchive_impl<boost::archive::binary_iarchive, char, std::char_traits<char> >::init(unsigned int) in SaveLoad.o
  "boost::archive::basic_binary_iprimitive<boost::archive::binary_iarchive, char, std::char_traits<char> >::load(std::string&)", referenced from:
      void PlayerSaveGameData::serialize<boost::archive::binary_iarchive>(boost::archive::binary_iarchive&, unsigned int) in SaveLoad.o
      void PlayerSaveHeaderData::serialize<boost::archive::binary_iarchive>(boost::archive::binary_iarchive&, unsigned int) in SaveLoad.o
  "boost::archive::basic_binary_iprimitive<boost::archive::binary_iarchive, char, std::char_traits<char> >::basic_binary_iprimitive(std::basic_streambuf<char, std::char_traits<char> >&, bool)", referenced from:
      boost::archive::binary_iarchive_impl<boost::archive::binary_iarchive, char, std::char_traits<char> >::binary_iarchive_impl(std::istream&, unsigned int) in SaveLoad.o
  "boost::archive::basic_binary_iprimitive<boost::archive::binary_iarchive, char, std::char_traits<char> >::~basic_binary_iprimitive()", referenced from:
      LoadGame(std::string const&, ServerSaveGameData&, std::vector<PlayerSaveGameData, std::allocator<PlayerSaveGameData> >&, Universe&, EmpireManager&, SpeciesManager&, CombatLogManager&, GalaxySetupData&) in SaveLoad.o
      LoadGalaxySetupData(std::string const&, GalaxySetupData&) in SaveLoad.o
      LoadPlayerSaveHeaderData(std::string const&, std::vector<PlayerSaveHeaderData, std::allocator<PlayerSaveHeaderData> >&) in SaveLoad.o
      LoadEmpireSaveGameData(std::string const&, std::map<int, SaveGameEmpireData, std::less<int>, std::allocator<std::pair<int const, SaveGameEmpireData> > >&) in SaveLoad.o
      boost::archive::binary_iarchive::~binary_iarchive() in SaveLoad.o
      boost::archive::binary_iarchive_impl<boost::archive::binary_iarchive, char, std::char_traits<char> >::binary_iarchive_impl(std::istream&, unsigned int) in SaveLoad.o
      boost::archive::binary_iarchive::~binary_iarchive() in SaveLoad.o
      ...
  "boost::archive::basic_binary_oprimitive<boost::archive::binary_oarchive, char, std::char_traits<char> >::init()", referenced from:
      boost::archive::binary_oarchive_impl<boost::archive::binary_oarchive, char, std::char_traits<char> >::init(unsigned int) in SaveLoad.o
  "boost::archive::basic_binary_oprimitive<boost::archive::binary_oarchive, char, std::char_traits<char> >::save(std::string const&)", referenced from:
      void PlayerSaveGameData::serialize<boost::archive::binary_oarchive>(boost::archive::binary_oarchive&, unsigned int) in SaveLoad.o
      void PlayerSaveHeaderData::serialize<boost::archive::binary_oarchive>(boost::archive::binary_oarchive&, unsigned int) in SaveLoad.o
      boost::archive::basic_binary_oarchive<boost::archive::binary_oarchive>::save_override(boost::archive::class_name_type const&) in SaveLoad.o
  "boost::archive::basic_binary_oprimitive<boost::archive::binary_oarchive, char, std::char_traits<char> >::basic_binary_oprimitive(std::basic_streambuf<char, std::char_traits<char> >&, bool)", referenced from:
      boost::archive::binary_oarchive_impl<boost::archive::binary_oarchive, char, std::char_traits<char> >::binary_oarchive_impl(std::ostream&, unsigned int) in SaveLoad.o
  "boost::archive::basic_binary_oprimitive<boost::archive::binary_oarchive, char, std::char_traits<char> >::~basic_binary_oprimitive()", referenced from:
      SaveGame(std::string const&, ServerSaveGameData const&, std::vector<PlayerSaveGameData, std::allocator<PlayerSaveGameData> > const&, Universe const&, EmpireManager const&, SpeciesManager const&, CombatLogManager const&, GalaxySetupData const&, bool) in SaveLoad.o
      boost::archive::binary_oarchive::~binary_oarchive() in SaveLoad.o
      boost::archive::binary_oarchive_impl<boost::archive::binary_oarchive, char, std::char_traits<char> >::binary_oarchive_impl(std::ostream&, unsigned int) in SaveLoad.o
      boost::archive::binary_oarchive::~binary_oarchive() in SaveLoad.o
      boost::archive::binary_oarchive_impl<boost::archive::binary_oarchive, char, std::char_traits<char> >::~binary_oarchive_impl() in SaveLoad.o
      boost::archive::binary_oarchive_impl<boost::archive::binary_oarchive, char, std::char_traits<char> >::~binary_oarchive_impl() in SaveLoad.o
ld: symbol(s) not found for architecture i386
clang: error: linker command failed with exit code 1 (use -v to see invocation)

OpenAL URL changed?

When building the SDK, I get errors when trying to download OpenAL:

  Creating directories for 'openal-soft'
  Building Custom Rule C:/Users/g_top/Desktop/freeorion-sdk/CMakeLists.txt
  Performing download step (download, verify and extract) for 'openal-soft'
  -- Downloading...
     dst='C:/Users/g_top/Desktop/freeorion-sdk/build/downloads/openal-soft-1.18.2.tar.bz2'
     timeout='none'
  -- Using src='http://kcat.strangesoft.net/openal-releases/openal-soft-1.18.2.tar.bz2'
  -- Retrying...
  -- Using src='http://kcat.strangesoft.net/openal-releases/openal-soft-1.18.2.tar.bz2'
  -- Retry after 5 seconds (attempt #2) ...

Also strangesoft.net seems to be a domain parking page.

Building SDK with MSVC 2019

I installed MSVC 2019 and tried to build the SDK. I ran into issues:

  1. GLEW 2.1.0 fails to link, as discussed here nigels-com/glew#238 (comment) and possibly fixed by this: nigels-com/glew@4bbe8aa but I don't know how to apply that when building the SDK. Editing the GLEW CMakeLists.txt after the build failed once and re-starting it doesn't restart the build.

  2. I had to modify the build command slightly to specify the Win32 target: C:\Users\Geoff\Desktop\freeorion-sdk\build>cmake .. -G "Visual Studio 16 2019" -A Win32

v7 but label=6 in docker file

The master-branch and v7-tag both have label=6 in the docker file. Should that not have been bumped up and deployed? (I guess to 7 for v7 ??).

"History":
label version="6" for https://github.com/freeorion/freeorion-sdk/blob/v7/Dockerfile
label version="6" for https://github.com/freeorion/freeorion-sdk/blob/v6/Dockerfile
label version="6" for https://github.com/freeorion/freeorion-sdk/blob/v5/Dockerfile
label version="5" for https://github.com/freeorion/freeorion-sdk/blob/v4/Dockerfile

CMakeLists.txt broken in a8fbff1 (mac-support branch)

When tyring to run cmake with commit a8fbff1, I get the following error:

CMake Error: Error in cmake code at
/Users/user/SoftwareProjekte/FO/sdk/CMakeLists.txt:550:
Parse error.  Function missing ending ")".  End of file reached.
Configuring incomplete, errors occurred!

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.