[cegui] Added upstream patch regarding cmake policy CMP0045 and bracket escaping

Martin Preisler mpreisle at fedoraproject.org
Thu Jun 5 14:44:30 UTC 2014


commit 28c94d9b6305eefeadacbd60356c2292ff2a162b
Author: Martin Preisler <mpreisle at redhat.com>
Date:   Thu Jun 5 16:43:36 2014 +0200

    Added upstream patch regarding cmake policy CMP0045 and bracket escaping
    
    This is required for CEGUI to build with newer cmake versions, such as
    those on Rawhide.
    
    This patch is applied upstream and can be removed with the 0.8.4
    upstream release.

 cegui-0.8.3-cmake-cmp0045.patch |   75 +++++++++++++++++++++++++++++++++++++++
 cegui.spec                      |   18 +++++----
 2 files changed, 85 insertions(+), 8 deletions(-)
---
diff --git a/cegui-0.8.3-cmake-cmp0045.patch b/cegui-0.8.3-cmake-cmp0045.patch
new file mode 100644
index 0000000..b05bf46
--- /dev/null
+++ b/cegui-0.8.3-cmake-cmp0045.patch
@@ -0,0 +1,75 @@
+# HG changeset patch
+# User Danduk82 <danduk82 at hotmail.com>
+# Date 1390065964 -3600
+# Branch v0-8
+# Node ID 320ecd58eb1b3d673eee62a913041f643c50d483
+# Parent  83954df05b3b1b94ada2137ef5d028de54d11818
+A) fixed new CMAKE policy CMP0045 issue in CMakeLists.txt. This feature was introduced recently in this commit: https://gitorious.org/cmake/cmake/commit/73e93400e2efab2096618ff58a5ad68236cd04aa ... Bb) fixed CMAKE problem with cmake/CEGUIMacros.cmake when including the project with ExternalProject_Add() CMAKE feature in a project. I had to escape the '[' and ']' characters because in this way CMAKE was not recognizing those characters. CMAKE version: 2.8.12.
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -6,6 +6,10 @@
+     cmake_policy(SET CMP0017 OLD)
+ endif()
+ 
++if (POLICY CMP0045)
++    cmake_policy(SET CMP0045 OLD)
++endif()
++
+ set (CMAKE_MODULE_PATH "${CMAKE_SOURCE_DIR}/cmake")
+ include(CEGUIMacros)
+ include(CMakeDependentOption)
+diff --git a/cmake/CEGUIMacros.cmake b/cmake/CEGUIMacros.cmake
+--- a/cmake/CEGUIMacros.cmake
++++ b/cmake/CEGUIMacros.cmake
+@@ -316,33 +316,33 @@
+     endif()
+ 
+     add_custom_command(TARGET ${_TARGET_NAME} POST_BUILD 
+-        COMMAND if [ x${_CEGUI_BUILD_CONFIG} == xDebug ]\; then ce_ext=\"${CEGUI_BUILD_SUFFIX}\"\; else ce_ext=\"\"\; fi\; rm -rf \"${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/${_TARGET_NAME}$$ce_ext.app/Contents/Frameworks\"
++        COMMAND if \[ x${_CEGUI_BUILD_CONFIG} == xDebug \]\; then ce_ext=\"${CEGUI_BUILD_SUFFIX}\"\; else ce_ext=\"\"\; fi\; rm -rf \"${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/${_TARGET_NAME}$$ce_ext.app/Contents/Frameworks\"
+         COMMENT "Removing old Frameworks in ${_TARGET_NAME}.app")
+     add_custom_command(TARGET ${_TARGET_NAME} POST_BUILD 
+-        COMMAND if [ x${_CEGUI_BUILD_CONFIG} == xDebug ]\; then ce_ext=\"${CEGUI_BUILD_SUFFIX}\"\; else ce_ext=\"\"\; fi\; rm -rf \"${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/${_TARGET_NAME}$$ce_ext.app/Contents/Resources\"
++        COMMAND if \[ x${_CEGUI_BUILD_CONFIG} == xDebug \]\; then ce_ext=\"${CEGUI_BUILD_SUFFIX}\"\; else ce_ext=\"\"\; fi\; rm -rf \"${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/${_TARGET_NAME}$$ce_ext.app/Contents/Resources\"
+         COMMENT "Removing old Resources in ${_TARGET_NAME}.app")
+ 
+     add_custom_command(TARGET ${_TARGET_NAME} POST_BUILD 
+-        COMMAND if [ x${_CEGUI_BUILD_CONFIG} == xDebug ]\; then ce_ext=\"${CEGUI_BUILD_SUFFIX}\"\; else ce_ext=\"\"\; fi\; mkdir -p \"${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/${_TARGET_NAME}$$ce_ext.app/Contents/Frameworks\"
++        COMMAND if \[ x${_CEGUI_BUILD_CONFIG} == xDebug \]\; then ce_ext=\"${CEGUI_BUILD_SUFFIX}\"\; else ce_ext=\"\"\; fi\; mkdir -p \"${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/${_TARGET_NAME}$$ce_ext.app/Contents/Frameworks\"
+         COMMENT "Creating Frameworks directory ${_TARGET_NAME}.app")
+     add_custom_command(TARGET ${_TARGET_NAME} POST_BUILD 
+-        COMMAND if [ x${_CEGUI_BUILD_CONFIG} == xDebug ]\; then ce_ext=\"${CEGUI_BUILD_SUFFIX}\"\; else ce_ext=\"\"\; fi\; mkdir -p \"${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/${_TARGET_NAME}$$ce_ext.app/Contents/Resources\"
++        COMMAND if \[ x${_CEGUI_BUILD_CONFIG} == xDebug \]\; then ce_ext=\"${CEGUI_BUILD_SUFFIX}\"\; else ce_ext=\"\"\; fi\; mkdir -p \"${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/${_TARGET_NAME}$$ce_ext.app/Contents/Resources\"
+         COMMENT "Creating Resources directory ${_TARGET_NAME}.app")
+ 
+     if (NOT ${_STATIC})
+         if (NOT CEGUI_BUILD_SHARED_LIBS_WITH_STATIC_DEPENDENCIES)
+             add_custom_command(TARGET ${_TARGET_NAME} POST_BUILD 
+-                COMMAND if [ x${_CEGUI_BUILD_CONFIG} == xDebug ]\; then ce_ext=\"${CEGUI_BUILD_SUFFIX}\"\; ce_libglob=\"*${CEGUI_BUILD_SUFFIX}.dylib\"\; else ce_ext=\"\"\; shopt -s extglob\; ce_libglob=\"!\(*${CEGUI_BUILD_SUFFIX}\).dylib\"\; fi\; ${_ACTIONCMD} ${CMAKE_PREFIX_PATH}/lib/dynamic/$$ce_libglob \"${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/${_TARGET_NAME}$$ce_ext.app/Contents/Frameworks/\"
++                COMMAND if \[ x${_CEGUI_BUILD_CONFIG} == xDebug \]\; then ce_ext=\"${CEGUI_BUILD_SUFFIX}\"\; ce_libglob=\"*${CEGUI_BUILD_SUFFIX}.dylib\"\; else ce_ext=\"\"\; shopt -s extglob\; ce_libglob=\"!\(*${CEGUI_BUILD_SUFFIX}\).dylib\"\; fi\; ${_ACTIONCMD} ${CMAKE_PREFIX_PATH}/lib/dynamic/$$ce_libglob \"${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/${_TARGET_NAME}$$ce_ext.app/Contents/Frameworks/\"
+                 COMMENT "Creating ${_ACTIONMSG} dependency libraries in ${_TARGET_NAME}.app")
+         endif()
+ 
+         add_custom_command(TARGET ${_TARGET_NAME} POST_BUILD 
+-            COMMAND if [ x${_CEGUI_BUILD_CONFIG} == xDebug ]\; then ce_ext=\"${CEGUI_BUILD_SUFFIX}\"\; ce_libglob=\"*${CEGUI_BUILD_SUFFIX}.dylib\"\; else ce_ext=\"\"\; shopt -s extglob\; ce_libglob=\"!\(*${CEGUI_BUILD_SUFFIX}\).dylib\"\; fi\; ${_ACTIONCMD} ${CMAKE_LIBRARY_OUTPUT_DIRECTORY}/$$ce_libglob \"${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/${_TARGET_NAME}$$ce_ext.app/Contents/Frameworks/\"
++            COMMAND if \[ x${_CEGUI_BUILD_CONFIG} == xDebug \]\; then ce_ext=\"${CEGUI_BUILD_SUFFIX}\"\; ce_libglob=\"*${CEGUI_BUILD_SUFFIX}.dylib\"\; else ce_ext=\"\"\; shopt -s extglob\; ce_libglob=\"!\(*${CEGUI_BUILD_SUFFIX}\).dylib\"\; fi\; ${_ACTIONCMD} ${CMAKE_LIBRARY_OUTPUT_DIRECTORY}/$$ce_libglob \"${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/${_TARGET_NAME}$$ce_ext.app/Contents/Frameworks/\"
+             COMMENT "Creating ${_ACTIONMSG} built cegui libraries in ${_TARGET_NAME}.app")
+     endif()
+ 
+     add_custom_command(TARGET ${_TARGET_NAME} POST_BUILD 
+-        COMMAND if [ x${_CEGUI_BUILD_CONFIG} == xDebug ]\; then ce_ext=\"${CEGUI_BUILD_SUFFIX}\"\; else ce_ext=\"\"\; fi\; ${_ACTIONCMD} ${CMAKE_SOURCE_DIR}/datafiles \"${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/${_TARGET_NAME}$$ce_ext.app/Contents/Resources/\"
++        COMMAND if \[ x${_CEGUI_BUILD_CONFIG} == xDebug \]\; then ce_ext=\"${CEGUI_BUILD_SUFFIX}\"\; else ce_ext=\"\"\; fi\; ${_ACTIONCMD} ${CMAKE_SOURCE_DIR}/datafiles \"${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/${_TARGET_NAME}$$ce_ext.app/Contents/Resources/\"
+         COMMENT "Creating ${_ACTIONMSG} sample datafiles ${_TARGET_NAME}.app")
+ 
+     # When CEGUI_APPLE_SYMLINK_DEPENDENCIES_TO_SAMPLE_APPS is TRUE, this
+@@ -352,7 +352,7 @@
+     # CEGUI_APPLE_SYMLINK_DEPENDENCIES_TO_SAMPLE_APPS to false and the thing
+     # will be copied to the output app bundle instead.
+     add_custom_command(TARGET ${_TARGET_NAME} POST_BUILD 
+-        COMMAND if [ x${_CEGUI_BUILD_CONFIG} == xDebug ]\; then ce_ext=\"${CEGUI_BUILD_SUFFIX}\"\; else ce_ext=\"\"\; fi\; ${_ACTIONCMD} ${CMAKE_BINARY_DIR}/datafiles/samples \"${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/${_TARGET_NAME}$$ce_ext.app/Contents/Resources/datafiles\"
++        COMMAND if \[ x${_CEGUI_BUILD_CONFIG} == xDebug \]\; then ce_ext=\"${CEGUI_BUILD_SUFFIX}\"\; else ce_ext=\"\"\; fi\; ${_ACTIONCMD} ${CMAKE_BINARY_DIR}/datafiles/samples \"${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/${_TARGET_NAME}$$ce_ext.app/Contents/Resources/datafiles\"
+         COMMENT "Creating ${_ACTIONMSG} samples.xml ${_TARGET_NAME}.app")
+ endmacro()
+ 
diff --git a/cegui.spec b/cegui.spec
index fad6383..8572e16 100644
--- a/cegui.spec
+++ b/cegui.spec
@@ -1,6 +1,6 @@
 # for PyCEGUI
