import os
Import('env use_qt program_suffix pb_name')
if use_qt:
    env_qt=env.Copy(tools=['default','qt'])
    if env['QT_BINPATH'] != None:
        env_qt['QT_BINPATH']=env['QT_BINPATH']
    env_qt.Append(QT_LIB=env['QT_LIB'])
    env_qt.Append(QT_CPPPATH=env['QT_CPPPATH'])
    env_qt.Append(CXXFLAGS=env['CXXFLAGS'])
    env_qt.Append(CXXFLAGS=['-fno-strict-aliasing','-fPIC'])

    sources=["main.cpp",
             "QT_WINDOW.cpp",
             "QT_ARCBALL.cpp",
             "QT_RENDER_UTILS.cpp",
             "QT_WORLD.cpp",
             "QT_MAIN_WINDOW.cpp",
             "QT_COLOR_MAP.cpp",
             "QT_CAMERA.cpp",
             "QT_SLICE_MODE.cpp",
             "QT_SHADER.cpp",
             "QT_VERTEX_SHADER.cpp",
             "QT_GEOMETRY_SHADER.cpp",
             "QT_FRAGMENT_SHADER.cpp",
             "components/QT_COMPONENT_OPTIONS.cpp",
             "components/QT_AXES.cpp",
             "components/QT_COMPONENT.cpp",
             "components/QT_GRID_COMPONENT.cpp",
             "components/QT_DEBUG_PARTICLES.cpp",
             "components/QT_VECTOR_FIELD.cpp",
             "components/QT_FACE_FIELD.cpp",
             "components/QT_PARTICLES.cpp",
             "components/QT_SCALAR_FIELD.cpp",
             "components/QT_TRIANGULATED_OBJECT.cpp",
             "components/QT_GRID.cpp",
             "components/QT_SEGMENTED_CURVE.cpp",
             "components/QT_TETRAHEDRALIZED_VOLUME.cpp",
             "components/QT_GROUP.cpp",
             "components/QT_OBJECT.cpp",
             "components/QT_SPLIT_OBJECT.cpp"]
    level=["Core"]
    name="qt_viewer"

#    objects=env_qt.SharedLibrary(sources)
    pb_libs=[pb_name[l] for l in level]
    install_name=os.path.basename(name)+program_suffix
    executable_target_path=os.path.join(Dir('.').srcnode().abspath,install_name)
    program=env_qt.Program(name,sources,LIBS=env_qt['LIBS']+pb_libs)
    ### Mac OS X does not support -rdynamic
    if env['INSTALL_PROGRAMS']:
        env_qt.InstallAs(executable_target_path,program)
