From: Stephen Kelly Date: Tue, 10 Jul 2012 15:56:54 +0000 (+0200) Subject: Fix unit tests when CMAKE_PREFIX_PATH env var is not set. X-Git-Tag: v5.0.0-beta1~869 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=78203ccf8047151fd12a39816b2e15e210414388;p=profile%2Fivi%2Fqtbase.git Fix unit tests when CMAKE_PREFIX_PATH env var is not set. Tests which are expected to not build need to get a way to find the Qt 5 config packages. Because they use try_compile, there is no way to pass the contents to it. Work around that by generating a file containing the prefix which the tests will include. Change-Id: If43080c241539e4af5fe1c183e7da72066278b73 Reviewed-by: Rohan McGovern --- diff --git a/src/corelib/Qt5CTestMacros.cmake b/src/corelib/Qt5CTestMacros.cmake index a6d8adf..468c42e 100644 --- a/src/corelib/Qt5CTestMacros.cmake +++ b/src/corelib/Qt5CTestMacros.cmake @@ -17,6 +17,9 @@ macro(expect_fail _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}/${_dir}/FindPackageHints.cmake" "set(Qt5Tests_PREFIX_PATH \"${CMAKE_PREFIX_PATH}\")") + file(WRITE "${CMAKE_CURRENT_BINARY_DIR}/failbuild/${_dir}/CMakeLists.txt" " cmake_minimum_required(VERSION 2.8) diff --git a/tests/auto/cmake/test_add_resource_options/CMakeLists.txt b/tests/auto/cmake/test_add_resource_options/CMakeLists.txt index e79b954..a358094 100644 --- a/tests/auto/cmake/test_add_resource_options/CMakeLists.txt +++ b/tests/auto/cmake/test_add_resource_options/CMakeLists.txt @@ -3,7 +3,11 @@ cmake_minimum_required(VERSION 2.8) project(test_add_resource_options) -find_package(Qt5Core REQUIRED) +if (EXISTS "${CMAKE_CURRENT_LIST_DIR}/FindPackageHints.cmake") + include("${CMAKE_CURRENT_LIST_DIR}/FindPackageHints.cmake") +endif() + +find_package(Qt5Core REQUIRED HINTS ${Qt5Tests_PREFIX_PATH}) include_directories(${Qt5Core_INCLUDE_DIRS}) diff --git a/tests/auto/cmake/test_wrap_cpp_options/CMakeLists.txt b/tests/auto/cmake/test_wrap_cpp_options/CMakeLists.txt index a7a2c0e..0704edb 100644 --- a/tests/auto/cmake/test_wrap_cpp_options/CMakeLists.txt +++ b/tests/auto/cmake/test_wrap_cpp_options/CMakeLists.txt @@ -3,7 +3,11 @@ cmake_minimum_required(VERSION 2.8) project(test_wrap_cpp_options) -find_package(Qt5Core REQUIRED) +if (EXISTS "${CMAKE_CURRENT_LIST_DIR}/FindPackageHints.cmake") + include("${CMAKE_CURRENT_LIST_DIR}/FindPackageHints.cmake") +endif() + +find_package(Qt5Core REQUIRED HINTS ${Qt5Tests_PREFIX_PATH}) include_directories(${Qt5Core_INCLUDE_DIRS})