cmake-git: Refresh patches

This commit is contained in:
Ray Donnelly
2017-01-23 14:13:41 +00:00
parent fddfbcda75
commit 32283c0fa2
6 changed files with 124 additions and 73 deletions

View File

@@ -0,0 +1,25 @@
From 2efc14886127e36109785f47f6cc6e4fb5e8c57e Mon Sep 17 00:00:00 2001
From: Ray Donnelly <mingw.android@gmail.com>
Date: Mon, 23 Jan 2017 12:46:49 +0000
Subject: [PATCH 1/5] Windows: Add missing stringapiset.h include
This is needed for WideCharToMultiByte()
---
Source/cmFileCommand.cxx | 1 +
1 file changed, 1 insertion(+)
diff --git a/Source/cmFileCommand.cxx b/Source/cmFileCommand.cxx
index 91cecb3..987e0db 100644
--- a/Source/cmFileCommand.cxx
+++ b/Source/cmFileCommand.cxx
@@ -72,6 +72,7 @@ static mode_t mode_setgid = S_ISGID;
#endif
#if defined(_WIN32)
+#include <stringapiset.h>
// libcurl doesn't support file:// urls for unicode filenames on Windows.
// Convert string from UTF-8 to ACP if this is a file:// URL.
static std::string fix_file_url_windows(const std::string& url)
--
2.10.2

View File

@@ -0,0 +1,25 @@
From 2f77f157fd496d392752d5b0b402e9c7553a8bd3 Mon Sep 17 00:00:00 2001
From: Ray Donnelly <mingw.android@gmail.com>
Date: Mon, 23 Jan 2017 13:55:30 +0000
Subject: [PATCH 2/5] bootstrap: Set DEFAULT_CODEPAGE in
cmake_cxx_flags_EncodingCXX
---
bootstrap | 1 +
1 file changed, 1 insertion(+)
diff --git a/bootstrap b/bootstrap
index 8063edb..b1528cb 100755
--- a/bootstrap
+++ b/bootstrap
@@ -1419,6 +1419,7 @@ fi
cmake_c_flags_String="-DKWSYS_STRING_C"
if ${cmake_system_mingw}; then
cmake_c_flags_EncodingC="-DKWSYS_ENCODING_DEFAULT_CODEPAGE=CP_ACP"
+ cmake_cxx_flags_EncodingCXX="${cmake_c_flags_EncodingC}"
cmake_cxx_flags_cmProcessOutput="${cmake_c_flags_EncodingC}"
fi
cmake_cxx_flags_SystemTools="
--
2.10.2

View File

@@ -1,17 +1,17 @@
From 2adc7f478abdf1528ba6d519cdc6c938c8310665 Mon Sep 17 00:00:00 2001
From 73af97d36615ae63be24c1a9fcd189c30a4a6f85 Mon Sep 17 00:00:00 2001
From: Alexpux <alexey.pawlow@gmail.com>
Date: Mon, 3 Aug 2015 22:00:16 +0100
Subject: [PATCH 1/3] Disable response files for MSYS Generator
Subject: [PATCH 3/5] Disable response files for MSYS Generator
---
Modules/Platform/Windows-GNU.cmake | 8 +++++---
1 file changed, 5 insertions(+), 3 deletions(-)
diff --git a/Modules/Platform/Windows-GNU.cmake b/Modules/Platform/Windows-GNU.cmake
index d8a423e..4705f8f 100644
index 22daa62..ed5166a 100644
--- a/Modules/Platform/Windows-GNU.cmake
+++ b/Modules/Platform/Windows-GNU.cmake
@@ -84,9 +84,11 @@ macro(__windows_compiler_gnu lang)
@@ -74,9 +74,11 @@ macro(__windows_compiler_gnu lang)
set(CMAKE_${lang}_COMPILE_OPTIONS_PIE "")
set(CMAKE_SHARED_LIBRARY_${lang}_FLAGS "")
@@ -27,5 +27,5 @@ index d8a423e..4705f8f 100644
# We prefer "@" for response files but it is not supported by gcc 3.
execute_process(COMMAND ${CMAKE_${lang}_COMPILER} --version OUTPUT_VARIABLE _ver ERROR_VARIABLE _ver)
--
2.8.2
2.10.2

View File

