Difference between revisions of "CMake"

From wiki
Jump to: navigation, search
Line 20: Line 20:
 
* Tried above tip, and even its longer version (shown below), but the same weird library error appears.
 
* Tried above tip, and even its longer version (shown below), but the same weird library error appears.
 
  cmake -DCMAKE_INSTALL_PREFIX=$TARGET -DBoost_NO_BOOST_CMAKE=TRUE -DBoost_NO_SYSTEM_PATHS=TRUE -DBOOST_ROOT:PATHNAME=$BOOST_ROOT -DBoost_LIBRARY_DIRS:FILEPATH=${BOOST_ROOT}/lib
 
  cmake -DCMAKE_INSTALL_PREFIX=$TARGET -DBoost_NO_BOOST_CMAKE=TRUE -DBoost_NO_SYSTEM_PATHS=TRUE -DBOOST_ROOT:PATHNAME=$BOOST_ROOT -DBoost_LIBRARY_DIRS:FILEPATH=${BOOST_ROOT}/lib
* forget the manual compilation and just install the binaries (you probably will not notice any difference)
+
* forget the manual compilation and just install the binaries (you probably will not notice any difference) ... however, the link to these doesn't work.

Revision as of 11:16, 9 June 2016

Introduction

Cmake is a compilation configuration platform which promises cross platform portability. I.e. it is apparently able to compile for Linux, MacOSX and Windows.

As touched on above, cmake just sets up configuration. The normal, everyday make command will need to be run afterwards.

Tips

  • cmake's standard configuration file is called CMakeLists.txt
  • cmake will also need to knwo which directory the main CMakeLists.txt file is.
  • non-standard library locations: cmake has problems with this, especially boost.
  • You need to make sure the BOOST_ROOT directory is set, and then seemingly skip cmakes's internal seetings for boosts .. which unsurprisingly will not be the non-standard ones.
cmake -DBoost_NO_BOOST_CMAKE=TRUE .

Specific problems

= Installing Jui Hung Hung's PEAT

  • Non standard location and new (v 1.61.0) Boost installation
  • Tried above tip, and even its longer version (shown below), but the same weird library error appears.
cmake -DCMAKE_INSTALL_PREFIX=$TARGET -DBoost_NO_BOOST_CMAKE=TRUE -DBoost_NO_SYSTEM_PATHS=TRUE -DBOOST_ROOT:PATHNAME=$BOOST_ROOT -DBoost_LIBRARY_DIRS:FILEPATH=${BOOST_ROOT}/lib
  • forget the manual compilation and just install the binaries (you probably will not notice any difference) ... however, the link to these doesn't work.