Merge topic 'Automoc-Qt4-Qt5'

6489015 Remove an endif() followed by an if() for the same condition.
e7813b1 Add a test for Qt5Automoc
27fb96b Make the QtAutomoc test compile with either Qt 4 or Qt 5
This commit is contained in:
Brad King 2013-05-21 15:12:35 -04:00 committed by CMake Topic Stage
commit 80f30aa6bf
5 changed files with 55 additions and 15 deletions

View File

@ -1003,21 +1003,35 @@ ${CMake_BINARY_DIR}/bin/cmake -DVERSION=master -P ${CMake_SOURCE_DIR}/Utilities/
)
list(APPEND TEST_BUILD_DIRS "${CMake_BINARY_DIR}/Tests/QtAutomocNoQt")
if(QT4_WORKS AND QT_QTGUI_FOUND)
add_test(QtAutomoc ${CMAKE_CTEST_COMMAND}
find_package(Qt5Widgets QUIET NO_MODULE)
if(Qt5Widgets_FOUND)
add_test(Qt5Automoc ${CMAKE_CTEST_COMMAND}
--build-and-test
"${CMake_SOURCE_DIR}/Tests/QtAutomoc"
"${CMake_BINARY_DIR}/Tests/QtAutomoc"
"${CMake_BINARY_DIR}/Tests/Qt5Automoc"
${build_generator_args}
--build-project QtAutomoc
--build-exe-dir "${CMake_BINARY_DIR}/Tests/QtAutomoc"
--build-exe-dir "${CMake_BINARY_DIR}/Tests/Qt5Automoc"
--force-new-ctest-process
--build-options -DQT_QMAKE_EXECUTABLE:FILEPATH=${QT_QMAKE_EXECUTABLE}
--build-options -DQT_QMAKE_EXECUTABLE:FILEPATH=${QT_QMAKE_EXECUTABLE} -DQT_TEST_VERSION=5
--test-command ${CMAKE_CTEST_COMMAND} -V
)
list(APPEND TEST_BUILD_DIRS "${CMake_BINARY_DIR}/Tests/QtAutomoc")
list(APPEND TEST_BUILD_DIRS "${CMake_BINARY_DIR}/Tests/Qt5Automoc")
endif()
if(QT4_WORKS AND QT_QTGUI_FOUND)
add_test(Qt4Automoc ${CMAKE_CTEST_COMMAND}
--build-and-test
"${CMake_SOURCE_DIR}/Tests/QtAutomoc"
"${CMake_BINARY_DIR}/Tests/Qt4Automoc"
${build_generator_args}
--build-project QtAutomoc
--build-exe-dir "${CMake_BINARY_DIR}/Tests/Qt4Automoc"
--force-new-ctest-process
--build-options -DQT_QMAKE_EXECUTABLE:FILEPATH=${QT_QMAKE_EXECUTABLE} -DQT_TEST_VERSION=4
--test-command ${CMAKE_CTEST_COMMAND} -V
)
list(APPEND TEST_BUILD_DIRS "${CMake_BINARY_DIR}/Tests/Qt4Automoc")
add_test(Qt4Targets ${CMAKE_CTEST_COMMAND}
--build-and-test
"${CMake_SOURCE_DIR}/Tests/Qt4Targets"

View File

@ -4,5 +4,5 @@ set(CMAKE_AUTOMOC ON)
set(CMAKE_INCLUDE_CURRENT_DIR_IN_INTERFACE ON)
add_library(libA SHARED libA.cpp)
target_link_libraries(libA LINK_PUBLIC Qt4::QtCore)
target_link_libraries(libA LINK_PUBLIC ${QT_QTCORE_TARGET})
generate_export_header(libA)

View File

@ -2,9 +2,28 @@ cmake_minimum_required(VERSION 2.8)
project(QtAutomoc)
find_package(Qt4 REQUIRED)
if (QT_TEST_VERSION STREQUAL 4)
find_package(Qt4 REQUIRED)
include(UseQt4)
set(QT_QTCORE_TARGET Qt4::QtCore)
else()
if (NOT QT_TEST_VERSION STREQUAL 5)
message(SEND_ERROR "Invalid Qt version specified.")
endif()
find_package(Qt5Widgets REQUIRED)
set(QT_QTCORE_TARGET Qt5::Core)
include_directories(${Qt5Widgets_INCLUDE_DIRS})
set(QT_LIBRARIES Qt5::Widgets)
if(Qt5_POSITION_INDEPENDENT_CODE)
set(CMAKE_POSITION_INDEPENDENT_CODE ON)
endif()
endif()
include(UseQt4)
include_directories(${CMAKE_CURRENT_BINARY_DIR})

View File

@ -38,7 +38,14 @@
**
****************************************************************************/
#include <QtGui>
#include <QComboBox>
#include <QGridLayout>
#include <QLabel>
#include <QGroupBox>
#include <QCheckBox>
#include <QDateEdit>
#include <QCalendarWidget>
#include <QTextCharFormat>
#include "calwidget.h"
@ -414,10 +421,10 @@
QComboBox *Window::createColorComboBox()
{
QComboBox *comboBox = new QComboBox;
comboBox->addItem(tr("Red"), Qt::red);
comboBox->addItem(tr("Blue"), Qt::blue);
comboBox->addItem(tr("Black"), Qt::black);
comboBox->addItem(tr("Magenta"), Qt::magenta);
comboBox->addItem(tr("Red"), QColor(Qt::red));
comboBox->addItem(tr("Blue"), QColor(Qt::blue));
comboBox->addItem(tr("Black"), QColor(Qt::black));
comboBox->addItem(tr("Magenta"), QColor(Qt::magenta));
return comboBox;
}

View File

@ -38,7 +38,7 @@
**
****************************************************************************/
#include <QtGui>
#include <QApplication>
#include "codeeditor.h"
#include "calwidget.h"