@@ -1,7 +1,7 @@
From 3e14f4ba2c5d0dbaec88daa1034605f02154dabd Mon Sep 17 00:00:00 2001
From 886063a26237e751991de93c569f60f37fdd88c6 Mon Sep 17 00:00:00 2001
From: Ray Donnelly <mingw.android@gmail.com>
Date: Mon, 3 Aug 2015 22:00:16 +0100
Subject: [PATCH 2/3] Implement Qt5 static plugin support
Subject: [PATCH 4/5] Implement Qt5 static plugin support
Enabled via a new target property "AUTOSTATICPLUGINS".
@@ -18,15 +18,16 @@ from [1] are necessary [2], [3] and [4]
CMake but are necessary for this to work on MinGW-w64 (0040- for example).
---
Source/cmGlobalGenerator.cxx | 1 +
Source/cmQtAutoGeneratorInitializer.cxx | 74 +++++++++++++++++++++++++++++++--
Source/cmTarget.cxx | 2 +
3 files changed, 74 insertions(+), 3 deletions(-)
Source/cmQtAutoGeneratorInitializer.cxx | 70 ++++++++++++++++++++++++++++++++-
Source/cmTarget.cxx | 1 +
Source/cmTargetPropertyComputer.cxx | 1 +
4 files changed, 72 insertions(+), 1 deletion(-)
diff --git a/Source/cmGlobalGenerator.cxx b/Source/cmGlobalGenerator.cxx
index a1764a3..7448c0c 100644
index 2808051..a555094 100644
--- a/Source/cmGlobalGenerator.cxx
+++ b/Source/cmGlobalGenerator.cxx
@@ -1352,6 +1352,7 @@ cmGlobalGenerator::CreateQtAutoGeneratorsTargets()
@@ -1409,6 +1409,7 @@ cmGlobalGenerator::CreateQtAutoGeneratorsTargets()
}
if ((!(*ti)->GetPropertyAsBool("AUTOMOC") &&
!(*ti)->GetPropertyAsBool("AUTOUIC") &&
@@ -35,29 +36,20 @@ index a1764a3..7448c0c 100644
(*ti)->IsImported()) {
continue;
diff --git a/Source/cmQtAutoGeneratorInitializer.cxx b/Source/cmQtAutoGeneratorInitializer.cxx
index dd19760..38c7199 100644
index 825eba0..310936b 100644
--- a/Source/cmQtAutoGeneratorInitializer.cxx
+++ b/Source/cmQtAutoGeneratorInitializer.cxx
@@ -20,6 +20,7 @@
#include <sys/stat.h>
@@ -26,6 +26,7 @@
#include <cmConfigure.h>
#include <cmsys/FStream.hxx>
#include <cmsys/RegularExpression.hxx>
+#include <cmGeneratedFileStream.h>
#if defined(_WIN32) && !defined(__CYGWIN__)
#include "cmGlobalVisualStudioGenerator.h"
@@ -28,7 +29,7 @@
static std::string GetAutogenTargetName(cmGeneratorTarget const* target)
{
std::string autogenTargetName = target->GetName();
- autogenTargetName += "_automoc";
+ autogenTargetName += "_autogen";
return autogenTargetName;
}
@@ -164,6 +165,65 @@ static void SetupSourceFiles(cmGeneratorTarget const* target,
fileIt != newRccFiles.end(); ++fileIt) {
const_cast<cmGeneratorTarget*>(target)->AddSource(*fileIt);
#include <map>
#include <set>
#include <sstream>
@@ -160,6 +161,65 @@ static void SetupSourceFiles(cmGeneratorTarget const* target,
}
}
}
+
+ /* in qt5-static/lib/cmake/Qt5Core/Qt5CoreConfig.cmake,
@@ -121,9 +113,9 @@ index dd19760..38c7199 100644
}
static void GetCompileDefinitionsAndDirectories(
@@ -748,6 +808,12 @@ void cmQtAutoGeneratorInitializer::InitializeAutogenTarget(
if (target->GetPropertyAsBool("AUTORCC")) {
toolNames.push_back("rcc");
@@ -745,6 +805,12 @@ void cmQtAutoGeneratorInitializer::InitializeAutogenTarget(
}
autogenComment = "Automatic " + tools + " for target " + target->GetName();
}
+ /* AUTOSTATICPLUGINS .cpp files are created at cmake execution time,
+ * and not at build time, so in that case it is possible to get here
@@ -132,42 +124,43 @@ index dd19760..38c7199 100644
+ return;
+ }
std::string tools = toolNames[0];
toolNames.erase(toolNames.begin());
@@ -920,9 +986,11 @@ void cmQtAutoGeneratorInitializer::SetupAutoGenerateTarget(
#if defined(_WIN32) && !defined(__CYGWIN__)
bool usePRE_BUILD = false;
@@ -894,7 +960,9 @@ void cmQtAutoGeneratorInitializer::SetupAutoGenerateTarget(
if (target->GetPropertyAsBool("AUTOMOC") ||
target->GetPropertyAsBool("AUTOUIC") ||
- target->GetPropertyAsBool("AUTORCC")) {
+ target->GetPropertyAsBool("AUTORCC") ||
+ ( target->GetPropertyAsBool("AUTOSTATICPLUGINS")
+ && target->GetType() == cmState::EXECUTABLE))
SetupSourceFiles(target, skipMoc, mocSources, mocHeaders, skipUic);
- }
+
+ && target->GetType() == cmState::EXECUTABLE)) {
SetupSourceFiles(target, mocUicSources, mocUicHeaders, skipMoc, skipUic);
}
makefile->AddDefinition(
"_cpp_files",
cmOutputConverter::EscapeForCMake(cmJoin(mocSources, ";")).c_str());
diff --git a/Source/cmTarget.cxx b/Source/cmTarget.cxx
index 5e0d2b7..bea321d 100644
index d825e5c..335f0a2 100644
--- a/Source/cmTarget.cxx
+++ b/Source/cmTarget.cxx
@@ -127,6 +127,7 @@ void cmTarget::SetMakefile(cmMakefile* mf)
this->SetPropertyDefault("AUTOMOC", 0);
this->SetPropertyDefault("AUTOUIC", 0);
this->SetPropertyDefault("AUTORCC", 0);
+ this->SetPropertyDefault("AUTOSTATICPLUGINS", 0);
this->SetPropertyDefault("AUTOMOC_MOC_OPTIONS", 0);
this->SetPropertyDefault("AUTOUIC_OPTIONS", 0);
this->SetPropertyDefault("AUTORCC_OPTIONS", 0);
@@ -741,6 +742,7 @@ static bool whiteListedInterfaceProperty(const std::string& prop)
@@ -245,6 +245,7 @@ cmTarget::cmTarget(std::string const& name, cmStateEnums::TargetType type,
this->SetPropertyDefault("AUTOMOC", CM_NULLPTR);
this->SetPropertyDefault("AUTOUIC", CM_NULLPTR);
this->SetPropertyDefault("AUTORCC", CM_NULLPTR);
+ this->SetPropertyDefault("AUTOSTATICPLUGINS", CM_NULLPTR);
this->SetPropertyDefault("AUTOMOC_MOC_OPTIONS", CM_NULLPTR);
this->SetPropertyDefault("AUTOUIC_OPTIONS", CM_NULLPTR);
this->SetPropertyDefault("AUTORCC_OPTIONS", CM_NULLPTR);
diff --git a/Source/cmTargetPropertyComputer.cxx b/Source/cmTargetPropertyComputer.cxx
index a57bc5a..b12bd2d 100644
--- a/Source/cmTargetPropertyComputer.cxx
+++ b/Source/cmTargetPropertyComputer.cxx
@@ -58,6 +58,7 @@ bool cmTargetPropertyComputer::WhiteListedInterfaceProperty(
builtIns.insert("EXPORT_NAME");
builtIns.insert("IMPORTED");
builtIns.insert("NAME");
builtIns.insert("TYPE");
+ builtIns.insert("STATIC_PLUGINS");
builtIns.insert("TYPE");
}
if (builtIns.count(prop)) {
--
2.8.2
2.10.2

View File

@@ -1,7 +1,7 @@
From db8acc01f8c84301a983ab1c407b6de2df137f9b Mon Sep 17 00:00:00 2001
From c67091e44c7f4925c9ba65ce79d23ae82c82466f Mon Sep 17 00:00:00 2001
From: Ray Donnelly <mingw.android@gmail.com>
Date: Mon, 3 Aug 2015 22:00:17 +0100
Subject: [PATCH 3/3] Output line numbers in callstacks
Subject: [PATCH 5/5] Output line numbers in callstacks
Now just a marker for where to add the new code.
---
@@ -9,11 +9,11 @@ Now just a marker for where to add the new code.
1 file changed, 3 insertions(+)
diff --git a/Source/cmMakefile.cxx b/Source/cmMakefile.cxx
index e684689..cee9a24 100644
index bfe46ae..af7225f 100644
--- a/Source/cmMakefile.cxx
+++ b/Source/cmMakefile.cxx
@@ -3531,6 +3531,9 @@ std::string cmMakefile::FormatListFileStack() const
cmState::Snapshot snp = this->StateSnapshot;
@@ -3636,6 +3636,9 @@ std::string cmMakefile::FormatListFileStack() const
cmStateSnapshot snp = this->StateSnapshot;
while (snp.IsValid()) {
listFiles.push_back(snp.GetExecutionListFile());
+// GetEntryPointLine() has been removed, replaced with something a lot more complicated,
@@ -23,5 +23,5 @@ index e684689..cee9a24 100644
}
std::reverse(listFiles.begin(), listFiles.end());
--
2.8.2
2.10.2

View File

@@ -4,7 +4,7 @@
_realname=cmake
pkgbase=mingw-w64-${_realname}-git
pkgname="${MINGW_PACKAGE_PREFIX}-${_realname}-git"
pkgver=r31739.21094eb
pkgver=r34460.9cc1799
pkgrel=1
pkgdesc="A cross-platform open-source make system (mingw-w64)"
arch=('any')
@@ -22,16 +22,21 @@ depends=("${MINGW_PACKAGE_PREFIX}-winpthreads"
"${MINGW_PACKAGE_PREFIX}-libarchive"
"${MINGW_PACKAGE_PREFIX}-ncurses"
"${MINGW_PACKAGE_PREFIX}-pkg-config"
"${MINGW_PACKAGE_PREFIX}-zlib")
"${MINGW_PACKAGE_PREFIX}-zlib"
"${MINGW_PACKAGE_PREFIX}-libuv")
options=('staticlibs' '!strip' 'debug')
source=("${_realname}"::"git+https://cmake.org/cmake.git"
'0001-Disable-response-files-for-MSYS-Generator.patch'
'0002-Implement-Qt5-static-plugin-support.patch'
'0003-Output-line-numbers-in-callstacks.patch')
'0001-Windows-Add-missing-stringapiset.h-include.patch'
'0002-bootstrap-Set-DEFAULT_CODEPAGE-in-cmake_cxx_flags_En.patch'
'0003-Disable-response-files-for-MSYS-Generator.patch'
'0004-Implement-Qt5-static-plugin-support.patch'
'0005-Output-line-numbers-in-callstacks.patch')
sha256sums=('SKIP'
'ce17e87849e6d07cf69422bb39c0682640ed3a03ea07808395c235a84e22be97'
'ff0e8311ced5d2c60621ed3290ee27a771db0bed1208b8eafbb9ac6479fd30f7'
'6bab5996412f2ac113c225b26f359df0b5239519baf70e8b0ef725543416ecea')
'4b86678769c1efe718b4e298edf3fc7f7d6f11875d7fca2ebe174feed6145e8c'
'0ca1ef6b5c4e4d73938625a784bd023ea13491ae8d0f14f9e7c6a281a10157db'
'70a21558fad9e807ae37f621b6ed29a5991d2b8fcbcbb687ea6f74d3f2980630'
'537aa39b5888f976ecceab9716612cac4a87de68ab7882e2f18e8521700d7672'
'a50a7d6517e54c3111710a67e8bfbcb38f87d1a3278ea713cb115d1879039a67')
pkgver() {
cd "$srcdir/$_realname"
@@ -40,9 +45,11 @@ pkgver() {
prepare() {
cd ${_realname}
gitam_mkpkg "${srcdir}"/0001-Disable-response-files-for-MSYS-Generator.patch
gitam_mkpkg "${srcdir}"/0002-Implement-Qt5-static-plugin-support.patch
gitam_mkpkg "${srcdir}"/0003-Output-line-numbers-in-callstacks.patch
gitam_mkpkg "${srcdir}"/0001-Windows-Add-missing-stringapiset.h-include.patch
gitam_mkpkg "${srcdir}"/0002-bootstrap-Set-DEFAULT_CODEPAGE-in-cmake_cxx_flags_En.patch
gitam_mkpkg "${srcdir}"/0003-Disable-response-files-for-MSYS-Generator.patch
gitam_mkpkg "${srcdir}"/0004-Implement-Qt5-static-plugin-support.patch
gitam_mkpkg "${srcdir}"/0005-Output-line-numbers-in-callstacks.patch
}
build() {
@@ -56,6 +63,7 @@ build() {
--prefix=${MINGW_PREFIX} \
--system-libs \
--no-system-expat \
--no-system-librhash \
--qt-qmake=$(cygpath -m ${MINGW_PREFIX})/qt5-static/bin/qmake.exe \
--no-qt-gui \
--parallel=${NUMBER_OF_PROCESSORS} \