Exclude the delayed resource file test on Windows.
[profile/ivi/qtbase.git] / tests / auto / cmake / CMakeLists.txt
index dfcb225..55db94d 100644 (file)
@@ -1,6 +1,6 @@
 
 # This is an automatic test for the CMake configuration files.
-# To run it,
+# To run it manually,
 # 1) mkdir build   # Create a build directory
 # 2) cd build
 # 3) cmake ..      # Run cmake on this directory.
@@ -8,20 +8,29 @@
 #
 # The expected output is something like:
 #
-#     Start 1: pass1
-# 1/7 Test #1: pass1 ............................   Passed    4.25 sec
-#     Start 2: pass2
-# 2/7 Test #2: pass2 ............................   Passed    2.00 sec
-#     Start 3: pass3
-# 3/7 Test #3: pass3 ............................   Passed    2.85 sec
-#     Start 4: fail4
-# 4/7 Test #4: fail4 ............................   Passed    1.88 sec
-#     Start 5: fail5
-# 5/7 Test #5: fail5 ............................   Passed    1.36 sec
-#     Start 6: pass_needsquoting_6
-# 6/7 Test #6: pass_needsquoting_6 ..............   Passed    2.88 sec
-#     Start 7: pass7
-# 7/7 Test #7: pass7 ............................   Passed    0.93 sec
+#       Start  1: test_use_modules_function
+#  1/11 Test  #1: test_use_modules_function ........   Passed    3.36 sec
+#       Start  2: test_wrap_cpp_and_resources
+#  2/11 Test  #2: test_wrap_cpp_and_resources ......   Passed    1.41 sec
+#       Start  3: test_dependent_modules
+#  3/11 Test  #3: test_dependent_modules ...........   Passed    2.22 sec
+#       Start  4: test_add_resource_options
+#  4/11 Test  #4: test_add_resource_options ........   Passed    0.16 sec
+#       Start  5: test_wrap_cpp_options
+#  5/11 Test  #5: test_wrap_cpp_options ............   Passed    0.36 sec
+#       Start  6: test_needsquoting_dirname
+#  6/11 Test  #6: test_needsquoting_dirname ........   Passed    2.20 sec
+#       Start  7: test_platform_defs_include
+#  7/11 Test  #7: test_platform_defs_include .......   Passed    0.28 sec
+#       Start  8: test_qtmainwin_library
+#  8/11 Test  #8: test_qtmainwin_library ...........   Passed    1.27 sec
+#       Start  9: test_dbus_module
+#  9/11 Test  #9: test_dbus_module .................   Passed    3.46 sec
+#       Start 10: test_multiple_find_package
+# 10/11 Test #10: test_multiple_find_package .......   Passed    0.07 sec
+#       Start 11: test_add_resources_delayed_file
+# 11/11 Test #11: test_add_resources_delayed_file ..   Passed    0.38 sec
+#
 #
 # Note that if Qt is not installed, or if it is installed to a
 # non-standard prefix, the environment variable CMAKE_PREFIX_PATH
@@ -34,66 +43,34 @@ project(qmake_cmake_files)
 
 enable_testing()
 
-macro(expect_pass _dir)
-  string(REPLACE "(" "_" testname "${_dir}")
-  string(REPLACE ")" "_" testname "${testname}")
-  add_test(${testname} ${CMAKE_CTEST_COMMAND}
-    --build-and-test
-    "${CMAKE_CURRENT_SOURCE_DIR}/${_dir}"
-    "${CMAKE_CURRENT_BINARY_DIR}/${_dir}"
-    --build-generator ${CMAKE_GENERATOR}
-    --build-makeprogram ${CMAKE_MAKE_PROGRAM}
-    --build-options -DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE}
-  )
-endmacro()
-
-macro(expect_fail _dir)
-  string(REPLACE "(" "_" testname "${_dir}")
-  string(REPLACE ")" "_" testname "${testname}")
-  file(MAKE_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}/failbuild/${_dir}")
-  file(COPY "${CMAKE_CURRENT_SOURCE_DIR}/${_dir}" DESTINATION "${CMAKE_CURRENT_BINARY_DIR}/failbuild/${_dir}")
-  file(WRITE "${CMAKE_CURRENT_BINARY_DIR}/failbuild/${_dir}/CMakeLists.txt"
-    "
-      cmake_minimum_required(VERSION 2.8)
-      project(${_dir}_build)
+find_package(Qt5Core REQUIRED)
 
-      try_compile(Result \${CMAKE_CURRENT_BINARY_DIR}/${_dir}
-          \${CMAKE_CURRENT_SOURCE_DIR}/${_dir}
-          ${_dir}
-          OUTPUT_VARIABLE Out
-      )
-      message(\"\${Out}\")
-      if (Result)
-        message(SEND_ERROR \"Succeeded build which should fail\")
-      endif()
-      "
-  )
-  add_test(${testname} ${CMAKE_CTEST_COMMAND}
-    --build-and-test
-    "${CMAKE_CURRENT_BINARY_DIR}/failbuild/${_dir}"
-    "${CMAKE_CURRENT_BINARY_DIR}/failbuild/${_dir}/build"
-    --build-generator ${CMAKE_GENERATOR}
-    --build-makeprogram ${CMAKE_MAKE_PROGRAM}
-    --build-options -DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE}
-  )
-endmacro()
+include("${_Qt5CTestMacros}")
 
-if(NOT ${CMAKE_VERSION} VERSION_LESS 2.8.7)
-    # Requires CMAKE_AUTOMOC function in CMake 2.8.7
-    expect_pass(pass1)
+if(NOT ${CMAKE_VERSION} VERSION_LESS 2.8.8)
+    # Requires INCLUDE_DIRECTORIES target property in CMake 2.8.8
+    expect_pass(test_use_modules_function)
 else()
-    message("CMake version older than 2.8.7 (Found ${CMAKE_VERSION}). Not running test \"pass1\"")
+    message("CMake version older than 2.8.8 (Found ${CMAKE_VERSION}). Not running test \"test_use_modules_function\"")
 endif()
-expect_pass(pass2)
-expect_pass(pass3)
-expect_fail(fail4)
-expect_fail(fail5)
-expect_pass("pass(needsquoting)6")
-expect_pass(pass7)
-expect_pass(pass8)
+expect_pass(test_wrap_cpp_and_resources)
+expect_pass(test_dependent_modules)
+expect_fail(test_add_resource_options)
+expect_fail(test_wrap_cpp_options)
+expect_pass("test(needsquoting)dirname")
+expect_pass(test_platform_defs_include)
+expect_pass(test_qtmainwin_library)
 
 # If QtDBus has been installed then run the tests for its macros.
 find_package(Qt5DBus QUIET)
 if (Qt5DBus_FOUND AND NOT APPLE)
-    expect_pass(pass9)
+    expect_pass(test_dbus_module)
+endif()
+expect_pass(test_multiple_find_package)
+if (NOT WIN32)
+    # Currently broken on windows. Reported upstream:
+    # http://public.kitware.com/Bug/view.php?id=13392
+    expect_pass(test_add_resources_delayed_file)
 endif()
+expect_pass(test_private_includes)
+expect_pass(test_modules)