blob: b05efd5e4d76024ff6e833c5b159b4aeeb21ec9a (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
|
# Copyright (C) 2023 The Qt Company Ltd.
# SPDX-License-Identifier: BSD-3-Clause
cmake_minimum_required(VERSION 3.16)
project(UicTest LANGUAGES CXX)
find_package(Qt6 REQUIRED COMPONENTS Core Widgets Gui)
set(CMAKE_AUTOMOC ON)
if (NOT DO_NOT_GENERATE_FILE)
file(GENERATE OUTPUT "${CMAKE_CURRENT_BINARY_DIR}/mainwindow.cpp"
CONTENT " \
#include \"${CMAKE_CURRENT_SOURCE_DIR}/../UicBuildFolderLeakageCommon/mainwindow.h\" \n \
#include \"${MAINWINDOW_UI_PATH}ui_mainwindow.h\" \n \
MainWindow::MainWindow(QWidget* parent) \n \
: QMainWindow(parent) \n \
, ui(new Ui::MainWindow) \n \
{ \n \
ui->setupUi(this); \n \
} \n \
\n \
MainWindow::~MainWindow() \n \
{ \n \
delete ui; \n \
} \n \
")
endif()
qt_add_executable(example
../UicBuildFolderLeakageCommon/main.cpp
../UicBuildFolderLeakageCommon/mainwindow.h
mainwindow.ui
)
if (${DO_NOT_GENERATE_FILE})
target_sources(example PRIVATE mainwindow.cpp)
else()
target_sources(example PRIVATE "${CMAKE_CURRENT_BINARY_DIR}/mainwindow.cpp")
endif()
target_link_libraries(example PRIVATE Qt6::Widgets
Qt6::Core
Qt6::Gui)
if (NOT UI_NO_CONFIG_OPTIONS)
set(uic_options "$<$<CONFIG:Debug>:-a>")
endif()
qt6_add_ui(example
INCLUDE_PREFIX "${MAINWINDOW_UI_PATH}"
SOURCES "mainwindow.ui"
OPTIONS "${uic_options}")
if(ADD_NEW_UI)
qt6_add_ui(example INCLUDE_PREFIX "${NEW_UI_PATH}"
SOURCES "subdir/mainwindow.ui"
OPTIONS "${uic_options}")
endif()
# Enable AUTOUIC after qt6_add_ui() has been called
if (CMAKE_AUTOUIC)
set_property(TARGET example PROPERTY AUTOUIC ON)
endif()
|