aboutsummaryrefslogtreecommitdiffstats
path: root/src/libs/utils/CMakeLists.txt
blob: 4e7f0ffa6edee769da756ba30c76c4024c2173fb (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
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
set(WIN_SOURCES
  consoleprocess_win.cpp
  process_ctrlc_stub.cpp
  touchbar/touchbar.cpp
)
set(MAC_SOURCES
  consoleprocess_unix.cpp
  fileutils_mac.mm fileutils_mac.h
  processhandle_mac.mm
  theme/theme_mac.mm theme/theme_mac.h
  touchbar/touchbar_appdelegate_mac.mm touchbar/touchbar_appdelegate_mac_p.h
  touchbar/touchbar_mac.mm touchbar/touchbar_mac_p.h
)
set(UNIX_SOURCES
  consoleprocess_unix.cpp
  touchbar/touchbar.cpp
)

if (WIN32)
  set(PLATFORM_SOURCES ${WIN_SOURCES})
  set(PLATFORM_DEPENDS user32 iphlpapi ws2_32 shell32)
elseif (APPLE)
  set(PLATFORM_SOURCES ${MAC_SOURCES})
  find_library(FWFoundation Foundation)
  find_library(FWAppKit AppKit)
  set(PLATFORM_DEPENDS ${FWFoundation} ${FWAppKit})
else()
  set(PLATFORM_SOURCES ${UNIX_SOURCES})
  set(PLATFORM_DEPENDS)
endif()

if (IDE_LIBEXEC_PATH AND IDE_BIN_PATH)
  file(RELATIVE_PATH RELATIVE_TOOLS_PATH
    "${CMAKE_INSTALL_PREFIX}/${IDE_LIBEXEC_PATH}" "${CMAKE_INSTALL_PREFIX}/${IDE_BIN_PATH}")
else()
  message(WARNING "IDE_LIBEXEC_PATH or IDE_BIN_PATH undefined when calculating tools path")
  set(RELATIVE_TOOLS_PATH "")
endif()

add_qtc_library(Utils
  DEPENDS ${PLATFORM_DEPENDS} Qt5::Xml
  PUBLIC_DEPENDS Qt5::Concurrent Qt5::Core Qt5::Network Qt5::Qml Qt5::Gui Qt5::Widgets
  DEFINES
    "QTC_REL_TOOLS_PATH=\"${RELATIVE_TOOLS_PATH}\""
  SOURCES
    ${PLATFORM_SOURCES}
    ../3rdparty/optional/optional.hpp
    ../3rdparty/variant/variant.hpp
    QtConcurrentTools
    algorithm.h
    ansiescapecodehandler.cpp ansiescapecodehandler.h
    appmainwindow.cpp appmainwindow.h
    basetreeview.cpp basetreeview.h
    benchmarker.cpp benchmarker.h
    buildablehelperlibrary.cpp buildablehelperlibrary.h
    categorysortfiltermodel.cpp categorysortfiltermodel.h
    changeset.cpp changeset.h
    checkablemessagebox.cpp checkablemessagebox.h
    classnamevalidatinglineedit.cpp classnamevalidatinglineedit.h
    codegeneration.cpp codegeneration.h
    completinglineedit.cpp completinglineedit.h
    completingtextedit.cpp completingtextedit.h
    consoleprocess.cpp consoleprocess.h consoleprocess_p.h
    cpplanguage_details.h
    crumblepath.cpp crumblepath.h
    delegates.cpp delegates.h
    declarationmacros.h
    detailsbutton.cpp detailsbutton.h
    detailswidget.cpp detailswidget.h
    differ.cpp differ.h
    dropsupport.cpp dropsupport.h
    elfreader.cpp elfreader.h
    elidinglabel.cpp elidinglabel.h
    environment.cpp environment.h
    environmentdialog.cpp environmentdialog.h
    environmentmodel.cpp environmentmodel.h
    execmenu.cpp execmenu.h
    executeondestruction.h
    fadingindicator.cpp fadingindicator.h
    faketooltip.cpp faketooltip.h
    fancylineedit.cpp fancylineedit.h
    fancymainwindow.cpp fancymainwindow.h
    filecrumblabel.cpp filecrumblabel.h
    fileinprojectfinder.cpp fileinprojectfinder.h
    filenamevalidatinglineedit.cpp filenamevalidatinglineedit.h
    filesearch.cpp filesearch.h
    filesystemwatcher.cpp filesystemwatcher.h
    fileutils.cpp fileutils.h
    filewizardpage.cpp filewizardpage.h
    fixedsizeclicklabel.cpp fixedsizeclicklabel.h
    flowlayout.cpp flowlayout.h
    functiontraits.h
    fuzzymatcher.cpp fuzzymatcher.h
    genericconstants.h
    globalfilechangeblocker.cpp globalfilechangeblocker.h
    guard.cpp guard.h
    headerviewstretcher.cpp headerviewstretcher.h
    highlightingitemdelegate.cpp highlightingitemdelegate.h
    historycompleter.cpp historycompleter.h
    hostosinfo.cpp hostosinfo.h
    htmldocextractor.cpp htmldocextractor.h
    icon.cpp icon.h
    itemviews.cpp itemviews.h
    json.cpp json.h
    jsontreeitem.cpp jsontreeitem.h
    linecolumn.h
    link.h
    listmodel.h
    listutils.h
    macroexpander.cpp macroexpander.h
    mapreduce.h
    mimetypes/mimedatabase.cpp mimetypes/mimedatabase.h mimetypes/mimedatabase_p.h
    mimetypes/mimeglobpattern.cpp mimetypes/mimeglobpattern_p.h
    mimetypes/mimemagicrule.cpp mimetypes/mimemagicrule_p.h
    mimetypes/mimemagicrulematcher.cpp mimetypes/mimemagicrulematcher_p.h
    mimetypes/mimeprovider.cpp mimetypes/mimeprovider_p.h
    mimetypes/mimetype.cpp mimetypes/mimetype.h mimetypes/mimetype_p.h
    mimetypes/mimetypeparser.cpp mimetypes/mimetypeparser_p.h
    navigationtreeview.cpp navigationtreeview.h
    networkaccessmanager.cpp networkaccessmanager.h
    newclasswidget.cpp newclasswidget.h newclasswidget.ui
    optional.h
    osspecificaspects.h
    outputformat.h
    outputformatter.cpp outputformatter.h
    overridecursor.cpp overridecursor.h
    parameteraction.cpp parameteraction.h
    pathchooser.cpp pathchooser.h
    pathlisteditor.cpp pathlisteditor.h
    persistentsettings.cpp persistentsettings.h
    pointeralgorithm.h
    port.cpp port.h
    portlist.cpp portlist.h
    predicates.h
    processhandle.cpp processhandle.h
    progressindicator.cpp progressindicator.h
    projectintropage.cpp projectintropage.h projectintropage.ui
    proxyaction.cpp proxyaction.h
    proxycredentialsdialog.cpp proxycredentialsdialog.h proxycredentialsdialog.ui
    qrcparser.cpp qrcparser.h
    qtcassert.cpp qtcassert.h
    qtcolorbutton.cpp qtcolorbutton.h
    qtcprocess.cpp qtcprocess.h
    reloadpromptutils.cpp reloadpromptutils.h
    removefiledialog.cpp removefiledialog.h removefiledialog.ui
    runextensions.cpp runextensions.h
    savedaction.cpp savedaction.h
    savefile.cpp savefile.h
    scopedswap.h
    settingsaccessor.cpp settingsaccessor.h
    settingsselector.cpp settingsselector.h
    settingsutils.h
    shellcommand.cpp shellcommand.h
    shellcommandpage.cpp shellcommandpage.h
    sizedarray.h
    smallstring.h
    smallstringfwd.h
    smallstringio.h
    smallstringiterator.h
    smallstringlayout.h
    smallstringliteral.h
    smallstringmemory.h
    smallstringvector.h
    smallstringview.h
    statuslabel.cpp statuslabel.h
    stringutils.cpp stringutils.h
    styledbar.cpp styledbar.h
    stylehelper.cpp stylehelper.h
    synchronousprocess.cpp synchronousprocess.h
    templateengine.cpp templateengine.h
    temporarydirectory.cpp temporarydirectory.h
    temporaryfile.cpp temporaryfile.h
    textfieldcheckbox.cpp textfieldcheckbox.h
    textfieldcombobox.cpp textfieldcombobox.h
    textfileformat.cpp textfileformat.h
    textutils.cpp textutils.h
    theme/theme.cpp theme/theme.h theme/theme_p.h
    tooltip/effects.h
    tooltip/reuse.h
    tooltip/tips.cpp tooltip/tips.h
    tooltip/tooltip.cpp tooltip/tooltip.h
    touchbar/touchbar.h
    treemodel.cpp treemodel.h
    treeviewcombobox.cpp treeviewcombobox.h
    uncommentselection.cpp uncommentselection.h
    unixutils.cpp unixutils.h
    url.cpp url.h
    utils.qrc
    utils_global.h
    utilsicons.cpp utilsicons.h
    variant.h
    winutils.cpp winutils.h
    wizard.cpp wizard.h
    wizardpage.cpp wizardpage.h
)

if (WIN32)
  target_compile_definitions(Utils
      PRIVATE _UNICODE UNICODE
      PUBLIC _CRT_SECURE_NO_WARNINGS _SCL_SECURE_NO_WARNINGS)
endif()

set(PROCESS_STUB_SOURCES process_stub_unix.c)
if (WIN32)
  set(PROCESS_STUB_SOURCES process_stub_win.c)
endif()

add_executable(qtcreator_process_stub ${PROCESS_STUB_SOURCES})
if (WIN32)
  target_link_libraries(qtcreator_process_stub shell32)
  target_compile_definitions(qtcreator_process_stub PRIVATE
      _UNICODE UNICODE _CRT_SECURE_NO_WARNINGS)
endif()
install(TARGETS qtcreator_process_stub DESTINATION ${IDE_LIBEXEC_PATH})