qt5base-lts/tests/auto/tools/CMakeLists.txt
Alexey Edelev 214c3a033a Add simple project generation based on existing source files
Introduce the qt-cmake-create script. The script generates the simple
CMakeLists.txt based on the source files located in the current or
specified directory. The initial version can generate a CMake code for
the following file types:
  - .c .cc .cpp .cxx .h .hh .hxx .hpp - generates the qt_add_executable
    call with prerequisites.
  - .qml .js .mjs - generates the qt_add_qml_module call with
    prerequisites.
  - .ui - adds the found ui files to the existing executable. Requires
    C++ files be present in the directory too.
  - .qrc - generates the qt_add_resources call and adds the resources
    to the existing executable. Requires C++ files be present in the
    directory too.
  - .proto - generates qt_add_protobuf call with prerequisites.

The QtInitProject.cmake script contains the 'handle_type' function that
allows extending the script capabilities and establish simple relation
chains between the file types.

Note: The initial implementation doesn't deal with sub-directories, so
all files from sub-directories will be added to and handled in the
top-level CMakeLists.txt file. This can be extended by user request.

Task-number: QTBUG-104388
Change-Id: I5abd9e07da109e867ff95986572ed2bf02ef9d3d
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
2023-02-08 12:59:19 +01:00

34 lines
994 B
CMake

# Copyright (C) 2022 The Qt Company Ltd.
# SPDX-License-Identifier: BSD-3-Clause
# Generated from tools.pro.
# QTBUG-88538 # special case
if(NOT ANDROID AND NOT IOS)
add_subdirectory(qmakelib)
if(QT_FEATURE_qmake)
add_subdirectory(qmake)
endif()
add_subdirectory(moc)
add_subdirectory(rcc)
add_subdirectory(qt_cmake_create)
endif()
# QTBUG-88538 # special case
if(TARGET Qt::Widgets AND NOT ANDROID AND NOT IOS)
add_subdirectory(uic)
endif()
if(TARGET Qt::DBus)
add_subdirectory(qdbuscpp2xml)
add_subdirectory(qdbusxml2cpp)
endif()
if(TARGET Qt::Gui AND QT_FEATURE_process AND NOT CMAKE_CROSSCOMPILING)
# testapp (windeployqt) and source_basicapp (macdeployqt) require QtGui.
if(QT_FEATURE_macdeployqt)
add_subdirectory(macdeployqt)
endif()
if(QT_FEATURE_windeployqt AND BUILD_SHARED_LIBS)
# windeployqt does not work with static Qt builds. See QTBUG-69427.
add_subdirectory(windeployqt)
endif()
endif()