pull in latest upstream fixes

This commit is contained in:
Rex Dieter 2015-09-01 10:59:33 -05:00
parent 324c87699c
commit 29094f2415
34 changed files with 1742 additions and 5 deletions

View File

@ -0,0 +1,29 @@
From 1948ee845726be15861f9f84a745b30ecb18051c Mon Sep 17 00:00:00 2001
From: Matthias Kretz <kretz@kde.org>
Date: Fri, 6 Feb 2009 08:26:43 +0000
Subject: [PATCH 01/33] fix make clean: it's SET_directory_properties and not
ADD_directory_properties.
svn path=/trunk/kdesupport/automoc/; revision=922011
---
Automoc4Config.cmake | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/Automoc4Config.cmake b/Automoc4Config.cmake
index e79cf8c..5fcab74 100644
--- a/Automoc4Config.cmake
+++ b/Automoc4Config.cmake
@@ -198,7 +198,9 @@ macro(_ADD_AUTOMOC4_TARGET _target_NAME _SRCS)
endif(_AUTOMOC4_EXECUTABLE_DEP)
set_source_files_properties(${_automoc_source} PROPERTIES GENERATED TRUE)
- set_directory_properties(PROPERTIES ADDITIONAL_MAKE_CLEAN_FILES ${_automoc_source})
+ get_directory_property(_extra_clean_files ADDITIONAL_MAKE_CLEAN_FILES)
+ list(APPEND _extra_clean_files "${_automoc_source}")
+ set_directory_properties(PROPERTIES ADDITIONAL_MAKE_CLEAN_FILES "${_extra_clean_files}")
set(${_SRCS} ${_automoc_source} ${${_SRCS}})
endif(_moc_files)
endmacro(_ADD_AUTOMOC4_TARGET)
--
2.4.3

View File

