Mercurial > clickerconvert
annotate src/CMakeLists.txt @ 75:92139cc60121
Treat everything from the start of the document as the first question
author | Andre Heinecke <andre.heinecke@intevation.de> |
---|---|
date | Tue, 04 Oct 2016 17:12:28 +0200 |
parents | a43d8cf2fa95 |
children | 1e6e7699f0b8 |
rev | line source |
---|---|
1
93d3106bb9a4
Add qt xlsx library
Andre Heinecke <andre.heinecke@intevation.de>
parents:
0
diff
changeset
|
1 # Copyright (C) 2016 by ETH Zürich |
93d3106bb9a4
Add qt xlsx library
Andre Heinecke <andre.heinecke@intevation.de>
parents:
0
diff
changeset
|
2 # Software engineering by Intevation GmbH |
93d3106bb9a4
Add qt xlsx library
Andre Heinecke <andre.heinecke@intevation.de>
parents:
0
diff
changeset
|
3 # |
93d3106bb9a4
Add qt xlsx library
Andre Heinecke <andre.heinecke@intevation.de>
parents:
0
diff
changeset
|
4 # This file is Free Software under the GNU GPL (v>=2) |
93d3106bb9a4
Add qt xlsx library
Andre Heinecke <andre.heinecke@intevation.de>
parents:
0
diff
changeset
|
5 # and comes with ABSOLUTELY NO WARRANTY! |
93d3106bb9a4
Add qt xlsx library
Andre Heinecke <andre.heinecke@intevation.de>
parents:
0
diff
changeset
|
6 # See LICENSE.txt for details. |
93d3106bb9a4
Add qt xlsx library
Andre Heinecke <andre.heinecke@intevation.de>
parents:
0
diff
changeset
|
7 |
93d3106bb9a4
Add qt xlsx library
Andre Heinecke <andre.heinecke@intevation.de>
parents:
0
diff
changeset
|
8 include_directories(${Qt5Core_INCLUDE_DIRS}) |
93d3106bb9a4
Add qt xlsx library
Andre Heinecke <andre.heinecke@intevation.de>
parents:
0
diff
changeset
|
9 |
93d3106bb9a4
Add qt xlsx library
Andre Heinecke <andre.heinecke@intevation.de>
parents:
0
diff
changeset
|
10 include_directories(${CMAKE_CURRENT_SOURCE_DIR}) |
93d3106bb9a4
Add qt xlsx library
Andre Heinecke <andre.heinecke@intevation.de>
parents:
0
diff
changeset
|
11 |
93d3106bb9a4
Add qt xlsx library
Andre Heinecke <andre.heinecke@intevation.de>
parents:
0
diff
changeset
|
12 add_subdirectory(xlsx) |
93d3106bb9a4
Add qt xlsx library
Andre Heinecke <andre.heinecke@intevation.de>
parents:
0
diff
changeset
|
13 include_directories(xlsx) |
93d3106bb9a4
Add qt xlsx library
Andre Heinecke <andre.heinecke@intevation.de>
parents:
0
diff
changeset
|
14 |
93d3106bb9a4
Add qt xlsx library
Andre Heinecke <andre.heinecke@intevation.de>
parents:
0
diff
changeset
|
15 set(APPLICATION_SRC |
93d3106bb9a4
Add qt xlsx library
Andre Heinecke <andre.heinecke@intevation.de>
parents:
0
diff
changeset
|
16 main.cpp |
93d3106bb9a4
Add qt xlsx library
Andre Heinecke <andre.heinecke@intevation.de>
parents:
0
diff
changeset
|
17 converter.cpp |
93d3106bb9a4
Add qt xlsx library
Andre Heinecke <andre.heinecke@intevation.de>
parents:
0
diff
changeset
|
18 strhelp.c |
21
0b66b10a287d
Add german translation
Andre Heinecke <andre.heinecke@intevation.de>
parents:
10
diff
changeset
|
19 cconvert_options.h |
50 | 20 icons/icon.rc |
21 filenamerequester.cpp | |
22 mainwindow.cpp | |
1
93d3106bb9a4
Add qt xlsx library
Andre Heinecke <andre.heinecke@intevation.de>
parents:
0
diff
changeset
|
23 ) |
93d3106bb9a4
Add qt xlsx library
Andre Heinecke <andre.heinecke@intevation.de>
parents:
0
diff
changeset
|
24 |
93d3106bb9a4
Add qt xlsx library
Andre Heinecke <andre.heinecke@intevation.de>
parents:
0
diff
changeset
|
25 find_package(Qt5LinguistTools) |
93d3106bb9a4
Add qt xlsx library
Andre Heinecke <andre.heinecke@intevation.de>
parents:
0
diff
changeset
|
26 |
93d3106bb9a4
Add qt xlsx library
Andre Heinecke <andre.heinecke@intevation.de>
parents:
0
diff
changeset
|
27 if(Qt5LinguistTools_FOUND) |
93d3106bb9a4
Add qt xlsx library
Andre Heinecke <andre.heinecke@intevation.de>
parents:
0
diff
changeset
|
28 |
93d3106bb9a4
Add qt xlsx library
Andre Heinecke <andre.heinecke@intevation.de>
parents:
0
diff
changeset
|
29 set(FILES_TO_TRANSLATE |
93d3106bb9a4
Add qt xlsx library
Andre Heinecke <andre.heinecke@intevation.de>
parents:
0
diff
changeset
|
30 ${APPLICATION_SRC} |
93d3106bb9a4
Add qt xlsx library
Andre Heinecke <andre.heinecke@intevation.de>
parents:
0
diff
changeset
|
31 ) |
93d3106bb9a4
Add qt xlsx library
Andre Heinecke <andre.heinecke@intevation.de>
parents:
0
diff
changeset
|
32 |
93d3106bb9a4
Add qt xlsx library
Andre Heinecke <andre.heinecke@intevation.de>
parents:
0
diff
changeset
|
33 # Include translation as a resource |
93d3106bb9a4
Add qt xlsx library
Andre Heinecke <andre.heinecke@intevation.de>
parents:
0
diff
changeset
|
34 # This works in the source directory to enable the rcc dependencies to be found |
93d3106bb9a4
Add qt xlsx library
Andre Heinecke <andre.heinecke@intevation.de>
parents:
0
diff
changeset
|
35 # and it also updates the currently available localization. |
93d3106bb9a4
Add qt xlsx library
Andre Heinecke <andre.heinecke@intevation.de>
parents:
0
diff
changeset
|
36 configure_file(l10n/l10n.qrc.in l10n.qrc) |
93d3106bb9a4
Add qt xlsx library
Andre Heinecke <andre.heinecke@intevation.de>
parents:
0
diff
changeset
|
37 qt5_add_resources(APPLICATION_SRC ${CMAKE_CURRENT_BINARY_DIR}/l10n.qrc) |
93d3106bb9a4
Add qt xlsx library
Andre Heinecke <andre.heinecke@intevation.de>
parents:
0
diff
changeset
|
38 qt5_create_translation(TRANSLATION_SRC ${FILES_TO_TRANSLATE} |
93d3106bb9a4
Add qt xlsx library
Andre Heinecke <andre.heinecke@intevation.de>
parents:
0
diff
changeset
|
39 ${CMAKE_CURRENT_SOURCE_DIR}/l10n/main_de_DE.ts) |
93d3106bb9a4
Add qt xlsx library
Andre Heinecke <andre.heinecke@intevation.de>
parents:
0
diff
changeset
|
40 endif() |
93d3106bb9a4
Add qt xlsx library
Andre Heinecke <andre.heinecke@intevation.de>
parents:
0
diff
changeset
|
41 |
50 | 42 qt5_add_resources(APPLICATION_SRC icons/icons.qrc) |
1
93d3106bb9a4
Add qt xlsx library
Andre Heinecke <andre.heinecke@intevation.de>
parents:
0
diff
changeset
|
43 |
46
11618dd45312
Add MacOS build support
Andre Heinecke <andre.heinecke@intevation.de>
parents:
33
diff
changeset
|
44 # See: https://bugreports.qt-project.org/browse/QTBUG-35918 |
11618dd45312
Add MacOS build support
Andre Heinecke <andre.heinecke@intevation.de>
parents:
33
diff
changeset
|
45 # extra static libs should be automatically managed but they |
11618dd45312
Add MacOS build support
Andre Heinecke <andre.heinecke@intevation.de>
parents:
33
diff
changeset
|
46 # are not so we make this here explicitly neccessary. |
11618dd45312
Add MacOS build support
Andre Heinecke <andre.heinecke@intevation.de>
parents:
33
diff
changeset
|
47 # The list is taken from the libs/*.prl file |
11618dd45312
Add MacOS build support
Andre Heinecke <andre.heinecke@intevation.de>
parents:
33
diff
changeset
|
48 if(APPLE) |
11618dd45312
Add MacOS build support
Andre Heinecke <andre.heinecke@intevation.de>
parents:
33
diff
changeset
|
49 set(GUI_TYPE MACOSX_BUNDLE) |
11618dd45312
Add MacOS build support
Andre Heinecke <andre.heinecke@intevation.de>
parents:
33
diff
changeset
|
50 include_directories ( /Developer/Headers/FlatCarbon ) |
11618dd45312
Add MacOS build support
Andre Heinecke <andre.heinecke@intevation.de>
parents:
33
diff
changeset
|
51 find_library(COCOA_LIBRARAY Cocoa) |
11618dd45312
Add MacOS build support
Andre Heinecke <andre.heinecke@intevation.de>
parents:
33
diff
changeset
|
52 find_library(CARBON_LIBRARY Carbon) |
11618dd45312
Add MacOS build support
Andre Heinecke <andre.heinecke@intevation.de>
parents:
33
diff
changeset
|
53 find_library(APP_SERVICES_LIBRARY ApplicationServices) |
11618dd45312
Add MacOS build support
Andre Heinecke <andre.heinecke@intevation.de>
parents:
33
diff
changeset
|
54 find_library(FOUNDATION_LIBRARAY Foundation) |
11618dd45312
Add MacOS build support
Andre Heinecke <andre.heinecke@intevation.de>
parents:
33
diff
changeset
|
55 find_library(CORE_SERVICES_LIBRARAY CoreServices) |
11618dd45312
Add MacOS build support
Andre Heinecke <andre.heinecke@intevation.de>
parents:
33
diff
changeset
|
56 find_library(CORE_FOUNDATION_LIBRARY CoreFoundation) |
11618dd45312
Add MacOS build support
Andre Heinecke <andre.heinecke@intevation.de>
parents:
33
diff
changeset
|
57 find_library(OPENGL_LIBRARAY OpenGL) |
11618dd45312
Add MacOS build support
Andre Heinecke <andre.heinecke@intevation.de>
parents:
33
diff
changeset
|
58 find_library(AGL_LIBRARY AGL) |
11618dd45312
Add MacOS build support
Andre Heinecke <andre.heinecke@intevation.de>
parents:
33
diff
changeset
|
59 find_library(IOKIT_LIBRARY IOKit) |
11618dd45312
Add MacOS build support
Andre Heinecke <andre.heinecke@intevation.de>
parents:
33
diff
changeset
|
60 |
11618dd45312
Add MacOS build support
Andre Heinecke <andre.heinecke@intevation.de>
parents:
33
diff
changeset
|
61 get_target_property(_loc Qt5::Widgets LOCATION) |
11618dd45312
Add MacOS build support
Andre Heinecke <andre.heinecke@intevation.de>
parents:
33
diff
changeset
|
62 get_filename_component(_qtpath ${_loc} PATH) |
11618dd45312
Add MacOS build support
Andre Heinecke <andre.heinecke@intevation.de>
parents:
33
diff
changeset
|
63 |
11618dd45312
Add MacOS build support
Andre Heinecke <andre.heinecke@intevation.de>
parents:
33
diff
changeset
|
64 set(MAC_EXTRA_LIBS |
11618dd45312
Add MacOS build support
Andre Heinecke <andre.heinecke@intevation.de>
parents:
33
diff
changeset
|
65 -L${_qtpath} |
11618dd45312
Add MacOS build support
Andre Heinecke <andre.heinecke@intevation.de>
parents:
33
diff
changeset
|
66 -lQt5Gui -lQt5Core -lQt5PlatformSupport |
11618dd45312
Add MacOS build support
Andre Heinecke <andre.heinecke@intevation.de>
parents:
33
diff
changeset
|
67 -lQt5PrintSupport |
11618dd45312
Add MacOS build support
Andre Heinecke <andre.heinecke@intevation.de>
parents:
33
diff
changeset
|
68 -lz -lm ${APP_SERVICES_LIBRARY} |
11618dd45312
Add MacOS build support
Andre Heinecke <andre.heinecke@intevation.de>
parents:
33
diff
changeset
|
69 ${FOUNDATION_LIBRARAY} |
11618dd45312
Add MacOS build support
Andre Heinecke <andre.heinecke@intevation.de>
parents:
33
diff
changeset
|
70 ${CORE_FOUNDATION_LIBRARY} |
11618dd45312
Add MacOS build support
Andre Heinecke <andre.heinecke@intevation.de>
parents:
33
diff
changeset
|
71 ${COCOA_LIBRARAY} |
11618dd45312
Add MacOS build support
Andre Heinecke <andre.heinecke@intevation.de>
parents:
33
diff
changeset
|
72 ${CORE_SERVICES_LIBRARAY} |
11618dd45312
Add MacOS build support
Andre Heinecke <andre.heinecke@intevation.de>
parents:
33
diff
changeset
|
73 ${OPENGL_LIBRARAY} |
11618dd45312
Add MacOS build support
Andre Heinecke <andre.heinecke@intevation.de>
parents:
33
diff
changeset
|
74 ${AGL_LIBRARY} |
11618dd45312
Add MacOS build support
Andre Heinecke <andre.heinecke@intevation.de>
parents:
33
diff
changeset
|
75 ${CARBON_LIBRARY} |
11618dd45312
Add MacOS build support
Andre Heinecke <andre.heinecke@intevation.de>
parents:
33
diff
changeset
|
76 ${IOKIT_LIBRARY} |
11618dd45312
Add MacOS build support
Andre Heinecke <andre.heinecke@intevation.de>
parents:
33
diff
changeset
|
77 -lqtharfbuzzng -lz -lcups) |
11618dd45312
Add MacOS build support
Andre Heinecke <andre.heinecke@intevation.de>
parents:
33
diff
changeset
|
78 set(EXTRA_STATIC_LIBS Qt5::QCocoaIntegrationPlugin ${MAC_EXTRA_LIBS} ) |
11618dd45312
Add MacOS build support
Andre Heinecke <andre.heinecke@intevation.de>
parents:
33
diff
changeset
|
79 set (_add_executable_params MACOSX_BUNDLE) |
11618dd45312
Add MacOS build support
Andre Heinecke <andre.heinecke@intevation.de>
parents:
33
diff
changeset
|
80 SET(APPS "\${CMAKE_INSTALL_PREFIX}/${PROJECT_NAME}.app") |
11618dd45312
Add MacOS build support
Andre Heinecke <andre.heinecke@intevation.de>
parents:
33
diff
changeset
|
81 SET(MACOS_INFO_STRING "Tool to convert EduApp questionaires.") |
11618dd45312
Add MacOS build support
Andre Heinecke <andre.heinecke@intevation.de>
parents:
33
diff
changeset
|
82 SET(MACOSX_BUNDLE_NAME "EduExportConvert") |
11618dd45312
Add MacOS build support
Andre Heinecke <andre.heinecke@intevation.de>
parents:
33
diff
changeset
|
83 SET(MACOSX_BUNDLE_GUI_IDENTIFIER "EduExportConvert") |
11618dd45312
Add MacOS build support
Andre Heinecke <andre.heinecke@intevation.de>
parents:
33
diff
changeset
|
84 SET(MACOSX_BUNDLE_BUNDLE_VERSION ${PROJECT_VERSION}) |
11618dd45312
Add MacOS build support
Andre Heinecke <andre.heinecke@intevation.de>
parents:
33
diff
changeset
|
85 SET(MACOSX_BUNDLE_BUNDLE_VERSION_STRING "${PROJECT_VERSION}") |
11618dd45312
Add MacOS build support
Andre Heinecke <andre.heinecke@intevation.de>
parents:
33
diff
changeset
|
86 SET(MACOSX_BUNDLE_LONG_VERSION_STRING "${PROJECT_VERSION}") |
11618dd45312
Add MacOS build support
Andre Heinecke <andre.heinecke@intevation.de>
parents:
33
diff
changeset
|
87 SET(MACOSX_BUNDLE_SHORT_VERSION_STRING "${PROJECT_VERSION}") |
11618dd45312
Add MacOS build support
Andre Heinecke <andre.heinecke@intevation.de>
parents:
33
diff
changeset
|
88 set(MACOSX_BUNDLE_COPYRIGHT "Copyright (C) 2016 by ETH Zürich\nSoftware engineering by Intevation GmbH") |
11618dd45312
Add MacOS build support
Andre Heinecke <andre.heinecke@intevation.de>
parents:
33
diff
changeset
|
89 endif() |
11618dd45312
Add MacOS build support
Andre Heinecke <andre.heinecke@intevation.de>
parents:
33
diff
changeset
|
90 |
10
7f26b0293e1d
Fix windows build
Andre Heinecke <andre.heinecke@intevation.de>
parents:
1
diff
changeset
|
91 if (WIN32) |
7f26b0293e1d
Fix windows build
Andre Heinecke <andre.heinecke@intevation.de>
parents:
1
diff
changeset
|
92 get_target_property(_loc Qt5::Widgets LOCATION) |
7f26b0293e1d
Fix windows build
Andre Heinecke <andre.heinecke@intevation.de>
parents:
1
diff
changeset
|
93 get_filename_component(_qtpath ${_loc} PATH) |
53
a43d8cf2fa95
Various fixes and improvements. Fix windows packaging.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
50
diff
changeset
|
94 set (_add_executable_params WIN32) |
10
7f26b0293e1d
Fix windows build
Andre Heinecke <andre.heinecke@intevation.de>
parents:
1
diff
changeset
|
95 set(EXTRA_STATIC_LIBS |
7f26b0293e1d
Fix windows build
Andre Heinecke <andre.heinecke@intevation.de>
parents:
1
diff
changeset
|
96 -L${_qtpath} |
7f26b0293e1d
Fix windows build
Andre Heinecke <andre.heinecke@intevation.de>
parents:
1
diff
changeset
|
97 Qt5::QWindowsIntegrationPlugin |
7f26b0293e1d
Fix windows build
Andre Heinecke <andre.heinecke@intevation.de>
parents:
1
diff
changeset
|
98 -lwinspool -lshlwapi |
7f26b0293e1d
Fix windows build
Andre Heinecke <andre.heinecke@intevation.de>
parents:
1
diff
changeset
|
99 -lQt5PlatformSupport -lQt5Gui -lcomdlg32 -loleaut32 -limm32 -lwinmm |
7f26b0293e1d
Fix windows build
Andre Heinecke <andre.heinecke@intevation.de>
parents:
1
diff
changeset
|
100 -lglu32 -lopengl32 -lgdi32 -lQt5Core -lole32 -lmstask -luuid -lws2_32 |
33
50dae38a5641
Fix windows build link order
Andre Heinecke <andre.heinecke@intevation.de>
parents:
23
diff
changeset
|
101 -ladvapi32 -lshell32 -luser32 -lkernel32 -lqtfreetype -lqtharfbuzzng -lpcre16) |
10
7f26b0293e1d
Fix windows build
Andre Heinecke <andre.heinecke@intevation.de>
parents:
1
diff
changeset
|
102 endif() |
7f26b0293e1d
Fix windows build
Andre Heinecke <andre.heinecke@intevation.de>
parents:
1
diff
changeset
|
103 |
53
a43d8cf2fa95
Various fixes and improvements. Fix windows packaging.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
50
diff
changeset
|
104 add_executable(${PROJECT_NAME} |
a43d8cf2fa95
Various fixes and improvements. Fix windows packaging.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
50
diff
changeset
|
105 ${_add_executable_params} |
a43d8cf2fa95
Various fixes and improvements. Fix windows packaging.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
50
diff
changeset
|
106 ${APPLICATION_SRC} |
a43d8cf2fa95
Various fixes and improvements. Fix windows packaging.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
50
diff
changeset
|
107 ${TRANSLATION_SRC} |
a43d8cf2fa95
Various fixes and improvements. Fix windows packaging.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
50
diff
changeset
|
108 ) |
a43d8cf2fa95
Various fixes and improvements. Fix windows packaging.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
50
diff
changeset
|
109 |
1
93d3106bb9a4
Add qt xlsx library
Andre Heinecke <andre.heinecke@intevation.de>
parents:
0
diff
changeset
|
110 target_link_libraries(${PROJECT_NAME} |
23
927794e3cc52
Add HTML output and some pdf support
Andre Heinecke <andre.heinecke@intevation.de>
parents:
21
diff
changeset
|
111 Qt5::Widgets |
927794e3cc52
Add HTML output and some pdf support
Andre Heinecke <andre.heinecke@intevation.de>
parents:
21
diff
changeset
|
112 Qt5::PrintSupport |
1
93d3106bb9a4
Add qt xlsx library
Andre Heinecke <andre.heinecke@intevation.de>
parents:
0
diff
changeset
|
113 ${PROJECT_NAME}_libqtxslx |
10
7f26b0293e1d
Fix windows build
Andre Heinecke <andre.heinecke@intevation.de>
parents:
1
diff
changeset
|
114 ${EXTRA_STATIC_LIBS} |
1
93d3106bb9a4
Add qt xlsx library
Andre Heinecke <andre.heinecke@intevation.de>
parents:
0
diff
changeset
|
115 ) |
93d3106bb9a4
Add qt xlsx library
Andre Heinecke <andre.heinecke@intevation.de>
parents:
0
diff
changeset
|
116 |
93d3106bb9a4
Add qt xlsx library
Andre Heinecke <andre.heinecke@intevation.de>
parents:
0
diff
changeset
|
117 if (WIN32) |
93d3106bb9a4
Add qt xlsx library
Andre Heinecke <andre.heinecke@intevation.de>
parents:
0
diff
changeset
|
118 set_target_properties(${PROJECT_NAME} PROPERTIES LINK_FLAGS "-municode") |
93d3106bb9a4
Add qt xlsx library
Andre Heinecke <andre.heinecke@intevation.de>
parents:
0
diff
changeset
|
119 endif(WIN32) |
93d3106bb9a4
Add qt xlsx library
Andre Heinecke <andre.heinecke@intevation.de>
parents:
0
diff
changeset
|
120 |
93d3106bb9a4
Add qt xlsx library
Andre Heinecke <andre.heinecke@intevation.de>
parents:
0
diff
changeset
|
121 install(TARGETS ${PROJECT_NAME} DESTINATION bin BUNDLE DESTINATION .) |
93d3106bb9a4
Add qt xlsx library
Andre Heinecke <andre.heinecke@intevation.de>
parents:
0
diff
changeset
|
122 |
93d3106bb9a4
Add qt xlsx library
Andre Heinecke <andre.heinecke@intevation.de>
parents:
0
diff
changeset
|
123 if(APPLE) |
93d3106bb9a4
Add qt xlsx library
Andre Heinecke <andre.heinecke@intevation.de>
parents:
0
diff
changeset
|
124 install(CODE " |
93d3106bb9a4
Add qt xlsx library
Andre Heinecke <andre.heinecke@intevation.de>
parents:
0
diff
changeset
|
125 include(BundleUtilities) |
93d3106bb9a4
Add qt xlsx library
Andre Heinecke <andre.heinecke@intevation.de>
parents:
0
diff
changeset
|
126 fixup_bundle(\"${APPS}\" \"\${QTPLUGINS}\" \"${DIRS}\") |
93d3106bb9a4
Add qt xlsx library
Andre Heinecke <andre.heinecke@intevation.de>
parents:
0
diff
changeset
|
127 " COMPONENT Runtime) |
93d3106bb9a4
Add qt xlsx library
Andre Heinecke <andre.heinecke@intevation.de>
parents:
0
diff
changeset
|
128 endif() |
93d3106bb9a4
Add qt xlsx library
Andre Heinecke <andre.heinecke@intevation.de>
parents:
0
diff
changeset
|
129 set(CPACK_BINARY_DRAGNDROP ON) |
93d3106bb9a4
Add qt xlsx library
Andre Heinecke <andre.heinecke@intevation.de>
parents:
0
diff
changeset
|
130 include(CPack) |