Code Search for Developers
 
 
  

getOSG_CompileOSG_CompileOsgDesigner.sh from osgDesigner at Krugle


Show getOSG_CompileOSG_CompileOsgDesigner.sh syntax highlighted

#!/bin/sh

# script to get SVN/CVS version of OpenThreads, Producer, OpenSceneGraph, osgProducer and genwrapper
#           make genwrapper
#           generate the wrapper
#           make OpenThreads, Producer, OpenSceneGraph, osgProducer and osgDesigner





# utility function
function error_check
{
    if [ $? -ne 0 ]; then
	echo "ERROR"
	exit 1
    fi
}






if [ -z "$OSGDESIGNER_HOME" ]; then
    echo "=== >> you must define the OSGDESIGNER_HOME environment variable << ===" 
    echo "           sh example   : export OSGDESIGNER_HOME=/directory/to/osgDesigner"
    echo "           tcsh example : setenv OSGDESIGNER_HOME /directory/to/osgDesigner"
    exit
fi





# smart variable
if [ -z $1 ]; then
    NB_PROC=`cat /proc/cpuinfo | grep processor | wc -l`
else
    NB_PROC=$1
fi

echo "Use $NB_PROC processor to compile."


if [ $NB_PROC == "1" ]; then
    MAKE_OPT=""
else
    MAKE_OPT="-j $NB_PROC"
fi




THIRD_PARTY_DIR=${OSGDESIGNER_HOME}/3rdParty
# put all in 3rdParty directory
if [ ! -d ${THIRD_PARTY_DIR} ]; then
    mkdir ${THIRD_PARTY_DIR}
fi










#OpenThreads
if [ ! -d ${THIRD_PARTY_DIR}/OpenThreads ]; then
    cd ${THIRD_PARTY_DIR}
    echo "=========================== Checkout OpenThreads ========================="
    svn co http://www.openscenegraph.com/svn/osg/OpenThreads/trunk/ OpenThreads
else
    echo "=========================== Update OpenThreads ========================="
    cd ${THIRD_PARTY_DIR}/OpenThreads
    svn up
fi

#Producer
if [ ! -d ${THIRD_PARTY_DIR}/Producer ]; then
    cd ${THIRD_PARTY_DIR}
    echo "=========================== Checkout Producer ========================="
    echo " ==== >> Authentification require"
    echo " ==== >> You can supply an empty password (just hit return)."
    cvs -d :pserver:anon:@openscenegraph.net:/cvs/Producer login
    cvs -d :pserver:anon@openscenegraph.net:/cvs/Producer co Producer 
else
    echo "=========================== Update Producer ========================="
    cd ${THIRD_PARTY_DIR}/Producer
    cvs update -Pd
fi

#OpenSceneGraph
if [ ! -d ${THIRD_PARTY_DIR}/OpenSceneGraph ]; then
    echo "=========================== Checkout OpenSceneGraph ========================="
    cd ${THIRD_PARTY_DIR}
    svn co http://www.openscenegraph.com/svn/osg/OpenSceneGraph/trunk/ OpenSceneGraph
else
    echo "=========================== Update OpenSceneGraph ========================="
    cd ${THIRD_PARTY_DIR}/OpenSceneGraph

    svn up
fi

#osgProducer
    if [ ! -d ${THIRD_PARTY_DIR}/osgProducer ]; then
	echo "=========================== Checkout osgProducer ========================="
	cd ${THIRD_PARTY_DIR}
	svn co http://www.openscenegraph.com/svn/Producer/osgProducer/trunk/ osgProducer
    else
	echo "=========================== Update osgProducer ==========================="
	cd ${THIRD_PARTY_DIR}/osgProducer
	svn up
    fi

#genwrapper
    if [ ! -d ${THIRD_PARTY_DIR}/genwrapper ]; then
	echo "=========================== Checkout GenWrapper ========================="
	cd ${THIRD_PARTY_DIR}
	svn co http://www.openscenegraph.com/svn/genwrapper/trunk genwrapper
    else
	echo "=========================== Update GenWrapper ==========================="
	cd ${THIRD_PARTY_DIR}/genwrapper
	svn up
    fi






#### BUILD ####

#genwrapper build
    echo "=========================== Build GenWrapper ==========================="
    cd ${THIRD_PARTY_DIR}/genwrapper
    make 
    error_check


