From 99539a289491a2a709c2a63cd91eac155a1699da Mon Sep 17 00:00:00 2001 From: Kevin Funk Date: Tue, 4 Jun 2019 17:08:47 +0200 Subject: Allow to build examples as standalone project Create CMake config files which can be used from the very same CMake project. These CMake config files simply do not create any targets, controlled via the QT_NO_CREATE_TARGETS. This patch also allows to build qtbase.git:examples as a standalone project, against an already-built Qt. Ran this: ag -s "QT " examples -l -0 | xargs -0 -n 1 .../util/cmake/pro2cmake.py --is-example Task-number: QTBUG-74713 Change-Id: I44cce5a4048618b30f890c5b789592c227a8b47d Reviewed-by: Alexandru Croitor --- examples/xml/CMakeLists.txt | 14 ++++++++++++++ examples/xml/dombookmarks/CMakeLists.txt | 29 ++++++++++++++++++++++++++++ examples/xml/htmlinfo/CMakeLists.txt | 25 ++++++++++++++++++++++++ examples/xml/rsslisting/CMakeLists.txt | 30 +++++++++++++++++++++++++++++ examples/xml/saxbookmarks/CMakeLists.txt | 30 +++++++++++++++++++++++++++++ examples/xml/streambookmarks/CMakeLists.txt | 30 +++++++++++++++++++++++++++++ examples/xml/xmlstreamlint/CMakeLists.txt | 26 +++++++++++++++++++++++++ 7 files changed, 184 insertions(+) create mode 100644 examples/xml/CMakeLists.txt create mode 100644 examples/xml/dombookmarks/CMakeLists.txt create mode 100644 examples/xml/htmlinfo/CMakeLists.txt create mode 100644 examples/xml/rsslisting/CMakeLists.txt create mode 100644 examples/xml/saxbookmarks/CMakeLists.txt create mode 100644 examples/xml/streambookmarks/CMakeLists.txt create mode 100644 examples/xml/xmlstreamlint/CMakeLists.txt (limited to 'examples/xml') diff --git a/examples/xml/CMakeLists.txt b/examples/xml/CMakeLists.txt new file mode 100644 index 0000000000..af7f096d19 --- /dev/null +++ b/examples/xml/CMakeLists.txt @@ -0,0 +1,14 @@ +# Generated from xml.pro. + +add_subdirectory(htmlinfo) +add_subdirectory(xmlstreamlint) + +if(TARGET Qt::Widgets) + add_subdirectory(dombookmarks) + add_subdirectory(saxbookmarks) + add_subdirectory(streambookmarks) + + if(TARGET Qt::Network) + add_subdirectory(rsslisting) + endif() +endif() diff --git a/examples/xml/dombookmarks/CMakeLists.txt b/examples/xml/dombookmarks/CMakeLists.txt new file mode 100644 index 0000000000..e7d5577b0e --- /dev/null +++ b/examples/xml/dombookmarks/CMakeLists.txt @@ -0,0 +1,29 @@ +# Generated from dombookmarks.pro. + +cmake_minimum_required(VERSION 3.14) +project(dombookmarks LANGUAGES CXX) + +set(CMAKE_INCLUDE_CURRENT_DIR ON) + +set(CMAKE_AUTOMOC ON) +set(CMAKE_AUTORCC ON) +set(CMAKE_AUTOUIC ON) + +set(INSTALL_EXAMPLEDIR "examples") + +find_package(Qt5 COMPONENTS Xml) +find_package(Qt5 COMPONENTS Widgets) + +add_executable(dombookmarks WIN32 MACOSX_BUNDLE + main.cpp + mainwindow.cpp mainwindow.h + xbeltree.cpp xbeltree.h +) +target_link_libraries(dombookmarks PUBLIC + Qt::Widgets + Qt::Xml +) +install(TARGETS dombookmarks + RUNTIME DESTINATION "${INSTALL_EXAMPLEDIR}" + BUNDLE DESTINATION "${INSTALL_EXAMPLEDIR}" +) diff --git a/examples/xml/htmlinfo/CMakeLists.txt b/examples/xml/htmlinfo/CMakeLists.txt new file mode 100644 index 0000000000..00ecced0c5 --- /dev/null +++ b/examples/xml/htmlinfo/CMakeLists.txt @@ -0,0 +1,25 @@ +# Generated from htmlinfo.pro. + +cmake_minimum_required(VERSION 3.14) +project(htmlinfo LANGUAGES CXX) + +find_package(Qt5 COMPONENTS Core) # special case: add + +set(CMAKE_INCLUDE_CURRENT_DIR ON) + +set(CMAKE_AUTOMOC ON) +set(CMAKE_AUTORCC ON) +set(CMAKE_AUTOUIC ON) + +set(INSTALL_EXAMPLEDIR "examples") + +add_executable(htmlinfo + main.cpp +) +target_link_libraries(htmlinfo PUBLIC + Qt::Core +) +install(TARGETS htmlinfo + RUNTIME DESTINATION "${INSTALL_EXAMPLEDIR}" + BUNDLE DESTINATION "${INSTALL_EXAMPLEDIR}" +) diff --git a/examples/xml/rsslisting/CMakeLists.txt b/examples/xml/rsslisting/CMakeLists.txt new file mode 100644 index 0000000000..f8c3a67c7f --- /dev/null +++ b/examples/xml/rsslisting/CMakeLists.txt @@ -0,0 +1,30 @@ +# Generated from rsslisting.pro. + +cmake_minimum_required(VERSION 3.14) +project(rsslisting LANGUAGES CXX) + +set(CMAKE_INCLUDE_CURRENT_DIR ON) + +set(CMAKE_AUTOMOC ON) +set(CMAKE_AUTORCC ON) +set(CMAKE_AUTOUIC ON) + +set(INSTALL_EXAMPLEDIR "examples") + +find_package(Qt5 COMPONENTS Network) +find_package(Qt5 COMPONENTS Xml) +find_package(Qt5 COMPONENTS Widgets) + +add_executable(rsslisting WIN32 MACOSX_BUNDLE + main.cpp + rsslisting.cpp rsslisting.h +) +target_link_libraries(rsslisting PUBLIC + Qt::Network + Qt::Widgets + Qt::Xml +) +install(TARGETS rsslisting + RUNTIME DESTINATION "${INSTALL_EXAMPLEDIR}" + BUNDLE DESTINATION "${INSTALL_EXAMPLEDIR}" +) diff --git a/examples/xml/saxbookmarks/CMakeLists.txt b/examples/xml/saxbookmarks/CMakeLists.txt new file mode 100644 index 0000000000..8d003a95a5 --- /dev/null +++ b/examples/xml/saxbookmarks/CMakeLists.txt @@ -0,0 +1,30 @@ +# Generated from saxbookmarks.pro. + +cmake_minimum_required(VERSION 3.14) +project(saxbookmarks LANGUAGES CXX) + +set(CMAKE_INCLUDE_CURRENT_DIR ON) + +set(CMAKE_AUTOMOC ON) +set(CMAKE_AUTORCC ON) +set(CMAKE_AUTOUIC ON) + +set(INSTALL_EXAMPLEDIR "examples") + +find_package(Qt5 COMPONENTS Xml) +find_package(Qt5 COMPONENTS Widgets) + +add_executable(saxbookmarks WIN32 MACOSX_BUNDLE + main.cpp + mainwindow.cpp mainwindow.h + xbelgenerator.cpp xbelgenerator.h + xbelhandler.cpp xbelhandler.h +) +target_link_libraries(saxbookmarks PUBLIC + Qt::Widgets + Qt::Xml +) +install(TARGETS saxbookmarks + RUNTIME DESTINATION "${INSTALL_EXAMPLEDIR}" + BUNDLE DESTINATION "${INSTALL_EXAMPLEDIR}" +) diff --git a/examples/xml/streambookmarks/CMakeLists.txt b/examples/xml/streambookmarks/CMakeLists.txt new file mode 100644 index 0000000000..442e46ffd1 --- /dev/null +++ b/examples/xml/streambookmarks/CMakeLists.txt @@ -0,0 +1,30 @@ +# Generated from streambookmarks.pro. + +cmake_minimum_required(VERSION 3.14) +project(streambookmarks LANGUAGES CXX) + +set(CMAKE_INCLUDE_CURRENT_DIR ON) + +set(CMAKE_AUTOMOC ON) +set(CMAKE_AUTORCC ON) +set(CMAKE_AUTOUIC ON) + +set(INSTALL_EXAMPLEDIR "examples") + +find_package(Qt5 COMPONENTS Xml) +find_package(Qt5 COMPONENTS Widgets) + +add_executable(streambookmarks WIN32 MACOSX_BUNDLE + main.cpp + mainwindow.cpp mainwindow.h + xbelreader.cpp xbelreader.h + xbelwriter.cpp xbelwriter.h +) +target_link_libraries(streambookmarks PUBLIC + Qt::Widgets + Qt::Xml +) +install(TARGETS streambookmarks + RUNTIME DESTINATION "${INSTALL_EXAMPLEDIR}" + BUNDLE DESTINATION "${INSTALL_EXAMPLEDIR}" +) diff --git a/examples/xml/xmlstreamlint/CMakeLists.txt b/examples/xml/xmlstreamlint/CMakeLists.txt new file mode 100644 index 0000000000..a3677a2c81 --- /dev/null +++ b/examples/xml/xmlstreamlint/CMakeLists.txt @@ -0,0 +1,26 @@ +# Generated from xmlstreamlint.pro. + +cmake_minimum_required(VERSION 3.14) +project(xmlstreamlint LANGUAGES CXX) + +find_package(Qt5 COMPONENTS Core Xml) # special case: add + +set(CMAKE_INCLUDE_CURRENT_DIR ON) + +set(CMAKE_AUTOMOC ON) +set(CMAKE_AUTORCC ON) +set(CMAKE_AUTOUIC ON) + +set(INSTALL_EXAMPLEDIR "examples") + +add_executable(xmlstreamlint + main.cpp +) +target_link_libraries(xmlstreamlint PUBLIC + Qt::Core + Qt::Xml # special case: add +) +install(TARGETS xmlstreamlint + RUNTIME DESTINATION "${INSTALL_EXAMPLEDIR}" + BUNDLE DESTINATION "${INSTALL_EXAMPLEDIR}" +) -- cgit v1.2.3