annotate ui/CMakeLists.txt @ 1070:f110a3f6e387

(issue114) Fine tune ACL propagation using mkdir_p the ACL of the parent directories would propagate to all subdirectories and objects in the directory. Now we only use ACL propagation in the last directory to make sure that files we might create in that directory inherit the correct (resitricted) ACL
author Andre Heinecke <andre.heinecke@intevation.de>
date Wed, 10 Sep 2014 16:41:36 +0200
parents 126e5ce4d1d1
children fc4e1fe4e4d4
rev   line source
405
35d6b371ba63 Add License header for CMake and shell scripts
Andre Heinecke <aheinecke@intevation.de>
parents: 369
diff changeset
1 # Copyright (C) 2014 by Bundesamt für Sicherheit in der Informationstechnik
35d6b371ba63 Add License header for CMake and shell scripts
Andre Heinecke <aheinecke@intevation.de>
parents: 369
diff changeset
2 # Software engineering by Intevation GmbH
35d6b371ba63 Add License header for CMake and shell scripts
Andre Heinecke <aheinecke@intevation.de>
parents: 369
diff changeset
3 #
35d6b371ba63 Add License header for CMake and shell scripts
Andre Heinecke <aheinecke@intevation.de>
parents: 369
diff changeset
4 # This file is Free Software under the GNU GPL (v>=2)
35d6b371ba63 Add License header for CMake and shell scripts
Andre Heinecke <aheinecke@intevation.de>
parents: 369
diff changeset
5 # and comes with ABSOLUTELY NO WARRANTY!
35d6b371ba63 Add License header for CMake and shell scripts
Andre Heinecke <aheinecke@intevation.de>
parents: 369
diff changeset
6 # See LICENSE.txt for details.
35d6b371ba63 Add License header for CMake and shell scripts
Andre Heinecke <aheinecke@intevation.de>
parents: 369
diff changeset
7
33
25c08d63d2b7 Add CMakeLists in UI
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff changeset
8 include_directories(${Qt5Widgets_INCLUDE_DIRS})
57
d1aaee32e491 Include POLARSSL_INCLUDE_DIR in ui too
Andre Heinecke <aheinecke@intevation.de>
parents: 45
diff changeset
9 include_directories(${POLARSSL_INCLUDE_DIR})
621
5d6e86cf3b87 Fix dependency handling for messages files.
Andre Heinecke <andre.heinecke@intevation.de>
parents: 620
diff changeset
10 include_directories(${CMAKE_SOURCE_DIR}/common)
5d6e86cf3b87 Fix dependency handling for messages files.
Andre Heinecke <andre.heinecke@intevation.de>
parents: 620
diff changeset
11 include_directories(${CMAKE_BINARY_DIR}/common)
33
25c08d63d2b7 Add CMakeLists in UI
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff changeset
12 add_definitions(${Qt5Widgets_DEFINITIONS})
25c08d63d2b7 Add CMakeLists in UI
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff changeset
13
994
8fb1b912fd8e Add test using the default download server used by the software
Andre Heinecke <andre.heinecke@intevation.de>
parents: 990
diff changeset
14 message(STATUS "Using ${DOWNLOAD_SERVER} as download server for updates.")
8fb1b912fd8e Add test using the default download server used by the software
Andre Heinecke <andre.heinecke@intevation.de>
parents: 990
diff changeset
15 add_definitions(-DSERVER_URL="${DOWNLOAD_SERVER}")
8fb1b912fd8e Add test using the default download server used by the software
Andre Heinecke <andre.heinecke@intevation.de>
parents: 990
diff changeset
16
411
413b29f6758f Add translation infrastructure and a file for the Administrator application
Andre Heinecke <aheinecke@intevation.de>
parents: 409
diff changeset
17 find_package(Qt5LinguistTools)
908
d1c951b3012d Curl based implementation of sslconnection
Andre Heinecke <andre.heinecke@intevation.de>
parents: 884
diff changeset
18 find_package(CURL)
d1c951b3012d Curl based implementation of sslconnection
Andre Heinecke <andre.heinecke@intevation.de>
parents: 884
diff changeset
19
d1c951b3012d Curl based implementation of sslconnection
Andre Heinecke <andre.heinecke@intevation.de>
parents: 884
diff changeset
20 include_directories(${CURL_INCLUDE_DIRS})
411
413b29f6758f Add translation infrastructure and a file for the Administrator application
Andre Heinecke <aheinecke@intevation.de>
parents: 409
diff changeset
21
520
09077eca0b0d Rename administrator to trustbridge-admin
Andre Heinecke <aheinecke@intevation.de>
parents: 514
diff changeset
22 # Common code is used in either the client or the administrator
496
fa3a7ebf0049 Move some common UI code into a library to avoid recompiling for each test
Andre Heinecke <aheinecke@intevation.de>
parents: 452
diff changeset
23 # application or in unit tests.
fa3a7ebf0049 Move some common UI code into a library to avoid recompiling for each test
Andre Heinecke <aheinecke@intevation.de>
parents: 452
diff changeset
24 set(UICOMMON_SOURCES
33
25c08d63d2b7 Add CMakeLists in UI
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff changeset
25 ${CMAKE_CURRENT_SOURCE_DIR}/certificatelist.cpp
25c08d63d2b7 Add CMakeLists in UI
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff changeset
26 ${CMAKE_CURRENT_SOURCE_DIR}/certificate.cpp
25c08d63d2b7 Add CMakeLists in UI
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff changeset
27 ${CMAKE_CURRENT_SOURCE_DIR}/downloader.cpp
908
d1c951b3012d Curl based implementation of sslconnection
Andre Heinecke <andre.heinecke@intevation.de>
parents: 884
diff changeset
28 ${CMAKE_CURRENT_SOURCE_DIR}/sslconnection_bare.cpp
990
2949f1842955 (issue90) Add possibility to force cipher suites in bare connection and test for this
Andre Heinecke <andre.heinecke@intevation.de>
parents: 955
diff changeset
29 ${CMAKE_CURRENT_SOURCE_DIR}/sslconnection.cpp
452
f8b480b08532 Factor out polarssl error handling and start new sslhelp file
Andre Heinecke <aheinecke@intevation.de>
parents: 427
diff changeset
30 ${CMAKE_CURRENT_SOURCE_DIR}/sslhelp.cpp
45
c6125d73faf4 Move SSLConnection into it's own class
Andre Heinecke <aheinecke@intevation.de>
parents: 39
diff changeset
31 )
c6125d73faf4 Move SSLConnection into it's own class
Andre Heinecke <aheinecke@intevation.de>
parents: 39
diff changeset
32
910
eaed02defe6a More SSLConnection refactoring. Fixes curl downloader.
Andre Heinecke <andre.heinecke@intevation.de>
parents: 908
diff changeset
33 if (${CURL_FOUND} AND ${USE_CURL})
908
d1c951b3012d Curl based implementation of sslconnection
Andre Heinecke <andre.heinecke@intevation.de>
parents: 884
diff changeset
34 set(UICOMMON_SOURCES ${UICOMMON_SOURCES} ${CMAKE_CURRENT_SOURCE_DIR}/sslconnection_curl.cpp)
954
eaea1504f282 (issue41) Add curl staticlib definition
Andre Heinecke <andre.heinecke@intevation.de>
parents: 949
diff changeset
35 add_definitions(-DUSE_CURL -DCURL_STATICLIB)
910
eaed02defe6a More SSLConnection refactoring. Fixes curl downloader.
Andre Heinecke <andre.heinecke@intevation.de>
parents: 908
diff changeset
36 elseif (${USE_CURL})
eaed02defe6a More SSLConnection refactoring. Fixes curl downloader.
Andre Heinecke <andre.heinecke@intevation.de>
parents: 908
diff changeset
37 MESSAGE(FATAL_ERROR "libcurl not found but usage of curl is requested.")
908
d1c951b3012d Curl based implementation of sslconnection
Andre Heinecke <andre.heinecke@intevation.de>
parents: 884
diff changeset
38 endif()
d1c951b3012d Curl based implementation of sslconnection
Andre Heinecke <andre.heinecke@intevation.de>
parents: 884
diff changeset
39
497
5e77d1c4826c Add Icon for Windows
Andre Heinecke <aheinecke@intevation.de>
parents: 496
diff changeset
40 # Cmake does not correctly identify gcc windres when cross compiling
5e77d1c4826c Add Icon for Windows
Andre Heinecke <aheinecke@intevation.de>
parents: 496
diff changeset
41 # making this line neccessary to set the correct flags for it.
5e77d1c4826c Add Icon for Windows
Andre Heinecke <aheinecke@intevation.de>
parents: 496
diff changeset
42 # See: http://public.kitware.com/Bug/view.php?id=11773
5e77d1c4826c Add Icon for Windows
Andre Heinecke <aheinecke@intevation.de>
parents: 496
diff changeset
43 SET(CMAKE_RC_COMPILE_OBJECT
5e77d1c4826c Add Icon for Windows
Andre Heinecke <aheinecke@intevation.de>
parents: 496
diff changeset
44 "<CMAKE_RC_COMPILER> <FLAGS> <DEFINES> -Ocoff <SOURCE> <OBJECT>")
5e77d1c4826c Add Icon for Windows
Andre Heinecke <aheinecke@intevation.de>
parents: 496
diff changeset
45
407
af53c40e74b1 Rename m13ui to TrustBridge
Andre Heinecke <aheinecke@intevation.de>
parents: 405
diff changeset
46 set(TRUSTBRIDGE_SOURCES
496
fa3a7ebf0049 Move some common UI code into a library to avoid recompiling for each test
Andre Heinecke <aheinecke@intevation.de>
parents: 452
diff changeset
47 ${CMAKE_CURRENT_SOURCE_DIR}/mainwindow.cpp
190
1a66a15d0df8 Added stub for help dialog.
Raimund Renkert <rrenkert@intevation.de>
parents: 124
diff changeset
48 ${CMAKE_CURRENT_SOURCE_DIR}/helpdialog.cpp
584
ebfe1128ee97 Started trustbridge mainwindow refactoring.
Raimund Renkert <rrenkert@intevation.de>
parents: 566
diff changeset
49 ${CMAKE_CURRENT_SOURCE_DIR}/certificatelistwidget.cpp
ebfe1128ee97 Started trustbridge mainwindow refactoring.
Raimund Renkert <rrenkert@intevation.de>
parents: 566
diff changeset
50 ${CMAKE_CURRENT_SOURCE_DIR}/certificateitemwidget.cpp
273
b6c2fa8457b6 Added new list item delegate for drawing a separator.
Raimund Renkert <rrenkert@intevation.de>
parents: 266
diff changeset
51 ${CMAKE_CURRENT_SOURCE_DIR}/separatoritemdelegate.cpp
257
06089ba2614a Use Installwrapper to call certificate installation process
Andre Heinecke <aheinecke@intevation.de>
parents: 254
diff changeset
52 ${CMAKE_CURRENT_SOURCE_DIR}/installwrapper.cpp
609
292c590ba9cb Add warning dialog for running firefox and tunderbird processes
Andre Heinecke <andre.heinecke@intevation.de>
parents: 603
diff changeset
53 ${CMAKE_CURRENT_SOURCE_DIR}/processhelp_win.cpp
292c590ba9cb Add warning dialog for running firefox and tunderbird processes
Andre Heinecke <andre.heinecke@intevation.de>
parents: 603
diff changeset
54 ${CMAKE_CURRENT_SOURCE_DIR}/processhelp_linux.cpp
292c590ba9cb Add warning dialog for running firefox and tunderbird processes
Andre Heinecke <andre.heinecke@intevation.de>
parents: 603
diff changeset
55 ${CMAKE_CURRENT_SOURCE_DIR}/processwaitdialog.cpp
722
b0929968562a (Issue31) Add textoverlaybutton to show a text in the button.
Andre Heinecke <andre.heinecke@intevation.de>
parents: 654
diff changeset
56 ${CMAKE_CURRENT_SOURCE_DIR}/textoverlaybutton.cpp
827
8de162b91a22 (Issue49) Create a Scheduled daily task to run trustbridge
Andre Heinecke <andre.heinecke@intevation.de>
parents: 807
diff changeset
57 ${CMAKE_CURRENT_SOURCE_DIR}/taskscheduler.cpp
871
4efd6378c001 (issue51) Add fallback in case systemtray is unavailable.
Andre Heinecke <andre.heinecke@intevation.de>
parents: 855
diff changeset
58 ${CMAKE_CURRENT_SOURCE_DIR}/trayicon.cpp
955
0f7aeb12e5e9 (issue41) Add proxsettingsdialog
Andre Heinecke <andre.heinecke@intevation.de>
parents: 954
diff changeset
59 ${CMAKE_CURRENT_SOURCE_DIR}/proxysettingsdlg.cpp
33
25c08d63d2b7 Add CMakeLists in UI
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff changeset
60 ${CERTIFICATELIST_SOURCES}
45
c6125d73faf4 Move SSLConnection into it's own class
Andre Heinecke <aheinecke@intevation.de>
parents: 39
diff changeset
61 ${DOWNLOADER_SOURCES}
33
25c08d63d2b7 Add CMakeLists in UI
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff changeset
62 )
25c08d63d2b7 Add CMakeLists in UI
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff changeset
63
572
2459a7122532 Fix administrator typo
Andre Heinecke <aheinecke@intevation.de>
parents: 566
diff changeset
64 set(ADMINISTRATOR_SOURCES
333
de94c4ec22b1 Renamed management to administrator application.
Raimund Renkert <rrenkert@intevation.de>
parents: 327
diff changeset
65 ${CMAKE_CURRENT_SOURCE_DIR}/administratorwindow.cpp
335
811eec4e1b99 Use a table view with the new certificate table model in administrator app.
Raimund Renkert <rrenkert@intevation.de>
parents: 333
diff changeset
66 ${CMAKE_CURRENT_SOURCE_DIR}/certificatetablemodel.cpp
348
e6aa82466420 Use the table item delegate for certificates and make the model editable.
Raimund Renkert <rrenkert@intevation.de>
parents: 335
diff changeset
67 ${CMAKE_CURRENT_SOURCE_DIR}/certificatetabledelegate.cpp
362
857ae1ffdd6f Open the new dialog from the main menu.
Raimund Renkert <rrenkert@intevation.de>
parents: 348
diff changeset
68 ${CMAKE_CURRENT_SOURCE_DIR}/createinstallerdialog.cpp
527
bedeb38c244a Move createcertlist and aboutdialog back into their respective source groups.
Andre Heinecke <aheinecke@intevation.de>
parents: 525
diff changeset
69 ${CMAKE_CURRENT_SOURCE_DIR}/aboutdialog.cpp
bedeb38c244a Move createcertlist and aboutdialog back into their respective source groups.
Andre Heinecke <aheinecke@intevation.de>
parents: 525
diff changeset
70 ${CMAKE_CURRENT_SOURCE_DIR}/createcertlistdialog.cpp
566
8728ae882b6a Added dialog to show the differences before saving a certificate list.
Raimund Renkert <rrenkert@intevation.de>
parents: 561
diff changeset
71 ${CMAKE_CURRENT_SOURCE_DIR}/certificatediffdialog.cpp
327
3261b2a9cab7 Added a first version of the management application gui.
Raimund Renkert <rrenkert@intevation.de>
parents: 273
diff changeset
72 ${CERTIFICATELIST_SOURCES}
3261b2a9cab7 Added a first version of the management application gui.
Raimund Renkert <rrenkert@intevation.de>
parents: 273
diff changeset
73 )
3261b2a9cab7 Added a first version of the management application gui.
Raimund Renkert <rrenkert@intevation.de>
parents: 273
diff changeset
74
33
25c08d63d2b7 Add CMakeLists in UI
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff changeset
75 # Seperated to make it easier to include the sources in tests
407
af53c40e74b1 Rename m13ui to TrustBridge
Andre Heinecke <aheinecke@intevation.de>
parents: 405
diff changeset
76 set(TRUSTBRIDGE_RESOURCES
33
25c08d63d2b7 Add CMakeLists in UI
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff changeset
77 ${CMAKE_CURRENT_SOURCE_DIR}/icons.qrc
25c08d63d2b7 Add CMakeLists in UI
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff changeset
78 ${CMAKE_CURRENT_SOURCE_DIR}/certs.qrc
876
0051cb07da28 Reduce libraries, document i386 build and statically link fonts.
Andre Heinecke <andre.heinecke@intevation.de>
parents: 871
diff changeset
79 ${CMAKE_CURRENT_SOURCE_DIR}/fonts.qrc
33
25c08d63d2b7 Add CMakeLists in UI
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff changeset
80 )
25c08d63d2b7 Add CMakeLists in UI
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff changeset
81
572
2459a7122532 Fix administrator typo
Andre Heinecke <aheinecke@intevation.de>
parents: 566
diff changeset
82 set(ADMINISTRATOR_RESOURCES
327
3261b2a9cab7 Added a first version of the management application gui.
Raimund Renkert <rrenkert@intevation.de>
parents: 273
diff changeset
83 ${CMAKE_CURRENT_SOURCE_DIR}/icons.qrc
876
0051cb07da28 Reduce libraries, document i386 build and statically link fonts.
Andre Heinecke <andre.heinecke@intevation.de>
parents: 871
diff changeset
84 ${CMAKE_CURRENT_SOURCE_DIR}/fonts.qrc
327
3261b2a9cab7 Added a first version of the management application gui.
Raimund Renkert <rrenkert@intevation.de>
parents: 273
diff changeset
85 )
3261b2a9cab7 Added a first version of the management application gui.
Raimund Renkert <rrenkert@intevation.de>
parents: 273
diff changeset
86
33
25c08d63d2b7 Add CMakeLists in UI
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff changeset
87 if(UNIX)
25c08d63d2b7 Add CMakeLists in UI
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff changeset
88 # See: https://bugreports.qt-project.org/browse/QTBUG-35918
25c08d63d2b7 Add CMakeLists in UI
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff changeset
89 # XCB_EXTRA_LIBS should be gotten automatically.
25c08d63d2b7 Add CMakeLists in UI
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff changeset
90 # The following list is taken from the .pri file
25c08d63d2b7 Add CMakeLists in UI
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff changeset
91 get_target_property(_loc Qt5::Widgets LOCATION)
25c08d63d2b7 Add CMakeLists in UI
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff changeset
92 get_filename_component(_qtpath ${_loc} PATH)
107
5b9af103a355 Allow developers to overwrite the hardcoded xkb-common libname
Andre Heinecke <aheinecke@intevation.de>
parents: 81
diff changeset
93
33
25c08d63d2b7 Add CMakeLists in UI
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff changeset
94 set(XCB_EXTRA_LIBS
25c08d63d2b7 Add CMakeLists in UI
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff changeset
95 -L${_qtpath}
876
0051cb07da28 Reduce libraries, document i386 build and statically link fonts.
Andre Heinecke <andre.heinecke@intevation.de>
parents: 871
diff changeset
96 -lQt5DBus -lQt5Gui -lQt5Core -lQt5PlatformSupport
0051cb07da28 Reduce libraries, document i386 build and statically link fonts.
Andre Heinecke <andre.heinecke@intevation.de>
parents: 871
diff changeset
97 -lX11 -lX11-xcb -lxcb -lxcb-static
0051cb07da28 Reduce libraries, document i386 build and statically link fonts.
Andre Heinecke <andre.heinecke@intevation.de>
parents: 871
diff changeset
98 -lXrender -lSM -lICE -ldbus-1
0051cb07da28 Reduce libraries, document i386 build and statically link fonts.
Andre Heinecke <andre.heinecke@intevation.de>
parents: 871
diff changeset
99 -lm -ldl -lrt -lpthread )
855
e4cf249ba1a6 Use most xcb libraries statically
Andre Heinecke <andre.heinecke@intevation.de>
parents: 849
diff changeset
100
876
0051cb07da28 Reduce libraries, document i386 build and statically link fonts.
Andre Heinecke <andre.heinecke@intevation.de>
parents: 871
diff changeset
101 set(EXTRA_STATIC_LIBS -lpthread -ldl
33
25c08d63d2b7 Add CMakeLists in UI
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff changeset
102 Qt5::QXcbIntegrationPlugin ${XCB_EXTRA_LIBS})
25c08d63d2b7 Add CMakeLists in UI
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff changeset
103
25c08d63d2b7 Add CMakeLists in UI
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff changeset
104 elseif(WIN32)
25c08d63d2b7 Add CMakeLists in UI
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff changeset
105 get_target_property(_loc Qt5::Widgets LOCATION)
25c08d63d2b7 Add CMakeLists in UI
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff changeset
106 get_filename_component(_qtpath ${_loc} PATH)
25c08d63d2b7 Add CMakeLists in UI
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff changeset
107 set(WINDOWS_EXTRA_LIBS
25c08d63d2b7 Add CMakeLists in UI
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff changeset
108 -L${_qtpath}
949
0abacb0fd564 Document and use minimized qt and document curl build for windows
Andre Heinecke <andre.heinecke@intevation.de>
parents: 948
diff changeset
109 -lwinspool -lshlwapi
884
6abf8e77cd5f Remove harfbuzz / glib dependencies again.
Andre Heinecke <andre.heinecke@intevation.de>
parents: 883
diff changeset
110 -lQt5PlatformSupport -lQt5Gui -lcomdlg32 -loleaut32 -limm32 -lwinmm
949
0abacb0fd564 Document and use minimized qt and document curl build for windows
Andre Heinecke <andre.heinecke@intevation.de>
parents: 948
diff changeset
111 -lglu32 -lopengl32 -lgdi32 -lQt5Core -lole32 -lmstask -luuid -lws2_32
0abacb0fd564 Document and use minimized qt and document curl build for windows
Andre Heinecke <andre.heinecke@intevation.de>
parents: 948
diff changeset
112 -ladvapi32 -lshell32 -luser32 -lkernel32 -lpcre16)
33
25c08d63d2b7 Add CMakeLists in UI
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff changeset
113
25c08d63d2b7 Add CMakeLists in UI
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff changeset
114 set(EXTRA_STATIC_LIBS Qt5::QWindowsIntegrationPlugin ${WINDOWS_EXTRA_LIBS} -lwinhttp -lcrypt32)
602
854248d81ba4 Fully switch to unicode for windows.
Andre Heinecke <andre.heinecke@intevation.de>
parents: 601
diff changeset
115
854248d81ba4 Fully switch to unicode for windows.
Andre Heinecke <andre.heinecke@intevation.de>
parents: 601
diff changeset
116 add_definitions(-DUNICODE)
33
25c08d63d2b7 Add CMakeLists in UI
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff changeset
117 endif()
25c08d63d2b7 Add CMakeLists in UI
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff changeset
118
25c08d63d2b7 Add CMakeLists in UI
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff changeset
119 set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${Qt5Widgets_EXECUTABLE_COMPILE_FLAGS}")
25c08d63d2b7 Add CMakeLists in UI
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff changeset
120
409
09bb19e5e369 Remove m13 mentions and change test certificate to intevation.de
Andre Heinecke <aheinecke@intevation.de>
parents: 408
diff changeset
121 generate_cppcheck(SOURCES ${CINST_SOURCES} ${TRUSTBRIDGE_SOURCES} TARGET_NAME custom_cppcheck)
09bb19e5e369 Remove m13 mentions and change test certificate to intevation.de
Andre Heinecke <aheinecke@intevation.de>
parents: 408
diff changeset
122 add_dependencies(static_check custom_cppcheck)
33
25c08d63d2b7 Add CMakeLists in UI
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff changeset
123
25c08d63d2b7 Add CMakeLists in UI
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff changeset
124 # Adding resources here in an extra variable to enable reuse of
407
af53c40e74b1 Rename m13ui to TrustBridge
Andre Heinecke <aheinecke@intevation.de>
parents: 405
diff changeset
125 # TRUSTBRIDGE_SOURCES in the test subdirectory.
576
a677cffcaed4 Readd icon to the resource files (have to be linked with main)
Andre Heinecke <aheinecke@intevation.de>
parents: 572
diff changeset
126 set(TRUSTBRIDGE_MAIN_WITH_RESOURCES ${CMAKE_CURRENT_SOURCE_DIR}/main.cpp
620
bc02ee484067 Add dummy logging with ressourced messages.
Andre Heinecke <andre.heinecke@intevation.de>
parents: 617
diff changeset
127 ${CMAKE_CURRENT_SOURCE_DIR}/img/icon.rc)
561
4433f9d57f6d Add resources to main.
Andre Heinecke <aheinecke@intevation.de>
parents: 560
diff changeset
128 qt5_add_resources(TRUSTBRIDGE_MAIN_WITH_RESOURCES ${TRUSTBRIDGE_RESOURCES})
33
25c08d63d2b7 Add CMakeLists in UI
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff changeset
129
883
7e10d55b6c8f (issue71) Add client icon also for admin application.
Andre Heinecke <andre.heinecke@intevation.de>
parents: 876
diff changeset
130 set(ADMINISTRATOR_MAIN_WITH_RESOURCES ${CMAKE_CURRENT_SOURCE_DIR}/administrator.cpp
7e10d55b6c8f (issue71) Add client icon also for admin application.
Andre Heinecke <andre.heinecke@intevation.de>
parents: 876
diff changeset
131 ${CMAKE_CURRENT_SOURCE_DIR}/img/icon.rc)
572
2459a7122532 Fix administrator typo
Andre Heinecke <aheinecke@intevation.de>
parents: 566
diff changeset
132 qt5_add_resources(ADMINISTRATOR_MAIN_WITH_RESOURCES ${ADMINISTRATOR_RESOURCES})
411
413b29f6758f Add translation infrastructure and a file for the Administrator application
Andre Heinecke <aheinecke@intevation.de>
parents: 409
diff changeset
133
514
ce8325686b09 Use Win32 linker flags on Windows
Andre Heinecke <aheinecke@intevation.de>
parents: 497
diff changeset
134 if(WIN32)
ce8325686b09 Use Win32 linker flags on Windows
Andre Heinecke <aheinecke@intevation.de>
parents: 497
diff changeset
135 # This option causes cmake to use the appropiate liker flags to hide
ce8325686b09 Use Win32 linker flags on Windows
Andre Heinecke <aheinecke@intevation.de>
parents: 497
diff changeset
136 # the console Window on Windows
ce8325686b09 Use Win32 linker flags on Windows
Andre Heinecke <aheinecke@intevation.de>
parents: 497
diff changeset
137 set (_add_executable_params WIN32)
617
63a128400bf3 Add message compiler logic and messages file
Andre Heinecke <andre.heinecke@intevation.de>
parents: 609
diff changeset
138
63a128400bf3 Add message compiler logic and messages file
Andre Heinecke <andre.heinecke@intevation.de>
parents: 609
diff changeset
139 # Add the event messages
63a128400bf3 Add message compiler logic and messages file
Andre Heinecke <andre.heinecke@intevation.de>
parents: 609
diff changeset
140 if (MINGW)
63a128400bf3 Add message compiler logic and messages file
Andre Heinecke <andre.heinecke@intevation.de>
parents: 609
diff changeset
141 STRING(REGEX REPLACE "windres" "windmc" MC_COMPILER ${CMAKE_RC_COMPILER})
63a128400bf3 Add message compiler logic and messages file
Andre Heinecke <andre.heinecke@intevation.de>
parents: 609
diff changeset
142 else()
63a128400bf3 Add message compiler logic and messages file
Andre Heinecke <andre.heinecke@intevation.de>
parents: 609
diff changeset
143 # untested
63a128400bf3 Add message compiler logic and messages file
Andre Heinecke <andre.heinecke@intevation.de>
parents: 609
diff changeset
144 set(MC_COMPILER "mc.exe")
63a128400bf3 Add message compiler logic and messages file
Andre Heinecke <andre.heinecke@intevation.de>
parents: 609
diff changeset
145 endif()
63a128400bf3 Add message compiler logic and messages file
Andre Heinecke <andre.heinecke@intevation.de>
parents: 609
diff changeset
146
63a128400bf3 Add message compiler logic and messages file
Andre Heinecke <andre.heinecke@intevation.de>
parents: 609
diff changeset
147 add_custom_command(
63a128400bf3 Add message compiler logic and messages file
Andre Heinecke <andre.heinecke@intevation.de>
parents: 609
diff changeset
148 OUTPUT ${CMAKE_BINARY_DIR}/common/events.h
63a128400bf3 Add message compiler logic and messages file
Andre Heinecke <andre.heinecke@intevation.de>
parents: 609
diff changeset
149 ${CMAKE_BINARY_DIR}/common/events.rc
63a128400bf3 Add message compiler logic and messages file
Andre Heinecke <andre.heinecke@intevation.de>
parents: 609
diff changeset
150 ${CMAKE_BINARY_DIR}/common/MSG00407.bin
63a128400bf3 Add message compiler logic and messages file
Andre Heinecke <andre.heinecke@intevation.de>
parents: 609
diff changeset
151 ${CMAKE_BINARY_DIR}/common/MSG00409.bin
621
5d6e86cf3b87 Fix dependency handling for messages files.
Andre Heinecke <andre.heinecke@intevation.de>
parents: 620
diff changeset
152 COMMAND ${MC_COMPILER} ${CMAKE_SOURCE_DIR}/common/events.mc -r ${CMAKE_BINARY_DIR}/common -h ${CMAKE_BINARY_DIR}/common
617
63a128400bf3 Add message compiler logic and messages file
Andre Heinecke <andre.heinecke@intevation.de>
parents: 609
diff changeset
153 DEPENDS ${CMAKE_SOURCE_DIR}/common/events.mc)
621
5d6e86cf3b87 Fix dependency handling for messages files.
Andre Heinecke <andre.heinecke@intevation.de>
parents: 620
diff changeset
154 set_property(SOURCE ${CMAKE_CURRENT_SOURCE_DIR}/img/icon.rc APPEND PROPERTY OBJECT_DEPENDS ${CMAKE_BINARY_DIR}/common/events.rc)
514
ce8325686b09 Use Win32 linker flags on Windows
Andre Heinecke <aheinecke@intevation.de>
parents: 497
diff changeset
155 endif()
ce8325686b09 Use Win32 linker flags on Windows
Andre Heinecke <aheinecke@intevation.de>
parents: 497
diff changeset
156
411
413b29f6758f Add translation infrastructure and a file for the Administrator application
Andre Heinecke <aheinecke@intevation.de>
parents: 409
diff changeset
157 if(Qt5LinguistTools_FOUND)
420
16b6d5686835 Switch to resource based loading of translations
Andre Heinecke <aheinecke@intevation.de>
parents: 411
diff changeset
158 # Include translation as a resource
16b6d5686835 Switch to resource based loading of translations
Andre Heinecke <aheinecke@intevation.de>
parents: 411
diff changeset
159 # This works in the source directory to enable the rcc dependencies to be found
16b6d5686835 Switch to resource based loading of translations
Andre Heinecke <aheinecke@intevation.de>
parents: 411
diff changeset
160 # and it also updates the currently available localization.
16b6d5686835 Switch to resource based loading of translations
Andre Heinecke <aheinecke@intevation.de>
parents: 411
diff changeset
161 # This would probably be better placed in a macro
16b6d5686835 Switch to resource based loading of translations
Andre Heinecke <aheinecke@intevation.de>
parents: 411
diff changeset
162 configure_file(l10n/administrator.qrc.in administrator.qrc)
16b6d5686835 Switch to resource based loading of translations
Andre Heinecke <aheinecke@intevation.de>
parents: 411
diff changeset
163 qt5_add_resources(ADMINISTRATOR_L10N ${CMAKE_CURRENT_BINARY_DIR}/administrator.qrc)
572
2459a7122532 Fix administrator typo
Andre Heinecke <aheinecke@intevation.de>
parents: 566
diff changeset
164 qt5_create_translation(ADMINISTRATOR_TRANSLATION ${ADMINISTRATOR_SOURCES}
420
16b6d5686835 Switch to resource based loading of translations
Andre Heinecke <aheinecke@intevation.de>
parents: 411
diff changeset
165 ${CMAKE_CURRENT_SOURCE_DIR}/l10n/administrator_de_DE.ts)
520
09077eca0b0d Rename administrator to trustbridge-admin
Andre Heinecke <aheinecke@intevation.de>
parents: 514
diff changeset
166 add_executable(trustbridge-admin
514
ce8325686b09 Use Win32 linker flags on Windows
Andre Heinecke <aheinecke@intevation.de>
parents: 497
diff changeset
167 ${_add_executable_params}
572
2459a7122532 Fix administrator typo
Andre Heinecke <aheinecke@intevation.de>
parents: 566
diff changeset
168 ${ADMINISTRATOR_MAIN_WITH_RESOURCES}
420
16b6d5686835 Switch to resource based loading of translations
Andre Heinecke <aheinecke@intevation.de>
parents: 411
diff changeset
169 ${ADMINISTRATOR_L10N}
16b6d5686835 Switch to resource based loading of translations
Andre Heinecke <aheinecke@intevation.de>
parents: 411
diff changeset
170 ${ADMINISTRATOR_TRANSLATION}
16b6d5686835 Switch to resource based loading of translations
Andre Heinecke <aheinecke@intevation.de>
parents: 411
diff changeset
171 )
421
7edfc9b9b360 Add translation for trustbridge
Andre Heinecke <aheinecke@intevation.de>
parents: 420
diff changeset
172
7edfc9b9b360 Add translation for trustbridge
Andre Heinecke <aheinecke@intevation.de>
parents: 420
diff changeset
173 configure_file(l10n/trustbridge.qrc.in trustbridge.qrc)
7edfc9b9b360 Add translation for trustbridge
Andre Heinecke <aheinecke@intevation.de>
parents: 420
diff changeset
174 qt5_add_resources(TRUSTBRIDGE_L10N ${CMAKE_CURRENT_BINARY_DIR}/trustbridge.qrc)
561
4433f9d57f6d Add resources to main.
Andre Heinecke <aheinecke@intevation.de>
parents: 560
diff changeset
175 qt5_create_translation(TRUSTBRIDGE_TRANSLATION ${TRUSTBRIDGE_SOURCES}
421
7edfc9b9b360 Add translation for trustbridge
Andre Heinecke <aheinecke@intevation.de>
parents: 420
diff changeset
176 ${CMAKE_CURRENT_SOURCE_DIR}/l10n/trustbridge_de_DE.ts)
514
ce8325686b09 Use Win32 linker flags on Windows
Andre Heinecke <aheinecke@intevation.de>
parents: 497
diff changeset
177 add_executable(trustbridge
ce8325686b09 Use Win32 linker flags on Windows
Andre Heinecke <aheinecke@intevation.de>
parents: 497
diff changeset
178 ${_add_executable_params}
561
4433f9d57f6d Add resources to main.
Andre Heinecke <aheinecke@intevation.de>
parents: 560
diff changeset
179 ${TRUSTBRIDGE_MAIN_WITH_RESOURCES}
421
7edfc9b9b360 Add translation for trustbridge
Andre Heinecke <aheinecke@intevation.de>
parents: 420
diff changeset
180 ${TRUSTBRIDGE_L10N}
7edfc9b9b360 Add translation for trustbridge
Andre Heinecke <aheinecke@intevation.de>
parents: 420
diff changeset
181 ${TRUSTBRIDGE_TRANSLATION}
7edfc9b9b360 Add translation for trustbridge
Andre Heinecke <aheinecke@intevation.de>
parents: 420
diff changeset
182 )
7edfc9b9b360 Add translation for trustbridge
Andre Heinecke <aheinecke@intevation.de>
parents: 420
diff changeset
183
411
413b29f6758f Add translation infrastructure and a file for the Administrator application
Andre Heinecke <aheinecke@intevation.de>
parents: 409
diff changeset
184 else()
421
7edfc9b9b360 Add translation for trustbridge
Andre Heinecke <aheinecke@intevation.de>
parents: 420
diff changeset
185 message (STATUS "WARNING: Could not find qt linguist tools. Translation will not be included.")
520
09077eca0b0d Rename administrator to trustbridge-admin
Andre Heinecke <aheinecke@intevation.de>
parents: 514
diff changeset
186 add_executable(trustbridge-admin
514
ce8325686b09 Use Win32 linker flags on Windows
Andre Heinecke <aheinecke@intevation.de>
parents: 497
diff changeset
187 ${_add_executable_params}
572
2459a7122532 Fix administrator typo
Andre Heinecke <aheinecke@intevation.de>
parents: 566
diff changeset
188 ${ADMINISTRATOR_MAIN_WITH_RESOURCES})
514
ce8325686b09 Use Win32 linker flags on Windows
Andre Heinecke <aheinecke@intevation.de>
parents: 497
diff changeset
189 add_executable(trustbridge
ce8325686b09 Use Win32 linker flags on Windows
Andre Heinecke <aheinecke@intevation.de>
parents: 497
diff changeset
190 ${_add_executable_params}
561
4433f9d57f6d Add resources to main.
Andre Heinecke <aheinecke@intevation.de>
parents: 560
diff changeset
191 ${TRUSTBRIDGE_MAIN_WITH_RESOURCES})
411
413b29f6758f Add translation infrastructure and a file for the Administrator application
Andre Heinecke <aheinecke@intevation.de>
parents: 409
diff changeset
192 endif()
327
3261b2a9cab7 Added a first version of the management application gui.
Raimund Renkert <rrenkert@intevation.de>
parents: 273
diff changeset
193
496
fa3a7ebf0049 Move some common UI code into a library to avoid recompiling for each test
Andre Heinecke <aheinecke@intevation.de>
parents: 452
diff changeset
194 add_library(ui_common STATIC ${UICOMMON_SOURCES})
572
2459a7122532 Fix administrator typo
Andre Heinecke <aheinecke@intevation.de>
parents: 566
diff changeset
195 add_library(tbadminlib STATIC ${ADMINISTRATOR_SOURCES})
561
4433f9d57f6d Add resources to main.
Andre Heinecke <aheinecke@intevation.de>
parents: 560
diff changeset
196 add_library(tblib STATIC ${TRUSTBRIDGE_SOURCES})
496
fa3a7ebf0049 Move some common UI code into a library to avoid recompiling for each test
Andre Heinecke <aheinecke@intevation.de>
parents: 452
diff changeset
197
560
3af16cbc961d Move UI code into librarys to speed up build of unit tests
Andre Heinecke <aheinecke@intevation.de>
parents: 558
diff changeset
198 target_link_libraries(trustbridge-admin
3af16cbc961d Move UI code into librarys to speed up build of unit tests
Andre Heinecke <aheinecke@intevation.de>
parents: 558
diff changeset
199 tbadminlib
3af16cbc961d Move UI code into librarys to speed up build of unit tests
Andre Heinecke <aheinecke@intevation.de>
parents: 558
diff changeset
200 Qt5::Widgets
496
fa3a7ebf0049 Move some common UI code into a library to avoid recompiling for each test
Andre Heinecke <aheinecke@intevation.de>
parents: 452
diff changeset
201 ui_common
408
ac9e95ef6966 rename m13_common to trustbridge_common
Andre Heinecke <aheinecke@intevation.de>
parents: 407
diff changeset
202 trustbridge_common
327
3261b2a9cab7 Added a first version of the management application gui.
Raimund Renkert <rrenkert@intevation.de>
parents: 273
diff changeset
203 ${POLARSSL_LIBRARIES}
3261b2a9cab7 Added a first version of the management application gui.
Raimund Renkert <rrenkert@intevation.de>
parents: 273
diff changeset
204 ${EXTRA_STATIC_LIBS}
3261b2a9cab7 Added a first version of the management application gui.
Raimund Renkert <rrenkert@intevation.de>
parents: 273
diff changeset
205 ${PROFILING_LIBS})
3261b2a9cab7 Added a first version of the management application gui.
Raimund Renkert <rrenkert@intevation.de>
parents: 273
diff changeset
206
560
3af16cbc961d Move UI code into librarys to speed up build of unit tests
Andre Heinecke <aheinecke@intevation.de>
parents: 558
diff changeset
207 target_link_libraries(trustbridge
3af16cbc961d Move UI code into librarys to speed up build of unit tests
Andre Heinecke <aheinecke@intevation.de>
parents: 558
diff changeset
208 tblib
3af16cbc961d Move UI code into librarys to speed up build of unit tests
Andre Heinecke <aheinecke@intevation.de>
parents: 558
diff changeset
209 Qt5::Widgets
496
fa3a7ebf0049 Move some common UI code into a library to avoid recompiling for each test
Andre Heinecke <aheinecke@intevation.de>
parents: 452
diff changeset
210 ui_common
421
7edfc9b9b360 Add translation for trustbridge
Andre Heinecke <aheinecke@intevation.de>
parents: 420
diff changeset
211 trustbridge_common
908
d1c951b3012d Curl based implementation of sslconnection
Andre Heinecke <andre.heinecke@intevation.de>
parents: 884
diff changeset
212 ${CURL_LIBRARIES}
421
7edfc9b9b360 Add translation for trustbridge
Andre Heinecke <aheinecke@intevation.de>
parents: 420
diff changeset
213 ${POLARSSL_LIBRARIES}
7edfc9b9b360 Add translation for trustbridge
Andre Heinecke <aheinecke@intevation.de>
parents: 420
diff changeset
214 ${EXTRA_STATIC_LIBS}
7edfc9b9b360 Add translation for trustbridge
Andre Heinecke <aheinecke@intevation.de>
parents: 420
diff changeset
215 ${PROFILING_LIBS})
7edfc9b9b360 Add translation for trustbridge
Andre Heinecke <aheinecke@intevation.de>
parents: 420
diff changeset
216
33
25c08d63d2b7 Add CMakeLists in UI
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff changeset
217 # Tests
25c08d63d2b7 Add CMakeLists in UI
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff changeset
218 add_subdirectory(tests)
124
2d50ff378367 Add install targets
Andre Heinecke <aheinecke@intevation.de>
parents: 109
diff changeset
219
407
af53c40e74b1 Rename m13ui to TrustBridge
Andre Heinecke <aheinecke@intevation.de>
parents: 405
diff changeset
220 install(TARGETS trustbridge DESTINATION bin)
520
09077eca0b0d Rename administrator to trustbridge-admin
Andre Heinecke <aheinecke@intevation.de>
parents: 514
diff changeset
221 install(TARGETS trustbridge-admin DESTINATION bin)
738
ea8d13590cbd Added trustbridge-tray-starter script for use with cron job.
Sascha Wilde <wilde@intevation.de>
parents: 722
diff changeset
222 if(UNIX)
ea8d13590cbd Added trustbridge-tray-starter script for use with cron job.
Sascha Wilde <wilde@intevation.de>
parents: 722
diff changeset
223 configure_file(trustbridge-tray-starter.sh trustbridge-tray-starter.sh COPYONLY)
ea8d13590cbd Added trustbridge-tray-starter script for use with cron job.
Sascha Wilde <wilde@intevation.de>
parents: 722
diff changeset
224 install(FILES trustbridge-tray-starter.sh DESTINATION bin)
ea8d13590cbd Added trustbridge-tray-starter script for use with cron job.
Sascha Wilde <wilde@intevation.de>
parents: 722
diff changeset
225 endif()
1019
4f999c7821ce Strip created executables
Andre Heinecke <andre.heinecke@intevation.de>
parents: 994
diff changeset
226
4f999c7821ce Strip created executables
Andre Heinecke <andre.heinecke@intevation.de>
parents: 994
diff changeset
227 # Strip the binaries
4f999c7821ce Strip created executables
Andre Heinecke <andre.heinecke@intevation.de>
parents: 994
diff changeset
228 if (WIN32)
4f999c7821ce Strip created executables
Andre Heinecke <andre.heinecke@intevation.de>
parents: 994
diff changeset
229 add_custom_command(
4f999c7821ce Strip created executables
Andre Heinecke <andre.heinecke@intevation.de>
parents: 994
diff changeset
230 TARGET trustbridge
4f999c7821ce Strip created executables
Andre Heinecke <andre.heinecke@intevation.de>
parents: 994
diff changeset
231 POST_BUILD
4f999c7821ce Strip created executables
Andre Heinecke <andre.heinecke@intevation.de>
parents: 994
diff changeset
232 COMMAND ${CMAKE_STRIP} trustbridge.exe
4f999c7821ce Strip created executables
Andre Heinecke <andre.heinecke@intevation.de>
parents: 994
diff changeset
233 )
4f999c7821ce Strip created executables
Andre Heinecke <andre.heinecke@intevation.de>
parents: 994
diff changeset
234 add_custom_command(
4f999c7821ce Strip created executables
Andre Heinecke <andre.heinecke@intevation.de>
parents: 994
diff changeset
235 TARGET trustbridge-admin
4f999c7821ce Strip created executables
Andre Heinecke <andre.heinecke@intevation.de>
parents: 994
diff changeset
236 POST_BUILD
4f999c7821ce Strip created executables
Andre Heinecke <andre.heinecke@intevation.de>
parents: 994
diff changeset
237 COMMAND ${CMAKE_STRIP} trustbridge-admin.exe
4f999c7821ce Strip created executables
Andre Heinecke <andre.heinecke@intevation.de>
parents: 994
diff changeset
238 )
4f999c7821ce Strip created executables
Andre Heinecke <andre.heinecke@intevation.de>
parents: 994
diff changeset
239 else()
4f999c7821ce Strip created executables
Andre Heinecke <andre.heinecke@intevation.de>
parents: 994
diff changeset
240 add_custom_command(
4f999c7821ce Strip created executables
Andre Heinecke <andre.heinecke@intevation.de>
parents: 994
diff changeset
241 TARGET trustbridge
4f999c7821ce Strip created executables
Andre Heinecke <andre.heinecke@intevation.de>
parents: 994
diff changeset
242 POST_BUILD
4f999c7821ce Strip created executables
Andre Heinecke <andre.heinecke@intevation.de>
parents: 994
diff changeset
243 COMMAND strip trustbridge
4f999c7821ce Strip created executables
Andre Heinecke <andre.heinecke@intevation.de>
parents: 994
diff changeset
244 )
4f999c7821ce Strip created executables
Andre Heinecke <andre.heinecke@intevation.de>
parents: 994
diff changeset
245 add_custom_command(
4f999c7821ce Strip created executables
Andre Heinecke <andre.heinecke@intevation.de>
parents: 994
diff changeset
246 TARGET trustbridge-admin
4f999c7821ce Strip created executables
Andre Heinecke <andre.heinecke@intevation.de>
parents: 994
diff changeset
247 POST_BUILD
1057
126e5ce4d1d1 Correctly strip trustbridge-admin under linux
Andre Heinecke <andre.heinecke@intevation.de>
parents: 1019
diff changeset
248 COMMAND strip trustbridge-admin
1019
4f999c7821ce Strip created executables
Andre Heinecke <andre.heinecke@intevation.de>
parents: 994
diff changeset
249 )
4f999c7821ce Strip created executables
Andre Heinecke <andre.heinecke@intevation.de>
parents: 994
diff changeset
250 endif()

http://wald.intevation.org/projects/trustbridge/