annotate ui/CMakeLists.txt @ 620:bc02ee484067

Add dummy logging with ressourced messages. The hack in icon.rc is necessary as with mingw 3.0 there appears to be a problem to include multiple resources after another. The data is included but the sections are not detected correctly in windows. Combining them in a single resource fixes this.
author Andre Heinecke <andre.heinecke@intevation.de>
date Thu, 19 Jun 2014 17:48:10 +0200
parents 63a128400bf3
children 5d6e86cf3b87
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})
254
cb8d7af5ec3a Include commmon in UI build to avoid having paths in include directives
Andre Heinecke <aheinecke@intevation.de>
parents: 211
diff changeset
10 include_directories(${CMAKE_CURRENT_SOURCE_DIR}/../common)
33
25c08d63d2b7 Add CMakeLists in UI
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff changeset
11 add_definitions(${Qt5Widgets_DEFINITIONS})
25c08d63d2b7 Add CMakeLists in UI
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff changeset
12
411
413b29f6758f Add translation infrastructure and a file for the Administrator application
Andre Heinecke <aheinecke@intevation.de>
parents: 409
diff changeset
13 find_package(Qt5LinguistTools)
413b29f6758f Add translation infrastructure and a file for the Administrator application
Andre Heinecke <aheinecke@intevation.de>
parents: 409
diff changeset
14
520
09077eca0b0d Rename administrator to trustbridge-admin
Andre Heinecke <aheinecke@intevation.de>
parents: 514
diff changeset
15 # 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
16 # 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
17 set(UICOMMON_SOURCES
33
25c08d63d2b7 Add CMakeLists in UI
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff changeset
18 ${CMAKE_CURRENT_SOURCE_DIR}/certificatelist.cpp
25c08d63d2b7 Add CMakeLists in UI
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff changeset
19 ${CMAKE_CURRENT_SOURCE_DIR}/certificate.cpp
25c08d63d2b7 Add CMakeLists in UI
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff changeset
20 ${CMAKE_CURRENT_SOURCE_DIR}/downloader.cpp
45
c6125d73faf4 Move SSLConnection into it's own class
Andre Heinecke <aheinecke@intevation.de>
parents: 39
diff changeset
21 ${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
22 ${CMAKE_CURRENT_SOURCE_DIR}/sslhelp.cpp
45
c6125d73faf4 Move SSLConnection into it's own class
Andre Heinecke <aheinecke@intevation.de>
parents: 39
diff changeset
23 )
c6125d73faf4 Move SSLConnection into it's own class
Andre Heinecke <aheinecke@intevation.de>
parents: 39
diff changeset
24
497
5e77d1c4826c Add Icon for Windows
Andre Heinecke <aheinecke@intevation.de>
parents: 496
diff changeset
25 # Cmake does not correctly identify gcc windres when cross compiling
5e77d1c4826c Add Icon for Windows
Andre Heinecke <aheinecke@intevation.de>
parents: 496
diff changeset
26 # 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
27 # See: http://public.kitware.com/Bug/view.php?id=11773
5e77d1c4826c Add Icon for Windows
Andre Heinecke <aheinecke@intevation.de>
parents: 496
diff changeset
28 SET(CMAKE_RC_COMPILE_OBJECT
5e77d1c4826c Add Icon for Windows
Andre Heinecke <aheinecke@intevation.de>
parents: 496
diff changeset
29 "<CMAKE_RC_COMPILER> <FLAGS> <DEFINES> -Ocoff <SOURCE> <OBJECT>")
5e77d1c4826c Add Icon for Windows
Andre Heinecke <aheinecke@intevation.de>
parents: 496
diff changeset
30
407
af53c40e74b1 Rename m13ui to TrustBridge
Andre Heinecke <aheinecke@intevation.de>
parents: 405
diff changeset
31 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
32 ${CMAKE_CURRENT_SOURCE_DIR}/mainwindow.cpp
190
1a66a15d0df8 Added stub for help dialog.
Raimund Renkert <rrenkert@intevation.de>
parents: 124
diff changeset
33 ${CMAKE_CURRENT_SOURCE_DIR}/helpdialog.cpp
266
dd6a09d2699f Added delegate for certificate list items to render a custom ui.
Raimund Renkert <rrenkert@intevation.de>
parents: 257
diff changeset
34 ${CMAKE_CURRENT_SOURCE_DIR}/certificateitemdelegate.cpp
273
b6c2fa8457b6 Added new list item delegate for drawing a separator.
Raimund Renkert <rrenkert@intevation.de>
parents: 266
diff changeset
35 ${CMAKE_CURRENT_SOURCE_DIR}/separatoritemdelegate.cpp
257
06089ba2614a Use Installwrapper to call certificate installation process
Andre Heinecke <aheinecke@intevation.de>
parents: 254
diff changeset
36 ${CMAKE_CURRENT_SOURCE_DIR}/installwrapper.cpp
527
bedeb38c244a Move createcertlist and aboutdialog back into their respective source groups.
Andre Heinecke <aheinecke@intevation.de>
parents: 525
diff changeset
37 ${CMAKE_CURRENT_SOURCE_DIR}/aboutdialog.cpp
609
292c590ba9cb Add warning dialog for running firefox and tunderbird processes
Andre Heinecke <andre.heinecke@intevation.de>
parents: 603
diff changeset
38 ${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
39 ${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
40 ${CMAKE_CURRENT_SOURCE_DIR}/processwaitdialog.cpp
33
25c08d63d2b7 Add CMakeLists in UI
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff changeset
41 ${CERTIFICATELIST_SOURCES}
45
c6125d73faf4 Move SSLConnection into it's own class
Andre Heinecke <aheinecke@intevation.de>
parents: 39
diff changeset
42 ${DOWNLOADER_SOURCES}
33
25c08d63d2b7 Add CMakeLists in UI
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff changeset
43 )
25c08d63d2b7 Add CMakeLists in UI
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff changeset
44
572
2459a7122532 Fix administrator typo
Andre Heinecke <aheinecke@intevation.de>
parents: 566
diff changeset
45 set(ADMINISTRATOR_SOURCES
333
de94c4ec22b1 Renamed management to administrator application.
Raimund Renkert <rrenkert@intevation.de>
parents: 327
diff changeset
46 ${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
47 ${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
48 ${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
49 ${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
50 ${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
51 ${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
52 ${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
53 ${CERTIFICATELIST_SOURCES}
3261b2a9cab7 Added a first version of the management application gui.
Raimund Renkert <rrenkert@intevation.de>
parents: 273
diff changeset
54 )
3261b2a9cab7 Added a first version of the management application gui.
Raimund Renkert <rrenkert@intevation.de>
parents: 273
diff changeset
55
33
25c08d63d2b7 Add CMakeLists in UI
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff changeset
56 # 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
57 set(TRUSTBRIDGE_RESOURCES
33
25c08d63d2b7 Add CMakeLists in UI
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff changeset
58 ${CMAKE_CURRENT_SOURCE_DIR}/icons.qrc
25c08d63d2b7 Add CMakeLists in UI
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff changeset
59 ${CMAKE_CURRENT_SOURCE_DIR}/certs.qrc
25c08d63d2b7 Add CMakeLists in UI
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff changeset
60 )
25c08d63d2b7 Add CMakeLists in UI
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff changeset
61
572
2459a7122532 Fix administrator typo
Andre Heinecke <aheinecke@intevation.de>
parents: 566
diff changeset
62 set(ADMINISTRATOR_RESOURCES
327
3261b2a9cab7 Added a first version of the management application gui.
Raimund Renkert <rrenkert@intevation.de>
parents: 273
diff changeset
63 ${CMAKE_CURRENT_SOURCE_DIR}/icons.qrc
3261b2a9cab7 Added a first version of the management application gui.
Raimund Renkert <rrenkert@intevation.de>
parents: 273
diff changeset
64 )
3261b2a9cab7 Added a first version of the management application gui.
Raimund Renkert <rrenkert@intevation.de>
parents: 273
diff changeset
65
33
25c08d63d2b7 Add CMakeLists in UI
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff changeset
66 if(UNIX)
25c08d63d2b7 Add CMakeLists in UI
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff changeset
67 # See: https://bugreports.qt-project.org/browse/QTBUG-35918
25c08d63d2b7 Add CMakeLists in UI
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff changeset
68 # XCB_EXTRA_LIBS should be gotten automatically.
25c08d63d2b7 Add CMakeLists in UI
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff changeset
69 # The following list is taken from the .pri file
25c08d63d2b7 Add CMakeLists in UI
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff changeset
70 get_target_property(_loc Qt5::Widgets LOCATION)
25c08d63d2b7 Add CMakeLists in UI
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff changeset
71 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
72
5b9af103a355 Allow developers to overwrite the hardcoded xkb-common libname
Andre Heinecke <aheinecke@intevation.de>
parents: 81
diff changeset
73 if(NOT XKBCOMMON_LIB)
5b9af103a355 Allow developers to overwrite the hardcoded xkb-common libname
Andre Heinecke <aheinecke@intevation.de>
parents: 81
diff changeset
74 # Hack on a hack to overwrite the xkbcommon libname.
5b9af103a355 Allow developers to overwrite the hardcoded xkb-common libname
Andre Heinecke <aheinecke@intevation.de>
parents: 81
diff changeset
75 set(XKBCOMMON_LIB -lxkbcommon)
108
39c42b5a5693 Syntax fix
Andre Heinecke <aheinecke@intevation.de>
parents: 107
diff changeset
76 endif()
107
5b9af103a355 Allow developers to overwrite the hardcoded xkb-common libname
Andre Heinecke <aheinecke@intevation.de>
parents: 81
diff changeset
77
33
25c08d63d2b7 Add CMakeLists in UI
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff changeset
78 set(XCB_EXTRA_LIBS
25c08d63d2b7 Add CMakeLists in UI
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff changeset
79 -L${_qtpath}
25c08d63d2b7 Add CMakeLists in UI
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff changeset
80 -lX11 -lX11-xcb -lXi -lxcb-render-util -lXrender -lSM -lICE -lxcb-render -ldbus-1
25c08d63d2b7 Add CMakeLists in UI
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff changeset
81 -lxcb -lxcb-image -lxcb-icccm -lxcb-sync -lxcb-xfixes -lxcb-shm -lxcb-randr
107
5b9af103a355 Allow developers to overwrite the hardcoded xkb-common libname
Andre Heinecke <aheinecke@intevation.de>
parents: 81
diff changeset
82 ${XKBCOMMON_LIB} -lxcb-shape -lxcb-keysyms -lQt5PlatformSupport
33
25c08d63d2b7 Add CMakeLists in UI
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff changeset
83 -lfreetype -lQt5DBus -lQt5Gui -ljpeg -lpng -lQt5Core
601
9cdc14373a5d (issue #16) use qt with fontconfig
Andre Heinecke <andre.heinecke@intevation.de>
parents: 576
diff changeset
84 -lz -lm -ldl -lrt -lpthread -lfontconfig)
33
25c08d63d2b7 Add CMakeLists in UI
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff changeset
85
25c08d63d2b7 Add CMakeLists in UI
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff changeset
86 set(EXTRA_STATIC_LIBS -lz -lpthread -ldl -lpng -ljpeg
25c08d63d2b7 Add CMakeLists in UI
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff changeset
87 Qt5::QXcbIntegrationPlugin ${XCB_EXTRA_LIBS})
25c08d63d2b7 Add CMakeLists in UI
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff changeset
88
25c08d63d2b7 Add CMakeLists in UI
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff changeset
89 elseif(WIN32)
25c08d63d2b7 Add CMakeLists in UI
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff changeset
90 get_target_property(_loc Qt5::Widgets LOCATION)
25c08d63d2b7 Add CMakeLists in UI
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff changeset
91 get_filename_component(_qtpath ${_loc} PATH)
25c08d63d2b7 Add CMakeLists in UI
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff changeset
92 set(WINDOWS_EXTRA_LIBS
25c08d63d2b7 Add CMakeLists in UI
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff changeset
93 -L${_qtpath}
25c08d63d2b7 Add CMakeLists in UI
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff changeset
94 -lwinspool -lshlwapi -lfreetype -lbz2 -lpng16
25c08d63d2b7 Add CMakeLists in UI
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff changeset
95 -lQt5PlatformSupport -lQt5Gui -lcomdlg32 -loleaut32 -limm32 -lwinmm
25c08d63d2b7 Add CMakeLists in UI
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff changeset
96 -lglu32 -lopengl32 -lgdi32 -ljpeg -lpng -lQt5Core -lole32 -luuid -lws2_32
25c08d63d2b7 Add CMakeLists in UI
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff changeset
97 -ladvapi32 -lshell32 -luser32 -lkernel32 -lz -lsicuin -lsicuuc -lsicudt -lpcre16)
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 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
100
854248d81ba4 Fully switch to unicode for windows.
Andre Heinecke <andre.heinecke@intevation.de>
parents: 601
diff changeset
101 add_definitions(-DUNICODE)
33
25c08d63d2b7 Add CMakeLists in UI
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff changeset
102 endif()
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 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
105
409
09bb19e5e369 Remove m13 mentions and change test certificate to intevation.de
Andre Heinecke <aheinecke@intevation.de>
parents: 408
diff changeset
106 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
107 add_dependencies(static_check custom_cppcheck)
33
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 # 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
110 # 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
111 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
112 ${CMAKE_CURRENT_SOURCE_DIR}/img/icon.rc)
561
4433f9d57f6d Add resources to main.
Andre Heinecke <aheinecke@intevation.de>
parents: 560
diff changeset
113 qt5_add_resources(TRUSTBRIDGE_MAIN_WITH_RESOURCES ${TRUSTBRIDGE_RESOURCES})
33
25c08d63d2b7 Add CMakeLists in UI
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff changeset
114
572
2459a7122532 Fix administrator typo
Andre Heinecke <aheinecke@intevation.de>
parents: 566
diff changeset
115 set(ADMINISTRATOR_MAIN_WITH_RESOURCES ${CMAKE_CURRENT_SOURCE_DIR}/administrator.cpp)
2459a7122532 Fix administrator typo
Andre Heinecke <aheinecke@intevation.de>
parents: 566
diff changeset
116 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
117
514
ce8325686b09 Use Win32 linker flags on Windows
Andre Heinecke <aheinecke@intevation.de>
parents: 497
diff changeset
118 if(WIN32)
ce8325686b09 Use Win32 linker flags on Windows
Andre Heinecke <aheinecke@intevation.de>
parents: 497
diff changeset
119 # 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
120 # the console Window on Windows
ce8325686b09 Use Win32 linker flags on Windows
Andre Heinecke <aheinecke@intevation.de>
parents: 497
diff changeset
121 set (_add_executable_params WIN32)
617
63a128400bf3 Add message compiler logic and messages file
Andre Heinecke <andre.heinecke@intevation.de>
parents: 609
diff changeset
122
63a128400bf3 Add message compiler logic and messages file
Andre Heinecke <andre.heinecke@intevation.de>
parents: 609
diff changeset
123 # Add the event messages
63a128400bf3 Add message compiler logic and messages file
Andre Heinecke <andre.heinecke@intevation.de>
parents: 609
diff changeset
124 if (MINGW)
63a128400bf3 Add message compiler logic and messages file
Andre Heinecke <andre.heinecke@intevation.de>
parents: 609
diff changeset
125 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
126 else()
63a128400bf3 Add message compiler logic and messages file
Andre Heinecke <andre.heinecke@intevation.de>
parents: 609
diff changeset
127 # untested
63a128400bf3 Add message compiler logic and messages file
Andre Heinecke <andre.heinecke@intevation.de>
parents: 609
diff changeset
128 set(MC_COMPILER "mc.exe")
63a128400bf3 Add message compiler logic and messages file
Andre Heinecke <andre.heinecke@intevation.de>
parents: 609
diff changeset
129 endif()
63a128400bf3 Add message compiler logic and messages file
Andre Heinecke <andre.heinecke@intevation.de>
parents: 609
diff changeset
130
63a128400bf3 Add message compiler logic and messages file
Andre Heinecke <andre.heinecke@intevation.de>
parents: 609
diff changeset
131 add_custom_command(
63a128400bf3 Add message compiler logic and messages file
Andre Heinecke <andre.heinecke@intevation.de>
parents: 609
diff changeset
132 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
133 ${CMAKE_BINARY_DIR}/common/events.rc
63a128400bf3 Add message compiler logic and messages file
Andre Heinecke <andre.heinecke@intevation.de>
parents: 609
diff changeset
134 ${CMAKE_BINARY_DIR}/common/MSG00407.bin
63a128400bf3 Add message compiler logic and messages file
Andre Heinecke <andre.heinecke@intevation.de>
parents: 609
diff changeset
135 ${CMAKE_BINARY_DIR}/common/MSG00409.bin
620
bc02ee484067 Add dummy logging with ressourced messages.
Andre Heinecke <andre.heinecke@intevation.de>
parents: 617
diff changeset
136 COMMAND ${MC_COMPILER} ${CMAKE_SOURCE_DIR}/common/events.mc -a -U -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
137 DEPENDS ${CMAKE_SOURCE_DIR}/common/events.mc)
620
bc02ee484067 Add dummy logging with ressourced messages.
Andre Heinecke <andre.heinecke@intevation.de>
parents: 617
diff changeset
138 add_custom_target(create_events DEPENDS ${CMAKE_BINARY_DIR}/common/events.rc)
514
ce8325686b09 Use Win32 linker flags on Windows
Andre Heinecke <aheinecke@intevation.de>
parents: 497
diff changeset
139 endif()
ce8325686b09 Use Win32 linker flags on Windows
Andre Heinecke <aheinecke@intevation.de>
parents: 497
diff changeset
140
411
413b29f6758f Add translation infrastructure and a file for the Administrator application
Andre Heinecke <aheinecke@intevation.de>
parents: 409
diff changeset
141 if(Qt5LinguistTools_FOUND)
420
16b6d5686835 Switch to resource based loading of translations
Andre Heinecke <aheinecke@intevation.de>
parents: 411
diff changeset
142 # Include translation as a resource
16b6d5686835 Switch to resource based loading of translations
Andre Heinecke <aheinecke@intevation.de>
parents: 411
diff changeset
143 # 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
144 # 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
145 # 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
146 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
147 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
148 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
149 ${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
150 add_executable(trustbridge-admin
514
ce8325686b09 Use Win32 linker flags on Windows
Andre Heinecke <aheinecke@intevation.de>
parents: 497
diff changeset
151 ${_add_executable_params}
572
2459a7122532 Fix administrator typo
Andre Heinecke <aheinecke@intevation.de>
parents: 566
diff changeset
152 ${ADMINISTRATOR_MAIN_WITH_RESOURCES}
420
16b6d5686835 Switch to resource based loading of translations
Andre Heinecke <aheinecke@intevation.de>
parents: 411
diff changeset
153 ${ADMINISTRATOR_L10N}
16b6d5686835 Switch to resource based loading of translations
Andre Heinecke <aheinecke@intevation.de>
parents: 411
diff changeset
154 ${ADMINISTRATOR_TRANSLATION}
16b6d5686835 Switch to resource based loading of translations
Andre Heinecke <aheinecke@intevation.de>
parents: 411
diff changeset
155 )
421
7edfc9b9b360 Add translation for trustbridge
Andre Heinecke <aheinecke@intevation.de>
parents: 420
diff changeset
156
7edfc9b9b360 Add translation for trustbridge
Andre Heinecke <aheinecke@intevation.de>
parents: 420
diff changeset
157 configure_file(l10n/trustbridge.qrc.in trustbridge.qrc)
7edfc9b9b360 Add translation for trustbridge
Andre Heinecke <aheinecke@intevation.de>
parents: 420
diff changeset
158 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
159 qt5_create_translation(TRUSTBRIDGE_TRANSLATION ${TRUSTBRIDGE_SOURCES}
421
7edfc9b9b360 Add translation for trustbridge
Andre Heinecke <aheinecke@intevation.de>
parents: 420
diff changeset
160 ${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
161 add_executable(trustbridge
ce8325686b09 Use Win32 linker flags on Windows
Andre Heinecke <aheinecke@intevation.de>
parents: 497
diff changeset
162 ${_add_executable_params}
561
4433f9d57f6d Add resources to main.
Andre Heinecke <aheinecke@intevation.de>
parents: 560
diff changeset
163 ${TRUSTBRIDGE_MAIN_WITH_RESOURCES}
421
7edfc9b9b360 Add translation for trustbridge
Andre Heinecke <aheinecke@intevation.de>
parents: 420
diff changeset
164 ${TRUSTBRIDGE_L10N}
7edfc9b9b360 Add translation for trustbridge
Andre Heinecke <aheinecke@intevation.de>
parents: 420
diff changeset
165 ${TRUSTBRIDGE_TRANSLATION}
7edfc9b9b360 Add translation for trustbridge
Andre Heinecke <aheinecke@intevation.de>
parents: 420
diff changeset
166 )
7edfc9b9b360 Add translation for trustbridge
Andre Heinecke <aheinecke@intevation.de>
parents: 420
diff changeset
167
411
413b29f6758f Add translation infrastructure and a file for the Administrator application
Andre Heinecke <aheinecke@intevation.de>
parents: 409
diff changeset
168 else()
421
7edfc9b9b360 Add translation for trustbridge
Andre Heinecke <aheinecke@intevation.de>
parents: 420
diff changeset
169 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
170 add_executable(trustbridge-admin
514
ce8325686b09 Use Win32 linker flags on Windows
Andre Heinecke <aheinecke@intevation.de>
parents: 497
diff changeset
171 ${_add_executable_params}
572
2459a7122532 Fix administrator typo
Andre Heinecke <aheinecke@intevation.de>
parents: 566
diff changeset
172 ${ADMINISTRATOR_MAIN_WITH_RESOURCES})
514
ce8325686b09 Use Win32 linker flags on Windows
Andre Heinecke <aheinecke@intevation.de>
parents: 497
diff changeset
173 add_executable(trustbridge
ce8325686b09 Use Win32 linker flags on Windows
Andre Heinecke <aheinecke@intevation.de>
parents: 497
diff changeset
174 ${_add_executable_params}
561
4433f9d57f6d Add resources to main.
Andre Heinecke <aheinecke@intevation.de>
parents: 560
diff changeset
175 ${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
176 endif()
327
3261b2a9cab7 Added a first version of the management application gui.
Raimund Renkert <rrenkert@intevation.de>
parents: 273
diff changeset
177
620
bc02ee484067 Add dummy logging with ressourced messages.
Andre Heinecke <andre.heinecke@intevation.de>
parents: 617
diff changeset
178 if (WIN32)
bc02ee484067 Add dummy logging with ressourced messages.
Andre Heinecke <andre.heinecke@intevation.de>
parents: 617
diff changeset
179 add_dependencies(trustbridge create_events)
bc02ee484067 Add dummy logging with ressourced messages.
Andre Heinecke <andre.heinecke@intevation.de>
parents: 617
diff changeset
180 endif()
bc02ee484067 Add dummy logging with ressourced messages.
Andre Heinecke <andre.heinecke@intevation.de>
parents: 617
diff changeset
181
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
182 add_library(ui_common STATIC ${UICOMMON_SOURCES})
572
2459a7122532 Fix administrator typo
Andre Heinecke <aheinecke@intevation.de>
parents: 566
diff changeset
183 add_library(tbadminlib STATIC ${ADMINISTRATOR_SOURCES})
561
4433f9d57f6d Add resources to main.
Andre Heinecke <aheinecke@intevation.de>
parents: 560
diff changeset
184 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
185
560
3af16cbc961d Move UI code into librarys to speed up build of unit tests
Andre Heinecke <aheinecke@intevation.de>
parents: 558
diff changeset
186 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
187 tbadminlib
3af16cbc961d Move UI code into librarys to speed up build of unit tests
Andre Heinecke <aheinecke@intevation.de>
parents: 558
diff changeset
188 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
189 ui_common
408
ac9e95ef6966 rename m13_common to trustbridge_common
Andre Heinecke <aheinecke@intevation.de>
parents: 407
diff changeset
190 trustbridge_common
327
3261b2a9cab7 Added a first version of the management application gui.
Raimund Renkert <rrenkert@intevation.de>
parents: 273
diff changeset
191 ${POLARSSL_LIBRARIES}
3261b2a9cab7 Added a first version of the management application gui.
Raimund Renkert <rrenkert@intevation.de>
parents: 273
diff changeset
192 ${EXTRA_STATIC_LIBS}
3261b2a9cab7 Added a first version of the management application gui.
Raimund Renkert <rrenkert@intevation.de>
parents: 273
diff changeset
193 ${PROFILING_LIBS})
3261b2a9cab7 Added a first version of the management application gui.
Raimund Renkert <rrenkert@intevation.de>
parents: 273
diff changeset
194
560
3af16cbc961d Move UI code into librarys to speed up build of unit tests
Andre Heinecke <aheinecke@intevation.de>
parents: 558
diff changeset
195 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
196 tblib
3af16cbc961d Move UI code into librarys to speed up build of unit tests
Andre Heinecke <aheinecke@intevation.de>
parents: 558
diff changeset
197 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
198 ui_common
421
7edfc9b9b360 Add translation for trustbridge
Andre Heinecke <aheinecke@intevation.de>
parents: 420
diff changeset
199 trustbridge_common
7edfc9b9b360 Add translation for trustbridge
Andre Heinecke <aheinecke@intevation.de>
parents: 420
diff changeset
200 ${POLARSSL_LIBRARIES}
7edfc9b9b360 Add translation for trustbridge
Andre Heinecke <aheinecke@intevation.de>
parents: 420
diff changeset
201 ${EXTRA_STATIC_LIBS}
7edfc9b9b360 Add translation for trustbridge
Andre Heinecke <aheinecke@intevation.de>
parents: 420
diff changeset
202 ${PROFILING_LIBS})
7edfc9b9b360 Add translation for trustbridge
Andre Heinecke <aheinecke@intevation.de>
parents: 420
diff changeset
203
7edfc9b9b360 Add translation for trustbridge
Andre Heinecke <aheinecke@intevation.de>
parents: 420
diff changeset
204
33
25c08d63d2b7 Add CMakeLists in UI
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff changeset
205 # Tests
25c08d63d2b7 Add CMakeLists in UI
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff changeset
206 add_subdirectory(tests)
124
2d50ff378367 Add install targets
Andre Heinecke <aheinecke@intevation.de>
parents: 109
diff changeset
207
407
af53c40e74b1 Rename m13ui to TrustBridge
Andre Heinecke <aheinecke@intevation.de>
parents: 405
diff changeset
208 install(TARGETS trustbridge DESTINATION bin)
520
09077eca0b0d Rename administrator to trustbridge-admin
Andre Heinecke <aheinecke@intevation.de>
parents: 514
diff changeset
209 install(TARGETS trustbridge-admin DESTINATION bin)

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