qt5base-lts/tests/auto/cmake/pass1/CMakeLists.txt
Stephen Kelly 61c433785e Move the CMake unit tests to auto/
This will allow the CI system to run the tests. The tests are only
run if cmake is found.

Change-Id: Ie73a56114c151871160bafcbf0b90b2d54620855
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
Reviewed-by: Sergio Ahumada <sergio.ahumada@nokia.com>
2012-04-23 17:03:56 +02:00

52 lines
1.7 KiB
CMake

cmake_minimum_required(VERSION 2.8)
project(pass1)
set(CMAKE_AUTOMOC ON)
set(CMAKE_INCLUDE_CURRENT_DIR ON)
macro(qt5_use_package _target _package)
if (NOT Qt5${_package}_FOUND)
find_package(Qt5${_package} ${ARG1})
endif()
if (Qt5${_package}_FOUND)
# TODO: Handle public/private keywords?
target_link_libraries(${_target} ${Qt5${_package}_LIBRARIES})
# ### Requires CMake 2.8.8:
# set_property(TARGET ${_target} APPEND PROPERTY INCLUDE_DIRECTORIES ${Qt5${_package}_INCLUDE_DIRS})
include_directories(${Qt5${_package}_INCLUDE_DIRS})
set_property(TARGET ${_target} APPEND PROPERTY COMPILE_DEFINITIONS ${Qt5${_package}_COMPILE_DEFINITIONS})
# We can't just append to the COMPILE_FLAGS property. That creats a ';' separated list
# which breaks the compile commmand line.
# Ensure non-duplication here manually instead.
get_property(_taget_type TARGET ${_target} PROPERTY TYPE)
if ("${_taget_type}" STREQUAL "EXECUTABLE")
get_target_property(_flags ${_target} COMPILE_FLAGS)
if (_flags)
list(APPEND _flags ${Qt5${_package}_EXECUTABLE_COMPILE_FLAGS})
list(REMOVE_DUPLICATES _flags)
else()
set(_flags ${Qt5${_package}_EXECUTABLE_COMPILE_FLAGS})
endif()
if (_flags)
set_target_properties(${_target} PROPERTIES COMPILE_FLAGS ${_flags})
endif()
endif()
else()
message(FATAL_ERROR "NOT FOUND: Qt5${_package}")
endif()
endmacro()
add_executable(two two.cpp)
add_executable(three three.cpp)
qt5_use_package(two Core)
qt5_use_package(two Test)
qt5_use_package(three Widgets)
qt5_use_package(three Gui)
qt5_use_package(three Core)
qt5_use_package(three Test)