aboutsummaryrefslogtreecommitdiff
path: root/gnu/packages/patches/qtbase-QTBUG-81715.patch
diff options
context:
space:
mode:
Diffstat (limited to 'gnu/packages/patches/qtbase-QTBUG-81715.patch')
-rw-r--r--gnu/packages/patches/qtbase-QTBUG-81715.patch40
1 files changed, 40 insertions, 0 deletions
diff --git a/gnu/packages/patches/qtbase-QTBUG-81715.patch b/gnu/packages/patches/qtbase-QTBUG-81715.patch
new file mode 100644
index 0000000000..70b83b97d2
--- /dev/null
+++ b/gnu/packages/patches/qtbase-QTBUG-81715.patch
@@ -0,0 +1,40 @@
+From 8a3fde00bf53d99e9e4853e8ab97b0e1bcf74915 Mon Sep 17 00:00:00 2001
+From: Joerg Bornemann <joerg.bornemann@qt.io>
+Date: Wed, 29 Jan 2020 11:06:35 +0100
+Subject: [PATCH] Fix qt5_make_output_file macro for paths containing dots
+
+Commit 89bd5a7e broke CMake projects that use dots in their build
+paths, because the used regular expression matches the directory part
+of the path as well.
+
+The regex wants to achieve the same as get_filename_component(...
+NAME_WLE) which is available since CMake 3.14. Re-implement the
+NAME_WLE functionality for older CMake versions by using multiple
+get_filename_component calls.
+
+Fixes: QTBUG-81715
+Task-number: QTBUG-80295
+Change-Id: I2ef053300948f6e1b2c0c5eafac35105f193d4e6
+Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
+---
+
+diff --git a/src/corelib/Qt5CoreMacros.cmake b/src/corelib/Qt5CoreMacros.cmake
+index 7735e51..b3da640 100644
+--- a/src/corelib/Qt5CoreMacros.cmake
++++ b/src/corelib/Qt5CoreMacros.cmake
+@@ -59,7 +59,14 @@
+ set(_outfile "${CMAKE_CURRENT_BINARY_DIR}/${rel}")
+ string(REPLACE ".." "__" _outfile ${_outfile})
+ get_filename_component(outpath ${_outfile} PATH)
+- string(REGEX REPLACE "\\.[^.]*$" "" _outfile ${_outfile})
++ if(CMAKE_VERSION VERSION_LESS "3.14")
++ get_filename_component(_outfile_ext ${_outfile} EXT)
++ get_filename_component(_outfile_ext ${_outfile_ext} NAME_WE)
++ get_filename_component(_outfile ${_outfile} NAME_WE)
++ string(APPEND _outfile ${_outfile_ext})
++ else()
++ get_filename_component(_outfile ${_outfile} NAME_WLE)
++ endif()
+ file(MAKE_DIRECTORY ${outpath})
+ set(${outfile} ${outpath}/${prefix}${_outfile}.${ext})
+ endmacro()