# Sconstruct for FCollada Library and Test executable for Linux
import os
import glob
import shutil
import string
execfile("../SconsCommon.py")

# Parse the arguments.
ifdebug = ARGUMENTS.get('debug', "0") #Default is Retail.
ifnumber = ARGUMENTS.get('target', "0") #Default is help.
ifunicode = ARGUMENTS.get('unicode', "0") #Default is non-unicode.
ifshared = ARGUMENTS.get('shared', "0") #Default is static library.

cdebug = int(ifdebug)
cnumber = int(ifnumber)
cunicode = int(ifunicode)
cshared = int(ifshared)

# This is the name of the build.
buildName = BuildName(ifdebug, ifunicode, cshared)

# Specific Help text.
Help("""
==========================USER HELP=======================================
Type 'scons debug=x unicode=x target=1' to compile files for Linux.
    If debug=0, version of code compiled is release.
       debug=1, version of code compiled is debug.
    If unicode=0, the FCollada library built doesn't support unicode. 
       unicode=1, the FCollada library built supports unicode.
    If shared=0, a static library (a) is build.
       shared=1, a dynamic library (so) is built.
    If target=1, all related libraries are built.
Add '-c' at the end of the command line with target 2 or 3 to clean 
	up object files.
==========================================================================""")

if cnumber == 0:
    print "=====================ATTENTION================================="
    print "Please type 'scons -h' to see what to type in the command line."
    print "==============================================================="    

# Build all.
elif cnumber == 1:
    buildString = "scons debug=" + ifdebug + " unicode=" + ifunicode + " shared=" + ifshared + " target=" 
    os.chdir("../FColladaPlugins")
    os.system(buildString + "2")
    os.chdir("../FCollada")
    os.system(buildString + "2")
    os.system(buildString + "3")

# FCollada Library.
elif cnumber == 2:
    print "Building: '%s' version of FCollada." % buildName

    # If necesary, create the output folder.
    outputFolder = "Output/" + buildName + "/Intermediate"
    if not os.path.exists(outputFolder):
        os.makedirs(outputFolder)

    SConscript('Sconscript', build_dir=outputFolder, duplicate=0)

# FColladaTest executable
elif cnumber == 3:
    if cdebug == 1 and cunicode == 1 and cshared == 0:
        outputFolder = "FColladaTest/Output/" + buildName + "/Intermediate"
        if not os.path.exists(outputFolder):
            os.makedirs(outputFolder)
        SConscript('FColladaTest/Sconscript', build_dir=outputFolder, duplicate=0)

    else:
	print 'WARNING: FColladaTest only works with debug, unicode version of the FCollada library.'

# In case target number is not in this list.
else:
    print "Target number un-recognized. Type 'scons -h' to know which targets are available."

