FreeOrion
http://www.freeorion.org/forum/

Linux - Building FreeOrion with different versions of Boost
http://www.freeorion.org/forum/viewtopic.php?f=24&t=10725
Page 1 of 1

Author:  dbenage-cx [ Fri Oct 06, 2017 10:59 pm ]
Post subject:  Linux - Building FreeOrion with different versions of Boost

For testing various versions, I use the following procedure
Building Boost - (example is for Boost version 1.63.0, with a root directory of /opt/projects/boost)
  • Download and extract to /opt/projects/boost/src. /opt/projects/boost/src/boost_1_63_0/bootstrap.sh should now exist
  • From /opt/projects/boost/src:
    • ./bootstrap.sh --prefix=/opt/projects/boost/1_63_0
    • mkdir build_1_63_0 && mkdir stage_1_63_0
    • ./b2 --build-dir=build_1_63_0 stage --stage-dir=stage_1_63_0
    • ./bjam install
For a first attempt, I recommend doing the above manually on the first run. Typically I use a custom build script for consistency (YMMV).
There should now exist /opt/projects/boost/1_63_0 with sub-directories for include and lib.

Building FreeOrion - From freeorion source dir:
  • mkdir build-x && cd build-x
  • cmake -DBOOST_ROOT=/opt/projects/boost/1_63_0 ..
  • make
If your systems FindBoost.cmake is outdated for the desired version, take note of the upstream version of this module.

I build from within KDevelop half the time: Project->Open Configuration->Configure build directory(+ sign)->
Alter build directory to something unique to version
Add Custom Argument: -DBOOST_ROOT=/opt/projects/boost/1_63_0
(remember to right click the new directory and "Exclude from project", else parser may choke during build)
For those on other IDEs, it may be useful to post how to adjust cmake flags.

Alternatively to downloading Boost, one could clone the super-project and checkout the desired version tag.
Can be useful to test fixes in some Boost pre-release, to see if a previous issue is addressed.
I've only done this with the posted script, creating a symlink for /opt/projects/boost/src/boost_$VERSION and passing $VERSION as the script arg

Do not recall if I successfully built FreeOrion with clang, I've at least built Boost by altering the boost build steps to:
  • ./bootstrap.sh --with-toolset=clang
  • mkdir build_1_63_0 && mkdir stage_1_63_0
  • ./b2 toolset=clang cxxflags="=std=c++11 -stdlib=libc++" linkflags="-lc++abi -stdlib=libc++" --build-dir=build_1_63_0 stage --stage-dir=stage_1_63_0
  • ./bjam install

Author:  spikethehobbit [ Thu Nov 09, 2017 9:21 pm ]
Post subject:  Re: Linux - Building FreeOrion with different versions of Bo

Freeorion built fine with clang 3.9 before pull #1838 fix_parser_memory_leaks. I can't get it to compile at all with that commit.

Author:  LGM-Doyle [ Sat Nov 11, 2017 8:38 pm ]
Post subject:  Re: Linux - Building FreeOrion with different versions of Bo

spikethehobbit, I almost missed this posted under the title compiling with different versions of Boost.

Could you open an issue and post the compiler logs?

Page 1 of 1 All times are UTC
Powered by phpBB® Forum Software © phpBB Group
https://www.phpbb.com/