1. Wisut Hantanong
  2. buildplace

Source

buildplace / script / build_source.conf

## Copyright (c) 2012 All Right Reserved, Wisut Hantanong
##
## This file is part of buildplace.
##
## buildplace is free software: you can redistribute it and/or modify
## under the terms of the GNU General Public License as published by
## the Free Software Foundation, either version 3 of the License, or
## at your option) any later version.
##
## buildplace 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 buildplace.  If not, see <http://www.gnu.org/licenses/>.
##

## This is a kind of yaml file (loaded using PYaml which some YAML feature migth not support, see http://pyyaml.org/) 
## comment start with # (to end of line)
## Don't use <TAP> for identation
## if config failed to loaded first thing to check is identation consistency of each level

##
## common parameters
##
## noted that installation location for each source can be set in config_args (e.g., CMAKE_INSTALL_PREFIX, --prefix)
## All xxx_path support ${ENV} expansion 
## Don't use unix user home shorthand tilde (~) please use $HOME instead (build script not handle expansion correctly)
##
common:
  envs: # these envs for all source, if you want to specify env just for one source use config_args with coresponding format
    - BUILDPLACE_ROOT=$HOME/buildplace
#    - CC='ccache'
#    - CXX='ccache'
#    - CC='distcc gcc'
#    - CXX='distcc g++'
  source_dir: $BUILDPLACE_ROOT/source # read-only (except for bootstraping and source that not support out-of-source build)
  build_dir: $BUILDPLACE_ROOT/build # build tree created by buildscript (if not exists)
  log_dir: $BUILDPLACE_ROOT/log # build log saved here 

##
## source list
##
source:
##
## sorce list description
## name: key for listing in listbox for selection (need to be unique)
##   version: x.y.z vession string that name-x.y.z exists in source_dir
##   config_cmd: cmake or configure
##   config_args: arguments need for config_cmd (in raw format, i.e. -DXXX for cmake and --ABC for configure)
##   build_cmd: make, ninja depends on how source is configure
##   build_args: arguments need for build_cmd (e.g. all, install)
##   envs: (optional) per source env for both config and build, for global env please use 'envs' in common section 
##   prebuild_script: (optional) script will be run before build (may need on some source, e.g. create output dir)
##   postbuild_script: (optional) script will be run after build (may need on some source, e.g. configurator not provide 'install' target)

  surfscan:
    version: 0.0.1
    config_cmd: cmake
    config_args:
    - -DBOOST_ROOT=$BUILDPLACE_ROOT/install/boost-svn.trunk
    - -DOPENCV_DIR=/usr/lib/cmake/opencv
    - -DPCL__DIR=/usr/lib/cmake/pcl
##    - -DCGAL_INSTALL_DIR=/home/wisut/surfscan-dev2/install/cgal-4.0
#    - -DCGAL_DIR=/usr/lib/CGAL
#    - -DCGAL_TAUCS_INSTALL_DIR=/home/wisut/surfscan-dev2/install/taucs-cgal-3.5
#    - -DSURFSCAN_DEVROOT=$HOME/buildplace
#    - -DCMAKE_INSTALL_PREFIX=$HOME/buildplace/install/surfscan-0.0.1
##    - -DCMAKE_BUILD_TYPE=Release
##    - -DCMAKE_RELEASE_POSTFIX=_release
#    - -DCMAKE_BUILD_TYPE=Debug
#    - -DCMAKE_DEBUG_POSTFIX=_debug
    build_cmd: make
    build_args: 
#    - -j4
    - all
#
  boost:
    version: svn.trunk
    envs:
    - CPLUS_INCLUDE_PATH=/usr/include/python3.2mu
    config_cmd: ./bootstrap.sh
    config_args:
#    - --with-libraries=python,system,filesystem,thread,date_time,iostreams
    - --with-python=/usr/bin/python3
    - --prefix=$BUILDPLACE_ROOT/install/boost-svn.trunk
    build_cmd: ./b2
    build_args: 
    - --build-dir=$BUILDPLACE_ROOT/build/boost-svn.trunk
    - install
#
  cmake:
    version: git.trunk
#    config_cmd: ./configure
    config_cmd: cmake
    config_args:
#    - --version
#    - --prefix=$BUILDPLACE_ROOT/install/cmake-git.trunk/
#    - -DCMAKE_INSTALL_PREFIX=$BUILDPLACE_ROOT/install/cmake-git.trunk/
    - -DBUILD_QtDialog=ON
    - -DBUILD_DOCUMENTATION=ON
    - -DCMAKE_BUILD_TYPE=Release
    build_cmd: make
    build_args: 
#    - -j4
    - all
#    - install
#    prebuild_script: ./prebuild.sh
#    postbuild_script: ./postbuild.sh
#
  eigen:
    version: hg.trunk
    config_cmd: cmake
    config_args:
    - -DCMAKE_INSTALL_PREFIX=$BUILDPLACE_ROOT/install/eigen-hg.trunk
    build_cmd: make
    build_args: 
#    - -j4
    - install

  pcl:
    version: svn.trunk
#    version: svn.1.5.1
    config_cmd: cmake
    config_args:
#    - -DCMAKE_INSTALL_PREFIX=$BUILDPLACE_ROOT/install/pcl-svn.1.5.1
    - -DCMAKE_INSTALL_PREFIX=$BUILDPLACE_ROOT/install/pcl-svn.trunk
#    - -DBOOST_ROOT=$BUILDPLACE_ROOT/install/boost-svn.trunk
    - -DEIGEN_INCLUDE_DIR=$BUILDPLACE_ROOT/install/eigen-hg.trunk/include/eigen3
    build_cmd: make
    build_args: 
#    - -j4
    - all


##  cgal:
##    conf_args:
##    - WITH_examples=ON
##    - CMAKE_INSTALL_PREFIX=/home/wisut/surfscan-dev2/install/cgal-4.0
##    - EIGEN3_INCLUDE_DIR=/home/wisut/surfscan-dev2/install/eigen-3.1.0a2/include/eigen3
##    - EIGEN3_INCLUDE_DIR=/home/wisut/surfscan-dev2/install/eigen-hg.trunk/include/eigen3
##    - LAPACK_LIBRARIES=/usr/lib/atlas-base/liblapack_atlas.so
##    - BLAS_cblas_LIBRARY=/usr/lib/atlas-base/libcblas.so
##    - TAUCS_INCLUDE_DIR=/home/wisut/surfscan-dev2/install/taucs-3.5/include
##    - TAUCS_LIBRARY=/home/wisut/surfscan-dev2/install/taucs-3.5/lib/libtaucs.a
##    mode: cmake
##    version: 4.0
##
##  eigen:
##    conf_args:
##    - CMAKE_INSTALL_PREFIX=/home/wisut/surfscan-dev2/install/eigen-3.1.0a2
##    - CMAKE_INSTALL_PREFIX=/home/wisut/surfscan-dev2/install/eigen-hg.trunk
##    mode: cmake
##    version: 3.1.0a2
##    version: hg.trunk
##
##  gmp:
##    conf_args:
##    - prefix=/home/wisut/surfscan-dev2/install/gmp-5.0.0
##    mode: configure
##    version: 5.0.0