@ -0,0 +1,61 @@
From afd4718e69ca380f15d1afcf8816c0c078f6eb68 Mon Sep 17 00:00:00 2001
From: Benjamin Reed <ranger@befunk.com>
Date: Tue, 3 Mar 2009 15:42:18 +0000
Subject: [PATCH 02/33] automoc did not understand .mm files (objc++)
svn path=/trunk/kdesupport/automoc/; revision=934696
---
Automoc4Config.cmake | 8 ++++----
kde4automoc.cpp | 2 +-
2 files changed, 5 insertions(+), 5 deletions(-)
diff --git a/Automoc4Config.cmake b/Automoc4Config.cmake
index 5fcab74..12e00f7 100644
--- a/Automoc4Config.cmake
+++ b/Automoc4Config.cmake
@@ -105,9 +105,9 @@ macro(AUTOMOC4 _target_NAME _SRCS)
if(NOT _generated AND NOT _skip)
get_filename_component(_suffix "${_current_FILE}" EXT)
# skip every source file that's not C++
- if(_suffix STREQUAL ".cpp" OR _suffix STREQUAL ".cc" OR _suffix STREQUAL ".cxx" OR _suffix STREQUAL ".C")
+ if(_suffix STREQUAL ".cpp" OR _suffix STREQUAL ".cc" OR _suffix STREQUAL ".cxx" OR _suffix STREQUAL ".C" OR _suffix STREQUAL ".mm")
list(APPEND _moc_files ${_abs_current_FILE})
- endif(_suffix STREQUAL ".cpp" OR _suffix STREQUAL ".cc" OR _suffix STREQUAL ".cxx" OR _suffix STREQUAL ".C")
+ endif(_suffix STREQUAL ".cpp" OR _suffix STREQUAL ".cc" OR _suffix STREQUAL ".cxx" OR _suffix STREQUAL ".C" OR _suffix STREQUAL ".mm")
endif(NOT _generated AND NOT _skip)
endforeach (_current_FILE)
@@ -156,7 +156,7 @@ macro(_ADD_AUTOMOC4_TARGET _target_NAME _SRCS)
if(NOT _generated AND NOT _skip)
get_filename_component(_suffix "${_current_FILE}" EXT)
# skip every source file that's not C++
- if(_suffix STREQUAL ".cpp" OR _suffix STREQUAL ".cc" OR _suffix STREQUAL ".cxx" OR _suffix STREQUAL ".C")
+ if(_suffix STREQUAL ".cpp" OR _suffix STREQUAL ".cc" OR _suffix STREQUAL ".cxx" OR _suffix STREQUAL ".C" OR _suffix STREQUAL ".mm")
get_filename_component(_basename "${_current_FILE}" NAME_WE)
get_filename_component(_abs_path "${_abs_current_FILE}" PATH)
set(_header "${_abs_path}/${_basename}.h")
@@ -168,7 +168,7 @@ macro(_ADD_AUTOMOC4_TARGET _target_NAME _SRCS)
list(APPEND _moc_headers ${_pheader})
endif(EXISTS "${_pheader}")
list(APPEND _moc_files ${_abs_current_FILE})
- endif(_suffix STREQUAL ".cpp" OR _suffix STREQUAL ".cc" OR _suffix STREQUAL ".cxx" OR _suffix STREQUAL ".C")
+ endif(_suffix STREQUAL ".cpp" OR _suffix STREQUAL ".cc" OR _suffix STREQUAL ".cxx" OR _suffix STREQUAL ".C" OR _suffix STREQUAL ".mm")
endif(NOT _generated AND NOT _skip)
endforeach (_current_FILE)
diff --git a/kde4automoc.cpp b/kde4automoc.cpp
index ae2cff4..7636601 100644
--- a/kde4automoc.cpp
+++ b/kde4automoc.cpp
@@ -326,7 +326,7 @@ bool AutoMoc::run()
foreach (const QString &absFilename, sourceFiles) {
//qDebug() << absFilename;
const QFileInfo sourceFileInfo(absFilename);
- if (absFilename.endsWith(".cpp") || absFilename.endsWith(".cc") ||
+ if (absFilename.endsWith(".cpp") || absFilename.endsWith(".cc") || absFilename.endsWith(".mm") ||
absFilename.endsWith(".cxx") || absFilename.endsWith(".C")) {
//qDebug() << "check .cpp file";
QFile sourceFile(absFilename);
--
2.4.3

View File

@ -0,0 +1,34 @@
From f6628033865fe0a38271c4b720f1b2d29f3fd974 Mon Sep 17 00:00:00 2001
From: Alexander Neundorf <neundorf@kde.org>
Date: Wed, 11 Mar 2009 21:40:11 +0000
Subject: [PATCH 03/33] -support for Objective C (i.e. mm files) is enough to
increase at least the patch version number
Alex
CCMAIL: kretz@kde.org
Or should we go to 0.10.0 ?
svn path=/trunk/kdesupport/automoc/; revision=938448
---
Automoc4Version.cmake | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/Automoc4Version.cmake b/Automoc4Version.cmake
index 1e93ca7..7d93128 100644
--- a/Automoc4Version.cmake
+++ b/Automoc4Version.cmake
@@ -1,7 +1,7 @@
# set the current version number
set(AUTOMOC4_VERSION_MAJOR "0")
set(AUTOMOC4_VERSION_MINOR "9")
-set(AUTOMOC4_VERSION_PATCH "88")
+set(AUTOMOC4_VERSION_PATCH "89")
set(AUTOMOC4_VERSION "${AUTOMOC4_VERSION_MAJOR}.${AUTOMOC4_VERSION_MINOR}.${AUTOMOC4_VERSION_PATCH}")
--
2.4.3

View File

@ -0,0 +1,56 @@
From bc0981b6fa49aa1821f9d0e649887b82b513dcd4 Mon Sep 17 00:00:00 2001
From: Benjamin Reed <ranger@befunk.com>
Date: Mon, 30 Mar 2009 14:24:47 +0000
Subject: [PATCH 04/33] auto-detect case-insensitive filesystem on OSX
svn path=/trunk/kdesupport/automoc/; revision=946924
---
kde4automoc.cpp | 16 ++++++++++++++--
1 file changed, 14 insertions(+), 2 deletions(-)
diff --git a/kde4automoc.cpp b/kde4automoc.cpp
index 7636601..e85ec62 100644
--- a/kde4automoc.cpp
+++ b/kde4automoc.cpp
@@ -47,6 +47,10 @@
#include <utime.h>
#endif
+#if defined(Q_OS_DARWIN) || defined(Q_OS_MAC)
+#include <unistd.h>
+#endif
+
// currently this is only used for the version number, Alex
#include "automoc4_config.h"
@@ -182,7 +186,7 @@ void AutoMoc::lazyInit()
// on the Mac, add -F always, otherwise headers in the frameworks won't be found
// is it necessary to do this only optionally ? Alex
-#ifdef Q_OS_MAC
+#if defined(Q_OS_DARWIN) || defined(Q_OS_MAC)
mocIncludes << "-F/Library/Frameworks";
#endif
@@ -284,9 +288,17 @@ bool AutoMoc::run()
QRegExp mocIncludeRegExp(QLatin1String("[\n]\\s*#\\s*include\\s+[\"<]((?:[^ \">]+/)?moc_[^ \">/]+\\.cpp|[^ \">]+\\.moc)[\">]"));
QRegExp qObjectRegExp(QLatin1String("[\n]\\s*Q_OBJECT\\b"));
QStringList headerExtensions;
-#if defined(Q_OS_WIN) || defined(Q_OS_MAC)
+#if defined(Q_OS_WIN)
// not case sensitive
headerExtensions << ".h" << ".hpp" << ".hxx";
+#elif defined(Q_OS_DARWIN) || defined(Q_OS_MAC)
+ headerExtensions << ".h" << ".hpp" << ".hxx";
+
+ // detect case-sensitive filesystem
+ long caseSensitive = pathconf(srcdir.toLocal8Bit(), _PC_CASE_SENSITIVE);
+ if (caseSensitive == 1) {
+ headerExtensions << ".H";
+ }
#else
headerExtensions << ".h" << ".hpp" << ".hxx" << ".H";
#endif
--
2.4.3

View File

@ -0,0 +1,38 @@
From bbc84e264b9305feb3ef1993daca58a87af711de Mon Sep 17 00:00:00 2001
From: Alexander Neundorf <neundorf@kde.org>
Date: Sat, 18 Apr 2009 16:31:32 +0000
Subject: [PATCH 05/33] -add a ctest config file (see
http://my.cdash.org/index.php?project=automoc4 )
Alex
svn path=/trunk/kdesupport/automoc/; revision=955846
---
CTestConfig.cmake | 13 +++++++++++++
1 file changed, 13 insertions(+)
create mode 100644 CTestConfig.cmake
diff --git a/CTestConfig.cmake b/CTestConfig.cmake
new file mode 100644
index 0000000..92f9d2f
--- /dev/null
+++ b/CTestConfig.cmake
@@ -0,0 +1,13 @@
+## This file should be placed in the root directory of your project.
+## Then modify the CMakeLists.txt file in the root directory of your
+## project to incorporate the testing dashboard.
+## # The following are required to uses Dart and the Cdash dashboard
+## ENABLE_TESTING()
+## INCLUDE(Dart)
+set(CTEST_PROJECT_NAME "automoc4")
+set(CTEST_NIGHTLY_START_TIME "16:00:00 CET")
+
+set(CTEST_DROP_METHOD "http")
+set(CTEST_DROP_SITE "my.cdash.org")
+set(CTEST_DROP_LOCATION "/submit.php?project=automoc4")
+set(CTEST_DROP_SITE_CDASH TRUE)
--
2.4.3

View File

@ -0,0 +1,173 @@
From 1f56930d7aee139be24f38ee01fb681f05ea693a Mon Sep 17 00:00:00 2001
From: Alexander Neundorf <neundorf@kde.org>
Date: Sat, 18 Apr 2009 16:39:20 +0000
Subject: [PATCH 06/33] -support for nightly builds at
http://my.cdash.org/index.php?project=automoc4
Alex
svn path=/trunk/kdesupport/automoc/; revision=955848
---
AutomocNightly.cmake | 19 +++++++++++
CMakeLists.txt | 2 ++
KDECTestNightly.cmake | 91 +++++++++++++++++++++++++++++++++++++++++++++++++++
kde4automoc.cpp | 4 +++
4 files changed, 116 insertions(+)
create mode 100644 AutomocNightly.cmake
create mode 100644 KDECTestNightly.cmake
diff --git a/AutomocNightly.cmake b/AutomocNightly.cmake
new file mode 100644
index 0000000..236f263
--- /dev/null
+++ b/AutomocNightly.cmake
@@ -0,0 +1,19 @@
+set(CTEST_VCS svn)
+set(CTEST_VCS_REPOSITORY https://neundorf@svn.kde.org/home/kde/trunk/kdesupport/automoc)
+set(CTEST_CMAKE_GENERATOR "Unix Makefiles" )
+
+# set(CTEST_AVOID_SPACES FALSE)
+
+get_filename_component(_currentDir "${CMAKE_CURRENT_LIST_FILE}" PATH)
+
+# generic support code, sets up everything required:
+include( "${_currentDir}/KDECTestNightly.cmake" )
+
+ctest_empty_binary_directory("${CTEST_BINARY_DIRECTORY}")
+ctest_start(Nightly)
+ctest_update(SOURCE "${CTEST_SOURCE_DIRECTORY}" )
+ctest_configure(BUILD "${CTEST_BINARY_DIRECTORY}" )
+ctest_build(BUILD "${CTEST_BINARY_DIRECTORY}" )
+ctest_test(BUILD "${CTEST_BINARY_DIRECTORY}" )
+ctest_submit()
+
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 22447c9..16bfc92 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -2,6 +2,8 @@ project(Automoc4)
cmake_minimum_required(VERSION 2.4.5 FATAL_ERROR)
+include(CTest)
+
find_package(Qt4 REQUIRED)
if (CMAKE_COMPILER_IS_GNUCXX OR CMAKE_C_COMPILER MATCHES "icc")
diff --git a/KDECTestNightly.cmake b/KDECTestNightly.cmake
new file mode 100644
index 0000000..2db53d9
--- /dev/null
+++ b/KDECTestNightly.cmake
@@ -0,0 +1,91 @@
+# The following variables are set by the script if they haven't been set before:
+#
+# CTEST_SOURCE_DIRECTORY - defaults to $HOME/Dashboards/<CTEST_PROJECT_NAME>/src dir/
+# CTEST_BINARY_DIRECTORY - defaults to $HOME/Dashboards/<CTEST_PROJECT_NAME>/build dir/
+# if CTEST_AVOID_SPACES is TRUE, the spaces in the path above will be removed.
+
+
+###########################################################
+# generic code
+###########################################################
+
+cmake_minimum_required(VERSION 2.6)
+
+include(CMakeDetermineSystem)
+if(CMAKE_HOST_UNIX)
+ include(Platform/UnixPaths)
+endif(CMAKE_HOST_UNIX)
+
+if(CMAKE_HOST_WIN32)
+ include(Platform/WindowsPaths)
+endif(CMAKE_HOST_WIN32)
+
+get_filename_component(currentDirectory "${CMAKE_CURRENT_LIST_FILE}" PATH)
+
+if(NOT EXISTS "${currentDirectory}/CMakeLists.txt")
+ message(FATAL_ERROR "This script must be in the source tree of your project.")
+endif(NOT EXISTS "${currentDirectory}/CMakeLists.txt")
+
+include("${currentDirectory}/CTestConfig.cmake")
+include("${currentDirectory}/CTestCustom.cmake" OPTIONAL)
+
+set(DASHBOARD_DIR "$ENV{HOME}/Dashboards" )
+
+if(NOT DEFINED CTEST_SOURCE_DIRECTORY)
+ if(CTEST_AVOID_SPACES)
+ set(CTEST_SOURCE_DIRECTORY "${DASHBOARD_DIR}/${CTEST_PROJECT_NAME}/srcdir" )
+ else(CTEST_AVOID_SPACES)
+ set(CTEST_SOURCE_DIRECTORY "${DASHBOARD_DIR}/${CTEST_PROJECT_NAME}/src dir" )
+ endif(CTEST_AVOID_SPACES)
+endif(NOT DEFINED CTEST_SOURCE_DIRECTORY)
+
+if(NOT DEFINED CTEST_BINARY_DIRECTORY)
+ if(CTEST_AVOID_SPACES)
+ set(CTEST_BINARY_DIRECTORY "${DASHBOARD_DIR}/${CTEST_PROJECT_NAME}/builddir" )
+ else(CTEST_AVOID_SPACES)
+ set(CTEST_BINARY_DIRECTORY "${DASHBOARD_DIR}/${CTEST_PROJECT_NAME}/build dir" )
+ endif(CTEST_AVOID_SPACES)
+endif(NOT DEFINED CTEST_BINARY_DIRECTORY)
+
+
+
+site_name(CTEST_SITE)
+set(CTEST_BUILD_NAME ${CMAKE_SYSTEM_NAME})
+
+if("${CTEST_CMAKE_GENERATOR}" MATCHES Makefile)
+ find_program(MAKE_EXECUTABLE make gmake)
+ set(CTEST_BUILD_COMMAND "${MAKE_EXECUTABLE}" )
+else("${CTEST_CMAKE_GENERATOR}" MATCHES Makefile)
+ if(NOT DEFINED CTEST_BUILD_COMMAND)
+ message(FATAL_ERROR "CTEST_CMAKE_GENERATOR is set to \"${CTEST_CMAKE_GENERATOR}\", but CTEST_BUILD_COMMAND has not been set")
+ endif(NOT DEFINED CTEST_BUILD_COMMAND)
+endif("${CTEST_CMAKE_GENERATOR}" MATCHES Makefile)
+
+string(TOLOWER ${CTEST_VCS} _ctest_vcs)
+set(_have_vcs FALSE)
+# only set this if there is no checkout yet
+set(CTEST_CHECKOUT_COMMAND)
+
+if ("${_ctest_vcs}" STREQUAL svn)
+ find_program(SVN_EXECUTABLE svn)
+ if (NOT SVN_EXECUTABLE)
+ message(FATAL_ERROR "Error: CTEST_VCS is svn, but could not find svn executable")
+ endif (NOT SVN_EXECUTABLE)
+ set(CTEST_UPDATE_COMMAND ${SVN_EXECUTABLE})
+ if(NOT EXISTS "${CTEST_SOURCE_DIRECTORY}/.svn/entries")
+ set(CTEST_CHECKOUT_COMMAND "${SVN_EXECUTABLE} co ${CTEST_VCS_REPOSITORY}/${CTEST_VCS_PATH} \"${CTEST_SOURCE_DIRECTORY}\"")
+ endif(NOT EXISTS "${CTEST_SOURCE_DIRECTORY}/.svn/entries")
+ set(_have_vcs TRUE)
+endif ("${_ctest_vcs}" STREQUAL svn)
+
+if ("${_ctest_vcs}" STREQUAL cvs)
+ find_program(CVS_EXECUTABLE cvs cvsnt)
+ if (NOT CVS_EXECUTABLE)
+ message(FATAL_ERROR "Error: CTEST_VCS is cvs, but could not find cvs or cvsnt executable")
+ endif (NOT CVS_EXECUTABLE)
+ set(CTEST_UPDATE_COMMAND ${CVS_EXECUTABLE})
+ if(NOT EXISTS "${CTEST_SOURCE_DIRECTORY}/CVS/Entries")
+ set(CTEST_CHECKOUT_COMMAND "${CVS_EXECUTABLE} -d ${CTEST_VCS_REPOSITORY} co -d \"${CTEST_SOURCE_DIRECTORY}\" ${CTEST_VCS_PATH}")
+ endif(NOT EXISTS "${CTEST_SOURCE_DIRECTORY}/CVS/Entries")
+ set(_have_vcs TRUE)
+endif ("${_ctest_vcs}" STREQUAL cvs)
diff --git a/kde4automoc.cpp b/kde4automoc.cpp
index e85ec62..34b2c74 100644
--- a/kde4automoc.cpp
+++ b/kde4automoc.cpp
@@ -23,6 +23,10 @@
THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
+// warnings just for testing cdash, will remove soon again, Alex
+#warning "this is a test"
+#warning "kdecore/network/k2socket.h blub blub test"
+
#include <QtCore/QCoreApplication>
#include <QtCore/QDateTime>
#include <QtCore/QDir>
--
2.4.3

View File

@ -0,0 +1,71 @@
From 9e467130a4d51715e4e2a6ceb43642f5860fb47f Mon Sep 17 00:00:00 2001
From: Alexander Neundorf <neundorf@kde.org>
Date: Sat, 18 Apr 2009 16:42:13 +0000
Subject: [PATCH 07/33] -rename AutomocNightly.cmake to Automoc4Nightly, to
match the other files
Alex
svn path=/trunk/kdesupport/automoc/; revision=955851
---
Automoc4Nightly.cmake | 19 +++++++++++++++++++
AutomocNightly.cmake | 19 -------------------
2 files changed, 19 insertions(+), 19 deletions(-)
create mode 100644 Automoc4Nightly.cmake
delete mode 100644 AutomocNightly.cmake
diff --git a/Automoc4Nightly.cmake b/Automoc4Nightly.cmake
new file mode 100644
index 0000000..236f263
--- /dev/null
+++ b/Automoc4Nightly.cmake
@@ -0,0 +1,19 @@
+set(CTEST_VCS svn)
+set(CTEST_VCS_REPOSITORY https://neundorf@svn.kde.org/home/kde/trunk/kdesupport/automoc)
+set(CTEST_CMAKE_GENERATOR "Unix Makefiles" )
+
+# set(CTEST_AVOID_SPACES FALSE)
+
+get_filename_component(_currentDir "${CMAKE_CURRENT_LIST_FILE}" PATH)
+
+# generic support code, sets up everything required:
+include( "${_currentDir}/KDECTestNightly.cmake" )
+
+ctest_empty_binary_directory("${CTEST_BINARY_DIRECTORY}")
+ctest_start(Nightly)
+ctest_update(SOURCE "${CTEST_SOURCE_DIRECTORY}" )
+ctest_configure(BUILD "${CTEST_BINARY_DIRECTORY}" )
+ctest_build(BUILD "${CTEST_BINARY_DIRECTORY}" )
+ctest_test(BUILD "${CTEST_BINARY_DIRECTORY}" )
+ctest_submit()
+
diff --git a/AutomocNightly.cmake b/AutomocNightly.cmake
deleted file mode 100644
index 236f263..0000000
--- a/AutomocNightly.cmake
+++ /dev/null
@@ -1,19 +0,0 @@
-set(CTEST_VCS svn)
-set(CTEST_VCS_REPOSITORY https://neundorf@svn.kde.org/home/kde/trunk/kdesupport/automoc)
-set(CTEST_CMAKE_GENERATOR "Unix Makefiles" )
-
-# set(CTEST_AVOID_SPACES FALSE)
-
-get_filename_component(_currentDir "${CMAKE_CURRENT_LIST_FILE}" PATH)
-
-# generic support code, sets up everything required:
-include( "${_currentDir}/KDECTestNightly.cmake" )
-
-ctest_empty_binary_directory("${CTEST_BINARY_DIRECTORY}")
-ctest_start(Nightly)
-ctest_update(SOURCE "${CTEST_SOURCE_DIRECTORY}" )
-ctest_configure(BUILD "${CTEST_BINARY_DIRECTORY}" )
-ctest_build(BUILD "${CTEST_BINARY_DIRECTORY}" )
-ctest_test(BUILD "${CTEST_BINARY_DIRECTORY}" )
-ctest_submit()
-
--
2.4.3

View File

@ -0,0 +1,30 @@
From b2910b1de438b29a4538d931bc613dac3316ed46 Mon Sep 17 00:00:00 2001
From: Alexander Neundorf <neundorf@kde.org>
Date: Sat, 18 Apr 2009 17:06:43 +0000
Subject: [PATCH 08/33] -chaneg nightly time
Alex
svn path=/trunk/kdesupport/automoc/; revision=955858
---
CTestConfig.cmake | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/CTestConfig.cmake b/CTestConfig.cmake
index 92f9d2f..fb50721 100644
--- a/CTestConfig.cmake
+++ b/CTestConfig.cmake
@@ -5,7 +5,7 @@
## ENABLE_TESTING()
## INCLUDE(Dart)
set(CTEST_PROJECT_NAME "automoc4")
-set(CTEST_NIGHTLY_START_TIME "16:00:00 CET")
+set(CTEST_NIGHTLY_START_TIME "19:10:00 CET")
set(CTEST_DROP_METHOD "http")
set(CTEST_DROP_SITE "my.cdash.org")
--
2.4.3

View File

@ -0,0 +1,44 @@
From fdb9e24c5eb48d662dae58b6728fc36f2ffb90dc Mon Sep 17 00:00:00 2001
From: Alexander Neundorf <neundorf@kde.org>
Date: Sat, 18 Apr 2009 19:08:56 +0000
Subject: [PATCH 09/33] -remove the warnings again
Alex
svn path=/trunk/kdesupport/automoc/; revision=955898
---
Automoc4Nightly.cmake | 2 +-
kde4automoc.cpp | 4 ----
2 files changed, 1 insertion(+), 5 deletions(-)
diff --git a/Automoc4Nightly.cmake b/Automoc4Nightly.cmake
index 236f263..6b63d15 100644
--- a/Automoc4Nightly.cmake
+++ b/Automoc4Nightly.cmake
@@ -1,5 +1,5 @@
set(CTEST_VCS svn)
-set(CTEST_VCS_REPOSITORY https://neundorf@svn.kde.org/home/kde/trunk/kdesupport/automoc)
+set(CTEST_VCS_REPOSITORY https://svn.kde.org/home/kde/trunk/kdesupport/automoc)
set(CTEST_CMAKE_GENERATOR "Unix Makefiles" )
# set(CTEST_AVOID_SPACES FALSE)
diff --git a/kde4automoc.cpp b/kde4automoc.cpp
index 34b2c74..e85ec62 100644
--- a/kde4automoc.cpp
+++ b/kde4automoc.cpp
@@ -23,10 +23,6 @@
THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
-// warnings just for testing cdash, will remove soon again, Alex
-#warning "this is a test"
-#warning "kdecore/network/k2socket.h blub blub test"
-
#include <QtCore/QCoreApplication>
#include <QtCore/QDateTime>
#include <QtCore/QDir>
--
2.4.3

View File

@ -0,0 +1,74 @@
From 6e2c63a4f5da60a05de86d15605622a78609417d Mon Sep 17 00:00:00 2001
From: Alexander Neundorf <neundorf@kde.org>
Date: Tue, 21 Apr 2009 21:04:26 +0000
Subject: [PATCH 10/33] -add some comments
Alex
svn path=/trunk/kdesupport/automoc/; revision=957350
---
KDECTestNightly.cmake | 33 +++++++++++++++++++++------------
1 file changed, 21 insertions(+), 12 deletions(-)
diff --git a/KDECTestNightly.cmake b/KDECTestNightly.cmake
index 2db53d9..f28c0b0 100644
--- a/KDECTestNightly.cmake
+++ b/KDECTestNightly.cmake
@@ -3,6 +3,7 @@
# CTEST_SOURCE_DIRECTORY - defaults to $HOME/Dashboards/<CTEST_PROJECT_NAME>/src dir/
# CTEST_BINARY_DIRECTORY - defaults to $HOME/Dashboards/<CTEST_PROJECT_NAME>/build dir/
# if CTEST_AVOID_SPACES is TRUE, the spaces in the path above will be removed.
+# CTEST_BUILD_NAME - the name of the build as displayed by cdash
###########################################################
@@ -29,6 +30,25 @@ endif(NOT EXISTS "${currentDirectory}/CMakeLists.txt")
include("${currentDirectory}/CTestConfig.cmake")
include("${currentDirectory}/CTestCustom.cmake" OPTIONAL)
+
+site_name(CTEST_SITE)
+
+if(NOT CTEST_BUILD_NAME)
+ set(CTEST_BUILD_NAME ${CMAKE_SYSTEM_NAME})
+endif(NOT CTEST_BUILD_NAME)
+
+
+if("${CTEST_CMAKE_GENERATOR}" MATCHES Makefile)
+ find_program(MAKE_EXECUTABLE make gmake)
+ set(CTEST_BUILD_COMMAND "${MAKE_EXECUTABLE}" )
+else("${CTEST_CMAKE_GENERATOR}" MATCHES Makefile)
+ if(NOT DEFINED CTEST_BUILD_COMMAND)
+ message(FATAL_ERROR "CTEST_CMAKE_GENERATOR is set to \"${CTEST_CMAKE_GENERATOR}\", but CTEST_BUILD_COMMAND has not been set")
+ endif(NOT DEFINED CTEST_BUILD_COMMAND)
+endif("${CTEST_CMAKE_GENERATOR}" MATCHES Makefile)
+
+
+############# set up CTEST_SOURCE_DIRECTORY and CTEST_BINARY_DIRECTORY #############
set(DASHBOARD_DIR "$ENV{HOME}/Dashboards" )
if(NOT DEFINED CTEST_SOURCE_DIRECTORY)
@@ -48,18 +68,7 @@ if(NOT DEFINED CTEST_BINARY_DIRECTORY)
endif(NOT DEFINED CTEST_BINARY_DIRECTORY)
-
-site_name(CTEST_SITE)
-set(CTEST_BUILD_NAME ${CMAKE_SYSTEM_NAME})
-
-if("${CTEST_CMAKE_GENERATOR}" MATCHES Makefile)
- find_program(MAKE_EXECUTABLE make gmake)
- set(CTEST_BUILD_COMMAND "${MAKE_EXECUTABLE}" )
-else("${CTEST_CMAKE_GENERATOR}" MATCHES Makefile)
- if(NOT DEFINED CTEST_BUILD_COMMAND)
- message(FATAL_ERROR "CTEST_CMAKE_GENERATOR is set to \"${CTEST_CMAKE_GENERATOR}\", but CTEST_BUILD_COMMAND has not been set")
- endif(NOT DEFINED CTEST_BUILD_COMMAND)
-endif("${CTEST_CMAKE_GENERATOR}" MATCHES Makefile)
+############### set up VCS support ###################
string(TOLOWER ${CTEST_VCS} _ctest_vcs)
set(_have_vcs FALSE)
--
2.4.3

View File

@ -0,0 +1,164 @@
From 6abca8eb52509b218d41c4d00fe56c74ca3331d6 Mon Sep 17 00:00:00 2001
From: Alexander Neundorf <neundorf@kde.org>
Date: Fri, 8 May 2009 20:33:00 +0000
Subject: [PATCH 11/33] -adapt this to the new enhanced KDECTestNightly.cmake
script (need current kdesdk for running Nightly builds)
Alex
svn path=/trunk/kdesupport/automoc/; revision=965402
---
Automoc4Nightly.cmake | 21 ++++++++---
KDECTestNightly.cmake | 100 --------------------------------------------------
2 files changed, 16 insertions(+), 105 deletions(-)
delete mode 100644 KDECTestNightly.cmake
diff --git a/Automoc4Nightly.cmake b/Automoc4Nightly.cmake
index 6b63d15..8504f98 100644
--- a/Automoc4Nightly.cmake
+++ b/Automoc4Nightly.cmake
@@ -1,17 +1,28 @@
-set(CTEST_VCS svn)
-set(CTEST_VCS_REPOSITORY https://svn.kde.org/home/kde/trunk/kdesupport/automoc)
+set(KDE_CTEST_VCS svn)
+set(KDE_CTEST_VCS_REPOSITORY https://svn.kde.org/home/kde/trunk/kdesupport/automoc)
set(CTEST_CMAKE_GENERATOR "Unix Makefiles" )
# set(CTEST_AVOID_SPACES FALSE)
-get_filename_component(_currentDir "${CMAKE_CURRENT_LIST_FILE}" PATH)
+# generic support code, provides the kde_ctest_setup() macro, which sets up everything required:
+file(TO_CMAKE_PATH $ENV{KDECTESTNIGHTLY_DIR} KDECTESTNIGHTLY_DIR)
+include( "${KDECTESTNIGHTLY_DIR}/KDECTestNightly.cmake" OPTIONAL RESULT_VARIABLE fileIncluded)
-# generic support code, sets up everything required:
-include( "${_currentDir}/KDECTestNightly.cmake" )
+if(NOT fileIncluded)
+ message(FATAL_ERROR "Did not find file ${KDECTESTNIGHTLY_DIR}/KDECTestNightly.cmake .
+Set the environment variable KDECTESTNIGHTLY_DIR to the directory where this file is located.
+In KDE svn it is in kdesdk/cmake/modules/ ")
+endif(NOT fileIncluded)
+
+kde_ctest_setup("${CMAKE_CURRENT_LIST_FILE}")
ctest_empty_binary_directory("${CTEST_BINARY_DIRECTORY}")
ctest_start(Nightly)
ctest_update(SOURCE "${CTEST_SOURCE_DIRECTORY}" )
+
+include("${CTEST_SOURCE_DIRECTORY}/CTestConfig.cmake")
+include("${CTEST_SOURCE_DIRECTORY}/CTestCustom.cmake" OPTIONAL)
+
ctest_configure(BUILD "${CTEST_BINARY_DIRECTORY}" )
ctest_build(BUILD "${CTEST_BINARY_DIRECTORY}" )
ctest_test(BUILD "${CTEST_BINARY_DIRECTORY}" )
diff --git a/KDECTestNightly.cmake b/KDECTestNightly.cmake
deleted file mode 100644
index f28c0b0..0000000
--- a/KDECTestNightly.cmake
+++ /dev/null
@@ -1,100 +0,0 @@
-# The following variables are set by the script if they haven't been set before:
-#
-# CTEST_SOURCE_DIRECTORY - defaults to $HOME/Dashboards/<CTEST_PROJECT_NAME>/src dir/
-# CTEST_BINARY_DIRECTORY - defaults to $HOME/Dashboards/<CTEST_PROJECT_NAME>/build dir/
-# if CTEST_AVOID_SPACES is TRUE, the spaces in the path above will be removed.
-# CTEST_BUILD_NAME - the name of the build as displayed by cdash
-
-
-###########################################################
-# generic code
-###########################################################
-
-cmake_minimum_required(VERSION 2.6)
-
-include(CMakeDetermineSystem)
-if(CMAKE_HOST_UNIX)
- include(Platform/UnixPaths)
-endif(CMAKE_HOST_UNIX)
-
-if(CMAKE_HOST_WIN32)
- include(Platform/WindowsPaths)
-endif(CMAKE_HOST_WIN32)
-
-get_filename_component(currentDirectory "${CMAKE_CURRENT_LIST_FILE}" PATH)
-
-if(NOT EXISTS "${currentDirectory}/CMakeLists.txt")
- message(FATAL_ERROR "This script must be in the source tree of your project.")
-endif(NOT EXISTS "${currentDirectory}/CMakeLists.txt")
-
-include("${currentDirectory}/CTestConfig.cmake")
-include("${currentDirectory}/CTestCustom.cmake" OPTIONAL)
-
-
-site_name(CTEST_SITE)
-
-if(NOT CTEST_BUILD_NAME)
- set(CTEST_BUILD_NAME ${CMAKE_SYSTEM_NAME})
-endif(NOT CTEST_BUILD_NAME)
-
-
-if("${CTEST_CMAKE_GENERATOR}" MATCHES Makefile)
- find_program(MAKE_EXECUTABLE make gmake)
- set(CTEST_BUILD_COMMAND "${MAKE_EXECUTABLE}" )
-else("${CTEST_CMAKE_GENERATOR}" MATCHES Makefile)
- if(NOT DEFINED CTEST_BUILD_COMMAND)
- message(FATAL_ERROR "CTEST_CMAKE_GENERATOR is set to \"${CTEST_CMAKE_GENERATOR}\", but CTEST_BUILD_COMMAND has not been set")
- endif(NOT DEFINED CTEST_BUILD_COMMAND)
-endif("${CTEST_CMAKE_GENERATOR}" MATCHES Makefile)
-
-
-############# set up CTEST_SOURCE_DIRECTORY and CTEST_BINARY_DIRECTORY #############
-set(DASHBOARD_DIR "$ENV{HOME}/Dashboards" )
-
-if(NOT DEFINED CTEST_SOURCE_DIRECTORY)
- if(CTEST_AVOID_SPACES)
- set(CTEST_SOURCE_DIRECTORY "${DASHBOARD_DIR}/${CTEST_PROJECT_NAME}/srcdir" )
- else(CTEST_AVOID_SPACES)
- set(CTEST_SOURCE_DIRECTORY "${DASHBOARD_DIR}/${CTEST_PROJECT_NAME}/src dir" )
- endif(CTEST_AVOID_SPACES)
-endif(NOT DEFINED CTEST_SOURCE_DIRECTORY)
-
-if(NOT DEFINED CTEST_BINARY_DIRECTORY)
- if(CTEST_AVOID_SPACES)
- set(CTEST_BINARY_DIRECTORY "${DASHBOARD_DIR}/${CTEST_PROJECT_NAME}/builddir" )
- else(CTEST_AVOID_SPACES)
- set(CTEST_BINARY_DIRECTORY "${DASHBOARD_DIR}/${CTEST_PROJECT_NAME}/build dir" )
- endif(CTEST_AVOID_SPACES)
-endif(NOT DEFINED CTEST_BINARY_DIRECTORY)
-
-
-############### set up VCS support ###################
-
-string(TOLOWER ${CTEST_VCS} _ctest_vcs)
-set(_have_vcs FALSE)
-# only set this if there is no checkout yet
-set(CTEST_CHECKOUT_COMMAND)
-
-if ("${_ctest_vcs}" STREQUAL svn)
- find_program(SVN_EXECUTABLE svn)
- if (NOT SVN_EXECUTABLE)
- message(FATAL_ERROR "Error: CTEST_VCS is svn, but could not find svn executable")
- endif (NOT SVN_EXECUTABLE)
- set(CTEST_UPDATE_COMMAND ${SVN_EXECUTABLE})
- if(NOT EXISTS "${CTEST_SOURCE_DIRECTORY}/.svn/entries")
- set(CTEST_CHECKOUT_COMMAND "${SVN_EXECUTABLE} co ${CTEST_VCS_REPOSITORY}/${CTEST_VCS_PATH} \"${CTEST_SOURCE_DIRECTORY}\"")
- endif(NOT EXISTS "${CTEST_SOURCE_DIRECTORY}/.svn/entries")
- set(_have_vcs TRUE)
-endif ("${_ctest_vcs}" STREQUAL svn)
-
-if ("${_ctest_vcs}" STREQUAL cvs)
- find_program(CVS_EXECUTABLE cvs cvsnt)
- if (NOT CVS_EXECUTABLE)
- message(FATAL_ERROR "Error: CTEST_VCS is cvs, but could not find cvs or cvsnt executable")
- endif (NOT CVS_EXECUTABLE)
- set(CTEST_UPDATE_COMMAND ${CVS_EXECUTABLE})
- if(NOT EXISTS "${CTEST_SOURCE_DIRECTORY}/CVS/Entries")
- set(CTEST_CHECKOUT_COMMAND "${CVS_EXECUTABLE} -d ${CTEST_VCS_REPOSITORY} co -d \"${CTEST_SOURCE_DIRECTORY}\" ${CTEST_VCS_PATH}")
- endif(NOT EXISTS "${CTEST_SOURCE_DIRECTORY}/CVS/Entries")
- set(_have_vcs TRUE)
-endif ("${_ctest_vcs}" STREQUAL cvs)
--
2.4.3

View File

@ -0,0 +1,33 @@
From 301c01d7dd9028980d2febb5f743f70aaa048847 Mon Sep 17 00:00:00 2001
From: Alexander Neundorf <neundorf@kde.org>
Date: Fri, 8 May 2009 23:16:07 +0000
Subject: [PATCH 12/33] -support installing in the nightly build
Alex
svn path=/trunk/kdesupport/automoc/; revision=965459
---
Automoc4Nightly.cmake | 3 +++
1 file changed, 3 insertions(+)
diff --git a/Automoc4Nightly.cmake b/Automoc4Nightly.cmake
index 8504f98..a4cd5a8 100644
--- a/Automoc4Nightly.cmake
+++ b/Automoc4Nightly.cmake
@@ -23,8 +23,11 @@ ctest_update(SOURCE "${CTEST_SOURCE_DIRECTORY}" )
include("${CTEST_SOURCE_DIRECTORY}/CTestConfig.cmake")
include("${CTEST_SOURCE_DIRECTORY}/CTestCustom.cmake" OPTIONAL)
+kde_ctest_write_initial_cache("${CTEST_BINARY_DIRECTORY}" CMAKE_INSTALL_PREFIX )
+
ctest_configure(BUILD "${CTEST_BINARY_DIRECTORY}" )
ctest_build(BUILD "${CTEST_BINARY_DIRECTORY}" )
ctest_test(BUILD "${CTEST_BINARY_DIRECTORY}" )
ctest_submit()
+kde_ctest_install( "${CTEST_BINARY_DIRECTORY}" )
--
2.4.3

View File

@ -0,0 +1,74 @@
From 4a16ae0eb9b5f542877100364f92b77fa30c987e Mon Sep 17 00:00:00 2001
From: Alexander Neundorf <neundorf@kde.org>
Date: Sat, 9 May 2009 11:31:03 +0000
Subject: [PATCH 13/33] -add documentation -adapt to changes in
KDECTestNightly.cmake in kdesdk
Alex
svn path=/trunk/kdesupport/automoc/; revision=965571
---
Automoc4Nightly.cmake | 26 +++++++++++++++++++++++++-
1 file changed, 25 insertions(+), 1 deletion(-)
diff --git a/Automoc4Nightly.cmake b/Automoc4Nightly.cmake
index a4cd5a8..ad3aeb9 100644
--- a/Automoc4Nightly.cmake
+++ b/Automoc4Nightly.cmake
@@ -1,5 +1,21 @@
+# This is a script for running a Nightly build of automoc4.
+# It is ready for testing.
+# To adapt it for other projects, basically only the KDE_CTEST_VCS_REPOSITORY variable
+# has to be changed.
+#
+# It uses the file KDECTestNightly.cmake, which is in KDE svn in kdesdk/cmake/modules/.
+# You need to have this file on some location on your system and then point the environment variable
+# KDECTESTNIGHTLY_DIR to the directory containing this file when running this script.
+#
+# For more details have a look at kdelibs/KDELibsNightly.cmake in KDE svn
+#
+# Alex <neundorf AT kde.org>
+
+# The VCS of KDE is "svn", also specify the repository
set(KDE_CTEST_VCS svn)
set(KDE_CTEST_VCS_REPOSITORY https://svn.kde.org/home/kde/trunk/kdesupport/automoc)
+
+# for now hardcode the generator to "Unix Makefiles"
set(CTEST_CMAKE_GENERATOR "Unix Makefiles" )
# set(CTEST_AVOID_SPACES FALSE)
@@ -14,20 +30,28 @@ Set the environment variable KDECTESTNIGHTLY_DIR to the directory where this fi
In KDE svn it is in kdesdk/cmake/modules/ ")
endif(NOT fileIncluded)
+# set up binary dir, source dir, etc.
kde_ctest_setup("${CMAKE_CURRENT_LIST_FILE}")
ctest_empty_binary_directory("${CTEST_BINARY_DIRECTORY}")
ctest_start(Nightly)
ctest_update(SOURCE "${CTEST_SOURCE_DIRECTORY}" )
+# read some settings
include("${CTEST_SOURCE_DIRECTORY}/CTestConfig.cmake")
include("${CTEST_SOURCE_DIRECTORY}/CTestCustom.cmake" OPTIONAL)
+# if CMAKE_INSTALL_PREFIX was defined on the command line, put it in the initial cache, so cmake gets it
kde_ctest_write_initial_cache("${CTEST_BINARY_DIRECTORY}" CMAKE_INSTALL_PREFIX )
+# configure, build, test, submit
ctest_configure(BUILD "${CTEST_BINARY_DIRECTORY}" )
ctest_build(BUILD "${CTEST_BINARY_DIRECTORY}" )
ctest_test(BUILD "${CTEST_BINARY_DIRECTORY}" )
ctest_submit()
-kde_ctest_install( "${CTEST_BINARY_DIRECTORY}" )
+# optionally install afterwards, so additional nightly builds can use this current install
+# (e.g. kdepimlibs could use this kdelibs install)
+if(DO_INSTALL)
+ kde_ctest_install( "${CTEST_BINARY_DIRECTORY}" )
+endif(DO_INSTALL)
--
2.4.3

View File

@ -0,0 +1,66 @@
From 24441a94cf79b28c6a8d91ff0c9622f30a9487ae Mon Sep 17 00:00:00 2001
From: Benjamin Reed <ranger@befunk.com>
Date: Wed, 27 May 2009 19:54:45 +0000
Subject: [PATCH 14/33] first attempt at cpack-ing a KDE package -- works on
OSX
svn path=/trunk/kdesupport/automoc/; revision=973773
---
CMakeLists.txt | 14 ++++++++++++++
cpack/LICENSE.txt | 8 ++++++++
cpack/README.txt | 3 +++
3 files changed, 25 insertions(+)
create mode 100644 cpack/LICENSE.txt
create mode 100644 cpack/README.txt
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 16bfc92..570d6a4 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -13,6 +13,20 @@ endif (CMAKE_COMPILER_IS_GNUCXX OR CMAKE_C_COMPILER MATCHES "icc")
# set the current version number
include(Automoc4Version.cmake)
+set(CPACK_PACKAGE_DESCRIPTION_SUMMARY "Automatic moc for Qt 4 packages")
+set(CPACK_RESOURCE_FILE_README "${CMAKE_CURRENT_SOURCE_DIR}/cpack/README.txt")
+set(CPACK_RESOURCE_FILE_LICENSE "${CMAKE_CURRENT_SOURCE_DIR}/cpack/LICENSE.txt")
+set(CPACK_PACKAGE_VERSION ${AUTOMOC4_VERSION})
+set(CPACK_PACKAGE_VERSION_MAJOR ${AUTOMOC4_VERSION_MAJOR})
+set(CPACK_PACKAGE_VERSION_MINOR ${AUTOMOC4_VERSION_MINOR})
+set(CPACK_PACKAGE_VERSION_PATCH ${AUTOMOC4_VERSION_PATCH})
+set(CPACK_SET_DESTDIR ON)
+if (APPLE)
+ set(CPACK_PACKAGE_RELOCATABLE OFF)
+endif (APPLE)
+
+include(CPack)
+
configure_file(automoc4_config.h.in ${CMAKE_CURRENT_BINARY_DIR}/automoc4_config.h)
# Always include srcdir and builddir in include path
diff --git a/cpack/LICENSE.txt b/cpack/LICENSE.txt
new file mode 100644
index 0000000..b650661
--- /dev/null
+++ b/cpack/LICENSE.txt
@@ -0,0 +1,8 @@
+Copyright (C) 2007 Matthias Kretz <kretz@kde.org>
+
+Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
+
+1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
+2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
+
+THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
diff --git a/cpack/README.txt b/cpack/README.txt
new file mode 100644
index 0000000..974e1fc
--- /dev/null
+++ b/cpack/README.txt
@@ -0,0 +1,3 @@
+This package contains the automoc4 binary which is used to run moc on the right binaries in a Qt 4 or KDE 4 application.
+
+Moc is the meta object compiler which is a much used tool when using the Qt toolkit.
--
2.4.3

View File

@ -0,0 +1,35 @@
From e1df41943ff34f1ee0693160181ebfc4f5cab67a Mon Sep 17 00:00:00 2001
From: Benjamin Reed <ranger@befunk.com>
Date: Wed, 27 May 2009 20:04:12 +0000
Subject: [PATCH 15/33] put the apple-specific stuff in here
svn path=/trunk/kdesupport/automoc/; revision=973781
---
CMakeLists.txt | 7 +++----
1 file changed, 3 insertions(+), 4 deletions(-)
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 570d6a4..bb8a9d3 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -14,14 +14,13 @@ endif (CMAKE_COMPILER_IS_GNUCXX OR CMAKE_C_COMPILER MATCHES "icc")
include(Automoc4Version.cmake)
set(CPACK_PACKAGE_DESCRIPTION_SUMMARY "Automatic moc for Qt 4 packages")
-set(CPACK_RESOURCE_FILE_README "${CMAKE_CURRENT_SOURCE_DIR}/cpack/README.txt")
-set(CPACK_RESOURCE_FILE_LICENSE "${CMAKE_CURRENT_SOURCE_DIR}/cpack/LICENSE.txt")
-set(CPACK_PACKAGE_VERSION ${AUTOMOC4_VERSION})
set(CPACK_PACKAGE_VERSION_MAJOR ${AUTOMOC4_VERSION_MAJOR})
set(CPACK_PACKAGE_VERSION_MINOR ${AUTOMOC4_VERSION_MINOR})
set(CPACK_PACKAGE_VERSION_PATCH ${AUTOMOC4_VERSION_PATCH})
-set(CPACK_SET_DESTDIR ON)
if (APPLE)
+ set(CPACK_RESOURCE_FILE_README "${CMAKE_CURRENT_SOURCE_DIR}/cpack/README.txt")
+ set(CPACK_RESOURCE_FILE_LICENSE "${CMAKE_CURRENT_SOURCE_DIR}/cpack/LICENSE.txt")
+ set(CPACK_SET_DESTDIR ON)
set(CPACK_PACKAGE_RELOCATABLE OFF)
endif (APPLE)
--
2.4.3

View File

@ -0,0 +1,59 @@
From 32104d1072788f1343d0bfbbf0fc113148598878 Mon Sep 17 00:00:00 2001
From: Benjamin Reed <ranger@befunk.com>
Date: Fri, 29 May 2009 14:13:21 +0000
Subject: [PATCH 16/33] move the cpack bits into a separate cmake file
svn path=/trunk/kdesupport/automoc/; revision=974500
---
Automoc4CPack.cmake | 13 +++++++++++++
CMakeLists.txt | 14 ++------------
2 files changed, 15 insertions(+), 12 deletions(-)
create mode 100644 Automoc4CPack.cmake
diff --git a/Automoc4CPack.cmake b/Automoc4CPack.cmake
new file mode 100644
index 0000000..63f5167
--- /dev/null
+++ b/Automoc4CPack.cmake
@@ -0,0 +1,13 @@
+set(CPACK_PACKAGE_VENDOR "KDE")
+set(CPACK_PACKAGE_DESCRIPTION_SUMMARY "Automatic moc for Qt 4 packages")
+set(CPACK_PACKAGE_VERSION_MAJOR ${AUTOMOC4_VERSION_MAJOR})
+set(CPACK_PACKAGE_VERSION_MINOR ${AUTOMOC4_VERSION_MINOR})
+set(CPACK_PACKAGE_VERSION_PATCH ${AUTOMOC4_VERSION_PATCH})
+if (APPLE)
+ set(CPACK_RESOURCE_FILE_README "${CMAKE_CURRENT_SOURCE_DIR}/cpack/README.txt")
+ set(CPACK_RESOURCE_FILE_LICENSE "${CMAKE_CURRENT_SOURCE_DIR}/cpack/LICENSE.txt")
+ set(CPACK_SET_DESTDIR ON)
+ set(CPACK_PACKAGE_RELOCATABLE OFF)
+endif (APPLE)
+
+include(CPack)
diff --git a/CMakeLists.txt b/CMakeLists.txt
index bb8a9d3..04e5fa7 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -13,18 +13,8 @@ endif (CMAKE_COMPILER_IS_GNUCXX OR CMAKE_C_COMPILER MATCHES "icc")
# set the current version number
include(Automoc4Version.cmake)
-set(CPACK_PACKAGE_DESCRIPTION_SUMMARY "Automatic moc for Qt 4 packages")
-set(CPACK_PACKAGE_VERSION_MAJOR ${AUTOMOC4_VERSION_MAJOR})
-set(CPACK_PACKAGE_VERSION_MINOR ${AUTOMOC4_VERSION_MINOR})
-set(CPACK_PACKAGE_VERSION_PATCH ${AUTOMOC4_VERSION_PATCH})
-if (APPLE)
- set(CPACK_RESOURCE_FILE_README "${CMAKE_CURRENT_SOURCE_DIR}/cpack/README.txt")
- set(CPACK_RESOURCE_FILE_LICENSE "${CMAKE_CURRENT_SOURCE_DIR}/cpack/LICENSE.txt")
- set(CPACK_SET_DESTDIR ON)
- set(CPACK_PACKAGE_RELOCATABLE OFF)
-endif (APPLE)
-
-include(CPack)
+# set up packaging
+include(Automoc4CPack.cmake)
configure_file(automoc4_config.h.in ${CMAKE_CURRENT_BINARY_DIR}/automoc4_config.h)
--
2.4.3

View File

@ -0,0 +1,36 @@
From f76e8e065f8a8228086e25f709953267cefd2914 Mon Sep 17 00:00:00 2001
From: Christoph Schleifenbaum <christoph@kdab.net>
Date: Thu, 5 Nov 2009 11:35:50 +0000
Subject: [PATCH 17/33] Compile and link on Mac
svn path=/trunk/kdesupport/automoc/; revision=1045135
---
CMakeLists.txt | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 04e5fa7..43e225a 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -4,7 +4,8 @@ cmake_minimum_required(VERSION 2.4.5 FATAL_ERROR)
include(CTest)
-find_package(Qt4 REQUIRED)
+find_package(Qt4 REQUIRED COMPONENTS QtCore )
+include(${QT_USE_FILE})
if (CMAKE_COMPILER_IS_GNUCXX OR CMAKE_C_COMPILER MATCHES "icc")
set ( CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wnon-virtual-dtor -Wno-long-long -ansi -Wundef -Wcast-align -Wchar-subscripts -Wall -W -Wpointer-arith -Wformat-security -fno-check-new -fno-common")
@@ -26,7 +27,7 @@ add_executable(automoc4 kde4automoc.cpp)
set_target_properties(automoc4 PROPERTIES SKIP_BUILD_RPATH FALSE
INSTALL_RPATH_USE_LINK_PATH TRUE )
-target_link_libraries(automoc4 ${QT_QTCORE_LIBRARY})
+target_link_libraries(automoc4 ${QT_LIBRARIES})
install(TARGETS automoc4 DESTINATION bin)
install(FILES Automoc4Config.cmake Automoc4Version.cmake automoc4.files.in DESTINATION lib${LIB_SUFFIX}/automoc4)
--
2.4.3

View File

@ -0,0 +1,46 @@
From 6b9597ff35170fa14ae333f6b2de73749353d3bc Mon Sep 17 00:00:00 2001
From: Mike Arthur <mike@mikemcquaid.com>
Date: Mon, 15 Mar 2010 22:07:33 +0000
Subject: [PATCH 18/33] Fix framework detection on Mac where Qt is installed
outside /Library/Frameworks.
svn path=/trunk/kdesupport/automoc/; revision=1103798
---
kde4automoc.cpp | 16 +++++++++++-----
1 file changed, 11 insertions(+), 5 deletions(-)
diff --git a/kde4automoc.cpp b/kde4automoc.cpp
index e85ec62..314ab96 100644
--- a/kde4automoc.cpp
+++ b/kde4automoc.cpp
@@ -179,16 +179,22 @@ void AutoMoc::lazyInit()
dotFilesCheck(line == "MOC_INCLUDES:\n");
line = dotFiles.readLine().trimmed();
const QStringList &incPaths = QString::fromUtf8(line).split(';', QString::SkipEmptyParts);
+ QSet<QString> frameworkPaths;
foreach (const QString &path, incPaths) {
Q_ASSERT(!path.isEmpty());
mocIncludes << "-I" + path;
+ if (path.endsWith(".framework/Headers")) {
+ QDir framework(path);
+ // Go up twice to get to the framework root
+ framework.cdUp();
+ framework.cdUp();
+ frameworkPaths << framework.path();
+ }
}
- // on the Mac, add -F always, otherwise headers in the frameworks won't be found
- // is it necessary to do this only optionally ? Alex
-#if defined(Q_OS_DARWIN) || defined(Q_OS_MAC)
- mocIncludes << "-F/Library/Frameworks";
-#endif
+ foreach (const QString &path, frameworkPaths) {
+ mocIncludes << "-F" << path;
+ }
line = dotFiles.readLine();
dotFilesCheck(line == "CMAKE_INCLUDE_DIRECTORIES_PROJECT_BEFORE:\n");
--
2.4.3

View File

@ -0,0 +1,77 @@
From 8200205224117ba5c16527fb07b679696ba211a7 Mon Sep 17 00:00:00 2001
From: Glen Kaukola <gkaukola@cs.ucr.edu>
Date: Sat, 27 Mar 2010 18:05:02 +0000
Subject: [PATCH 19/33] kdesupport/automoc krazy2 fixes.
svn path=/trunk/kdesupport/automoc/; revision=1108065
---
kde4automoc.cpp | 19 ++++++++++---------
1 file changed, 10 insertions(+), 9 deletions(-)
diff --git a/kde4automoc.cpp b/kde4automoc.cpp
index 314ab96..d5a00d7 100644
--- a/kde4automoc.cpp
+++ b/kde4automoc.cpp
@@ -183,7 +183,7 @@ void AutoMoc::lazyInit()
foreach (const QString &path, incPaths) {
Q_ASSERT(!path.isEmpty());
mocIncludes << "-I" + path;
- if (path.endsWith(".framework/Headers")) {
+ if (path.endsWith(QLatin1String(".framework/Headers"))) {
QDir framework(path);
// Go up twice to get to the framework root
framework.cdUp();
@@ -344,8 +344,9 @@ bool AutoMoc::run()
foreach (const QString &absFilename, sourceFiles) {
//qDebug() << absFilename;
const QFileInfo sourceFileInfo(absFilename);
- if (absFilename.endsWith(".cpp") || absFilename.endsWith(".cc") || absFilename.endsWith(".mm") ||
- absFilename.endsWith(".cxx") || absFilename.endsWith(".C")) {
+ if (absFilename.endsWith(QLatin1String(".cpp")) || absFilename.endsWith(QLatin1String(".cc")) ||
+ absFilename.endsWith(QLatin1String(".mm")) || absFilename.endsWith(QLatin1String(".cxx")) ||
+ absFilename.endsWith(QLatin1String(".C"))) {
//qDebug() << "check .cpp file";
QFile sourceFile(absFilename);
sourceFile.open(QIODevice::ReadOnly);
@@ -398,7 +399,7 @@ bool AutoMoc::run()
//qDebug() << "found moc include: " << currentMoc << " at offset " << matchOffset;
const QFileInfo currentMocInfo(currentMoc);
QString basename = currentMocInfo.completeBaseName();
- const bool moc_style = basename.startsWith("moc_");
+ const bool moc_style = basename.startsWith(QLatin1String("moc_"));
// If the moc include is of the moc_foo.cpp style we expect the Q_OBJECT class
// declaration in a header file.
@@ -442,15 +443,15 @@ bool AutoMoc::run()
if (!headerFound) {
cerr << "automoc4: The file \"" << absFilename <<
"\" includes the moc file \"" << currentMoc << "\", but neither \"" <<
- absPath + basename + "{" + headerExtensions.join(",") + "}\" nor \"" <<
- filepath + "{" + headerExtensions.join(",") + "}" <<
+ absPath + basename + '{' + headerExtensions.join(",") + "}\" nor \"" <<
+ filepath + '{' + headerExtensions.join(",") + '}' <<
"\" exist." << endl;
::exit(EXIT_FAILURE);
}
} else {
cerr << "automoc4: The file \"" << absFilename <<
"\" includes the moc file \"" << currentMoc << "\", but \"" <<
- absPath + basename + "{" + headerExtensions.join(",") + "}" <<
+ absPath + basename + '{' + headerExtensions.join(",") + '}' <<
"\" does not exist." << endl;
::exit(EXIT_FAILURE);
}
@@ -464,8 +465,8 @@ bool AutoMoc::run()
matchOffset + currentMoc.length());
} while(matchOffset >= 0);
}
- } else if (absFilename.endsWith(".h") || absFilename.endsWith(".hpp") ||
- absFilename.endsWith(".hxx") || absFilename.endsWith(".H")) {
+ } else if (absFilename.endsWith(QLatin1String(".h")) || absFilename.endsWith(QLatin1String(".hpp")) ||
+ absFilename.endsWith(QLatin1String(".hxx")) || absFilename.endsWith(QLatin1String(".H"))) {
if (!includedMocs.contains(absFilename) && !notIncludedMocs.contains(absFilename)) {
// if this header is not getting processed yet and is explicitly mentioned for the
// automoc the moc is run unconditionally on the header and the resulting file is
--
2.4.3

27
0020-Hack-the-hack.patch Normal file
View File

@ -0,0 +1,27 @@
From 3f993e8510ab5763c961e3f92b603f78904f3540 Mon Sep 17 00:00:00 2001
From: Patrick Spendrin <ps_ml@gmx.de>
Date: Thu, 20 May 2010 15:33:31 +0000
Subject: [PATCH 20/33] Hack the hack.
svn path=/trunk/kdesupport/automoc/; revision=1128891
---
Automoc4Config.cmake | 3 +++
1 file changed, 3 insertions(+)
diff --git a/Automoc4Config.cmake b/Automoc4Config.cmake
index 12e00f7..d52c59c 100644
--- a/Automoc4Config.cmake
+++ b/Automoc4Config.cmake
@@ -62,6 +62,9 @@ if(EXISTS ${_AUTOMOC4_CURRENT_DIR}/kde4automoc.cpp)
else(EXISTS ${_AUTOMOC4_CURRENT_DIR}/kde4automoc.cpp)
get_filename_component(_AUTOMOC4_BIN_DIR "${_AUTOMOC4_CURRENT_DIR}" PATH)
get_filename_component(_AUTOMOC4_BIN_DIR "${_AUTOMOC4_BIN_DIR}" PATH)
+ if(WIN32)
+ get_filename_component(_AUTOMOC4_BIN_DIR "${_AUTOMOC4_BIN_DIR} REALPATH")
+ endif(WIN32)
find_program(AUTOMOC4_EXECUTABLE automoc4 PATHS "${_AUTOMOC4_BIN_DIR}/bin" NO_DEFAULT_PATH)
set(_AUTOMOC4_EXECUTABLE_DEP)
mark_as_advanced(AUTOMOC4_EXECUTABLE)
--
2.4.3

View File

@ -0,0 +1,26 @@
From 78fe4cc51ec5c1c5bb2076a215e7795dc2f57737 Mon Sep 17 00:00:00 2001
From: Patrick Spendrin <ps_ml@gmx.de>
Date: Sat, 22 May 2010 19:45:41 +0000
Subject: [PATCH 21/33] fix stupid typo
svn path=/trunk/kdesupport/automoc/; revision=1129541
---
Automoc4Config.cmake | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/Automoc4Config.cmake b/Automoc4Config.cmake
index d52c59c..2d2d9d2 100644
--- a/Automoc4Config.cmake
+++ b/Automoc4Config.cmake
@@ -63,7 +63,7 @@ else(EXISTS ${_AUTOMOC4_CURRENT_DIR}/kde4automoc.cpp)
get_filename_component(_AUTOMOC4_BIN_DIR "${_AUTOMOC4_CURRENT_DIR}" PATH)
get_filename_component(_AUTOMOC4_BIN_DIR "${_AUTOMOC4_BIN_DIR}" PATH)
if(WIN32)
- get_filename_component(_AUTOMOC4_BIN_DIR "${_AUTOMOC4_BIN_DIR} REALPATH")
+ get_filename_component(_AUTOMOC4_BIN_DIR "${_AUTOMOC4_BIN_DIR}" REALPATH)
endif(WIN32)
find_program(AUTOMOC4_EXECUTABLE automoc4 PATHS "${_AUTOMOC4_BIN_DIR}/bin" NO_DEFAULT_PATH)
set(_AUTOMOC4_EXECUTABLE_DEP)
--
2.4.3

View File

@ -0,0 +1,25 @@
From bd21ba16df85ec58dbaec1cc275d63143922740d Mon Sep 17 00:00:00 2001
From: Marc Mutz <mutz@kde.org>
Date: Mon, 21 Jun 2010 13:38:00 +0000
Subject: [PATCH 22/33] CMake >= 2.6.4 is required, because older versions
don't have REALPATH for get_filename_component()
svn path=/trunk/kdesupport/automoc/; revision=1140777
---
Automoc4Config.cmake | 2 ++
1 file changed, 2 insertions(+)
diff --git a/Automoc4Config.cmake b/Automoc4Config.cmake
index 2d2d9d2..a91e68c 100644
--- a/Automoc4Config.cmake
+++ b/Automoc4Config.cmake
@@ -1,4 +1,6 @@
+cmake_minimum_required( VERSION 2.6.4 FATAL_ERROR )
+
# It also adds the following macros
# AUTOMOC4(<target> <SRCS_VAR>)
# Use this to run automoc4 on all files contained in the list <SRCS_VAR>.
--
2.4.3

View File

@ -0,0 +1,25 @@
From 22b704d9779d777bb208a36ca66485a3123065e4 Mon Sep 17 00:00:00 2001
From: Jussi Kekkonen <jussi.kekkonen@gmail.com>
Date: Mon, 21 Jun 2010 18:08:40 +0000
Subject: [PATCH 23/33] Reverting r1140777 as causing some nasty cmake
funkyness, discussed in #kde-devel
svn path=/trunk/kdesupport/automoc/; revision=1140880
---
Automoc4Config.cmake | 2 --
1 file changed, 2 deletions(-)
diff --git a/Automoc4Config.cmake b/Automoc4Config.cmake
index a91e68c..2d2d9d2 100644
--- a/Automoc4Config.cmake
+++ b/Automoc4Config.cmake
@@ -1,6 +1,4 @@
-cmake_minimum_required( VERSION 2.6.4 FATAL_ERROR )
-
# It also adds the following macros
# AUTOMOC4(<target> <SRCS_VAR>)
# Use this to run automoc4 on all files contained in the list <SRCS_VAR>.
--
2.4.3

View File

@ -0,0 +1,83 @@
From 086dd2b06c18d3935ffb87b286e548c375580fba Mon Sep 17 00:00:00 2001
From: Alexander Neundorf <neundorf@kde.org>
Date: Wed, 23 Jun 2010 21:09:24 +0000
Subject: [PATCH 24/33] -add cmake_policy(PUSH|POP) to save and restore the
original cmake policy settings -add the cmake_minimum_required(VERSION 2.6.4
FATAL_ERROR) back, since this is indeed required
Alex
svn path=/trunk/kdesupport/automoc/; revision=1141941
---
Automoc4Config.cmake | 22 ++++++++++++++++++++++
1 file changed, 22 insertions(+)
diff --git a/Automoc4Config.cmake b/Automoc4Config.cmake
index 2d2d9d2..679a77c 100644
--- a/Automoc4Config.cmake
+++ b/Automoc4Config.cmake
@@ -48,6 +48,16 @@
# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
# THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+# push the current cmake policy settings on the policy stack and pop them again at the
+# end of this file, so any policies which are changed in this file don't affect anything
+# on the outside (cmake_minimum_required() sets all policies to NEW for version 2.6.4). Alex
+if(COMMAND cmake_policy)
+ cmake_policy(PUSH)
+endif(COMMAND cmake_policy)
+
+# 2.6.4 is required because of the get_filename_component(REALPATH)
+cmake_minimum_required( VERSION 2.6.4 FATAL_ERROR )
+
get_filename_component(_AUTOMOC4_CURRENT_DIR "${CMAKE_CURRENT_LIST_FILE}" PATH)
@@ -62,6 +72,9 @@ if(EXISTS ${_AUTOMOC4_CURRENT_DIR}/kde4automoc.cpp)
else(EXISTS ${_AUTOMOC4_CURRENT_DIR}/kde4automoc.cpp)
get_filename_component(_AUTOMOC4_BIN_DIR "${_AUTOMOC4_CURRENT_DIR}" PATH)
get_filename_component(_AUTOMOC4_BIN_DIR "${_AUTOMOC4_BIN_DIR}" PATH)
+
+ # This REALPATH here is necessary for the case that the path is a "virtual" drive
+ # created using "subst", in this case otherwise the drive letter is missing:
if(WIN32)
get_filename_component(_AUTOMOC4_BIN_DIR "${_AUTOMOC4_BIN_DIR}" REALPATH)
endif(WIN32)
@@ -139,6 +152,7 @@ macro(AUTOMOC4 _target_NAME _SRCS)
endif(_moc_files)
endmacro(AUTOMOC4)
+
macro(_ADD_AUTOMOC4_TARGET _target_NAME _SRCS)
set(_moc_files)
set(_moc_headers)
@@ -208,6 +222,7 @@ macro(_ADD_AUTOMOC4_TARGET _target_NAME _SRCS)
endif(_moc_files)
endmacro(_ADD_AUTOMOC4_TARGET)
+
macro(AUTOMOC4_ADD_EXECUTABLE _target_NAME)
set(_SRCS ${ARGN})
@@ -226,6 +241,7 @@ macro(AUTOMOC4_ADD_EXECUTABLE _target_NAME)
endmacro(AUTOMOC4_ADD_EXECUTABLE)
+
macro(AUTOMOC4_ADD_LIBRARY _target_NAME)
set(_SRCS ${ARGN})
@@ -252,3 +268,9 @@ endmacro(_AUTOMOC4_KDE4_PRE_TARGET_HANDLING)
macro(_AUTOMOC4_KDE4_POST_TARGET_HANDLING _target)
add_dependencies(${_target} "${_target}_automoc")
endmacro(_AUTOMOC4_KDE4_POST_TARGET_HANDLING)
+
+
+# restore previous policy settings:
+if(COMMAND cmake_policy)
+ cmake_policy(POP)
+endif(COMMAND cmake_policy)
--
2.4.3

View File

@ -0,0 +1,30 @@
From 6bd6f6e618b041651408b4dbf8a1b87905369019 Mon Sep 17 00:00:00 2001
From: Alexander Neundorf <neundorf@kde.org>
Date: Thu, 24 Jun 2010 20:30:56 +0000
Subject: [PATCH 25/33] -allow duplicate target names also in the automoc
macros, to make the modules build again
Alex
svn path=/trunk/kdesupport/automoc/; revision=1142396
---
Automoc4Config.cmake | 2 ++
1 file changed, 2 insertions(+)
diff --git a/Automoc4Config.cmake b/Automoc4Config.cmake
index 679a77c..95f528d 100644
--- a/Automoc4Config.cmake
+++ b/Automoc4Config.cmake
@@ -58,6 +58,8 @@ endif(COMMAND cmake_policy)
# 2.6.4 is required because of the get_filename_component(REALPATH)
cmake_minimum_required( VERSION 2.6.4 FATAL_ERROR )
+# allow duplicate target names, this is also done in FindKDE4Internal.cmake
+cmake_policy(CMP0002 OLD)
get_filename_component(_AUTOMOC4_CURRENT_DIR "${CMAKE_CURRENT_LIST_FILE}" PATH)
--
2.4.3

View File

@ -0,0 +1,28 @@
From 2273531d349423c33c9ea91f9e71adea93991184 Mon Sep 17 00:00:00 2001
From: Christoph Feck <christoph@maxiom.de>
Date: Fri, 25 Jun 2010 03:06:05 +0000
Subject: [PATCH 26/33] Fix cmake_policy call
CCMAIL:neundorf@kde.org
svn path=/trunk/kdesupport/automoc/; revision=1142454
---
Automoc4Config.cmake | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/Automoc4Config.cmake b/Automoc4Config.cmake
index 95f528d..d608513 100644
--- a/Automoc4Config.cmake
+++ b/Automoc4Config.cmake
@@ -59,7 +59,7 @@ endif(COMMAND cmake_policy)
cmake_minimum_required( VERSION 2.6.4 FATAL_ERROR )
# allow duplicate target names, this is also done in FindKDE4Internal.cmake
-cmake_policy(CMP0002 OLD)
+cmake_policy(SET CMP0002 OLD)
get_filename_component(_AUTOMOC4_CURRENT_DIR "${CMAKE_CURRENT_LIST_FILE}" PATH)
--
2.4.3

View File

@ -0,0 +1,58 @@
From b873d2cb457503320e5f1d56d516e23eeb9ad7db Mon Sep 17 00:00:00 2001
From: Patrick Spendrin <ps_ml@gmx.de>
Date: Mon, 8 Nov 2010 18:12:50 +0100
Subject: [PATCH 27/33] add some changes to build automoc statically
---
CMakeLists.txt | 28 ++++++++++++++++++++++++++++
1 file changed, 28 insertions(+)
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 43e225a..2effd95 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -2,6 +2,13 @@ project(Automoc4)
cmake_minimum_required(VERSION 2.4.5 FATAL_ERROR)
+if(WIN32)
+ # make cmake 2.6 happy
+ if(COMMAND cmake_policy)
+ cmake_policy(SET CMP0003 NEW)
+ endif(COMMAND cmake_policy)
+endif(WIN32)
+
include(CTest)
find_package(Qt4 REQUIRED COMPONENTS QtCore )
@@ -19,6 +26,27 @@ include(Automoc4CPack.cmake)
configure_file(automoc4_config.h.in ${CMAKE_CURRENT_BINARY_DIR}/automoc4_config.h)
+if(MSVC AND AUTOMOC_STATIC)
+ IF(EXISTS "${QT_MKSPECS_DIR}/default/qmake.conf")
+ FILE(READ "${QT_MKSPECS_DIR}/default/qmake.conf" _qmake_FILE_contents)
+ STRING(REGEX MATCH "QMAKE_CFLAGS_RELEASE[^\n]+" QMAKE_CFLAGS_RELEASE "${_qmake_FILE_contents}")
+ ENDIF(EXISTS "${QT_MKSPECS_DIR}/default/qmake.conf")
+
+ if (QMAKE_CFLAGS_RELEASE MATCHES ".*-MT.*")
+ MESSAGE(STATUS "Qt is build in static mode with static runtime - use static build mode with static runtime too")
+ set (MSVCRT_COMPILE_FLAGS "-MT /Os /Oy /GL")
+ set (MSVCRT_LINK_FLAGS "/NODEFAULTLIB:msvcrt")
+ else (QMAKE_CFLAGS_RELEASE MATCHES ".*-MT.*")
+ set (MSVCRT_COMPILE_FLAGS "-MD")
+ set (MSVCRT_LINK_FLAGS "")
+ MESSAGE(STATUS "Qt is build in static mode using shared runtime - use static build mode too")
+ endif (QMAKE_CFLAGS_RELEASE MATCHES ".*-MT.*")
+
+ set (CMAKE_C_FLAGS_RELEASE "${MSVCRT_COMPILE_FLAGS} /O2 /Ob2 /D NDEBUG")
+ set (CMAKE_CXX_FLAGS_RELEASE "${MSVCRT_COMPILE_FLAGS} /O2 /Ob2 /D NDEBUG")
+ set (CMAKE_EXE_LINKER_FLAGS_RELEASE "/INCREMENTAL:NO ${MSVCRT_LINK_FLAGS}")
+endif(MSVC AND AUTOMOC_STATIC)
+
# Always include srcdir and builddir in include path
set(CMAKE_INCLUDE_CURRENT_DIR ON)
include_directories(${QT_INCLUDE_DIR})
--
2.4.3

View File

@ -0,0 +1,35 @@
From 0fc7d228b97654c4422c4d3a2534f6af43c4a530 Mon Sep 17 00:00:00 2001
From: Michael Jansen <kde@michael-jansen.biz>
Date: Wed, 16 Feb 2011 23:48:53 +0100
Subject: [PATCH 28/33] AutoMoc::lazyInit() expects the app to get 6 parameter
but run() only checks for 5.
Fix that so i do not get a qt assertion here.
---
kde4automoc.cpp | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/kde4automoc.cpp b/kde4automoc.cpp
index d5a00d7..2e219f3 100644
--- a/kde4automoc.cpp
+++ b/kde4automoc.cpp
@@ -164,6 +164,7 @@ void AutoMoc::lazyInitMocDefinitions()
void AutoMoc::lazyInit()
{
const QStringList &args = QCoreApplication::arguments();
+
mocExe = args[4];
cmakeExecutable = args[5];
@@ -246,7 +247,7 @@ bool AutoMoc::run()
::exit(EXIT_FAILURE);
}
}
- else if (args.size() < 5) {
+ else if (args.size() < 6) {
printUsage(args[0]);
::exit(EXIT_FAILURE);
}
--
2.4.3

View File

@ -0,0 +1,47 @@
From a003654d36b9e409931d15af68091d1f366bd46e Mon Sep 17 00:00:00 2001
From: David Faure <faure@kde.org>
Date: Thu, 16 Jun 2011 08:49:28 +0200
Subject: [PATCH 29/33] Fix missing include dirs (current source and build dir)
when moc is run.
Apparently these dirs are not in the directory property "INCLUDE_DIRECTORIES",
so they need to be added by hand.
This fixes compilation of kdelibs/kdewebkit with KDE_NO_DEPRECATED=TRUE:
moc didn't find kdewebkit_export.h (and silently ignored it), so kdemacros.h
was not included, and KDE_NO_DEPRECATED was not set, leading to signals
only in the moc file and not in the header file, at compile time.
Alex: is there a way to only do this when CMAKE_INCLUDE_CURRENT_DIR is on?
CCMAIL: neundorf@kde.org
---
Automoc4Config.cmake | 6 ++++++
1 file changed, 6 insertions(+)
diff --git a/Automoc4Config.cmake b/Automoc4Config.cmake
index d608513..f0dc204 100644
--- a/Automoc4Config.cmake
+++ b/Automoc4Config.cmake
@@ -135,6 +135,9 @@ macro(AUTOMOC4 _target_NAME _SRCS)
get_directory_property(_moc_defs DEFINITIONS)
get_directory_property(_moc_cdefs COMPILE_DEFINITIONS)
+ # Assume CMAKE_INCLUDE_CURRENT_DIR is set
+ list(APPEND _moc_incs ${CMAKE_CURRENT_SOURCE_DIR} ${CMAKE_CURRENT_BINARY_DIR})
+
# configure_file replaces _moc_files, _moc_incs, _moc_cdefs and _moc_defs
configure_file(${_AUTOMOC4_CURRENT_DIR}/automoc4.files.in ${_automoc_source}.files)
@@ -198,6 +201,9 @@ macro(_ADD_AUTOMOC4_TARGET _target_NAME _SRCS)
get_directory_property(_moc_defs DEFINITIONS)
get_directory_property(_moc_cdefs COMPILE_DEFINITIONS)
+ # Assume CMAKE_INCLUDE_CURRENT_DIR is set
+ list(APPEND _moc_incs ${CMAKE_CURRENT_SOURCE_DIR} ${CMAKE_CURRENT_BINARY_DIR})
+
# configure_file replaces _moc_files, _moc_incs, _moc_cdefs and _moc_defs
configure_file(${_AUTOMOC4_CURRENT_DIR}/automoc4.files.in ${_automoc_dotFiles})
--
2.4.3

View File

@ -0,0 +1,33 @@
From b0184fe96b1a07b57cb489eb87710dc33f070dc1 Mon Sep 17 00:00:00 2001
From: Stephen Kelly <steveire@gmail.com>
Date: Sun, 19 Jul 2015 21:24:18 +0200
Subject: [PATCH 30/33] Don't attempt to read the DEFINITIONS property.
It was replaced by COMPILE_DEFINITIONS long ago.
---
Automoc4Config.cmake | 2 --
1 file changed, 2 deletions(-)
diff --git a/Automoc4Config.cmake b/Automoc4Config.cmake
index f0dc204..d048686 100644
--- a/Automoc4Config.cmake
+++ b/Automoc4Config.cmake
@@ -132,7 +132,6 @@ macro(AUTOMOC4 _target_NAME _SRCS)
if(_moc_files)
set(_automoc_source "${CMAKE_CURRENT_BINARY_DIR}/${_target_NAME}_automoc.cpp")
get_directory_property(_moc_incs INCLUDE_DIRECTORIES)
- get_directory_property(_moc_defs DEFINITIONS)
get_directory_property(_moc_cdefs COMPILE_DEFINITIONS)
# Assume CMAKE_INCLUDE_CURRENT_DIR is set
@@ -198,7 +197,6 @@ macro(_ADD_AUTOMOC4_TARGET _target_NAME _SRCS)
set(_automoc_source "${CMAKE_CURRENT_BINARY_DIR}/${_target_NAME}.cpp")
set(_automoc_dotFiles "${CMAKE_CURRENT_BINARY_DIR}/${_target_NAME}.cpp.files")
get_directory_property(_moc_incs INCLUDE_DIRECTORIES)
- get_directory_property(_moc_defs DEFINITIONS)
get_directory_property(_moc_cdefs COMPILE_DEFINITIONS)
# Assume CMAKE_INCLUDE_CURRENT_DIR is set
--
2.4.3

View File

@ -0,0 +1,27 @@
From 48f6e64d98e4aaa47f2a49faa5f3e821bc21fd6e Mon Sep 17 00:00:00 2001
From: Stephen Kelly <steveire@gmail.com>
Date: Sun, 19 Jul 2015 21:24:51 +0200
Subject: [PATCH 31/33] Don't attempt to add dependencies which do not exist.
---
Automoc4Config.cmake | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/Automoc4Config.cmake b/Automoc4Config.cmake
index d048686..8473d49 100644
--- a/Automoc4Config.cmake
+++ b/Automoc4Config.cmake
@@ -272,7 +272,9 @@ endmacro(_AUTOMOC4_KDE4_PRE_TARGET_HANDLING)
macro(_AUTOMOC4_KDE4_POST_TARGET_HANDLING _target)
- add_dependencies(${_target} "${_target}_automoc")
+ if (TARGET "${_target}_automoc")
+ add_dependencies(${_target} "${_target}_automoc")
+ endif()
endmacro(_AUTOMOC4_KDE4_POST_TARGET_HANDLING)
--
2.4.3

View File

@ -0,0 +1,24 @@
From b094e11e24e5fb7672d73613cceb4af4cd8158bc Mon Sep 17 00:00:00 2001
From: David Faure <faure@kde.org>
Date: Mon, 27 Jul 2015 13:06:07 +0200
Subject: [PATCH 32/33] set cmake_min_req to enable newer policies
---
CMakeLists.txt | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 2effd95..1617d4c 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -1,6 +1,6 @@
+cmake_minimum_required(VERSION 2.8.9)
project(Automoc4)
-cmake_minimum_required(VERSION 2.4.5 FATAL_ERROR)
if(WIN32)
# make cmake 2.6 happy
--
2.4.3

View File

@ -0,0 +1,31 @@
From ca09e8ee618f6a8ab528b3394a8cc5e195678314 Mon Sep 17 00:00:00 2001
From: David Faure <faure@kde.org>
Date: Mon, 27 Jul 2015 13:09:20 +0200
Subject: [PATCH 33/33] cmake 2.8.9 sets CMP0003 to NEW -> clean up
---
CMakeLists.txt | 8 --------
1 file changed, 8 deletions(-)
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 1617d4c..f93cf77 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -1,14 +1,6 @@
cmake_minimum_required(VERSION 2.8.9)
project(Automoc4)
-
-if(WIN32)
- # make cmake 2.6 happy
- if(COMMAND cmake_policy)
- cmake_policy(SET CMP0003 NEW)
- endif(COMMAND cmake_policy)
-endif(WIN32)
-
include(CTest)
find_package(Qt4 REQUIRED COMPONENTS QtCore )
--
2.4.3

View File

@ -4,7 +4,7 @@
Name: automoc
Version: 1.0
Release: 0.23.%{?beta_tag}%{?dist}
Release: 0.24.%{?beta_tag}%{?dist}
Summary: Automatic moc for Qt 4
Group: Development/Tools
License: BSD
@ -12,10 +12,45 @@ URL: http://www.kde.org
Source0: ftp://ftp.kde.org/pub/kde/stable/automoc4/%{beta}/automoc4-%{beta}.tar.bz2
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
## upstream patches
Patch1: 0001-fix-make-clean-it-s-SET_directory_properties-and-not.patch
Patch2: 0002-automoc-did-not-understand-.mm-files-objc.patch
Patch3: 0003-support-for-Objective-C-i.e.-mm-files-is-enough-to-i.patch
Patch4: 0004-auto-detect-case-insensitive-filesystem-on-OSX.patch
Patch5: 0005-add-a-ctest-config-file-see-http-my.cdash.org-index..patch
Patch6: 0006-support-for-nightly-builds-at-http-my.cdash.org-inde.patch
Patch7: 0007-rename-AutomocNightly.cmake-to-Automoc4Nightly-to-ma.patch
Patch8: 0008-chaneg-nightly-time.patch
Patch9: 0009-remove-the-warnings-again.patch
Patch10: 0010-add-some-comments.patch
Patch11: 0011-adapt-this-to-the-new-enhanced-KDECTestNightly.cmake.patch
Patch12: 0012-support-installing-in-the-nightly-build.patch
Patch13: 0013-add-documentation.patch
Patch14: 0014-first-attempt-at-cpack-ing-a-KDE-package-works-on-OS.patch
Patch15: 0015-put-the-apple-specific-stuff-in-here.patch
Patch16: 0016-move-the-cpack-bits-into-a-separate-cmake-file.patch
Patch17: 0017-Compile-and-link-on-Mac.patch
Patch18: 0018-Fix-framework-detection-on-Mac-where-Qt-is-installed.patch
Patch19: 0019-kdesupport-automoc-krazy2-fixes.patch
Patch20: 0020-Hack-the-hack.patch
Patch21: 0021-fix-stupid-typo.patch
Patch22: 0022-CMake-2.6.4-is-required-because-older-versions-don-t.patch
Patch23: 0023-Reverting-r1140777-as-causing-some-nasty-cmake-funky.patch
Patch24: 0024-add-cmake_policy-PUSH-POP-to-save-and-restore-the-or.patch
Patch25: 0025-allow-duplicate-target-names-also-in-the-automoc-mac.patch
Patch26: 0026-Fix-cmake_policy-call.patch
Patch27: 0027-add-some-changes-to-build-automoc-statically.patch
Patch28: 0028-AutoMoc-lazyInit-expects-the-app-to-get-6-parameter-.patch
Patch29: 0029-Fix-missing-include-dirs-current-source-and-build-di.patch
Patch30: 0030-Don-t-attempt-to-read-the-DEFINITIONS-property.patch
Patch31: 0031-Don-t-attempt-to-add-dependencies-which-do-not-exist.patch
Patch32: 0032-set-cmake_min_req-to-enable-newer-policies.patch
Patch33: 0033-cmake-2.8.9-sets-CMP0003-to-NEW-clean-up.patch
Provides: automoc4 = %{beta}
Requires: cmake >= 2.4.5
BuildRequires: cmake >= 2.4.5
Requires: cmake >= 2.8.9
BuildRequires: cmake >= 2.8.9
BuildRequires: qt4-devel
BuildRequires: kde-filesystem
@ -28,11 +63,11 @@ mechanism.
%prep
%setup -q -n automoc4-%{beta}
%autosetup -p1 -n automoc4-%{beta}
%build
mkdir -p %{_target_platform}
mkdir %{_target_platform}
pushd %{_target_platform}
%{cmake_kde4} ..
popd
@ -56,6 +91,9 @@ rm -rf %{buildroot}
%changelog
* Tue Sep 01 2015 Rex Dieter <rdieter@fedoraproject.org> 1.0-0.24.rc3
- pull in latest upstream fixes
* Wed Jun 17 2015 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.0-0.23.rc3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild