annotate ui/CMakeLists.txt @ 1049:52c68a773194

Ubuntu Installer, short instruction with explicit mention that this example is for one user only.
author Bernhard Reiter <bernhard@intevation.de>
date Fri, 05 Sep 2014 12:30:47 +0200
parents 4f999c7821ce
children 126e5ce4d1d1
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
4f999c7821ce Strip created executables
Andre Heinecke <andre.heinecke@intevation.de>
parents: 994
diff changeset
248 COMMAND ${CMAKE_STRIP} trustbridge-admin
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/