annotate src/CMakeLists.txt @ 87:cc0ce6d26c9f

Added tag 1.3 for changeset 08cca723e37d
author Andre Heinecke <andre.heinecke@intevation.de>
date Wed, 05 Oct 2016 15:01:26 +0200
parents 1e6e7699f0b8
children 5b815897657d
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
36ee5dd46fd3 Add GUI
Andre Heinecke <andre.heinecke@intevation.de>
parents: 46
diff changeset
20 icons/icon.rc
36ee5dd46fd3 Add GUI
Andre Heinecke <andre.heinecke@intevation.de>
parents: 46
diff changeset
21 filenamerequester.cpp
36ee5dd46fd3 Add GUI
Andre Heinecke <andre.heinecke@intevation.de>
parents: 46
diff changeset
22 mainwindow.cpp
76
1e6e7699f0b8 Add replacements.ini to configure text replacements
Andre Heinecke <andre.heinecke@intevation.de>
parents: 53
diff changeset
23 replacements.ini
1
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
93d3106bb9a4 Add qt xlsx library
Andre Heinecke <andre.heinecke@intevation.de>
parents: 0
diff changeset
26 find_package(Qt5LinguistTools)
93d3106bb9a4 Add qt xlsx library
Andre Heinecke <andre.heinecke@intevation.de>
parents: 0
diff changeset
27
93d3106bb9a4 Add qt xlsx library
Andre Heinecke <andre.heinecke@intevation.de>
parents: 0
diff changeset
28 if(Qt5LinguistTools_FOUND)
93d3106bb9a4 Add qt xlsx library
Andre Heinecke <andre.heinecke@intevation.de>
parents: 0
diff changeset
29
93d3106bb9a4 Add qt xlsx library
Andre Heinecke <andre.heinecke@intevation.de>
parents: 0
diff changeset
30 set(FILES_TO_TRANSLATE
93d3106bb9a4 Add qt xlsx library
Andre Heinecke <andre.heinecke@intevation.de>
parents: 0
diff changeset
31 ${APPLICATION_SRC}
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
93d3106bb9a4 Add qt xlsx library
Andre Heinecke <andre.heinecke@intevation.de>
parents: 0
diff changeset
34 # Include translation as a resource
93d3106bb9a4 Add qt xlsx library
Andre Heinecke <andre.heinecke@intevation.de>
parents: 0
diff changeset
35 # 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
36 # and it also updates the currently available localization.
93d3106bb9a4 Add qt xlsx library
Andre Heinecke <andre.heinecke@intevation.de>
parents: 0
diff changeset
37 configure_file(l10n/l10n.qrc.in l10n.qrc)
93d3106bb9a4 Add qt xlsx library
Andre Heinecke <andre.heinecke@intevation.de>
parents: 0
diff changeset
38 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
39 qt5_create_translation(TRANSLATION_SRC ${FILES_TO_TRANSLATE}
93d3106bb9a4 Add qt xlsx library
Andre Heinecke <andre.heinecke@intevation.de>
parents: 0
diff changeset
40 ${CMAKE_CURRENT_SOURCE_DIR}/l10n/main_de_DE.ts)
93d3106bb9a4 Add qt xlsx library
Andre Heinecke <andre.heinecke@intevation.de>
parents: 0
diff changeset
41 endif()
93d3106bb9a4 Add qt xlsx library
Andre Heinecke <andre.heinecke@intevation.de>
parents: 0
diff changeset
42
50
36ee5dd46fd3 Add GUI
Andre Heinecke <andre.heinecke@intevation.de>
parents: 46
diff changeset
43 qt5_add_resources(APPLICATION_SRC icons/icons.qrc)
1
93d3106bb9a4 Add qt xlsx library
Andre Heinecke <andre.heinecke@intevation.de>
parents: 0
diff changeset
44
46
11618dd45312 Add MacOS build support
Andre Heinecke <andre.heinecke@intevation.de>
parents: 33
diff changeset
45 # See: https://bugreports.qt-project.org/browse/QTBUG-35918
11618dd45312 Add MacOS build support
Andre Heinecke <andre.heinecke@intevation.de>
parents: 33
diff changeset
46 # extra static libs should be automatically managed but they
11618dd45312 Add MacOS build support
Andre Heinecke <andre.heinecke@intevation.de>
parents: 33
diff changeset
47 # are not so we make this here explicitly neccessary.
11618dd45312 Add MacOS build support
Andre Heinecke <andre.heinecke@intevation.de>
parents: 33
diff changeset
48 # The list is taken from the libs/*.prl file
11618dd45312 Add MacOS build support
Andre Heinecke <andre.heinecke@intevation.de>
parents: 33
diff changeset
49 if(APPLE)
11618dd45312 Add MacOS build support
Andre Heinecke <andre.heinecke@intevation.de>
parents: 33
diff changeset
50 set(GUI_TYPE MACOSX_BUNDLE)
11618dd45312 Add MacOS build support
Andre Heinecke <andre.heinecke@intevation.de>
parents: 33
diff changeset
51 include_directories ( /Developer/Headers/FlatCarbon )
11618dd45312 Add MacOS build support
Andre Heinecke <andre.heinecke@intevation.de>
parents: 33
diff changeset
52 find_library(COCOA_LIBRARAY Cocoa)
11618dd45312 Add MacOS build support
Andre Heinecke <andre.heinecke@intevation.de>
parents: 33
diff changeset
53 find_library(CARBON_LIBRARY Carbon)
11618dd45312 Add MacOS build support
Andre Heinecke <andre.heinecke@intevation.de>
parents: 33
diff changeset
54 find_library(APP_SERVICES_LIBRARY ApplicationServices)
11618dd45312 Add MacOS build support
Andre Heinecke <andre.heinecke@intevation.de>
parents: 33
diff changeset
55 find_library(FOUNDATION_LIBRARAY Foundation)
11618dd45312 Add MacOS build support
Andre Heinecke <andre.heinecke@intevation.de>
parents: 33
diff changeset
56 find_library(CORE_SERVICES_LIBRARAY CoreServices)
11618dd45312 Add MacOS build support
Andre Heinecke <andre.heinecke@intevation.de>
parents: 33
diff changeset
57 find_library(CORE_FOUNDATION_LIBRARY CoreFoundation)
11618dd45312 Add MacOS build support
Andre Heinecke <andre.heinecke@intevation.de>
parents: 33
diff changeset
58 find_library(OPENGL_LIBRARAY OpenGL)
11618dd45312 Add MacOS build support
Andre Heinecke <andre.heinecke@intevation.de>
parents: 33
diff changeset
59 find_library(AGL_LIBRARY AGL)
11618dd45312 Add MacOS build support
Andre Heinecke <andre.heinecke@intevation.de>
parents: 33
diff changeset
60 find_library(IOKIT_LIBRARY IOKit)
11618dd45312 Add MacOS build support
Andre Heinecke <andre.heinecke@intevation.de>
parents: 33
diff changeset
61
11618dd45312 Add MacOS build support
Andre Heinecke <andre.heinecke@intevation.de>
parents: 33
diff changeset
62 get_target_property(_loc Qt5::Widgets LOCATION)
11618dd45312 Add MacOS build support
Andre Heinecke <andre.heinecke@intevation.de>
parents: 33
diff changeset
63 get_filename_component(_qtpath ${_loc} PATH)
11618dd45312 Add MacOS build support
Andre Heinecke <andre.heinecke@intevation.de>
parents: 33
diff changeset
64
11618dd45312 Add MacOS build support
Andre Heinecke <andre.heinecke@intevation.de>
parents: 33
diff changeset
65 set(MAC_EXTRA_LIBS
11618dd45312 Add MacOS build support
Andre Heinecke <andre.heinecke@intevation.de>
parents: 33
diff changeset
66 -L${_qtpath}
11618dd45312 Add MacOS build support
Andre Heinecke <andre.heinecke@intevation.de>
parents: 33
diff changeset
67 -lQt5Gui -lQt5Core -lQt5PlatformSupport
11618dd45312 Add MacOS build support
Andre Heinecke <andre.heinecke@intevation.de>
parents: 33
diff changeset
68 -lQt5PrintSupport
11618dd45312 Add MacOS build support
Andre Heinecke <andre.heinecke@intevation.de>
parents: 33
diff changeset
69 -lz -lm ${APP_SERVICES_LIBRARY}
11618dd45312 Add MacOS build support
Andre Heinecke <andre.heinecke@intevation.de>
parents: 33
diff changeset
70 ${FOUNDATION_LIBRARAY}
11618dd45312 Add MacOS build support
Andre Heinecke <andre.heinecke@intevation.de>
parents: 33
diff changeset
71 ${CORE_FOUNDATION_LIBRARY}
11618dd45312 Add MacOS build support
Andre Heinecke <andre.heinecke@intevation.de>
parents: 33
diff changeset
72 ${COCOA_LIBRARAY}
11618dd45312 Add MacOS build support
Andre Heinecke <andre.heinecke@intevation.de>
parents: 33
diff changeset
73 ${CORE_SERVICES_LIBRARAY}
11618dd45312 Add MacOS build support
Andre Heinecke <andre.heinecke@intevation.de>
parents: 33
diff changeset
74 ${OPENGL_LIBRARAY}
11618dd45312 Add MacOS build support
Andre Heinecke <andre.heinecke@intevation.de>
parents: 33
diff changeset
75 ${AGL_LIBRARY}
11618dd45312 Add MacOS build support
Andre Heinecke <andre.heinecke@intevation.de>
parents: 33
diff changeset
76 ${CARBON_LIBRARY}
11618dd45312 Add MacOS build support
Andre Heinecke <andre.heinecke@intevation.de>
parents: 33
diff changeset
77 ${IOKIT_LIBRARY}
11618dd45312 Add MacOS build support
Andre Heinecke <andre.heinecke@intevation.de>
parents: 33
diff changeset
78 -lqtharfbuzzng -lz -lcups)
11618dd45312 Add MacOS build support
Andre Heinecke <andre.heinecke@intevation.de>
parents: 33
diff changeset
79 set(EXTRA_STATIC_LIBS Qt5::QCocoaIntegrationPlugin ${MAC_EXTRA_LIBS} )
11618dd45312 Add MacOS build support
Andre Heinecke <andre.heinecke@intevation.de>
parents: 33
diff changeset
80 set (_add_executable_params MACOSX_BUNDLE)
11618dd45312 Add MacOS build support
Andre Heinecke <andre.heinecke@intevation.de>
parents: 33
diff changeset
81 SET(APPS "\${CMAKE_INSTALL_PREFIX}/${PROJECT_NAME}.app")
11618dd45312 Add MacOS build support
Andre Heinecke <andre.heinecke@intevation.de>
parents: 33
diff changeset
82 SET(MACOS_INFO_STRING "Tool to convert EduApp questionaires.")
11618dd45312 Add MacOS build support
Andre Heinecke <andre.heinecke@intevation.de>
parents: 33
diff changeset
83 SET(MACOSX_BUNDLE_NAME "EduExportConvert")
11618dd45312 Add MacOS build support
Andre Heinecke <andre.heinecke@intevation.de>
parents: 33
diff changeset
84 SET(MACOSX_BUNDLE_GUI_IDENTIFIER "EduExportConvert")
11618dd45312 Add MacOS build support
Andre Heinecke <andre.heinecke@intevation.de>
parents: 33
diff changeset
85 SET(MACOSX_BUNDLE_BUNDLE_VERSION ${PROJECT_VERSION})
11618dd45312 Add MacOS build support
Andre Heinecke <andre.heinecke@intevation.de>
parents: 33
diff changeset
86 SET(MACOSX_BUNDLE_BUNDLE_VERSION_STRING "${PROJECT_VERSION}")
11618dd45312 Add MacOS build support
Andre Heinecke <andre.heinecke@intevation.de>
parents: 33
diff changeset
87 SET(MACOSX_BUNDLE_LONG_VERSION_STRING "${PROJECT_VERSION}")
11618dd45312 Add MacOS build support
Andre Heinecke <andre.heinecke@intevation.de>
parents: 33
diff changeset
88 SET(MACOSX_BUNDLE_SHORT_VERSION_STRING "${PROJECT_VERSION}")
11618dd45312 Add MacOS build support
Andre Heinecke <andre.heinecke@intevation.de>
parents: 33
diff changeset
89 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
90 endif()
11618dd45312 Add MacOS build support
Andre Heinecke <andre.heinecke@intevation.de>
parents: 33
diff changeset
91
10
7f26b0293e1d Fix windows build
Andre Heinecke <andre.heinecke@intevation.de>
parents: 1
diff changeset
92 if (WIN32)
7f26b0293e1d Fix windows build
Andre Heinecke <andre.heinecke@intevation.de>
parents: 1
diff changeset
93 get_target_property(_loc Qt5::Widgets LOCATION)
7f26b0293e1d Fix windows build
Andre Heinecke <andre.heinecke@intevation.de>
parents: 1
diff changeset
94 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
95 set (_add_executable_params WIN32)
10
7f26b0293e1d Fix windows build
Andre Heinecke <andre.heinecke@intevation.de>
parents: 1
diff changeset
96 set(EXTRA_STATIC_LIBS
7f26b0293e1d Fix windows build
Andre Heinecke <andre.heinecke@intevation.de>
parents: 1
diff changeset
97 -L${_qtpath}
7f26b0293e1d Fix windows build
Andre Heinecke <andre.heinecke@intevation.de>
parents: 1
diff changeset
98 Qt5::QWindowsIntegrationPlugin
7f26b0293e1d Fix windows build
Andre Heinecke <andre.heinecke@intevation.de>
parents: 1
diff changeset
99 -lwinspool -lshlwapi
7f26b0293e1d Fix windows build
Andre Heinecke <andre.heinecke@intevation.de>
parents: 1
diff changeset
100 -lQt5PlatformSupport -lQt5Gui -lcomdlg32 -loleaut32 -limm32 -lwinmm
7f26b0293e1d Fix windows build
Andre Heinecke <andre.heinecke@intevation.de>
parents: 1
diff changeset
101 -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
102 -ladvapi32 -lshell32 -luser32 -lkernel32 -lqtfreetype -lqtharfbuzzng -lpcre16)
10
7f26b0293e1d Fix windows build
Andre Heinecke <andre.heinecke@intevation.de>
parents: 1
diff changeset
103 endif()
7f26b0293e1d Fix windows build
Andre Heinecke <andre.heinecke@intevation.de>
parents: 1
diff changeset
104
53
a43d8cf2fa95 Various fixes and improvements. Fix windows packaging.
Andre Heinecke <andre.heinecke@intevation.de>
parents: 50
diff changeset
105 add_executable(${PROJECT_NAME}
a43d8cf2fa95 Various fixes and improvements. Fix windows packaging.
Andre Heinecke <andre.heinecke@intevation.de>
parents: 50
diff changeset
106 ${_add_executable_params}
a43d8cf2fa95 Various fixes and improvements. Fix windows packaging.
Andre Heinecke <andre.heinecke@intevation.de>
parents: 50
diff changeset
107 ${APPLICATION_SRC}
a43d8cf2fa95 Various fixes and improvements. Fix windows packaging.
Andre Heinecke <andre.heinecke@intevation.de>
parents: 50
diff changeset
108 ${TRANSLATION_SRC}
a43d8cf2fa95 Various fixes and improvements. Fix windows packaging.
Andre Heinecke <andre.heinecke@intevation.de>
parents: 50
diff changeset
109 )
a43d8cf2fa95 Various fixes and improvements. Fix windows packaging.
Andre Heinecke <andre.heinecke@intevation.de>
parents: 50
diff changeset
110
1
93d3106bb9a4 Add qt xlsx library
Andre Heinecke <andre.heinecke@intevation.de>
parents: 0
diff changeset
111 target_link_libraries(${PROJECT_NAME}
23
927794e3cc52 Add HTML output and some pdf support
Andre Heinecke <andre.heinecke@intevation.de>
parents: 21
diff changeset
112 Qt5::Widgets
927794e3cc52 Add HTML output and some pdf support
Andre Heinecke <andre.heinecke@intevation.de>
parents: 21
diff changeset
113 Qt5::PrintSupport
1
93d3106bb9a4 Add qt xlsx library
Andre Heinecke <andre.heinecke@intevation.de>
parents: 0
diff changeset
114 ${PROJECT_NAME}_libqtxslx
10
7f26b0293e1d Fix windows build
Andre Heinecke <andre.heinecke@intevation.de>
parents: 1
diff changeset
115 ${EXTRA_STATIC_LIBS}
1
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
93d3106bb9a4 Add qt xlsx library
Andre Heinecke <andre.heinecke@intevation.de>
parents: 0
diff changeset
118 if (WIN32)
93d3106bb9a4 Add qt xlsx library
Andre Heinecke <andre.heinecke@intevation.de>
parents: 0
diff changeset
119 set_target_properties(${PROJECT_NAME} PROPERTIES LINK_FLAGS "-municode")
93d3106bb9a4 Add qt xlsx library
Andre Heinecke <andre.heinecke@intevation.de>
parents: 0
diff changeset
120 endif(WIN32)
93d3106bb9a4 Add qt xlsx library
Andre Heinecke <andre.heinecke@intevation.de>
parents: 0
diff changeset
121
93d3106bb9a4 Add qt xlsx library
Andre Heinecke <andre.heinecke@intevation.de>
parents: 0
diff changeset
122 install(TARGETS ${PROJECT_NAME} DESTINATION bin BUNDLE DESTINATION .)
76
1e6e7699f0b8 Add replacements.ini to configure text replacements
Andre Heinecke <andre.heinecke@intevation.de>
parents: 53
diff changeset
123 install(FILES replacements.ini DESTINATION share/apps/${PROJECT_NAME} COMPONENT config)
1
93d3106bb9a4 Add qt xlsx library
Andre Heinecke <andre.heinecke@intevation.de>
parents: 0
diff changeset
124
93d3106bb9a4 Add qt xlsx library
Andre Heinecke <andre.heinecke@intevation.de>
parents: 0
diff changeset
125 if(APPLE)
93d3106bb9a4 Add qt xlsx library
Andre Heinecke <andre.heinecke@intevation.de>
parents: 0
diff changeset
126 install(CODE "
93d3106bb9a4 Add qt xlsx library
Andre Heinecke <andre.heinecke@intevation.de>
parents: 0
diff changeset
127 include(BundleUtilities)
93d3106bb9a4 Add qt xlsx library
Andre Heinecke <andre.heinecke@intevation.de>
parents: 0
diff changeset
128 fixup_bundle(\"${APPS}\" \"\${QTPLUGINS}\" \"${DIRS}\")
93d3106bb9a4 Add qt xlsx library
Andre Heinecke <andre.heinecke@intevation.de>
parents: 0
diff changeset
129 " COMPONENT Runtime)
93d3106bb9a4 Add qt xlsx library
Andre Heinecke <andre.heinecke@intevation.de>
parents: 0
diff changeset
130 endif()
93d3106bb9a4 Add qt xlsx library
Andre Heinecke <andre.heinecke@intevation.de>
parents: 0
diff changeset
131 set(CPACK_BINARY_DRAGNDROP ON)
93d3106bb9a4 Add qt xlsx library
Andre Heinecke <andre.heinecke@intevation.de>
parents: 0
diff changeset
132 include(CPack)
This site is hosted by Intevation GmbH (Datenschutzerklärung und Impressum | Privacy Policy and Imprint)