sed 's/\.\/genwrapper .lpm \$OSGHOME$/.\/genwrapper -c ${OSGHOME}\/genwrapper.conf -lpm ${OSGHOME}/' Dogenwrapper.sh  > osgDogenwrapper.sh

#wrapper generation
    echo "=========================== Genere Wrapper Code ========================"
    OSGHOME=${THIRD_PARTY_DIR}/OpenSceneGraph
    sh ./osgDogenwrapper.sh
    error_check


#build OpenThreads
    echo "=========================== Build OpenThreads ==========================="
cd ${THIRD_PARTY_DIR}/OpenThreads
gmake $MAKE_OPT
error_check



OS=`uname`
if [ -z "$ARCH" ]; then
    ARCH=32
fi

#build Producer
    echo "=========================== Build Producer ==========================="
cd ${THIRD_PARTY_DIR}/Producer
gmake $MAKE_OPT \
      OPENTHREADS_INC_DIR="${THIRD_PARTY_DIR}/OpenThreads/include" \
      OPENTHREADS_LIB_DIR="${THIRD_PARTY_DIR}/OpenThreads/lib/\$(OS)\$(ARCH)"
error_check



#build OpenSceneGraph
    echo "=========================== Build OpenSceneGraph ==========================="
cd ${THIRD_PARTY_DIR}/OpenSceneGraph

export COMPILE_INTROSPECTION=yes

gmake $MAKE_OPT \
      OPENTHREADS_INC_DIR="${THIRD_PARTY_DIR}/OpenThreads/include" \
      OPENTHREADS_LIB_DIR="${THIRD_PARTY_DIR}/OpenThreads/lib/\$(OS)\$(ARCH)"
error_check



#build osgProducer
    echo "=========================== Build osgProducer ==========================="
cd ${THIRD_PARTY_DIR}/osgProducer


#little hack to use specific OSG dir

if [ ! -f ${THIRD_PARTY_DIR}/osgProducer/osgProducer.hacked ]; then
    OSGPRODUCER_MAKE_MAKEDEFS=${THIRD_PARTY_DIR}/osgProducer/Make/makedefs

    echo 'ifneq ("$(OPENSCENEGRAPH_INC_DIR)","")' >> $OSGPRODUCER_MAKE_MAKEDEFS
    echo 'INC += -I$(OPENSCENEGRAPH_INC_DIR)' >> $OSGPRODUCER_MAKE_MAKEDEFS
    echo 'endif' >> $OSGPRODUCER_MAKE_MAKEDEFS

    echo 'ifneq ("$(OPENSCENEGRAPH_LIB_DIR)","")' >> $OSGPRODUCER_MAKE_MAKEDEFS
    echo 'LDFLAGS += -L$(OPENSCENEGRAPH_LIB_DIR)' >> $OSGPRODUCER_MAKE_MAKEDEFS
    echo 'endif' >> $OSGPRODUCER_MAKE_MAKEDEFS
    touch ${THIRD_PARTY_DIR}/osgProducer/osgProducer.hacked
fi


gmake $MAKE_OPT\
      OPENTHREADS_INC_DIR="${THIRD_PARTY_DIR}/OpenThreads/include" \
      OPENTHREADS_LIB_DIR="${THIRD_PARTY_DIR}/OpenThreads/lib/\$(OS)\$(ARCH)" \
      PRODUCER_INC_DIR="${THIRD_PARTY_DIR}/Producer/include" \
      PRODUCER_LIB_DIR="${THIRD_PARTY_DIR}/Producer/lib/\$(OS)\$(ARCH)"\
      OPENSCENEGRAPH_INC_DIR="${THIRD_PARTY_DIR}/OpenSceneGraph/include" \
      OPENSCENEGRAPH_LIB_DIR="${THIRD_PARTY_DIR}/OpenSceneGraph/lib/\$(OS)\$(ARCH)"

error_check


#build osgDesigner
    echo "=========================== Build osgDesigner ==========================="
cd $OSGDESIGNER_HOME

if [ ! -d ${OSGDESIGNER_HOME}/release ]; then
    mkdir ${OSGDESIGNER_HOME}/release
fi

cd ${OSGDESIGNER_HOME}/release


export OPENTHREADSDIR=$OSGDESIGNER_HOME/3rdParty/OpenThreads
export PRODUCERDIR=$OSGDESIGNER_HOME/3rdParty/Producer
export OSGDIR=$OSGDESIGNER_HOME/3rdParty/OpenSceneGraph
export OSGPRODUCERDIR=$OSGDESIGNER_HOME/3rdParty/osgProducer
OS=`uname`
if [ -z "$ARCH" ]; then
    ARCH=32