-%{!?python_sitenoarch: %global python_sitenoarch %(%{__python} -c "from distutils.sysconfig import get_python_lib; print(get_python_lib(0))")}
-%{!?python_sitearch: %global python_sitearch %(%{__python} -c "from distutils.sysconfig import get_python_lib; print(get_python_lib(1))")}
+%{!?python2_sitelib: %global python2_sitelib %(%{__python2} -c "from distutils.sysconfig import get_python_lib; print(get_python_lib(0))")}
+%{!?python2_sitearch: %global python2_sitearch %(%{__python2} -c "from distutils.sysconfig import get_python_lib; print(get_python_lib(1))")}
 
 Name:           cegui
 Version:        0.8.3
@@ -10,6 +10,7 @@ Group:          System Environment/Libraries
 License:        MIT
 URL:            http://www.cegui.org.uk
 Source0:        http://downloads.sourceforge.net/crayzedsgui/cegui-%{version}.tar.gz
+Patch0:         cegui-0.8.3-cmake-cmp0045.patch
 BuildRequires:  DevIL-devel
 BuildRequires:  freeimage-devel
 BuildRequires:  expat-devel
@@ -37,7 +38,7 @@ BuildRequires:  python-devel
 BuildRequires:  boost-devel
 # filter PyCEGUI modules from Provides
 %{?filter_setup:
-%filter_provides_in %{python_sitearch}/.*\.so$
+%filter_provides_in %{python2_sitearch}/.*\.so$
 %filter_setup
 }
 
