if(CMAKE_VERSION VERSION_LESS 2.8) message("CMake version greater than 2.8 necessary to run tests") else() if(NOT CTEST_TESTING_TIMEOUT) set(CTEST_TESTING_TIMEOUT 60) endif() if(WIN32) set(TEST_PYTHONPATH "${CMAKE_BINARY_DIR};${CMAKE_SOURCE_DIR}/tests/util;${pysidetest_BINARY_DIR};$ENV{PYTHONPATH}") set(TEST_LIBRARY_PATH "${libpyside_BINARY_DIR};${pysidetest_BINARY_DIR};${SHIBOKEN_INCLUDE_DIR}/../../bin;$ENV{PATH}") set(LIBRARY_PATH_VAR "PATH") string(REPLACE "\\" "/" TEST_PYTHONPATH "${TEST_PYTHONPATH}") string(REPLACE "\\" "/" TEST_LIBRARY_PATH "${TEST_LIBRARY_PATH}") string(REPLACE ";" "\\;" TEST_PYTHONPATH "${TEST_PYTHONPATH}") string(REPLACE ";" "\\;" TEST_LIBRARY_PATH "${TEST_LIBRARY_PATH}") else() set(TEST_PYTHONPATH "${CMAKE_BINARY_DIR}:${CMAKE_SOURCE_DIR}/tests/util:${pysidetest_BINARY_DIR}:$ENV{PYTHONPATH}") set(TEST_LIBRARY_PATH "${libpyside_BINARY_DIR}:${pysidetest_BINARY_DIR}:$ENV{LD_LIBRARY_PATH}") set(LIBRARY_PATH_VAR "LD_LIBRARY_PATH") endif() macro(TEST_QT_MODULE var name) if(NOT DISABLE_${name} AND ${var}) add_subdirectory(${name}) endif() endmacro() macro(PYSIDE_TEST) string(REGEX MATCH "/([^/]+)//?([^/]+)\\.py" foo "${CMAKE_CURRENT_SOURCE_DIR}/${ARGV0}" ) set(TEST_NAME "${CMAKE_MATCH_1}_${CMAKE_MATCH_2}") if (${ARGC} EQUAL 1) set(EXPECT_TO_FAIL 0) elseif(${ARGC} EQUAL 2) set(EXPECT_TO_FAIL ${ARGV1}) else() message(WARNING "Invalid call of macro PYSIDE_TEST") endif() set(TEST_CMD ${XVFB_EXEC} ${SHIBOKEN_PYTHON_INTERPRETER} "${CMAKE_CURRENT_SOURCE_DIR}/${ARGV0}") add_test(${TEST_NAME} ${TEST_CMD}) set_tests_properties(${TEST_NAME} PROPERTIES TIMEOUT ${CTEST_TESTING_TIMEOUT} WILL_FAIL ${EXPECT_TO_FAIL} ENVIRONMENT "PYTHONPATH=${TEST_PYTHONPATH};${LIBRARY_PATH_VAR}=${TEST_LIBRARY_PATH}") endmacro() add_subdirectory(pysidetest) add_subdirectory(signals) TEST_QT_MODULE(Qt5Core_FOUND QtCore) TEST_QT_MODULE(Qt5Gui_FOUND QtGui) # to do TEST_QT_MODULE(Qt5Widgets_FOUND QtWidgets) TEST_QT_MODULE(Qt5Network_FOUND QtNetwork) TEST_QT_MODULE(Qt5Webkit_FOUND QtWebKit) TEST_QT_MODULE(Qt5Svg_FOUND QtSvg) TEST_QT_MODULE(Qt5Xml_FOUND QtXml) TEST_QT_MODULE(Qt5Test_FOUND QtTest) TEST_QT_MODULE(Qt5OpenGL_FOUND QtOpenGL) TEST_QT_MODULE(Qt5Sql_FOUND QtSql) TEST_QT_MODULE(Qt5UiTools_FOUND QtUiTools) TEST_QT_MODULE(Qt5Help_FOUND QtHelp) TEST_QT_MODULE(Qt5XmlPatterns_FOUND QtXmlPatterns) TEST_QT_MODULE(Qt5Script_FOUND QtScript) TEST_QT_MODULE(Qt5ScriptTools_FOUND QtScriptTools) TEST_QT_MODULE(Qt5Multimedia_FOUND QtMultimedia) TEST_QT_MODULE(Qt5Declarative_FOUND QtDeclarative) #platform specific if (ENABLE_MAC) add_subdirectory(mac) endif () endif()