diff options
author | Michal Klocek <michal.klocek@qt.io> | 2021-02-10 17:03:01 +0100 |
---|---|---|
committer | Michal Klocek <michal.klocek@qt.io> | 2021-05-22 14:10:08 +0200 |
commit | dd523573f2981cc58d4da0ec6e2b061a6172a8eb (patch) | |
tree | 77f190fbe00e111362711ce14be00117a3cb7a91 /examples/webengine | |
parent | e1e6e4c90071a7e4e7a12b9f529ca1da6d71e0c1 (diff) |
Add examples to the cmake build
Add only quick and widget examples to the build for now.
Update examples qmake files so the ci can also build qmake
examples after the cmake bulid.
Note this patch breakes qmake builds.
Task-number: QTBUG-91760
Change-Id: Ia867a49bc3deab1967bdedcf525ad4afe3967c2a
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
Diffstat (limited to 'examples/webengine')
-rw-r--r-- | examples/webengine/CMakeLists.txt | 8 | ||||
-rw-r--r-- | examples/webengine/customdialogs/CMakeLists.txt | 76 | ||||
-rw-r--r-- | examples/webengine/lifecycle/CMakeLists.txt | 58 | ||||
-rw-r--r-- | examples/webengine/minimal/CMakeLists.txt | 50 | ||||
-rw-r--r-- | examples/webengine/quicknanobrowser/CMakeLists.txt | 91 | ||||
-rw-r--r-- | examples/webengine/recipebrowser/CMakeLists.txt | 143 | ||||
-rw-r--r-- | examples/webengine/webengineaction/CMakeLists.txt | 50 |
7 files changed, 476 insertions, 0 deletions
diff --git a/examples/webengine/CMakeLists.txt b/examples/webengine/CMakeLists.txt new file mode 100644 index 000000000..6e306111e --- /dev/null +++ b/examples/webengine/CMakeLists.txt @@ -0,0 +1,8 @@ +add_subdirectory(customdialogs) +add_subdirectory(minimal) +add_subdirectory(quicknanobrowser) +add_subdirectory(webengineaction) +if(TARGET Qt::QuickControls2) + add_subdirectory(lifecycle) + add_subdirectory(recipebrowser) +endif() diff --git a/examples/webengine/customdialogs/CMakeLists.txt b/examples/webengine/customdialogs/CMakeLists.txt new file mode 100644 index 000000000..d6d69548f --- /dev/null +++ b/examples/webengine/customdialogs/CMakeLists.txt @@ -0,0 +1,76 @@ +cmake_minimum_required(VERSION 3.18) +project(customdialogs 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}/webengine/customdialogs") + +find_package(Qt6 COMPONENTS Core) +find_package(Qt6 COMPONENTS Gui) +find_package(Qt6 COMPONENTS WebEngineQuick) + +qt_add_executable(customdialogs + main.cpp + server.cpp server.h +) +set_target_properties(customdialogs PROPERTIES + WIN32_EXECUTABLE TRUE + MACOSX_BUNDLE TRUE +) +target_link_libraries(customdialogs PUBLIC + Qt::Core + Qt::Gui + Qt::WebEngineQuick +) + + +# Resources: +set(customdialogs_resource_files + "MessageRectangle.qml" + "SwitchButton.qml" + "WebView.qml" + "forms/Authentication.qml" + "forms/AuthenticationForm.ui.qml" + "forms/Button.qml" + "forms/ColorCell.qml" + "forms/ColorPicker.qml" + "forms/ColorPickerForm.ui.qml" + "forms/FilePicker.qml" + "forms/FilePickerForm.ui.qml" + "forms/FileRow.qml" + "forms/JavaScript.qml" + "forms/JavaScriptForm.ui.qml" + "forms/Menu.qml" + "forms/MenuForm.ui.qml" + "icon.svg" + "index.html" + "main.qml" + "style.css" +) + +qt6_add_resources(customdialogs "customdialogs" + PREFIX + "/" + FILES + ${customdialogs_resource_files} +) + +if(TARGET Qt::Widgets) + target_link_libraries(customdialogs PUBLIC + Qt::Widgets + ) +endif() + +install(TARGETS customdialogs + RUNTIME DESTINATION "${INSTALL_EXAMPLEDIR}" + BUNDLE DESTINATION "${INSTALL_EXAMPLEDIR}" + LIBRARY DESTINATION "${INSTALL_EXAMPLEDIR}" +) diff --git a/examples/webengine/lifecycle/CMakeLists.txt b/examples/webengine/lifecycle/CMakeLists.txt new file mode 100644 index 000000000..0459d7767 --- /dev/null +++ b/examples/webengine/lifecycle/CMakeLists.txt @@ -0,0 +1,58 @@ +cmake_minimum_required(VERSION 3.18) +project(lifecycle 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}/webengine/lifecycle") + +find_package(Qt6 COMPONENTS Core) +find_package(Qt6 COMPONENTS Gui) +find_package(Qt6 COMPONENTS QuickControls2) +find_package(Qt6 COMPONENTS WebEngineQuick) + +qt_add_executable(lifecycle + main.cpp +) +set_target_properties(lifecycle PROPERTIES + WIN32_EXECUTABLE TRUE + MACOSX_BUNDLE TRUE +) +target_link_libraries(lifecycle PUBLIC + Qt::Core + Qt::Gui + Qt::QuickControls2 + Qt::WebEngineQuick +) + + +# Resources: +set(resources_resource_files + "WebBrowser.qml" + "WebTab.qml" + "WebTabBar.qml" + "WebTabButton.qml" + "WebTabStack.qml" + "WebToolButton.qml" + "qtquickcontrols2.conf" +) + +qt6_add_resources(lifecycle "resources" + PREFIX + "/" + FILES + ${resources_resource_files} +) + +install(TARGETS lifecycle + RUNTIME DESTINATION "${INSTALL_EXAMPLEDIR}" + BUNDLE DESTINATION "${INSTALL_EXAMPLEDIR}" + LIBRARY DESTINATION "${INSTALL_EXAMPLEDIR}" +) diff --git a/examples/webengine/minimal/CMakeLists.txt b/examples/webengine/minimal/CMakeLists.txt new file mode 100644 index 000000000..db253d8fc --- /dev/null +++ b/examples/webengine/minimal/CMakeLists.txt @@ -0,0 +1,50 @@ +cmake_minimum_required(VERSION 3.18) +project(minimal 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}/webengine/minimal-qml") + +find_package(Qt6 COMPONENTS Core) +find_package(Qt6 COMPONENTS Gui) +find_package(Qt6 COMPONENTS WebEngineQuick) + +qt_add_executable(minimal-qml + main.cpp +) +set_target_properties(minimal-qml PROPERTIES + WIN32_EXECUTABLE TRUE + MACOSX_BUNDLE TRUE +) +target_link_libraries(minimal-qml PUBLIC + Qt::Core + Qt::Gui + Qt::WebEngineQuick +) + + +# Resources: +set(qml_resource_files + "main.qml" +) + +qt6_add_resources(minimal-qml "qml" + PREFIX + "/" + FILES + ${qml_resource_files} +) + +install(TARGETS minimal-qml + RUNTIME DESTINATION "${INSTALL_EXAMPLEDIR}" + BUNDLE DESTINATION "${INSTALL_EXAMPLEDIR}" + LIBRARY DESTINATION "${INSTALL_EXAMPLEDIR}" +) diff --git a/examples/webengine/quicknanobrowser/CMakeLists.txt b/examples/webengine/quicknanobrowser/CMakeLists.txt new file mode 100644 index 000000000..6c155789c --- /dev/null +++ b/examples/webengine/quicknanobrowser/CMakeLists.txt @@ -0,0 +1,91 @@ +cmake_minimum_required(VERSION 3.18) +project(quicknanobrowser 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}/webengine/quicknanobrowser") + +find_package(Qt6 COMPONENTS Core) +find_package(Qt6 COMPONENTS Gui) +find_package(Qt6 COMPONENTS Qml) +find_package(Qt6 COMPONENTS Quick) +find_package(Qt6 COMPONENTS WebEngineQuick) + +qt_add_executable(quicknanobrowser + main.cpp + utils.h +) +set_target_properties(quicknanobrowser PROPERTIES + WIN32_EXECUTABLE TRUE + MACOSX_BUNDLE TRUE +) +target_link_libraries(quicknanobrowser PUBLIC + Qt::Core + Qt::Gui + Qt::Qml + Qt::Quick + Qt::WebEngineQuick +) + + +# Resources: +set(resources_resource_files + "ApplicationRoot.qml" + "BrowserDialog.qml" + "BrowserWindow.qml" + "DownloadView.qml" + "FindBar.qml" + "FullScreenNotification.qml" +) + +qt6_add_resources(quicknanobrowser "resources" + PREFIX + "/" + FILES + ${resources_resource_files} +) +set_source_files_properties("icons/3rdparty/go-next.png" + PROPERTIES QT_RESOURCE_ALIAS "go-next.png" +) +set_source_files_properties("icons/3rdparty/go-previous.png" + PROPERTIES QT_RESOURCE_ALIAS "go-previous.png" +) +set_source_files_properties("icons/3rdparty/process-stop.png" + PROPERTIES QT_RESOURCE_ALIAS "process-stop.png" +) +set_source_files_properties("icons/3rdparty/view-refresh.png" + PROPERTIES QT_RESOURCE_ALIAS "view-refresh.png" +) +set(resources1_resource_files + "icons/3rdparty/go-next.png" + "icons/3rdparty/go-previous.png" + "icons/3rdparty/process-stop.png" + "icons/3rdparty/view-refresh.png" +) + +qt6_add_resources(quicknanobrowser "resources1" + PREFIX + "/icons" + FILES + ${resources1_resource_files} +) + +if(TARGET Qt::Widgets) + target_link_libraries(quicknanobrowser PUBLIC + Qt::Widgets + ) +endif() + +install(TARGETS quicknanobrowser + RUNTIME DESTINATION "${INSTALL_EXAMPLEDIR}" + BUNDLE DESTINATION "${INSTALL_EXAMPLEDIR}" + LIBRARY DESTINATION "${INSTALL_EXAMPLEDIR}" +) diff --git a/examples/webengine/recipebrowser/CMakeLists.txt b/examples/webengine/recipebrowser/CMakeLists.txt new file mode 100644 index 000000000..7019227d9 --- /dev/null +++ b/examples/webengine/recipebrowser/CMakeLists.txt @@ -0,0 +1,143 @@ +cmake_minimum_required(VERSION 3.18) +project(recipebrowser 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}/webengine/recipebrowser") + +find_package(Qt6 COMPONENTS Core) +find_package(Qt6 COMPONENTS Gui) +find_package(Qt6 COMPONENTS Quick) +find_package(Qt6 COMPONENTS Qml) +find_package(Qt6 COMPONENTS QuickControls2) +find_package(Qt6 COMPONENTS WebEngineQuick) + +qt_add_executable(recipebrowser + main.cpp +) +set_target_properties(recipebrowser PROPERTIES + WIN32_EXECUTABLE TRUE + MACOSX_BUNDLE TRUE +) +target_link_libraries(recipebrowser PUBLIC + Qt::Core + Qt::Gui + Qt::Qml + Qt::Quick + Qt::QuickControls2 + Qt::WebEngineQucik +) + + +# Resources: +set_source_files_properties("resources/pages/assets/3rdparty/markdown.css" + PROPERTIES QT_SKIP_QUICKCOMPILER 1 +) +set_source_files_properties("resources/pages/assets/3rdparty/marked.js" + PROPERTIES QT_SKIP_QUICKCOMPILER 1 +) +set_source_files_properties("resources/pages/assets/custom.css" + PROPERTIES QT_SKIP_QUICKCOMPILER 1 +) +set_source_files_properties("resources/pages/assets/custom.js" + PROPERTIES QT_SKIP_QUICKCOMPILER 1 +) +set_source_files_properties("resources/pages/burger.html" + PROPERTIES QT_SKIP_QUICKCOMPILER 1 +) +set_source_files_properties("resources/pages/cupcakes.html" + PROPERTIES QT_SKIP_QUICKCOMPILER 1 +) +set_source_files_properties("resources/pages/images/burger.jpg" + PROPERTIES QT_SKIP_QUICKCOMPILER 1 +) +set_source_files_properties("resources/pages/images/cupcakes.jpg" + PROPERTIES QT_SKIP_QUICKCOMPILER 1 +) +set_source_files_properties("resources/pages/images/pasta.jpg" + PROPERTIES QT_SKIP_QUICKCOMPILER 1 +) +set_source_files_properties("resources/pages/images/pizza.jpg" + PROPERTIES QT_SKIP_QUICKCOMPILER 1 +) +set_source_files_properties("resources/pages/images/skewers.jpg" + PROPERTIES QT_SKIP_QUICKCOMPILER 1 +) +set_source_files_properties("resources/pages/images/soup.jpg" + PROPERTIES QT_SKIP_QUICKCOMPILER 1 +) +set_source_files_properties("resources/pages/images/steak.jpg" + PROPERTIES QT_SKIP_QUICKCOMPILER 1 +) +set_source_files_properties("resources/pages/pasta.html" + PROPERTIES QT_SKIP_QUICKCOMPILER 1 +) +set_source_files_properties("resources/pages/pizza.html" + PROPERTIES QT_SKIP_QUICKCOMPILER 1 +) +set_source_files_properties("resources/pages/skewers.html" + PROPERTIES QT_SKIP_QUICKCOMPILER 1 +) +set_source_files_properties("resources/pages/soup.html" + PROPERTIES QT_SKIP_QUICKCOMPILER 1 +) +set_source_files_properties("resources/pages/steak.html" + PROPERTIES QT_SKIP_QUICKCOMPILER 1 +) +set_source_files_properties("resources/qml/RecipeList.qml" + PROPERTIES QT_SKIP_QUICKCOMPILER 1 +) +set_source_files_properties("resources/qml/main.qml" + PROPERTIES QT_SKIP_QUICKCOMPILER 1 +) +set(resources_resource_files + "pages/assets/3rdparty/markdown.css" + "pages/assets/3rdparty/marked.js" + "pages/assets/custom.css" + "pages/assets/custom.js" + "pages/burger.html" + "pages/cupcakes.html" + "pages/images/burger.jpg" + "pages/images/cupcakes.jpg" + "pages/images/pasta.jpg" + "pages/images/pizza.jpg" + "pages/images/skewers.jpg" + "pages/images/soup.jpg" + "pages/images/steak.jpg" + "pages/pasta.html" + "pages/pizza.html" + "pages/skewers.html" + "pages/soup.html" + "pages/steak.html" + "qml/RecipeList.qml" + "qml/main.qml" +) + +qt6_add_resources(recipebrowser "resources" + PREFIX + "/" + BASE + "resources" + FILES + ${resources_resource_files} +) + +if(CMAKE_CROSSCOMPILING AND (LINUX OR QNX OR posix)) + target_compile_definitions(recipebrowser PUBLIC + QTWEBENGINE_RECIPE_BROWSER_EMBEDDED + ) +endif() + +install(TARGETS recipebrowser + RUNTIME DESTINATION "${INSTALL_EXAMPLEDIR}" + BUNDLE DESTINATION "${INSTALL_EXAMPLEDIR}" + LIBRARY DESTINATION "${INSTALL_EXAMPLEDIR}" +) diff --git a/examples/webengine/webengineaction/CMakeLists.txt b/examples/webengine/webengineaction/CMakeLists.txt new file mode 100644 index 000000000..fce2f0b07 --- /dev/null +++ b/examples/webengine/webengineaction/CMakeLists.txt @@ -0,0 +1,50 @@ +cmake_minimum_required(VERSION 3.18) +project(webengineaction 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}/webengine/webengineaction") + +find_package(Qt6 COMPONENTS Core) +find_package(Qt6 COMPONENTS Gui) +find_package(Qt6 COMPONENTS WebEngineQuick) + +qt_add_executable(webengineaction + main.cpp +) +set_target_properties(webengineaction PROPERTIES + WIN32_EXECUTABLE TRUE + MACOSX_BUNDLE TRUE +) +target_link_libraries(webengineaction PUBLIC + Qt::Core + Qt::Gui + Qt::WebEngineQuick +) + + +# Resources: +set(qml_resource_files + "main.qml" +) + +qt6_add_resources(webengineaction "qml" + PREFIX + "/" + FILES + ${qml_resource_files} +) + +install(TARGETS webengineaction + RUNTIME DESTINATION "${INSTALL_EXAMPLEDIR}" + BUNDLE DESTINATION "${INSTALL_EXAMPLEDIR}" + LIBRARY DESTINATION "${INSTALL_EXAMPLEDIR}" +) |