|
From: <ai...@us...> - 2013-07-31 19:32:50
|
Revision: 12456
http://sourceforge.net/p/plplot/code/12456
Author: airwin
Date: 2013-07-31 19:32:46 +0000 (Wed, 31 Jul 2013)
Log Message:
-----------
Add (automatically generated) build configurations for
libxslt and libxml2.
Tested by: Alan W. Irwin <ai...@us...> using the
build_libxslt target on Linux.
Modified Paths:
--------------
trunk/cmake/build_projects/gtk_packages_add.xml
Added Paths:
-----------
trunk/cmake/build_projects/libxml2/
trunk/cmake/build_projects/libxml2/bp.cmake
trunk/cmake/build_projects/libxslt/
trunk/cmake/build_projects/libxslt/bp.cmake
Modified: trunk/cmake/build_projects/gtk_packages_add.xml
===================================================================
--- trunk/cmake/build_projects/gtk_packages_add.xml 2013-07-31 19:29:47 UTC (rev 12455)
+++ trunk/cmake/build_projects/gtk_packages_add.xml 2013-07-31 19:32:46 UTC (rev 12456)
@@ -1,4 +1,9 @@
<?xml version="1.0" ?>
+<!--
+Most of these data derived from http://www.linuxfromscratch.org, a
+wonderful site that provides fundamental build information for a lot
+of different free software packages.
+-->
<moduleset>
<autotools id="libffi">
<branch hash="sha256:1dddde1400c3bcb7749d398071af88c3e4754058d2d4c0b3696c2f82dc5cf11c" module="libffi/libffi-3.0.13.tar.gz" repo="ftp://sourceware.org/pub/" size="845747" version="3.0.13"/>
@@ -10,7 +15,19 @@
<pkg-config/>
<branch hash="sha256:1d812f9f60215099355f5c13c6f06d7db1135c99f34ff03535b71b64435125fd" module="releases/pixman-0.30.0.tar.gz" repo="http://cairographics.org/" size="801692" version="0.30.0"/>
</autotools>
- <autotools id="gperf">
+ <autotools id="gperf">
<branch hash="sha256:767112a204407e62dbc3106647cf839ed544f3cf5d0f0523aaa2508623aad63e" module="gnu/gperf/gperf-3.0.4.tar.gz" repo="http://ftp.gnu.org/" size="983500" version="3.0.4"/>
</autotools>
+<!-- without these python shenanigans the python components of libxml2 are
+installed with the system prefix rather than desired special prefix
+-->
+ <autotools id="libxml2" makeargs="PYTHON_SITE_PACKAGES=${BP_CMAKE_INSTALL_PREFIX}/lib/python${PYTHON_VERSION}/site-packages">
+ <branch hash="md5:9c0cfef285d5c4a5c80d00904ddab380" module="sources/libxml2-2.9.1.tar.gz" repo="http://xmlsoft.org/" size="983500" version="2.9.1"/>
+ </autotools>
+ <autotools id="libxslt">
+ <branch hash="md5:9667bf6f9310b957254fdcf6596600b7" module="sources/libxslt-1.1.28.tar.gz" repo="http://xmlsoft.org/" size="983500" version="1.1.28"/>
+ <dependencies>
+ <dep package="libxml2"/>
+ </dependencies>
+ </autotools>
</moduleset>
Added: trunk/cmake/build_projects/libxml2/bp.cmake
===================================================================
--- trunk/cmake/build_projects/libxml2/bp.cmake (rev 0)
+++ trunk/cmake/build_projects/libxml2/bp.cmake 2013-07-31 19:32:46 UTC (rev 12456)
@@ -0,0 +1,89 @@
+# libxml2/bp.cmake
+# This file should be included directly or indirectly from a top-level
+# CMakeLists.txt file to configure the build of libxml2.
+
+# Copyright (C) 2013 Alan W. Irwin
+
+# This file is free software; you can redistribute it and/or
+# modify it under the terms of the GNU Lesser General Public
+# License as published by the Free Software Foundation; either
+# version 2.1 of the License, or (at your option) any later version.
+
+# This file is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+# Lesser General Public License for more details.
+
+# You should have received a copy of the GNU Lesser General Public
+# License along with this file; if not, write to the Free Software
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
+
+# The top-level CMakeLists.txt file that includes this file should
+# have run "include(ExternalProject)" and set EP_BASE variable (and
+# corresponding directory property) as well as various BP variables
+# used below that configure how the External_Project functions
+# operate.
+
+# Protect against configuring a build twice in one CMake call
+if(libxml2_configured)
+ return()
+endif(libxml2_configured)
+set(libxml2_configured ON)
+
+# List of dependencies (most of which are build tools) which should be
+# ignored.
+set(BP_ignored_dependencies_LIST pkg-config;bison;flex;python2-devel;libXft)
+
+set(libxml2_dependencies_LIST )
+# Remove dependencies that should be ignored.
+if(libxml2_dependencies_LIST)
+ list(REMOVE_ITEM libxml2_dependencies_LIST ${BP_ignored_dependencies_LIST})
+endif(libxml2_dependencies_LIST)
+
+set(libxml2_dependencies_targets)
+foreach(build_configuration ${libxml2_dependencies_LIST})
+ if(EXISTS ${CMAKE_SOURCE_DIR}/${build_configuration}/bp.cmake)
+ include(${build_configuration}/bp.cmake)
+ list(APPEND libxml2_dependencies_targets build_${build_configuration})
+ else(EXISTS ${CMAKE_SOURCE_DIR}/${build_configuration}/bp.cmake)
+ message(STATUS "Warning: A build_configuration for ${build_configuration} does not exist so it is assumed this dependency of libxml2 has been installed another way.")
+ endif(EXISTS ${CMAKE_SOURCE_DIR}/${build_configuration}/bp.cmake)
+endforeach(build_configuration ${libxml2_dependences_LIST})
+
+# This can be safely done only after above includes.
+set(BP_PACKAGE libxml2)
+
+# Data that is related to downloads.
+set(${BP_PACKAGE}_URL http://xmlsoft.org/sources/libxml2-2.9.1.tar.gz)
+set(${BP_PACKAGE}_DOWNLOAD_HASH_TYPE MD5)
+set(${BP_PACKAGE}_DOWNLOAD_HASH 9c0cfef285d5c4a5c80d00904ddab380)
+
+# Data that is related to the PATH that must be used.
+if(MSYS_PLATFORM)
+ #set(BP_PATH_NODLL "${BP_PATH}")
+ #set(BP_PATH "${EP_BASE}/Build/build_${BP_PACKAGE}/dll;${BP_PATH_NODLL}")
+ determine_msys_path(BP_PATH "${BP_PATH}")
+ # Must have all elements of env command in MSYS platform form
+ determine_msys_path(source_PATH "${EP_BASE}/Source/build_${BP_PACKAGE}")
+ set(${BP_PACKAGE}_SET_CFLAGS "CFLAGS=$ENV{CFLAGS}")
+else(MSYS_PLATFORM)
+ set(source_PATH "${EP_BASE}/Source/build_${BP_PACKAGE}")
+ set(${BP_PACKAGE}_SET_CFLAGS "CFLAGS=$ENV{CFLAGS}")
+endif(MSYS_PLATFORM)
+#message(STATUS "modified BP_PATH for ${BP_PACKAGE} = ${BP_PATH}")
+
+ExternalProject_Add(
+ build_${BP_PACKAGE}
+ DEPENDS ${${BP_PACKAGE}_dependencies_targets}
+ URL ${${BP_PACKAGE}_URL}
+ URL_HASH ${${BP_PACKAGE}_DOWNLOAD_HASH_TYPE}=${${BP_PACKAGE}_DOWNLOAD_HASH}
+ CONFIGURE_COMMAND ${ENV_EXECUTABLE} PATH=${BP_PATH} ${${BP_PACKAGE}_SET_CFLAGS} ${source_PATH}/${BP_CONFIGURE_COMMAND}
+ BUILD_COMMAND ${ENV_EXECUTABLE} PATH=${BP_PATH} ${BP_PARALLEL_MAKE_COMMAND} PYTHON_SITE_PACKAGES=${BP_CMAKE_INSTALL_PREFIX}/lib/python${PYTHON_VERSION}/site-packages
+ BUILD_IN_SOURCE OFF
+ INSTALL_COMMAND ${ENV_EXECUTABLE} PATH=${BP_PATH} ${BP_PARALLEL_MAKE_COMMAND} PYTHON_SITE_PACKAGES=${BP_CMAKE_INSTALL_PREFIX}/lib/python${PYTHON_VERSION}/site-packages install
+ )
+
+list(APPEND build_target_LIST build_${BP_PACKAGE})
+# Restore BP_PATH to original state.
+set(BP_PATH "${BP_ORIGINAL_NATIVE_PATH}")
+#message(STATUS "${BP_PACKAGE} restored original BP_PATH = ${BP_PATH}")
Added: trunk/cmake/build_projects/libxslt/bp.cmake
===================================================================
--- trunk/cmake/build_projects/libxslt/bp.cmake (rev 0)
+++ trunk/cmake/build_projects/libxslt/bp.cmake 2013-07-31 19:32:46 UTC (rev 12456)
@@ -0,0 +1,89 @@
+# libxslt/bp.cmake
+# This file should be included directly or indirectly from a top-level
+# CMakeLists.txt file to configure the build of libxslt.
+
+# Copyright (C) 2013 Alan W. Irwin
+
+# This file is free software; you can redistribute it and/or
+# modify it under the terms of the GNU Lesser General Public
+# License as published by the Free Software Foundation; either
+# version 2.1 of the License, or (at your option) any later version.
+
+# This file is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+# Lesser General Public License for more details.
+
+# You should have received a copy of the GNU Lesser General Public
+# License along with this file; if not, write to the Free Software
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
+
+# The top-level CMakeLists.txt file that includes this file should
+# have run "include(ExternalProject)" and set EP_BASE variable (and
+# corresponding directory property) as well as various BP variables
+# used below that configure how the External_Project functions
+# operate.
+
+# Protect against configuring a build twice in one CMake call
+if(libxslt_configured)
+ return()
+endif(libxslt_configured)
+set(libxslt_configured ON)
+
+# List of dependencies (most of which are build tools) which should be
+# ignored.
+set(BP_ignored_dependencies_LIST pkg-config;bison;flex;python2-devel;libXft)
+
+set(libxslt_dependencies_LIST libxml2)
+# Remove dependencies that should be ignored.
+if(libxslt_dependencies_LIST)
+ list(REMOVE_ITEM libxslt_dependencies_LIST ${BP_ignored_dependencies_LIST})
+endif(libxslt_dependencies_LIST)
+
+set(libxslt_dependencies_targets)
+foreach(build_configuration ${libxslt_dependencies_LIST})
+ if(EXISTS ${CMAKE_SOURCE_DIR}/${build_configuration}/bp.cmake)
+ include(${build_configuration}/bp.cmake)
+ list(APPEND libxslt_dependencies_targets build_${build_configuration})
+ else(EXISTS ${CMAKE_SOURCE_DIR}/${build_configuration}/bp.cmake)
+ message(STATUS "Warning: A build_configuration for ${build_configuration} does not exist so it is assumed this dependency of libxslt has been installed another way.")
+ endif(EXISTS ${CMAKE_SOURCE_DIR}/${build_configuration}/bp.cmake)
+endforeach(build_configuration ${libxslt_dependences_LIST})
+
+# This can be safely done only after above includes.
+set(BP_PACKAGE libxslt)
+
+# Data that is related to downloads.
+set(${BP_PACKAGE}_URL http://xmlsoft.org/sources/libxslt-1.1.28.tar.gz)
+set(${BP_PACKAGE}_DOWNLOAD_HASH_TYPE MD5)
+set(${BP_PACKAGE}_DOWNLOAD_HASH 9667bf6f9310b957254fdcf6596600b7)
+
+# Data that is related to the PATH that must be used.
+if(MSYS_PLATFORM)
+ #set(BP_PATH_NODLL "${BP_PATH}")
+ #set(BP_PATH "${EP_BASE}/Build/build_${BP_PACKAGE}/dll;${BP_PATH_NODLL}")
+ determine_msys_path(BP_PATH "${BP_PATH}")
+ # Must have all elements of env command in MSYS platform form
+ determine_msys_path(source_PATH "${EP_BASE}/Source/build_${BP_PACKAGE}")
+ set(${BP_PACKAGE}_SET_CFLAGS "CFLAGS=$ENV{CFLAGS}")
+else(MSYS_PLATFORM)
+ set(source_PATH "${EP_BASE}/Source/build_${BP_PACKAGE}")
+ set(${BP_PACKAGE}_SET_CFLAGS "CFLAGS=$ENV{CFLAGS}")
+endif(MSYS_PLATFORM)
+#message(STATUS "modified BP_PATH for ${BP_PACKAGE} = ${BP_PATH}")
+
+ExternalProject_Add(
+ build_${BP_PACKAGE}
+ DEPENDS ${${BP_PACKAGE}_dependencies_targets}
+ URL ${${BP_PACKAGE}_URL}
+ URL_HASH ${${BP_PACKAGE}_DOWNLOAD_HASH_TYPE}=${${BP_PACKAGE}_DOWNLOAD_HASH}
+ CONFIGURE_COMMAND ${ENV_EXECUTABLE} PATH=${BP_PATH} ${${BP_PACKAGE}_SET_CFLAGS} ${source_PATH}/${BP_CONFIGURE_COMMAND}
+ BUILD_COMMAND ${ENV_EXECUTABLE} PATH=${BP_PATH} ${BP_PARALLEL_MAKE_COMMAND}
+ BUILD_IN_SOURCE OFF
+ INSTALL_COMMAND ${ENV_EXECUTABLE} PATH=${BP_PATH} ${BP_PARALLEL_MAKE_COMMAND} install
+ )
+
+list(APPEND build_target_LIST build_${BP_PACKAGE})
+# Restore BP_PATH to original state.
+set(BP_PATH "${BP_ORIGINAL_NATIVE_PATH}")
+#message(STATUS "${BP_PACKAGE} restored original BP_PATH = ${BP_PATH}")
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|