fi


cmake -DOPENSCENEGRAPH_INCLUDE_DIRS=${OSGDIR}/include \
      -DOPENSCENEGRAPH_LIBRARIES=${OSGDIR}/lib/${OS}${ARCH} \
      -DOSG_INCLUDE_DIR=${OSGDIR}/include \
      -DOSG_LIBRARY_RELEASE=${OSGDIR}/lib/${OS}${ARCH}/libosg.so \
      -DOSG_LIBRARY_DEBUG=${OSGDIR}/lib/${OS}${ARCH}/libosg.so \
      -DOSGDB_INCLUDE_DIR=${OSGDIR}/include \
      -DOSGDB_LIBRARY_RELEASE=${OSGDIR}/lib/${OS}${ARCH}/libosgDB.so \
      -DOSGDB_LIBRARY_DEBUG=${OSGDIR}/lib/${OS}${ARCH}/libosgDB.so \
      -DOSGGA_INCLUDE_DIR=${OSGDIR}/include \
      -DOSGGA_LIBRARY_RELEASE=${OSGDIR}/lib/${OS}${ARCH}/libosgGA.so \
      -DOSGGA_LIBRARY_DEBUG=${OSGDIR}/lib/${OS}${ARCH}/libosgGA.so \
      -DOSGINTROSPECTION_INCLUDE_DIR=${OSGDIR}/include \
      -DOSGINTROSPECTION_LIBRARY_RELEASE=${OSGDIR}/lib/${OS}${ARCH}/libosgIntrospection.so \
      -DOSGINTROSPECTION_LIBRARY_DEBUG=${OSGDIR}/lib/${OS}${ARCH}/libosgIntrospection.so \
      -DOSGUTIL_INCLUDE_DIR=${OSGDIR}/include \
      -DOSGUTIL_LIBRARY_RELEASE=${OSGDIR}/lib/${OS}${ARCH}/libosgUtil.so \
      -DOSGUTIL_LIBRARY_DEBUG=${OSGDIR}/lib/${OS}${ARCH}/libosgUtil.so \
      -DOSGPRODUCER_INCLUDE_DIR=${OSGPRODUCERDIR}/include \
      -DOSGPRODUCER_LIBRARY_RELEASE=${OSGPRODUCERDIR}/lib/${OS}${ARCH}/libosgProducer.so \
      -DOSGPRODUCER_LIBRARY_DEBUG=${OSGPRODUCERDIR}/lib/${OS}${ARCH}/libosgProducer.so \
      -DOPENTHREADS_INCLUDE_DIR=${OPENTHREADSDIR}/include \
      -DOPENTHREADS_LIBRARY_RELEASE=${OPENTHREADSDIR}/lib/${OS}${ARCH}/libOpenThreads.so \
      -DOPENTHREADS_LIBRARY_DEBUG=${OPENTHREADSDIR}/lib/${OS}${ARCH}/libOpenThreads.so \
      -DPRODUCER_INCLUDE_DIR=${PRODUCERDIR}/include \
      -DPRODUCER_LIBRARY_RELEASE=${PRODUCERDIR}/lib/${OS}${ARCH}/libProducer.so \
      -DPRODUCER_LIBRARY_DEBUG=${PRODUCERDIR}/lib/${OS}${ARCH}/libProducer.so \
      -DCMAKE_VERBOSE_MAKEFILE=ON ..

error_check



make $MAKE_OPT
error_check



echo ""
echo ""
echo "====>> Marvelous!!! All build fine!!!"
echo "====>> Now you can run the runOsgDesigner.sh script."
echo "====>> Have a fun time with osgDesigner."
echo "====>> Send you comment and observation to ledocc@gmail.com"




See more files for this project here

osgDesigner

osgDesigner is a graphical tool used to modify an OpenSceneGraph (OSG) scene using the osgIntrospection framework. OpenSceneGraph developpers will be able to extend osgDesigner at need using (editor | render | osgIntrospection wrapper) plugin system.

Project homepage: http://sourceforge.net/projects/osgdesigner
Programming language(s): C++,Shell Script
License: other

  getOSG_CompileOSG_CompileOsgDesigner.sh
  runOsgDesigner.sh