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 <rohan.mcgovern@nokia.com>
This commit is contained in:
Stephen Kelly 2012-07-10 17:56:54 +02:00 committed by Qt by Nokia
parent 27cefd85f3
commit 78203ccf80
3 changed files with 13 additions and 2 deletions

View File

@ -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)

View File

@ -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})

View File

@ -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})