diff options
author | Karsten Heimrich <karsten.heimrich@qt.io> | 2021-01-11 15:49:30 +0100 |
---|---|---|
committer | Karsten Heimrich <karsten.heimrich@qt.io> | 2021-01-15 12:34:22 +0100 |
commit | 66918b6492297e7750621d85d4372bf45e81a86d (patch) | |
tree | 161146a97b8863432ddedb629b700f479189d4c8 | |
parent | bb26d975c157a70d93e42ddd2748f81440186cf5 (diff) |
Qt6: Port module to cmake build system
Fixes: QTBUG-89767
Fixes: QTBUG-89878
Change-Id: I860ae7b9dbb0f79e9e952d594b9737d4c452579a
Reviewed-by: Andreas Buhr <andreas.buhr@qt.io>
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
39 files changed, 689 insertions, 125 deletions
diff --git a/.cmake.conf b/.cmake.conf new file mode 100644 index 00000000..93054804 --- /dev/null +++ b/.cmake.conf @@ -0,0 +1 @@ +set(QT_REPO_MODULE_VERSION "6.0.0") diff --git a/CMakeLists.txt b/CMakeLists.txt new file mode 100644 index 00000000..1b1c6763 --- /dev/null +++ b/CMakeLists.txt @@ -0,0 +1,36 @@ +cmake_minimum_required(VERSION 3.16) + +include(.cmake.conf) +project(QtSerialPort + VERSION "${QT_REPO_MODULE_VERSION}" + DESCRIPTION "Qt SerialPort Libraries" + HOMEPAGE_URL "https://qt.io/" + LANGUAGES CXX C +) + +set(QT_NO_INTERNAL_COMPATIBILITY_FUNCTIONS TRUE) + +find_package(Qt6 ${PROJECT_VERSION} CONFIG REQUIRED COMPONENTS BuildInternals Core) +find_package(Qt6 ${PROJECT_VERSION} CONFIG OPTIONAL_COMPONENTS Gui Widgets) + +if(INTEGRITY) + message(NOTICE "Skipping the build as the condition \"NOT INTEGRITY\" is not met.") + return() +endif() +if(VXWORKS) + message(NOTICE "Skipping the build as the condition \"NOT VXWORKS\" is not met.") + return() +endif() +if(WINRT) + message(NOTICE "Skipping the build as the condition \"NOT WINRT\" is not met.") + return() +endif() +if(UIKIT) + message(NOTICE "Skipping the build as the condition \"NOT UIKIT\" is not met.") + return() +endif() +if(EMSCRIPTEN) + message(NOTICE "Skipping the build as the condition \"NOT EMSCRIPTEN\" is not met.") + return() +endif() +qt_build_repo() diff --git a/coin/module_config.yaml b/coin/module_config.yaml new file mode 100644 index 00000000..16d158c6 --- /dev/null +++ b/coin/module_config.yaml @@ -0,0 +1,12 @@ +version: 2 +accept_configuration: + condition: property + property: features + not_contains_value: Disable + +instructions: + Build: + - !include "{{qt/qtbase}}/coin_module_build_template_v2.yaml" + + Test: + - !include "{{qt/qtbase}}/coin_module_test_template_v3.yaml" diff --git a/configure.cmake b/configure.cmake new file mode 100644 index 00000000..53e3f110 --- /dev/null +++ b/configure.cmake @@ -0,0 +1,21 @@ + + +#### Inputs + + + +#### Libraries + + + +#### Tests + + + +#### Features + + +qt_extra_definition("QT_VERSION_STR" "\"${PROJECT_VERSION}\"" PUBLIC) +qt_extra_definition("QT_VERSION_MAJOR" ${PROJECT_VERSION_MAJOR} PUBLIC) +qt_extra_definition("QT_VERSION_MINOR" ${PROJECT_VERSION_MINOR} PUBLIC) +qt_extra_definition("QT_VERSION_PATCH" ${PROJECT_VERSION_PATCH} PUBLIC) diff --git a/dependencies.yaml b/dependencies.yaml index 7fec97fa..adf5fbfd 100644 --- a/dependencies.yaml +++ b/dependencies.yaml @@ -1,4 +1,4 @@ dependencies: ../qtbase: - ref: 73f9c514dc01e26735b7162756ee6344ea9ac025 + ref: 1f53189c29f80c736877333631338670a06ac439 required: true diff --git a/examples/CMakeLists.txt b/examples/CMakeLists.txt new file mode 100644 index 00000000..7d8e3ea7 --- /dev/null +++ b/examples/CMakeLists.txt @@ -0,0 +1,7 @@ +qt_examples_build_begin() + +if(NOT QNX) + add_subdirectory(serialport) +endif() + +qt_examples_build_end() diff --git a/examples/serialport/CMakeLists.txt b/examples/serialport/CMakeLists.txt new file mode 100644 index 00000000..b75c32e2 --- /dev/null +++ b/examples/serialport/CMakeLists.txt @@ -0,0 +1,13 @@ +add_subdirectory(cenumerator) +add_subdirectory(creaderasync) +add_subdirectory(creadersync) +add_subdirectory(cwriterasync) +add_subdirectory(cwritersync) +if((((NOT QT.widgets.name_ISEMPTY)))) + add_subdirectory(enumerator) + add_subdirectory(terminal) + add_subdirectory(blockingmaster) + add_subdirectory(blockingslave) + add_subdirectory(master) + add_subdirectory(slave) +endif() diff --git a/examples/serialport/blockingmaster/CMakeLists.txt b/examples/serialport/blockingmaster/CMakeLists.txt new file mode 100644 index 00000000..4297345e --- /dev/null +++ b/examples/serialport/blockingmaster/CMakeLists.txt @@ -0,0 +1,41 @@ +cmake_minimum_required(VERSION 3.14) +project(blockingmaster LANGUAGES CXX) + +set(CMAKE_INCLUDE_CURRENT_DIR ON) + +set(CMAKE_AUTOMOC ON) +set(CMAKE_AUTORCC ON) +set(CMAKE_AUTOUIC ON) + +if(NOT DEFINED INSTALL_EXAMPLESDIR) + set(INSTALL_EXAMPLESDIR "examples") +endif() + +set(INSTALL_EXAMPLEDIR "${INSTALL_EXAMPLESDIR}/serialport/blockingmaster") + +find_package(Qt6 COMPONENTS Core) +find_package(Qt6 COMPONENTS Gui) +find_package(Qt6 COMPONENTS Widgets) +find_package(Qt6 COMPONENTS SerialPort) + +qt_add_executable(blockingmaster + dialog.cpp dialog.h + main.cpp + masterthread.cpp masterthread.h +) +set_target_properties(blockingmaster PROPERTIES + WIN32_EXECUTABLE TRUE + MACOSX_BUNDLE TRUE +) +target_link_libraries(blockingmaster PRIVATE + Qt::Core + Qt::Gui + Qt::SerialPort + Qt::Widgets +) + +install(TARGETS blockingmaster + RUNTIME DESTINATION "${INSTALL_EXAMPLEDIR}" + BUNDLE DESTINATION "${INSTALL_EXAMPLEDIR}" + LIBRARY DESTINATION "${INSTALL_EXAMPLEDIR}" +) diff --git a/examples/serialport/blockingslave/CMakeLists.txt b/examples/serialport/blockingslave/CMakeLists.txt new file mode 100644 index 00000000..274b6da5 --- /dev/null +++ b/examples/serialport/blockingslave/CMakeLists.txt @@ -0,0 +1,41 @@ +cmake_minimum_required(VERSION 3.14) +project(blockingslave LANGUAGES CXX) + +set(CMAKE_INCLUDE_CURRENT_DIR ON) + +set(CMAKE_AUTOMOC ON) +set(CMAKE_AUTORCC ON) +set(CMAKE_AUTOUIC ON) + +if(NOT DEFINED INSTALL_EXAMPLESDIR) + set(INSTALL_EXAMPLESDIR "examples") +endif() + +set(INSTALL_EXAMPLEDIR "${INSTALL_EXAMPLESDIR}/serialport/blockingslave") + +find_package(Qt6 COMPONENTS Core) +find_package(Qt6 COMPONENTS Gui) +find_package(Qt6 COMPONENTS Widgets) +find_package(Qt6 COMPONENTS SerialPort) + +qt_add_executable(blockingslave + dialog.cpp dialog.h + main.cpp + slavethread.cpp slavethread.h +) +set_target_properties(blockingslave PROPERTIES + WIN32_EXECUTABLE TRUE + MACOSX_BUNDLE TRUE +) +target_link_libraries(blockingslave PRIVATE + Qt::Core + Qt::Gui + Qt::SerialPort + Qt::Widgets +) + +install(TARGETS blockingslave + RUNTIME DESTINATION "${INSTALL_EXAMPLEDIR}" + BUNDLE DESTINATION "${INSTALL_EXAMPLEDIR}" + LIBRARY DESTINATION "${INSTALL_EXAMPLEDIR}" +) diff --git a/examples/serialport/cenumerator/CMakeLists.txt b/examples/serialport/cenumerator/CMakeLists.txt new file mode 100644 index 00000000..f4aa5a3e --- /dev/null +++ b/examples/serialport/cenumerator/CMakeLists.txt @@ -0,0 +1,35 @@ +cmake_minimum_required(VERSION 3.14) +project(cenumerator LANGUAGES CXX) + +set(CMAKE_INCLUDE_CURRENT_DIR ON) + +set(CMAKE_AUTOMOC ON) +set(CMAKE_AUTORCC ON) +set(CMAKE_AUTOUIC ON) + +if(NOT DEFINED INSTALL_EXAMPLESDIR) + set(INSTALL_EXAMPLESDIR "examples") +endif() + +set(INSTALL_EXAMPLEDIR "${INSTALL_EXAMPLESDIR}/serialport/cenumerator") + +find_package(Qt6 COMPONENTS Core) +find_package(Qt6 COMPONENTS SerialPort) + +qt_add_executable(cenumerator + main.cpp +) +set_target_properties(cenumerator PROPERTIES + WIN32_EXECUTABLE FALSE + MACOSX_BUNDLE FALSE +) +target_link_libraries(cenumerator PRIVATE + Qt::Core + Qt::SerialPort +) + +install(TARGETS cenumerator + RUNTIME DESTINATION "${INSTALL_EXAMPLEDIR}" + BUNDLE DESTINATION "${INSTALL_EXAMPLEDIR}" + LIBRARY DESTINATION "${INSTALL_EXAMPLEDIR}" +) diff --git a/examples/serialport/creaderasync/CMakeLists.txt b/examples/serialport/creaderasync/CMakeLists.txt new file mode 100644 index 00000000..e6159c90 --- /dev/null +++ b/examples/serialport/creaderasync/CMakeLists.txt @@ -0,0 +1,36 @@ +cmake_minimum_required(VERSION 3.14) +project(creaderasync LANGUAGES CXX) + +set(CMAKE_INCLUDE_CURRENT_DIR ON) + +set(CMAKE_AUTOMOC ON) +set(CMAKE_AUTORCC ON) +set(CMAKE_AUTOUIC ON) + +if(NOT DEFINED INSTALL_EXAMPLESDIR) + set(INSTALL_EXAMPLESDIR "examples") +endif() + +set(INSTALL_EXAMPLEDIR "${INSTALL_EXAMPLESDIR}/serialport/creaderasync") + +find_package(Qt6 COMPONENTS Core) +find_package(Qt6 COMPONENTS SerialPort) + +qt_add_executable(creaderasync + main.cpp + serialportreader.cpp serialportreader.h +) +set_target_properties(creaderasync PROPERTIES + WIN32_EXECUTABLE FALSE + MACOSX_BUNDLE FALSE +) +target_link_libraries(creaderasync PRIVATE + Qt::Core + Qt::SerialPort +) + +install(TARGETS creaderasync + RUNTIME DESTINATION "${INSTALL_EXAMPLEDIR}" + BUNDLE DESTINATION "${INSTALL_EXAMPLEDIR}" + LIBRARY DESTINATION "${INSTALL_EXAMPLEDIR}" +) diff --git a/examples/serialport/creadersync/CMakeLists.txt b/examples/serialport/creadersync/CMakeLists.txt new file mode 100644 index 00000000..8e449759 --- /dev/null +++ b/examples/serialport/creadersync/CMakeLists.txt @@ -0,0 +1,35 @@ +cmake_minimum_required(VERSION 3.14) +project(creadersync LANGUAGES CXX) + +set(CMAKE_INCLUDE_CURRENT_DIR ON) + +set(CMAKE_AUTOMOC ON) +set(CMAKE_AUTORCC ON) +set(CMAKE_AUTOUIC ON) + +if(NOT DEFINED INSTALL_EXAMPLESDIR) + set(INSTALL_EXAMPLESDIR "examples") +endif() + +set(INSTALL_EXAMPLEDIR "${INSTALL_EXAMPLESDIR}/serialport/creadersync") + +find_package(Qt6 COMPONENTS Core) +find_package(Qt6 COMPONENTS SerialPort) + +qt_add_executable(creadersync + main.cpp +) +set_target_properties(creadersync PROPERTIES + WIN32_EXECUTABLE FALSE + MACOSX_BUNDLE FALSE +) +target_link_libraries(creadersync PRIVATE + Qt::Core + Qt::SerialPort +) + +install(TARGETS creadersync + RUNTIME DESTINATION "${INSTALL_EXAMPLEDIR}" + BUNDLE DESTINATION "${INSTALL_EXAMPLEDIR}" + LIBRARY DESTINATION "${INSTALL_EXAMPLEDIR}" +) diff --git a/examples/serialport/cwriterasync/CMakeLists.txt b/examples/serialport/cwriterasync/CMakeLists.txt new file mode 100644 index 00000000..6fb467fd --- /dev/null +++ b/examples/serialport/cwriterasync/CMakeLists.txt @@ -0,0 +1,36 @@ +cmake_minimum_required(VERSION 3.14) +project(cwriterasync LANGUAGES CXX) + +set(CMAKE_INCLUDE_CURRENT_DIR ON) + +set(CMAKE_AUTOMOC ON) +set(CMAKE_AUTORCC ON) +set(CMAKE_AUTOUIC ON) + +if(NOT DEFINED INSTALL_EXAMPLESDIR) + set(INSTALL_EXAMPLESDIR "examples") +endif() + +set(INSTALL_EXAMPLEDIR "${INSTALL_EXAMPLESDIR}/serialport/cwriterasync") + +find_package(Qt6 COMPONENTS Core) +find_package(Qt6 COMPONENTS SerialPort) + +qt_add_executable(cwriterasync + main.cpp + serialportwriter.cpp serialportwriter.h +) +set_target_properties(cwriterasync PROPERTIES + WIN32_EXECUTABLE FALSE + MACOSX_BUNDLE FALSE +) +target_link_libraries(cwriterasync PRIVATE + Qt::Core + Qt::SerialPort +) + +install(TARGETS cwriterasync + RUNTIME DESTINATION "${INSTALL_EXAMPLEDIR}" + BUNDLE DESTINATION "${INSTALL_EXAMPLEDIR}" + LIBRARY DESTINATION "${INSTALL_EXAMPLEDIR}" +) diff --git a/examples/serialport/cwritersync/CMakeLists.txt b/examples/serialport/cwritersync/CMakeLists.txt new file mode 100644 index 00000000..a78140cb --- /dev/null +++ b/examples/serialport/cwritersync/CMakeLists.txt @@ -0,0 +1,35 @@ +cmake_minimum_required(VERSION 3.14) +project(cwritersync LANGUAGES CXX) + +set(CMAKE_INCLUDE_CURRENT_DIR ON) + +set(CMAKE_AUTOMOC ON) +set(CMAKE_AUTORCC ON) +set(CMAKE_AUTOUIC ON) + +if(NOT DEFINED INSTALL_EXAMPLESDIR) + set(INSTALL_EXAMPLESDIR "examples") +endif() + +set(INSTALL_EXAMPLEDIR "${INSTALL_EXAMPLESDIR}/serialport/cwritersync") + +find_package(Qt6 COMPONENTS Core) +find_package(Qt6 COMPONENTS SerialPort) + +qt_add_executable(cwritersync + main.cpp +) +set_target_properties(cwritersync PROPERTIES + WIN32_EXECUTABLE FALSE + MACOSX_BUNDLE FALSE +) +target_link_libraries(cwritersync PRIVATE + Qt::Core + Qt::SerialPort +) + +install(TARGETS cwritersync + RUNTIME DESTINATION "${INSTALL_EXAMPLEDIR}" + BUNDLE DESTINATION "${INSTALL_EXAMPLEDIR}" + LIBRARY DESTINATION "${INSTALL_EXAMPLEDIR}" +) diff --git a/examples/serialport/enumerator/CMakeLists.txt b/examples/serialport/enumerator/CMakeLists.txt new file mode 100644 index 00000000..9888b5ab --- /dev/null +++ b/examples/serialport/enumerator/CMakeLists.txt @@ -0,0 +1,39 @@ +cmake_minimum_required(VERSION 3.14) +project(enumerator LANGUAGES CXX) + +set(CMAKE_INCLUDE_CURRENT_DIR ON) + +set(CMAKE_AUTOMOC ON) +set(CMAKE_AUTORCC ON) +set(CMAKE_AUTOUIC ON) + +if(NOT DEFINED INSTALL_EXAMPLESDIR) + set(INSTALL_EXAMPLESDIR "examples") +endif() + +set(INSTALL_EXAMPLEDIR "${INSTALL_EXAMPLESDIR}/serialport/enumerator") + +find_package(Qt6 COMPONENTS Core) +find_package(Qt6 COMPONENTS Gui) +find_package(Qt6 COMPONENTS Widgets) +find_package(Qt6 COMPONENTS SerialPort) + +qt_add_executable(enumerator + main.cpp +) +set_target_properties(enumerator PROPERTIES + WIN32_EXECUTABLE TRUE + MACOSX_BUNDLE TRUE +) +target_link_libraries(enumerator PRIVATE + Qt::Core + Qt::Gui + Qt::SerialPort + Qt::Widgets +) + +install(TARGETS enumerator + RUNTIME DESTINATION "${INSTALL_EXAMPLEDIR}" + BUNDLE DESTINATION "${INSTALL_EXAMPLEDIR}" + LIBRARY DESTINATION "${INSTALL_EXAMPLEDIR}" +) diff --git a/examples/serialport/master/CMakeLists.txt b/examples/serialport/master/CMakeLists.txt new file mode 100644 index 00000000..536a07e7 --- /dev/null +++ b/examples/serialport/master/CMakeLists.txt @@ -0,0 +1,40 @@ +cmake_minimum_required(VERSION 3.14) +project(master LANGUAGES CXX) + +set(CMAKE_INCLUDE_CURRENT_DIR ON) + +set(CMAKE_AUTOMOC ON) +set(CMAKE_AUTORCC ON) +set(CMAKE_AUTOUIC ON) + +if(NOT DEFINED INSTALL_EXAMPLESDIR) + set(INSTALL_EXAMPLESDIR "examples") +endif() + +set(INSTALL_EXAMPLEDIR "${INSTALL_EXAMPLESDIR}/serialport/master") + +find_package(Qt6 COMPONENTS Core) +find_package(Qt6 COMPONENTS Gui) +find_package(Qt6 COMPONENTS Widgets) +find_package(Qt6 COMPONENTS SerialPort) + +qt_add_executable(master + dialog.cpp dialog.h + main.cpp +) +set_target_properties(master PROPERTIES + WIN32_EXECUTABLE TRUE + MACOSX_BUNDLE TRUE +) +target_link_libraries(master PRIVATE + Qt::Core + Qt::Gui + Qt::SerialPort + Qt::Widgets +) + +install(TARGETS master + RUNTIME DESTINATION "${INSTALL_EXAMPLEDIR}" + BUNDLE DESTINATION "${INSTALL_EXAMPLEDIR}" + LIBRARY DESTINATION "${INSTALL_EXAMPLEDIR}" +) diff --git a/examples/serialport/slave/CMakeLists.txt b/examples/serialport/slave/CMakeLists.txt new file mode 100644 index 00000000..187c9eb3 --- /dev/null +++ b/examples/serialport/slave/CMakeLists.txt @@ -0,0 +1,40 @@ +cmake_minimum_required(VERSION 3.14) +project(slave LANGUAGES CXX) + +set(CMAKE_INCLUDE_CURRENT_DIR ON) + +set(CMAKE_AUTOMOC ON) +set(CMAKE_AUTORCC ON) +set(CMAKE_AUTOUIC ON) + +if(NOT DEFINED INSTALL_EXAMPLESDIR) + set(INSTALL_EXAMPLESDIR "examples") +endif() + +set(INSTALL_EXAMPLEDIR "${INSTALL_EXAMPLESDIR}/serialport/slave") + +find_package(Qt6 COMPONENTS Core) +find_package(Qt6 COMPONENTS Gui) +find_package(Qt6 COMPONENTS Widgets) +find_package(Qt6 COMPONENTS SerialPort) + +qt_add_executable(slave + dialog.cpp dialog.h + main.cpp +) +set_target_properties(slave PROPERTIES + WIN32_EXECUTABLE TRUE + MACOSX_BUNDLE TRUE +) +target_link_libraries(slave PRIVATE + Qt::Core + Qt::Gui + Qt::SerialPort + Qt::Widgets +) + +install(TARGETS slave + RUNTIME DESTINATION "${INSTALL_EXAMPLEDIR}" + BUNDLE DESTINATION "${INSTALL_EXAMPLEDIR}" + LIBRARY DESTINATION "${INSTALL_EXAMPLEDIR}" +) diff --git a/examples/serialport/terminal/CMakeLists.txt b/examples/serialport/terminal/CMakeLists.txt new file mode 100644 index 00000000..75e44bd1 --- /dev/null +++ b/examples/serialport/terminal/CMakeLists.txt @@ -0,0 +1,59 @@ +cmake_minimum_required(VERSION 3.14) +project(terminal LANGUAGES CXX) + +set(CMAKE_INCLUDE_CURRENT_DIR ON) + +set(CMAKE_AUTOMOC ON) +set(CMAKE_AUTORCC ON) +set(CMAKE_AUTOUIC ON) + +if(NOT DEFINED INSTALL_EXAMPLESDIR) + set(INSTALL_EXAMPLESDIR "examples") +endif() + +set(INSTALL_EXAMPLEDIR "${INSTALL_EXAMPLESDIR}/serialport/terminal") + +find_package(Qt6 COMPONENTS Core) +find_package(Qt6 COMPONENTS Gui) +find_package(Qt6 COMPONENTS Widgets) +find_package(Qt6 COMPONENTS SerialPort) + +qt_add_executable(terminal + console.cpp console.h + main.cpp + mainwindow.cpp mainwindow.h mainwindow.ui + settingsdialog.cpp settingsdialog.h settingsdialog.ui +) +set_target_properties(terminal PROPERTIES + WIN32_EXECUTABLE TRUE + MACOSX_BUNDLE TRUE +) +target_link_libraries(terminal PRIVATE + Qt::Core + Qt::Gui + Qt::SerialPort + Qt::Widgets +) + + +# Resources: +set(terminal_resource_files + "images/application-exit.png" + "images/clear.png" + "images/connect.png" + "images/disconnect.png" + "images/settings.png" +) + +qt6_add_resources(terminal "terminal" + PREFIX + "/" + FILES + ${terminal_resource_files} +) + +install(TARGETS terminal + RUNTIME DESTINATION "${INSTALL_EXAMPLEDIR}" + BUNDLE DESTINATION "${INSTALL_EXAMPLEDIR}" + LIBRARY DESTINATION "${INSTALL_EXAMPLEDIR}" +) diff --git a/qt_cmdline.cmake b/qt_cmdline.cmake new file mode 100644 index 00000000..e58ed67d --- /dev/null +++ b/qt_cmdline.cmake @@ -0,0 +1 @@ +qt_commandline_subconfig(src/serialport) diff --git a/qtserialport.pro b/qtserialport.pro deleted file mode 100644 index 5b7cd414..00000000 --- a/qtserialport.pro +++ /dev/null @@ -1,15 +0,0 @@ -lessThan(QT_MAJOR_VERSION, 5) { - message("Cannot build current QtSerialPort sources with Qt version $${QT_VERSION}.") - error("Use at least Qt 5.0.0 or try to download QtSerialPort for Qt4.") -} - -requires(!integrity) -requires(!vxworks) -requires(!winrt) -requires(!uikit) -requires(!emscripten) - -load(configure) -qtCompileTest(ntddmodm) - -load(qt_parts) diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt new file mode 100644 index 00000000..ebdbadf0 --- /dev/null +++ b/src/CMakeLists.txt @@ -0,0 +1 @@ +add_subdirectory(serialport) diff --git a/src/serialport/CMakeLists.txt b/src/serialport/CMakeLists.txt new file mode 100644 index 00000000..35810e0b --- /dev/null +++ b/src/serialport/CMakeLists.txt @@ -0,0 +1,72 @@ +##################################################################### +## SerialPort Module: +##################################################################### +qt_find_package(Libudev) + +qt_internal_add_module(SerialPort + SOURCES + qserialport.cpp qserialport.h qserialport_p.h + qserialportglobal.h + qserialportinfo.cpp qserialportinfo.h qserialportinfo_p.h + INCLUDE_DIRECTORIES + ${CMAKE_CURRENT_SOURCE_DIR} + LIBRARIES + Qt::CorePrivate + PUBLIC_LIBRARIES + Qt::Core + PRIVATE_MODULE_INTERFACE + Qt::CorePrivate +) + +## Scopes: +##################################################################### + +qt_internal_extend_target(SerialPort CONDITION config_ntddmodm + DEFINES + QT_NO_REDEFINE_GUID_DEVINTERFACE_MODEM +) + +qt_internal_extend_target(SerialPort CONDITION QT_FEATURE_libudev AND UNIX + DEFINES + LINK_LIBUDEV + LIBRARIES + PkgConfig::Libudev +) + +qt_internal_extend_target(SerialPort CONDITION WIN32 + SOURCES + qserialport_win.cpp + qserialportinfo_win.cpp + qtntdll_p.h + LIBRARIES + advapi32 + setupapi +) + +qt_internal_extend_target(SerialPort CONDITION UNIX + SOURCES + qserialport_unix.cpp +) + +qt_internal_extend_target(SerialPort CONDITION MACOS + SOURCES + qserialportinfo_osx.cpp + LIBRARIES + ${FWCoreFoundation} + ${FWIOKit} +) + +qt_internal_extend_target(SerialPort CONDITION FREEBSD + SOURCES + qserialportinfo_freebsd.cpp +) + +qt_internal_extend_target(SerialPort CONDITION UNIX AND NOT FREEBSD AND NOT MACOS + SOURCES + qserialportinfo_unix.cpp +) + +qt_internal_add_docs(SerialPort + doc/qtserialport.qdocconf +) + diff --git a/src/serialport/configure.cmake b/src/serialport/configure.cmake new file mode 100644 index 00000000..a9ce0492 --- /dev/null +++ b/src/serialport/configure.cmake @@ -0,0 +1,43 @@ + + +#### Inputs + + + +#### Libraries + + + +#### Tests + +# ntddmodm +qt_config_compile_test(ntddmodm + LABEL "ntddmodm" + CODE +" +#include <windows.h> +#include <ntddmodm.h> + +int main(int argc, char **argv) +{ + (void)argc; (void)argv; + /* BEGIN TEST: */ +GUID guid = GUID_DEVINTERFACE_MODEM; + /* END TEST: */ + return 0; +} +") + + + +#### Features + +qt_feature("ntddmodm" PRIVATE + LABEL "ntddmodm" + CONDITION TEST_ntddmodm + DISABLE INPUT_ntddmodm STREQUAL 'no' +) +qt_feature_definition("ntddmodm" "QT_NO_REDEFINE_GUID_DEVINTERFACE_MODEM" NEGATE) +qt_configure_add_summary_section(NAME "Serial Port") +qt_configure_add_summary_entry(ARGS "ntddmodm") +qt_configure_end_summary_section() # end of "Serial Port" section diff --git a/src/serialport/qt_cmdline.cmake b/src/serialport/qt_cmdline.cmake new file mode 100644 index 00000000..e69de29b --- /dev/null +++ b/src/serialport/qt_cmdline.cmake diff --git a/src/serialport/serialport-lib.pri b/src/serialport/serialport-lib.pri deleted file mode 100644 index b9b3c83b..00000000 --- a/src/serialport/serialport-lib.pri +++ /dev/null @@ -1,51 +0,0 @@ -INCLUDEPATH += $$PWD - -unix:qtConfig(libudev) { - DEFINES += LINK_LIBUDEV - INCLUDEPATH += $$QMAKE_INCDIR_LIBUDEV - LIBS_PRIVATE += $$QMAKE_LIBS_LIBUDEV -} - -PUBLIC_HEADERS += \ - $$PWD/qserialportglobal.h \ - $$PWD/qserialport.h \ - $$PWD/qserialportinfo.h - -PRIVATE_HEADERS += \ - $$PWD/qserialport_p.h \ - $$PWD/qserialportinfo_p.h - -SOURCES += \ - $$PWD/qserialport.cpp \ - $$PWD/qserialportinfo.cpp - -win32 { - SOURCES += \ - $$PWD/qserialport_win.cpp \ - $$PWD/qserialportinfo_win.cpp \ - - PRIVATE_HEADERS += \ - $$PWD/qtntdll_p.h - - LIBS_PRIVATE += -lsetupapi -ladvapi32 -} - -unix { - SOURCES += \ - $$PWD/qserialport_unix.cpp - - osx { - SOURCES += \ - $$PWD/qserialportinfo_osx.cpp - - LIBS_PRIVATE += -framework IOKit -framework CoreFoundation - } else:freebsd { - SOURCES += \ - $$PWD/qserialportinfo_freebsd.cpp - } else { - SOURCES += \ - $$PWD/qserialportinfo_unix.cpp - } -} - -HEADERS += $$PUBLIC_HEADERS $$PRIVATE_HEADERS diff --git a/src/serialport/serialport.pro b/src/serialport/serialport.pro deleted file mode 100644 index 194958a3..00000000 --- a/src/serialport/serialport.pro +++ /dev/null @@ -1,12 +0,0 @@ -TARGET = QtSerialPort -QT = core-private - -QMAKE_DOCS = $$PWD/doc/qtserialport.qdocconf - -config_ntddmodm: DEFINES += QT_NO_REDEFINE_GUID_DEVINTERFACE_MODEM - -include($$PWD/serialport-lib.pri) - -load(qt_module) - -PRECOMPILED_HEADER = diff --git a/src/src.pro b/src/src.pro deleted file mode 100644 index 1426d64e..00000000 --- a/src/src.pro +++ /dev/null @@ -1,3 +0,0 @@ -TEMPLATE = subdirs - -SUBDIRS = serialport diff --git a/tests/CMakeLists.txt b/tests/CMakeLists.txt new file mode 100644 index 00000000..2e6270ae --- /dev/null +++ b/tests/CMakeLists.txt @@ -0,0 +1,5 @@ +if(QT_BUILD_STANDALONE_TESTS) + # Add qt_find_package calls for extra dependencies that need to be found when building + # the standalone tests here. +endif() +qt_build_tests() diff --git a/tests/auto/CMakeLists.txt b/tests/auto/CMakeLists.txt new file mode 100644 index 00000000..97f8f2a2 --- /dev/null +++ b/tests/auto/CMakeLists.txt @@ -0,0 +1,6 @@ +add_subdirectory(qserialport) +add_subdirectory(qserialportinfo) +add_subdirectory(cmake) +if(QT_FEATURE_private_tests) + add_subdirectory(qserialportinfoprivate) +endif() diff --git a/tests/auto/auto.pro b/tests/auto/auto.pro deleted file mode 100644 index 6c0bcec0..00000000 --- a/tests/auto/auto.pro +++ /dev/null @@ -1,5 +0,0 @@ -TEMPLATE = subdirs -SUBDIRS += qserialport qserialportinfo qserialportinfoprivate cmake - -!qtConfig(private_tests): SUBDIRS -= \ - qserialportinfoprivate diff --git a/tests/auto/cmake/CMakeLists.txt b/tests/auto/cmake/CMakeLists.txt index 597f0d37..8b137891 100644 --- a/tests/auto/cmake/CMakeLists.txt +++ b/tests/auto/cmake/CMakeLists.txt @@ -1,14 +1 @@ -cmake_minimum_required(VERSION 2.8) - -project(qmake_cmake_files) - -enable_testing() - -find_package(Qt5Core REQUIRED) - -include("${_Qt5CTestMacros}") - -test_module_includes( - SerialPort QSerialPort -) diff --git a/tests/auto/cmake/cmake.pro b/tests/auto/cmake/cmake.pro deleted file mode 100644 index 65964972..00000000 --- a/tests/auto/cmake/cmake.pro +++ /dev/null @@ -1,7 +0,0 @@ - -# Cause make to do nothing. -TEMPLATE = subdirs - -CMAKE_QT_MODULES_UNDER_TEST = serialport - -CONFIG += ctest_testcase diff --git a/tests/auto/qserialport/CMakeLists.txt b/tests/auto/qserialport/CMakeLists.txt new file mode 100644 index 00000000..90438899 --- /dev/null +++ b/tests/auto/qserialport/CMakeLists.txt @@ -0,0 +1,11 @@ +##################################################################### +## tst_qserialport Binary: +##################################################################### + +qt_internal_add_test(tst_qserialport + SOURCES + tst_qserialport.cpp + PUBLIC_LIBRARIES + Qt::SerialPort + Qt::Test +) diff --git a/tests/auto/qserialport/qserialport.pro b/tests/auto/qserialport/qserialport.pro deleted file mode 100644 index 5435fa39..00000000 --- a/tests/auto/qserialport/qserialport.pro +++ /dev/null @@ -1,7 +0,0 @@ -QT = core testlib -TARGET = tst_qserialport -#CONFIG += testcase - -QT += serialport - -SOURCES = tst_qserialport.cpp diff --git a/tests/auto/qserialportinfo/CMakeLists.txt b/tests/auto/qserialportinfo/CMakeLists.txt new file mode 100644 index 00000000..4ae3910e --- /dev/null +++ b/tests/auto/qserialportinfo/CMakeLists.txt @@ -0,0 +1,11 @@ +##################################################################### +## tst_qserialportinfo Binary: +##################################################################### + +qt_internal_add_test(tst_qserialportinfo + SOURCES + tst_qserialportinfo.cpp + PUBLIC_LIBRARIES + Qt::SerialPort + Qt::Test +) diff --git a/tests/auto/qserialportinfo/qserialportinfo.pro b/tests/auto/qserialportinfo/qserialportinfo.pro deleted file mode 100644 index 0cf4c1d5..00000000 --- a/tests/auto/qserialportinfo/qserialportinfo.pro +++ /dev/null @@ -1,5 +0,0 @@ -QT = core testlib serialport -TARGET = tst_qserialportinfo -#CONFIG += testcase - -SOURCES = tst_qserialportinfo.cpp diff --git a/tests/auto/qserialportinfoprivate/CMakeLists.txt b/tests/auto/qserialportinfoprivate/CMakeLists.txt new file mode 100644 index 00000000..20e45a97 --- /dev/null +++ b/tests/auto/qserialportinfoprivate/CMakeLists.txt @@ -0,0 +1,11 @@ +##################################################################### +## tst_qserialportinfoprivate Binary: +##################################################################### + +qt_internal_add_test(tst_qserialportinfoprivate + SOURCES + tst_qserialportinfoprivate.cpp + PUBLIC_LIBRARIES + Qt::SerialPortPrivate + Qt::Test +) diff --git a/tests/auto/qserialportinfoprivate/qserialportinfoprivate.pro b/tests/auto/qserialportinfoprivate/qserialportinfoprivate.pro deleted file mode 100644 index f479a298..00000000 --- a/tests/auto/qserialportinfoprivate/qserialportinfoprivate.pro +++ /dev/null @@ -1,4 +0,0 @@ -QT = core testlib serialport-private -TARGET = tst_qserialportinfoprivate -#CONFIG += testcase -SOURCES = tst_qserialportinfoprivate.cpp diff --git a/tests/tests.pro b/tests/tests.pro deleted file mode 100644 index 157ef345..00000000 --- a/tests/tests.pro +++ /dev/null @@ -1,2 +0,0 @@ -TEMPLATE = subdirs -SUBDIRS += auto |