summaryrefslogtreecommitdiff
path: root/cmake
diff options
context:
space:
mode:
authorTeus Benschop <teusjannette@gmail.com>2017-11-03 14:30:38 +0100
committerTeus Benschop <teusjannette@gmail.com>2017-11-03 14:30:38 +0100
commit6ca84db1f51ce1a5eea260ddf1be7dd99437ce7e (patch)
treeec20c9ebec01a8bc23b14ff5aaf0e99c96c2f865 /cmake
parent90d2181239761f8950b95768d3b037843e9e8b50 (diff)
New upstream version 2.11.1
Diffstat (limited to 'cmake')
-rw-r--r--cmake/BTBinaryPackageWindows.cmake109
-rw-r--r--cmake/BTUITranslation.cmake2
-rw-r--r--cmake/qtbug-35164-patcher.cmake37
3 files changed, 49 insertions, 99 deletions
diff --git a/cmake/BTBinaryPackageWindows.cmake b/cmake/BTBinaryPackageWindows.cmake
index 14ed01a..223e33b 100644
--- a/cmake/BTBinaryPackageWindows.cmake
+++ b/cmake/BTBinaryPackageWindows.cmake
@@ -14,116 +14,20 @@ IF(WIN32 AND NOT UNIX)
SET(CPACK_PACKAGE_INSTALL_DIRECTORY "BibleTime")
SET(CPACK_RESOURCE_FILE_LICENSE "${CMAKE_CURRENT_SOURCE_DIR}/LICENSE")
- # There is a bug in NSI that does not handle full unix paths properly. Make
- # sure there is at least one set of four (4) backlasshes.
# We need the libraries, and they're not pulled in automatically
SET(CMAKE_INSTALL_DEBUG_LIBRARIES TRUE)
SET(QT_BINARY_DIR "${Qt5Core_DIR}/../../../bin")
- SET(QT_PLUGINS_DIR "${Qt5Core_DIR}/../../../plugins")
- INSTALL(FILES
- "${QT_BINARY_DIR}/icudt54.dll"
- "${QT_BINARY_DIR}/icuin54.dll"
- "${QT_BINARY_DIR}/icuuc54.dll"
- "${QT_BINARY_DIR}/libEGLd.dll"
- "${QT_BINARY_DIR}/libGLESv2d.dll"
- "${QT_BINARY_DIR}/Qt5Cored.dll"
- "${QT_BINARY_DIR}/Qt5Guid.dll"
- "${QT_BINARY_DIR}/Qt5Networkd.dll"
- "${QT_BINARY_DIR}/Qt5PrintSupportd.dll"
- "${QT_BINARY_DIR}/Qt5Qmld.dll"
- "${QT_BINARY_DIR}/Qt5Quickd.dll"
- "${QT_BINARY_DIR}/Qt5Svgd.dll"
- "${QT_BINARY_DIR}/Qt5WebChanneld.dll"
- "${QT_BINARY_DIR}/Qt5WebEngineCored.dll"
- "${QT_BINARY_DIR}/Qt5WebEngineWidgetsd.dll"
- "${QT_BINARY_DIR}/Qt5Widgetsd.dll"
- "${QT_BINARY_DIR}/Qt5Xmld.dll"
- "${QT_BINARY_DIR}/QtWebEngineProcess.exe"
- DESTINATION "${BT_DESTINATION}"
- CONFIGURATIONS "Debug"
- )
- INSTALL(FILES
- "${QT_BINARY_DIR}/icudt54.dll"
- "${QT_BINARY_DIR}/icuin54.dll"
- "${QT_BINARY_DIR}/icuuc54.dll"
- "${QT_BINARY_DIR}/libEGL.dll"
- "${QT_BINARY_DIR}/libGLESv2.dll"
- "${QT_BINARY_DIR}/Qt5Core.dll"
- "${QT_BINARY_DIR}/Qt5Gui.dll"
- "${QT_BINARY_DIR}/Qt5Network.dll"
- "${QT_BINARY_DIR}/Qt5PrintSupport.dll"
- "${QT_BINARY_DIR}/Qt5Qml.dll"
- "${QT_BINARY_DIR}/Qt5Quick.dll"
- "${QT_BINARY_DIR}/Qt5Svg.dll"
- "${QT_BINARY_DIR}/Qt5WebChannel.dll"
- "${QT_BINARY_DIR}/Qt5WebEngineCore.dll"
- "${QT_BINARY_DIR}/Qt5WebEngineWidgets.dll"
- "${QT_BINARY_DIR}/Qt5Widgets.dll"
- "${QT_BINARY_DIR}/Qt5Xml.dll"
- "${QT_BINARY_DIR}/QtWebEngineProcess.exe"
- "${QT_BINARY_DIR}/D3Dcompiler_47.dll"
- "${QT_BINARY_DIR}/opengl32sw.dll"
- "${QT_PLUGINS_DIR}/../resources/icudtl.dat"
- DESTINATION "${BT_DESTINATION}"
- CONFIGURATIONS "Release"
- )
- INSTALL(FILES
- "${QT_PLUGINS_DIR}/bearer/qgenericbearer.dll"
- "${QT_PLUGINS_DIR}/bearer/qnativewifibearer.dll"
- DESTINATION "${BT_DESTINATION}/bearer"
- CONFIGURATIONS "Release"
- )
- INSTALL(FILES
- "${QT_PLUGINS_DIR}/iconengines/qsvgicon.dll"
- DESTINATION "${BT_DESTINATION}/iconengines"
- CONFIGURATIONS "Release"
- )
- INSTALL(FILES
- "${QT_PLUGINS_DIR}/platforms/qwindows.dll"
- DESTINATION "${BT_DESTINATION}/platforms"
- CONFIGURATIONS "Release"
- )
- INSTALL(FILES
- "${QT_PLUGINS_DIR}/printsupport/windowsprintersupport.dll"
- DESTINATION "${BT_DESTINATION}/printsupport"
- CONFIGURATIONS "Release"
- )
- INSTALL(FILES
- "${QT_PLUGINS_DIR}/../resources/qtwebengine_resources.pak"
- "${QT_PLUGINS_DIR}/../resources/qtwebengine_resources_100p.pak"
- "${QT_PLUGINS_DIR}/../resources/qtwebengine_resources_200p.pak"
- DESTINATION "${BT_DESTINATION}"
- CONFIGURATIONS "Release"
- )
- INSTALL(FILES
- "${QT_PLUGINS_DIR}/imageformats/qdds.dll"
- "${QT_PLUGINS_DIR}/imageformats/qgif.dll"
- "${QT_PLUGINS_DIR}/imageformats/qico.dll"
- "${QT_PLUGINS_DIR}/imageformats/qicns.dll"
- "${QT_PLUGINS_DIR}/imageformats/qjpeg.dll"
- "${QT_PLUGINS_DIR}/imageformats/qsvg.dll"
- "${QT_PLUGINS_DIR}/imageformats/qtga.dll"
- "${QT_PLUGINS_DIR}/imageformats/qtiff.dll"
- "${QT_PLUGINS_DIR}/imageformats/qwbmp.dll"
- "${QT_PLUGINS_DIR}/imageformats/qwebp.dll"
- DESTINATION "${BT_DESTINATION}/imageformats"
- CONFIGURATIONS "Release"
- )
INSTALL(DIRECTORY
"${QT_BINARY_DIR}/../translations"
DESTINATION "${BT_DESTINATION}"
CONFIGURATIONS "Release"
)
- # This adds in the required Windows system libraries
- MESSAGE(STATUS "INSTALL Microsoft Redist ${MSVC_REDIST}" )
- INSTALL(PROGRAMS ${MSVC_REDIST} DESTINATION bin)
- SET(CPACK_NSIS_EXTRA_INSTALL_COMMANDS "
- ExecWait \\\"$INSTDIR\\\\bin\\\\vcredist.x86.exe /quiet\\\"
- Delete \\\"$INSTDIR\\\\bin\\\\vcredist.x86.exe\\\"
- ")
+ FIND_PROGRAM(QT_WINDEPLOYQT_EXECUTABLE windeployqt HINTS "${QT_BIN_DIR}")
+ MESSAGE(STATUS "Running ${QT_WINDEPLOYQT_EXECUTABLE}")
+ INSTALL(CODE "EXECUTE_PROCESS(COMMAND ${QT_WINDEPLOYQT_EXECUTABLE} \"\${CMAKE_INSTALL_PREFIX}/bin/bibletime.exe\") ")
IF(CMAKE_BUILD_TYPE STREQUAL "Debug")
SET(ZLIB_LIBRARY ${ZLIB_LIBRARY_DEBUG})
@@ -163,6 +67,13 @@ IF(WIN32 AND NOT UNIX)
SET(CPACK_PACKAGE_EXECUTABLES "bibletime" "BibleTime")
+ # This adds in the required Windows system libraries
+ MESSAGE(STATUS "INSTALL Microsoft Redist ${MSVC_REDIST}" )
+ SET(CPACK_NSIS_EXTRA_INSTALL_COMMANDS "
+ ExecWait \\\"$INSTDIR\\\\bin\\\\vcredist_x86.exe /q\\\"
+ Delete \\\"$INSTDIR\\\\bin\\\\vcredist_x86.exe\\\"
+ ")
+
INCLUDE(CPack)
ENDIF(WIN32 AND NOT UNIX)
diff --git a/cmake/BTUITranslation.cmake b/cmake/BTUITranslation.cmake
index 9d938ce..2991c43 100644
--- a/cmake/BTUITranslation.cmake
+++ b/cmake/BTUITranslation.cmake
@@ -14,3 +14,5 @@ SET(bibletime_UI_translations "${QM_FILES}")
# Update source catalog files (this is the basis for the translator's work)
# Invoke this with "make messages"
BT_UPDATE_TS_FILES(${TS_DIR} ${bibletime_TRANSLATION_FILE_PREFIX})
+
+INCLUDE("${CMAKE_CURRENT_SOURCE_DIR}/cmake/qtbug-35164-patcher.cmake")
diff --git a/cmake/qtbug-35164-patcher.cmake b/cmake/qtbug-35164-patcher.cmake
new file mode 100644
index 0000000..2dbb2c3
--- /dev/null
+++ b/cmake/qtbug-35164-patcher.cmake
@@ -0,0 +1,37 @@
+
+# Build the qtbug-35164-patcher tool
+MESSAGE(STATUS "qtbug-35164-patcher")
+PROJECT(qtbug-35164-patcher)
+FIND_PACKAGE(Qt5Core REQUIRED)
+ADD_EXECUTABLE(qtbug-35164-patcher
+ ${bibletime_SOURCE_DIR}/i18n/qtbug-35164-patcher.cpp
+)
+TARGET_LINK_LIBRARIES(qtbug-35164-patcher Qt5::Core)
+
+
+# Run qtbug-35164-patcher <file>.ts <file>.ts2, then rename <file>.ts2 to <file>.ts
+FUNCTION(qtbug_35164_patcher_func)
+ MESSAGE(STATUS "Bug patcher")
+ SET(TS_DIR "${CMAKE_CURRENT_SOURCE_DIR}/i18n/messages")
+ BT_GET_TS_LANGS(TS_LANGS)
+ FOREACH(TS_LANG ${TS_LANGS})
+ ADD_CUSTOM_TARGET("qtbug_35164_patcher_${TS_LANG}"
+ COMMAND ${CMAKE_CURRENT_BINARY_DIR}/qtbug-35164-patcher${CMAKE_EXECUTABLE_SUFFIX}
+ ${TS_DIR}/bibletime_ui_${TS_LANG}.ts
+ ${TS_DIR}/bibletime_ui_${TS_LANG}.ts2
+
+ # Comment out the next 3 lines to be able to see both the unpatched and patched files.
+ COMMAND ${CMAKE_COMMAND} -E rename
+ ${TS_DIR}/bibletime_ui_${TS_LANG}.ts2
+ ${TS_DIR}/bibletime_ui_${TS_LANG}.ts
+
+ COMMENT "ran qtbug_35164_patcher on bibletime_ui_${TS_LANG}.ts"
+ )
+ # Ensure tool is built first and that the ts file is created first
+ ADD_DEPENDENCIES("qtbug_35164_patcher_${TS_LANG}" "messages_${TS_LANG}" "qtbug-35164-patcher" )
+ ADD_DEPENDENCIES("messages" "qtbug_35164_patcher_${TS_LANG}")
+ ENDFOREACH()
+endfunction()
+
+qtbug_35164_patcher_func()
+