project(QtOpenGL)

if ((${QT_VERSION_MAJOR} EQUAL 4) AND (${QT_VERSION_MINOR} LESS 6))
  set(QtOpenGL_46_SRC )
else ((${QT_VERSION_MAJOR} EQUAL 4) AND (${QT_VERSION_MINOR} LESS 6))
  set(QtOpenGL_46_SRC
    ${CMAKE_CURRENT_BINARY_DIR}/${BINDING_NAME}/QtOpenGL/qglframebufferobjectformat_wrapper.cpp
    ${CMAKE_CURRENT_BINARY_DIR}/${BINDING_NAME}/QtOpenGL/qglshader_wrapper.cpp
    ${CMAKE_CURRENT_BINARY_DIR}/${BINDING_NAME}/QtOpenGL/qglshaderprogram_wrapper.cpp
  )
endif ((${QT_VERSION_MAJOR} EQUAL 4) AND (${QT_VERSION_MINOR} LESS 6))

set(QtOpenGL_SRC
${CMAKE_CURRENT_BINARY_DIR}/${BINDING_NAME}/QtOpenGL/qgl_wrapper.cpp
${CMAKE_CURRENT_BINARY_DIR}/${BINDING_NAME}/QtOpenGL/qglcolormap_wrapper.cpp
${CMAKE_CURRENT_BINARY_DIR}/${BINDING_NAME}/QtOpenGL/qglcontext_wrapper.cpp
${CMAKE_CURRENT_BINARY_DIR}/${BINDING_NAME}/QtOpenGL/qglformat_wrapper.cpp
${CMAKE_CURRENT_BINARY_DIR}/${BINDING_NAME}/QtOpenGL/qglframebufferobject_wrapper.cpp
${CMAKE_CURRENT_BINARY_DIR}/${BINDING_NAME}/QtOpenGL/qglpixelbuffer_wrapper.cpp
${CMAKE_CURRENT_BINARY_DIR}/${BINDING_NAME}/QtOpenGL/qglwidget_wrapper.cpp
${CMAKE_CURRENT_BINARY_DIR}/${BINDING_NAME}/QtOpenGL/qtopengl_globals_wrapper.cpp
${CMAKE_CURRENT_BINARY_DIR}/${BINDING_NAME}/QtOpenGL/qtopengl_module_wrapper.cpp
${QtOpenGL_46_SRC}
)

execute_generator(opengl QtOpenGL_SRC)

include_directories(${CMAKE_CURRENT_SOURCE_DIR}
                    ${CMAKE_CURRENT_BINARY_DIR}/${BINDING_NAME}/QtOpenGL
                    ${CMAKE_SOURCE_DIR}
                    ${QT_INCLUDE_DIR}
                    ${QT_QTCORE_INCLUDE_DIR}
                    ${QT_QTGUI_INCLUDE_DIR}
                    ${QT_QTOPENGL_INCLUDE_DIR}
                    ${PYTHON_INCLUDE_PATH}
                    ${Boost_INCLUDE_DIR}
                    ${pysidebase_SOURCE_DIR})
add_library(QtOpenGL MODULE ${QtOpenGL_SRC})
set_target_properties(QtOpenGL PROPERTIES
                        PREFIX ""
                        COMPILE_FLAGS "-DBOOST_PYTHON_MAX_BASES=1")
target_link_libraries(QtOpenGL
                      ${Boost_PYTHON_LIBRARY}
                      ${PYTHON_LIBRARIES}
                      ${QT_QTCORE_LIBRARY}
                      ${QT_QTGUI_LIBRARY}
                      ${QT_QTOPENGL_LIBRARY}
                      pysidebase)

# install
install(FILES ${CMAKE_CURRENT_BINARY_DIR}/QtOpenGL.so
        DESTINATION ${SITE_PACKAGE}/${BINDING_NAME})

