project(QtXml)
# project definition
set(QtXmlPatterns_TYPESYSTEM
${typesystem_SOURCE_DIR}/typesystem_xmlpatterns.xml
)

set(QtXmlPatterns_SRC
${CMAKE_CURRENT_BINARY_DIR}/${BINDING_NAME}/QtXmlPatterns/qabstractmessagehandler_wrapper.cpp
${CMAKE_CURRENT_BINARY_DIR}/${BINDING_NAME}/QtXmlPatterns/qabstracturiresolver_wrapper.cpp
${CMAKE_CURRENT_BINARY_DIR}/${BINDING_NAME}/QtXmlPatterns/qabstractxmlnodemodel_wrapper.cpp
${CMAKE_CURRENT_BINARY_DIR}/${BINDING_NAME}/QtXmlPatterns/qabstractxmlreceiver_wrapper.cpp
${CMAKE_CURRENT_BINARY_DIR}/${BINDING_NAME}/QtXmlPatterns/qsourcelocation_wrapper.cpp
${CMAKE_CURRENT_BINARY_DIR}/${BINDING_NAME}/QtXmlPatterns/qtxmlpatterns_globals_wrapper.cpp
${CMAKE_CURRENT_BINARY_DIR}/${BINDING_NAME}/QtXmlPatterns/qtxmlpatterns_module_wrapper.cpp
${CMAKE_CURRENT_BINARY_DIR}/${BINDING_NAME}/QtXmlPatterns/qxmlformatter_wrapper.cpp
${CMAKE_CURRENT_BINARY_DIR}/${BINDING_NAME}/QtXmlPatterns/qxmlitem_wrapper.cpp
${CMAKE_CURRENT_BINARY_DIR}/${BINDING_NAME}/QtXmlPatterns/qxmlname_wrapper.cpp
${CMAKE_CURRENT_BINARY_DIR}/${BINDING_NAME}/QtXmlPatterns/qxmlnamepool_wrapper.cpp
${CMAKE_CURRENT_BINARY_DIR}/${BINDING_NAME}/QtXmlPatterns/qxmlnodemodelindex_wrapper.cpp
${CMAKE_CURRENT_BINARY_DIR}/${BINDING_NAME}/QtXmlPatterns/qxmlquery_wrapper.cpp
${CMAKE_CURRENT_BINARY_DIR}/${BINDING_NAME}/QtXmlPatterns/qxmlresultitems_wrapper.cpp
${CMAKE_CURRENT_BINARY_DIR}/${BINDING_NAME}/QtXmlPatterns/qxmlserializer_wrapper.cpp
)

add_custom_command(OUTPUT ${QtXmlPatterns_SRC}
COMMAND ${GENERATOR} ${GENERATOR_EXTRA_FLAGS}
        ${CMAKE_SOURCE_DIR}/data/global.h
        --include-paths=${QT_INCLUDE_DIR}:${QT_QTCORE_INCLUDE_DIR}:${QT_QTXMLPATTERNS_INCLUDE_DIR}
        --typesystem-paths=${typesystem_SOURCE_DIR}
        --output-directory=${CMAKE_CURRENT_BINARY_DIR}
        --license-file=${CMAKE_SOURCE_DIR}/data/licensecomment.txt
        ${QtXmlPatterns_TYPESYSTEM}
WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
COMMENT "Running generator..."
)

include_directories(${CMAKE_CURRENT_SOURCE_DIR}
                    ${CMAKE_CURRENT_BINARY_DIR}/${BINDING_NAME}/QtXmlPatterns/QtXmlPatterns
                    ${CMAKE_SOURCE_DIR}
                    ${QT_INCLUDE_DIR}
                    ${QT_QTCORE_INCLUDE_DIR}
                    ${QT_QTXMLPATTERNS_INCLUDE_DIR}
                    ${PYTHON_INCLUDE_PATH}
                    ${Boost_INCLUDE_DIR}
                    ${pysidebase_SOURCE_DIR})
add_library(QtXmlPatterns MODULE ${QtXmlPatterns_SRC})
set_property(TARGET QtXmlPatterns PROPERTY PREFIX "")
target_link_libraries(QtXmlPatterns
                      ${Boost_PYTHON_LIBRARY}
                      ${PYTHON_LIBRARIES}
                      ${QT_QTCORE_LIBRARY}
                      ${QT_QTXMLPATTERNS_LIBRARY}
                      pysidebase)

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

