annotate ui/CMakeLists.txt @ 908:d1c951b3012d

Curl based implementation of sslconnection
author Andre Heinecke <andre.heinecke@intevation.de>
date Wed, 13 Aug 2014 19:35:08 +0200
parents 6abf8e77cd5f
children eaed02defe6a
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
411
413b29f6758f Add translation infrastructure and a file for the Administrator application
Andre Heinecke <aheinecke@intevation.de>
parents: 409
diff changeset
14 find_package(Qt5LinguistTools)
908
d1c951b3012d Curl based implementation of sslconnection
Andre Heinecke <andre.heinecke@intevation.de>
parents: 884
diff changeset
15 find_package(CURL)
d1c951b3012d Curl based implementation of sslconnection
Andre Heinecke <andre.heinecke@intevation.de>
parents: 884
diff changeset
16
d1c951b3012d Curl based implementation of sslconnection
Andre Heinecke <andre.heinecke@intevation.de>
parents: 884
diff changeset
17 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
18
520
09077eca0b0d Rename administrator to trustbridge-admin
Andre Heinecke <aheinecke@intevation.de>
parents: 514
diff changeset
19 # 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
20 # 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
21 set(UICOMMON_SOURCES
33
25c08d63d2b7 Add CMakeLists in UI
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff changeset
22 ${CMAKE_CURRENT_SOURCE_DIR}/certificatelist.cpp
25c08d63d2b7 Add CMakeLists in UI
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff changeset
23 ${CMAKE_CURRENT_SOURCE_DIR}/certificate.cpp
25c08d63d2b7 Add CMakeLists in UI
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff changeset
24 ${CMAKE_CURRENT_SOURCE_DIR}/downloader.cpp
908
d1c951b3012d Curl based implementation of sslconnection
Andre Heinecke <andre.heinecke@intevation.de>
parents: 884
diff changeset
25 ${CMAKE_CURRENT_SOURCE_DIR}/sslconnection_bare.cpp
452
f8b480b08532 Factor out polarssl error handling and start new sslhelp file
Andre Heinecke <aheinecke@intevation.de>
parents: 427
diff changeset
26 ${CMAKE_CURRENT_SOURCE_DIR}/sslhelp.cpp
45
c6125d73faf4 Move SSLConnection into it's own class
Andre Heinecke <aheinecke@intevation.de>
parents: 39
diff changeset
27 )
c6125d73faf4 Move SSLConnection into it's own class
Andre Heinecke <aheinecke@intevation.de>
parents: 39
diff changeset
28
908
d1c951b3012d Curl based implementation of sslconnection
Andre Heinecke <andre.heinecke@intevation.de>
parents: 884
diff changeset
29 if (${CURL_FOUND})
d1c951b3012d Curl based implementation of sslconnection
Andre Heinecke <andre.heinecke@intevation.de>
parents: 884
diff changeset
30 set(UICOMMON_SOURCES ${UICOMMON_SOURCES} ${CMAKE_CURRENT_SOURCE_DIR}/sslconnection_curl.cpp)
d1c951b3012d Curl based implementation of sslconnection
Andre Heinecke <andre.heinecke@intevation.de>
parents: 884
diff changeset
31 add_definitions(-DUSE_CURL)
d1c951b3012d Curl based implementation of sslconnection
Andre Heinecke <andre.heinecke@intevation.de>
parents: 884
diff changeset
32 else()
d1c951b3012d Curl based implementation of sslconnection
Andre Heinecke <andre.heinecke@intevation.de>
parents: 884
diff changeset
33 MESSAGE(STATUS "Warning curl not found only bare polarssl ssl will be supported.")
d1c951b3012d Curl based implementation of sslconnection
Andre Heinecke <andre.heinecke@intevation.de>
parents: 884
diff changeset
34 endif()
d1c951b3012d Curl based implementation of sslconnection
Andre Heinecke <andre.heinecke@intevation.de>
parents: 884
diff changeset
35
497
5e77d1c4826c Add Icon for Windows
Andre Heinecke <aheinecke@intevation.de>
parents: 496
diff changeset
36 # Cmake does not correctly identify gcc windres when cross compiling
5e77d1c4826c Add Icon for Windows
Andre Heinecke <aheinecke@intevation.de>
parents: 496
diff changeset
37 # 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
38 # See: http://public.kitware.com/Bug/view.php?id=11773
5e77d1c4826c Add Icon for Windows
Andre Heinecke <aheinecke@intevation.de>
parents: 496
diff changeset
39 SET(CMAKE_RC_COMPILE_OBJECT
5e77d1c4826c Add Icon for Windows
Andre Heinecke <aheinecke@intevation.de>
parents: 496
diff changeset
40 "<CMAKE_RC_COMPILER> <FLAGS> <DEFINES> -Ocoff <SOURCE> <OBJECT>")
5e77d1c4826c Add Icon for Windows
Andre Heinecke <aheinecke@intevation.de>
parents: 496
diff changeset
41
407
af53c40e74b1 Rename m13ui to TrustBridge
Andre Heinecke <aheinecke@intevation.de>
parents: 405
diff changeset
42 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
43 ${CMAKE_CURRENT_SOURCE_DIR}/mainwindow.cpp
190
1a66a15d0df8 Added stub for help dialog.
Raimund Renkert <rrenkert@intevation.de>
parents: 124
diff changeset
44 ${CMAKE_CURRENT_SOURCE_DIR}/helpdialog.cpp
584
ebfe1128ee97 Started trustbridge mainwindow refactoring.
Raimund Renkert <rrenkert@intevation.de>
parents: 566
diff changeset
45 ${CMAKE_CURRENT_SOURCE_DIR}/certificatelistwidget.cpp
ebfe1128ee97 Started trustbridge mainwindow refactoring.
Raimund Renkert <rrenkert@intevation.de>
parents: 566
diff changeset
46 ${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
47 ${CMAKE_CURRENT_SOURCE_DIR}/separatoritemdelegate.cpp
257
06089ba2614a Use Installwrapper to call certificate installation process
Andre Heinecke <aheinecke@intevation.de>
parents: 254
diff changeset
48 ${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
49 ${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
50 ${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
51 ${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
52 ${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
53 ${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
54 ${CMAKE_CURRENT_SOURCE_DIR}/trayicon.cpp
33
25c08d63d2b7 Add CMakeLists in UI
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff changeset
55 ${CERTIFICATELIST_SOURCES}
45
c6125d73faf4 Move SSLConnection into it's own class
Andre Heinecke <aheinecke@intevation.de>
parents: 39
diff changeset
56 ${DOWNLOADER_SOURCES}
33
25c08d63d2b7 Add CMakeLists in UI
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff changeset
57 )
25c08d63d2b7 Add CMakeLists in UI
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff changeset
58
572
2459a7122532 Fix administrator typo
Andre Heinecke <aheinecke@intevation.de>
parents: 566
diff changeset
59 set(ADMINISTRATOR_SOURCES
333
de94c4ec22b1 Renamed management to administrator application.
Raimund Renkert <rrenkert@intevation.de>
parents: 327
diff changeset
60 ${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
61 ${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
62 ${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
63 ${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
64 ${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
65 ${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
66 ${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
67 ${CERTIFICATELIST_SOURCES}
3261b2a9cab7 Added a first version of the management application gui.
Raimund Renkert <rrenkert@intevation.de>
parents: 273
diff changeset
68 )
3261b2a9cab7 Added a first version of the management application gui.
Raimund Renkert <rrenkert@intevation.de>
parents: 273
diff changeset
69
33
25c08d63d2b7 Add CMakeLists in UI
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff changeset
70 # 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
71 set(TRUSTBRIDGE_RESOURCES
33
25c08d63d2b7 Add CMakeLists in UI
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff changeset
72 ${CMAKE_CURRENT_SOURCE_DIR}/icons.qrc
25c08d63d2b7 Add CMakeLists in UI
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff changeset
73 ${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
74 ${CMAKE_CURRENT_SOURCE_DIR}/fonts.qrc
33
25c08d63d2b7 Add CMakeLists in UI
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff changeset
75 )
25c08d63d2b7 Add CMakeLists in UI
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff changeset
76
572
2459a7122532 Fix administrator typo
Andre Heinecke <aheinecke@intevation.de>
parents: 566
diff changeset
77 set(ADMINISTRATOR_RESOURCES
327
3261b2a9cab7 Added a first version of the management application gui.
Raimund Renkert <rrenkert@intevation.de>
parents: 273
diff changeset
78 ${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
79 ${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
80 )
3261b2a9cab7 Added a first version of the management application gui.
Raimund Renkert <rrenkert@intevation.de>
parents: 273
diff changeset
81
33
25c08d63d2b7 Add CMakeLists in UI
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff changeset
82 if(UNIX)
25c08d63d2b7 Add CMakeLists in UI
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff changeset
83 # See: https://bugreports.qt-project.org/browse/QTBUG-35918
25c08d63d2b7 Add CMakeLists in UI
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff changeset
84 # XCB_EXTRA_LIBS should be gotten automatically.
25c08d63d2b7 Add CMakeLists in UI
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff changeset
85 # The following list is taken from the .pri file
25c08d63d2b7 Add CMakeLists in UI
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff changeset
86 get_target_property(_loc Qt5::Widgets LOCATION)
25c08d63d2b7 Add CMakeLists in UI
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff changeset
87 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
88
33
25c08d63d2b7 Add CMakeLists in UI
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff changeset
89 set(XCB_EXTRA_LIBS
25c08d63d2b7 Add CMakeLists in UI
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff changeset
90 -L${_qtpath}
876
0051cb07da28 Reduce libraries, document i386 build and statically link fonts.
Andre Heinecke <andre.heinecke@intevation.de>
parents: 871
diff changeset
91 -lQt5DBus -lQt5Gui -lQt5Core -lQt5PlatformSupport
0051cb07da28 Reduce libraries, document i386 build and statically link fonts.
Andre Heinecke <andre.heinecke@intevation.de>
parents: 871
diff changeset
92 -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
93 -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
94 -lm -ldl -lrt -lpthread )
855
e4cf249ba1a6 Use most xcb libraries statically
Andre Heinecke <andre.heinecke@intevation.de>
parents: 849
diff changeset
95
876
0051cb07da28 Reduce libraries, document i386 build and statically link fonts.
Andre Heinecke <andre.heinecke@intevation.de>
parents: 871
diff changeset
96 set(EXTRA_STATIC_LIBS -lpthread -ldl
33
25c08d63d2b7 Add CMakeLists in UI
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff changeset
97 Qt5::QXcbIntegrationPlugin ${XCB_EXTRA_LIBS})
25c08d63d2b7 Add CMakeLists in UI
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff changeset
98
25c08d63d2b7 Add CMakeLists in UI
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff changeset
99 elseif(WIN32)
25c08d63d2b7 Add CMakeLists in UI
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff changeset
100 get_target_property(_loc Qt5::Widgets LOCATION)
25c08d63d2b7 Add CMakeLists in UI
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff changeset
101 get_filename_component(_qtpath ${_loc} PATH)
25c08d63d2b7 Add CMakeLists in UI
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff changeset
102 set(WINDOWS_EXTRA_LIBS
25c08d63d2b7 Add CMakeLists in UI
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff changeset
103 -L${_qtpath}
25c08d63d2b7 Add CMakeLists in UI
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff changeset
104 -lwinspool -lshlwapi -lfreetype -lbz2 -lpng16
884
6abf8e77cd5f Remove harfbuzz / glib dependencies again.
Andre Heinecke <andre.heinecke@intevation.de>
parents: 883
diff changeset
105 -lQt5PlatformSupport -lQt5Gui -lcomdlg32 -loleaut32 -limm32 -lwinmm
827
8de162b91a22 (Issue49) Create a Scheduled daily task to run trustbridge
Andre Heinecke <andre.heinecke@intevation.de>
parents: 807
diff changeset
106 -lglu32 -lopengl32 -lgdi32 -ljpeg -lpng -lQt5Core -lole32 -lmstask -luuid -lws2_32
33
25c08d63d2b7 Add CMakeLists in UI
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff changeset
107 -ladvapi32 -lshell32 -luser32 -lkernel32 -lz -lsicuin -lsicuuc -lsicudt -lpcre16)
25c08d63d2b7 Add CMakeLists in UI
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff changeset
108
25c08d63d2b7 Add CMakeLists in UI
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff changeset
109 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
110
854248d81ba4 Fully switch to unicode for windows.
Andre Heinecke <andre.heinecke@intevation.de>
parents: 601
diff changeset
111 add_definitions(-DUNICODE)
33
25c08d63d2b7 Add CMakeLists in UI
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff changeset
112 endif()
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(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${Qt5Widgets_EXECUTABLE_COMPILE_FLAGS}")
25c08d63d2b7 Add CMakeLists in UI
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff changeset
115
409
09bb19e5e369 Remove m13 mentions and change test certificate to intevation.de
Andre Heinecke <aheinecke@intevation.de>
parents: 408
diff changeset
116 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
117 add_dependencies(static_check custom_cppcheck)
33
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 # 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
120 # 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
121 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
122 ${CMAKE_CURRENT_SOURCE_DIR}/img/icon.rc)
561
4433f9d57f6d Add resources to main.
Andre Heinecke <aheinecke@intevation.de>
parents: 560
diff changeset
123 qt5_add_resources(TRUSTBRIDGE_MAIN_WITH_RESOURCES ${TRUSTBRIDGE_RESOURCES})
33
25c08d63d2b7 Add CMakeLists in UI
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff changeset
124
883
7e10d55b6c8f (issue71) Add client icon also for admin application.
Andre Heinecke <andre.heinecke@intevation.de>
parents: 876
diff changeset
125 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
126 ${CMAKE_CURRENT_SOURCE_DIR}/img/icon.rc)
572
2459a7122532 Fix administrator typo
Andre Heinecke <aheinecke@intevation.de>
parents: 566
diff changeset
127 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
128
514
ce8325686b09 Use Win32 linker flags on Windows
Andre Heinecke <aheinecke@intevation.de>
parents: 497
diff changeset
129 if(WIN32)
ce8325686b09 Use Win32 linker flags on Windows
Andre Heinecke <aheinecke@intevation.de>
parents: 497
diff changeset
130 # 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
131 # the console Window on Windows
ce8325686b09 Use Win32 linker flags on Windows
Andre Heinecke <aheinecke@intevation.de>
parents: 497
diff changeset
132 set (_add_executable_params WIN32)
617
63a128400bf3 Add message compiler logic and messages file
Andre Heinecke <andre.heinecke@intevation.de>
parents: 609
diff changeset
133
63a128400bf3 Add message compiler logic and messages file
Andre Heinecke <andre.heinecke@intevation.de>
parents: 609
diff changeset
134 # Add the event messages
63a128400bf3 Add message compiler logic and messages file
Andre Heinecke <andre.heinecke@intevation.de>
parents: 609
diff changeset
135 if (MINGW)
63a128400bf3 Add message compiler logic and messages file
Andre Heinecke <andre.heinecke@intevation.de>
parents: 609
diff changeset
136 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
137 else()
63a128400bf3 Add message compiler logic and messages file
Andre Heinecke <andre.heinecke@intevation.de>
parents: 609
diff changeset
138 # untested
63a128400bf3 Add message compiler logic and messages file
Andre Heinecke <andre.heinecke@intevation.de>
parents: 609
diff changeset
139 set(MC_COMPILER "mc.exe")
63a128400bf3 Add message compiler logic and messages file
Andre Heinecke <andre.heinecke@intevation.de>
parents: 609
diff changeset
140 endif()
63a128400bf3 Add message compiler logic and messages file
Andre Heinecke <andre.heinecke@intevation.de>
parents: 609
diff changeset
141
63a128400bf3 Add message compiler logic and messages file
Andre Heinecke <andre.heinecke@intevation.de>
parents: 609
diff changeset
142 add_custom_command(
63a128400bf3 Add message compiler logic and messages file
Andre Heinecke <andre.heinecke@intevation.de>
parents: 609
diff changeset
143 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
144 ${CMAKE_BINARY_DIR}/common/events.rc
63a128400bf3 Add message compiler logic and messages file
Andre Heinecke <andre.heinecke@intevation.de>
parents: 609
diff changeset
145 ${CMAKE_BINARY_DIR}/common/MSG00407.bin
63a128400bf3 Add message compiler logic and messages file
Andre Heinecke <andre.heinecke@intevation.de>
parents: 609
diff changeset
146 ${CMAKE_BINARY_DIR}/common/MSG00409.bin
621
5d6e86cf3b87 Fix dependency handling for messages files.
Andre Heinecke <andre.heinecke@intevation.de>
parents: 620
diff changeset
147 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
148 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
149 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
150 endif()
ce8325686b09 Use Win32 linker flags on Windows
Andre Heinecke <aheinecke@intevation.de>
parents: 497
diff changeset
151
411
413b29f6758f Add translation infrastructure and a file for the Administrator application
Andre Heinecke <aheinecke@intevation.de>
parents: 409
diff changeset
152 if(Qt5LinguistTools_FOUND)
420
16b6d5686835 Switch to resource based loading of translations
Andre Heinecke <aheinecke@intevation.de>
parents: 411
diff changeset
153 # Include translation as a resource
16b6d5686835 Switch to resource based loading of translations
Andre Heinecke <aheinecke@intevation.de>
parents: 411
diff changeset
154 # 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
155 # 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
156 # 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
157 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
158 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
159 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
160 ${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
161 add_executable(trustbridge-admin
514
ce8325686b09 Use Win32 linker flags on Windows
Andre Heinecke <aheinecke@intevation.de>
parents: 497
diff changeset
162 ${_add_executable_params}
572
2459a7122532 Fix administrator typo
Andre Heinecke <aheinecke@intevation.de>
parents: 566
diff changeset
163 ${ADMINISTRATOR_MAIN_WITH_RESOURCES}
420
16b6d5686835 Switch to resource based loading of translations
Andre Heinecke <aheinecke@intevation.de>
parents: 411
diff changeset
164 ${ADMINISTRATOR_L10N}
16b6d5686835 Switch to resource based loading of translations
Andre Heinecke <aheinecke@intevation.de>
parents: 411
diff changeset
165 ${ADMINISTRATOR_TRANSLATION}
16b6d5686835 Switch to resource based loading of translations
Andre Heinecke <aheinecke@intevation.de>
parents: 411
diff changeset
166 )
421
7edfc9b9b360 Add translation for trustbridge
Andre Heinecke <aheinecke@intevation.de>
parents: 420
diff changeset
167
7edfc9b9b360 Add translation for trustbridge
Andre Heinecke <aheinecke@intevation.de>
parents: 420
diff changeset
168 configure_file(l10n/trustbridge.qrc.in trustbridge.qrc)
7edfc9b9b360 Add translation for trustbridge
Andre Heinecke <aheinecke@intevation.de>
parents: 420
diff changeset
169 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
170 qt5_create_translation(TRUSTBRIDGE_TRANSLATION ${TRUSTBRIDGE_SOURCES}
421
7edfc9b9b360 Add translation for trustbridge
Andre Heinecke <aheinecke@intevation.de>
parents: 420
diff changeset
171 ${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
172 add_executable(trustbridge
ce8325686b09 Use Win32 linker flags on Windows
Andre Heinecke <aheinecke@intevation.de>
parents: 497
diff changeset
173 ${_add_executable_params}
561
4433f9d57f6d Add resources to main.
Andre Heinecke <aheinecke@intevation.de>
parents: 560
diff changeset
174 ${TRUSTBRIDGE_MAIN_WITH_RESOURCES}
421
7edfc9b9b360 Add translation for trustbridge
Andre Heinecke <aheinecke@intevation.de>
parents: 420
diff changeset
175 ${TRUSTBRIDGE_L10N}
7edfc9b9b360 Add translation for trustbridge
Andre Heinecke <aheinecke@intevation.de>
parents: 420
diff changeset
176 ${TRUSTBRIDGE_TRANSLATION}
7edfc9b9b360 Add translation for trustbridge
Andre Heinecke <aheinecke@intevation.de>
parents: 420
diff changeset
177 )
7edfc9b9b360 Add translation for trustbridge
Andre Heinecke <aheinecke@intevation.de>
parents: 420
diff changeset
178
411
413b29f6758f Add translation infrastructure and a file for the Administrator application
Andre Heinecke <aheinecke@intevation.de>
parents: 409
diff changeset
179 else()
421
7edfc9b9b360 Add translation for trustbridge
Andre Heinecke <aheinecke@intevation.de>
parents: 420
diff changeset
180 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
181 add_executable(trustbridge-admin
514
ce8325686b09 Use Win32 linker flags on Windows
Andre Heinecke <aheinecke@intevation.de>
parents: 497
diff changeset
182 ${_add_executable_params}
572
2459a7122532 Fix administrator typo
Andre Heinecke <aheinecke@intevation.de>
parents: 566
diff changeset
183 ${ADMINISTRATOR_MAIN_WITH_RESOURCES})
514
ce8325686b09 Use Win32 linker flags on Windows
Andre Heinecke <aheinecke@intevation.de>
parents: 497
diff changeset
184 add_executable(trustbridge
ce8325686b09 Use Win32 linker flags on Windows
Andre Heinecke <aheinecke@intevation.de>
parents: 497
diff changeset
185 ${_add_executable_params}
561
4433f9d57f6d Add resources to main.
Andre Heinecke <aheinecke@intevation.de>
parents: 560
diff changeset
186 ${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
187 endif()
327
3261b2a9cab7 Added a first version of the management application gui.
Raimund Renkert <rrenkert@intevation.de>
parents: 273
diff changeset
188
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
189 add_library(ui_common STATIC ${UICOMMON_SOURCES})
572
2459a7122532 Fix administrator typo
Andre Heinecke <aheinecke@intevation.de>
parents: 566
diff changeset
190 add_library(tbadminlib STATIC ${ADMINISTRATOR_SOURCES})
561
4433f9d57f6d Add resources to main.
Andre Heinecke <aheinecke@intevation.de>
parents: 560
diff changeset
191 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
192
560
3af16cbc961d Move UI code into librarys to speed up build of unit tests
Andre Heinecke <aheinecke@intevation.de>
parents: 558
diff changeset
193 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
194 tbadminlib
3af16cbc961d Move UI code into librarys to speed up build of unit tests
Andre Heinecke <aheinecke@intevation.de>
parents: 558
diff changeset
195 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
196 ui_common
408
ac9e95ef6966 rename m13_common to trustbridge_common
Andre Heinecke <aheinecke@intevation.de>
parents: 407
diff changeset
197 trustbridge_common
327
3261b2a9cab7 Added a first version of the management application gui.
Raimund Renkert <rrenkert@intevation.de>
parents: 273
diff changeset
198 ${POLARSSL_LIBRARIES}
3261b2a9cab7 Added a first version of the management application gui.
Raimund Renkert <rrenkert@intevation.de>
parents: 273
diff changeset
199 ${EXTRA_STATIC_LIBS}
3261b2a9cab7 Added a first version of the management application gui.
Raimund Renkert <rrenkert@intevation.de>
parents: 273
diff changeset
200 ${PROFILING_LIBS})
3261b2a9cab7 Added a first version of the management application gui.
Raimund Renkert <rrenkert@intevation.de>
parents: 273
diff changeset
201
560
3af16cbc961d Move UI code into librarys to speed up build of unit tests
Andre Heinecke <aheinecke@intevation.de>
parents: 558
diff changeset
202 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
203 tblib
3af16cbc961d Move UI code into librarys to speed up build of unit tests
Andre Heinecke <aheinecke@intevation.de>
parents: 558
diff changeset
204 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
205 ui_common
421
7edfc9b9b360 Add translation for trustbridge
Andre Heinecke <aheinecke@intevation.de>
parents: 420
diff changeset
206 trustbridge_common
908
d1c951b3012d Curl based implementation of sslconnection
Andre Heinecke <andre.heinecke@intevation.de>
parents: 884
diff changeset
207 ${CURL_LIBRARIES}
d1c951b3012d Curl based implementation of sslconnection
Andre Heinecke <andre.heinecke@intevation.de>
parents: 884
diff changeset
208 z
421
7edfc9b9b360 Add translation for trustbridge
Andre Heinecke <aheinecke@intevation.de>
parents: 420
diff changeset
209 ${POLARSSL_LIBRARIES}
7edfc9b9b360 Add translation for trustbridge
Andre Heinecke <aheinecke@intevation.de>
parents: 420
diff changeset
210 ${EXTRA_STATIC_LIBS}
7edfc9b9b360 Add translation for trustbridge
Andre Heinecke <aheinecke@intevation.de>
parents: 420
diff changeset
211 ${PROFILING_LIBS})
7edfc9b9b360 Add translation for trustbridge
Andre Heinecke <aheinecke@intevation.de>
parents: 420
diff changeset
212
33
25c08d63d2b7 Add CMakeLists in UI
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff changeset
213 # Tests
25c08d63d2b7 Add CMakeLists in UI
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff changeset
214 add_subdirectory(tests)
124
2d50ff378367 Add install targets
Andre Heinecke <aheinecke@intevation.de>
parents: 109
diff changeset
215
407
af53c40e74b1 Rename m13ui to TrustBridge
Andre Heinecke <aheinecke@intevation.de>
parents: 405
diff changeset
216 install(TARGETS trustbridge DESTINATION bin)
520
09077eca0b0d Rename administrator to trustbridge-admin
Andre Heinecke <aheinecke@intevation.de>
parents: 514
diff changeset
217 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
218 if(UNIX)
ea8d13590cbd Added trustbridge-tray-starter script for use with cron job.
Sascha Wilde <wilde@intevation.de>
parents: 722
diff changeset
219 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
220 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
221 endif()

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