@@ -156,6 +157,7 @@ OpenGLRenderer (module PyCEGUIOpenGLRenderer).
 
 %prep
 %setup -q
+%patch0 -p1
 
 # Encoding fixes (fixed upstream, should be removed with 0.8.4 release)
 iconv -f iso8859-1 doc/README -t utf8 > doc/README.conv
@@ -186,9 +188,9 @@ find $RPM_BUILD_ROOT -name "PyCEGUIOgreRenderer.so" -exec rm -f {} ';'
 
 # We need to move PyCEGUI shared objects into the platform specific Python site-packages
 # This has been fixed upstream, we should be able to remove this with 0.8.4 release.
-mkdir -p %{buildroot}/%{python_sitearch}/cegui-0.8
-mv %{buildroot}/%{python_sitenoarch}/cegui-0.8/PyCEGUI*.so %{buildroot}/%{python_sitearch}/cegui-0.8
-rmdir %{buildroot}/%{python_sitenoarch}/cegui-0.8
+mkdir -p %{buildroot}/%{python2_sitearch}/cegui-0.8
+mv %{buildroot}/%{python2_sitelib}/cegui-0.8/PyCEGUI*.so %{buildroot}/%{python2_sitearch}/cegui-0.8
+rmdir %{buildroot}/%{python2_sitelib}/cegui-0.8
 
 %post -p /sbin/ldconfig
 %postun -p /sbin/ldconfig
@@ -253,8 +255,8 @@ rmdir %{buildroot}/%{python_sitenoarch}/cegui-0.8
 %{_libdir}/cegui-0.8/libCEGUIXercesParser.so
 
 %files python
-%{python_sitearch}/cegui-0.8/PyCEGUI.so
-%{python_sitearch}/cegui-0.8/PyCEGUIOpenGLRenderer.so
+%{python2_sitearch}/cegui-0.8/PyCEGUI.so
+%{python2_sitearch}/cegui-0.8/PyCEGUIOpenGLRenderer.so
 
 
 %changelog


More information about the scm-commits mailing list