|
From: <ai...@us...> - 2013-12-01 01:06:01
|
Revision: 12785
http://sourceforge.net/p/plplot/code/12785
Author: airwin
Date: 2013-12-01 01:05:55 +0000 (Sun, 01 Dec 2013)
Log Message:
-----------
Initial commit of xmlcatalog-wrapper configuration which was
inadvertently not added to the svn repository.
Added Paths:
-----------
trunk/cmake/epa_build/xmlcatalog-wrapper/
trunk/cmake/epa_build/xmlcatalog-wrapper/CMakeLists.txt
trunk/cmake/epa_build/xmlcatalog-wrapper/bp.cmake
trunk/cmake/epa_build/xmlcatalog-wrapper/filter_arguments.cmake
trunk/cmake/epa_build/xmlcatalog-wrapper/xmlcatalog-wrapper.sh.in
Added: trunk/cmake/epa_build/xmlcatalog-wrapper/CMakeLists.txt
===================================================================
--- trunk/cmake/epa_build/xmlcatalog-wrapper/CMakeLists.txt (rev 0)
+++ trunk/cmake/epa_build/xmlcatalog-wrapper/CMakeLists.txt 2013-12-01 01:05:55 UTC (rev 12785)
@@ -0,0 +1,60 @@
+# Top-level CMakeLists.txt for the CMake-based build system
+# of the xmlcatalog-wrapper software.
+
+# 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 Library General Public License as published
+# by the Free Software Foundation; version 2 of the License.
+#
+# 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 Library General Public License for more details.
+#
+# You should have received a copy of the GNU Library 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
+
+# This project is one method of beating the argument mangling issue
+# for xmlcatalog when xmlcatalog is run directly from a shell (such
+# as bash.exe) which is linked to the MSYS runtime.
+project(xmlcatalog-wrapper NONE)
+
+message(STATUS "CMake version = ${CMAKE_VERSION}")
+message(STATUS "CMAKE_SYSTEM_NAME = ${CMAKE_SYSTEM_NAME}")
+
+cmake_minimum_required(VERSION 2.8.10.2 FATAL_ERROR)
+
+# Do nothing unless WIN32 AND NOT CYGWIN
+# Jury is still out whether this is required for Cygwin, but I
+# presume not until proven otherwise.
+
+if(WIN32 AND NOT CYGWIN)
+ # Configure xmlcatalog-wrapper.sh.in to xmlcatalog and install it.
+ # The xmlcatalog name of the configured script does not clash with
+ # the name of the executable xmlcatalog.exe on Windows platforms and
+ # will be executed in preference to xmlcatalog.exe whenever an
+ # autotools configure script or other shell environment runs the
+ # command "xmlcatalog".
+ set(XMLCATALOG_EXECUTABLE ${CMAKE_INSTALL_PREFIX}/bin/xmlcatalog.exe)
+ set(FILTER_ARGUMENTS_SCRIPT_LOCATION ${CMAKE_INSTALL_PREFIX}/share/xmlcatalog-wrapper/filter_arguments.cmake)
+ configure_file(
+ ${CMAKE_SOURCE_DIR}/xmlcatalog-wrapper.sh.in
+ ${CMAKE_BINARY_DIR}/xmlcatalog
+ @ONLY
+ )
+
+ # Use relative (to CMAKE_INSTALL_PREFIX) installation locations
+ # which must be consistent with the above XMLCATALOG_EXECUTABLE
+ # and FILTER_ARGUMENTS_SCRIPT_LOCATION variables.
+ install(
+ PROGRAMS ${CMAKE_BINARY_DIR}/xmlcatalog
+ DESTINATION bin
+ )
+ install(
+ FILES ${CMAKE_SOURCE_DIR}/filter_arguments.cmake
+ DESTINATION share/xmlcatalog-wrapper
+ )
+
+endif(WIN32 AND NOT CYGWIN)
Property changes on: trunk/cmake/epa_build/xmlcatalog-wrapper/CMakeLists.txt
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/cmake/epa_build/xmlcatalog-wrapper/bp.cmake
===================================================================
--- trunk/cmake/epa_build/xmlcatalog-wrapper/bp.cmake (rev 0)
+++ trunk/cmake/epa_build/xmlcatalog-wrapper/bp.cmake 2013-12-01 01:05:55 UTC (rev 12785)
@@ -0,0 +1,88 @@
+# xmlcatalog-wrapper/bp.cmake
+# This file should be included directly or indirectly from a top-level
+# CMakeLists.txt file to configure the build of xmlcatalog-wrapper.
+
+# 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(xmlcatalog-wrapper_configured)
+ return()
+endif(xmlcatalog-wrapper_configured)
+set(xmlcatalog-wrapper_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 ${extra_ignored_dependencies_list})
+
+set(xmlcatalog-wrapper_dependencies_LIST)
+# Remove dependencies that should be ignored.
+if(xmlcatalog-wrapper_dependencies_LIST)
+ list(REMOVE_ITEM xmlcatalog-wrapper_dependencies_LIST ${BP_ignored_dependencies_LIST})
+endif(xmlcatalog-wrapper_dependencies_LIST)
+
+set(xmlcatalog-wrapper_dependencies_targets)
+foreach(build_configuration ${xmlcatalog-wrapper_dependencies_LIST})
+ if(EXISTS ${CMAKE_SOURCE_DIR}/${build_configuration}/bp.cmake)
+ include(${build_configuration}/bp.cmake)
+ list(APPEND xmlcatalog-wrapper_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 xmlcatalog-wrapper has been installed another way.")
+ endif(EXISTS ${CMAKE_SOURCE_DIR}/${build_configuration}/bp.cmake)
+endforeach(build_configuration ${xmlcatalog-wrapper_dependences_LIST})
+
+# This can be safely done only after above includes.
+set(BP_PACKAGE xmlcatalog-wrapper)
+
+# Data that is related to downloads.
+# This directory is the source directory
+set(${BP_PACKAGE}_URL ${CMAKE_SOURCE_DIR}/xmlcatalog-wrapper)
+
+# 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_CMAKE_COMMAND} ${EP_BASE}/Source/build_${BP_PACKAGE}
+ BUILD_COMMAND ${ENV_EXECUTABLE} PATH=${BP_PATH} ${BP_PARALLEL_BUILD_COMMAND}
+ BUILD_IN_SOURCE OFF
+ INSTALL_COMMAND ${ENV_EXECUTABLE} PATH=${BP_PATH} ${BP_PARALLEL_BUILD_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}")
Added: trunk/cmake/epa_build/xmlcatalog-wrapper/filter_arguments.cmake
===================================================================
--- trunk/cmake/epa_build/xmlcatalog-wrapper/filter_arguments.cmake (rev 0)
+++ trunk/cmake/epa_build/xmlcatalog-wrapper/filter_arguments.cmake 2013-12-01 01:05:55 UTC (rev 12785)
@@ -0,0 +1,8 @@
+execute_process(
+ COMMAND ${executable} ${argument_list}
+ RESULT_VARIABLE return_code
+ )
+
+if(NOT return_code EQUAL 0)
+ message(FATAL_ERROR "${executable} returned return_code = ${return_code}")
+endif(NOT return_code EQUAL 0)
Added: trunk/cmake/epa_build/xmlcatalog-wrapper/xmlcatalog-wrapper.sh.in
===================================================================
--- trunk/cmake/epa_build/xmlcatalog-wrapper/xmlcatalog-wrapper.sh.in (rev 0)
+++ trunk/cmake/epa_build/xmlcatalog-wrapper/xmlcatalog-wrapper.sh.in 2013-12-01 01:05:55 UTC (rev 12785)
@@ -0,0 +1,5 @@
+#!/bin/bash
+# Prepare bash argument_list variable as a semicolon-separated CMake list
+# of the arguments to this script.
+IFS=';'
+cmake -Dexecutable:FILEPATH=@XMLCATALOG_EXECUTABLE@ -Dargument_list:STRING="$*" -P @FILTER_ARGUMENTS_SCRIPT_LOCATION@
\ No newline at end of file
Property changes on: trunk/cmake/epa_build/xmlcatalog-wrapper/xmlcatalog-wrapper.sh.in
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <ai...@us...> - 2013-12-01 02:04:21
|
Revision: 12787
http://sourceforge.net/p/plplot/code/12787
Author: airwin
Date: 2013-12-01 02:04:10 +0000 (Sun, 01 Dec 2013)
Log Message:
-----------
Replace build_projects and BUILD_PROJECTS everywhere with epa_build
and EPA_BUILD.
Modified Paths:
--------------
trunk/cmake/epa_build/CMakeLists.txt
trunk/cmake/epa_build/README
trunk/cmake/epa_build/gtk_transform.py
trunk/cmake/epa_build/plplot/bp.cmake
trunk/cmake/epa_build/setup/setup_linux
Modified: trunk/cmake/epa_build/CMakeLists.txt
===================================================================
--- trunk/cmake/epa_build/CMakeLists.txt 2013-12-01 02:01:49 UTC (rev 12786)
+++ trunk/cmake/epa_build/CMakeLists.txt 2013-12-01 02:04:10 UTC (rev 12787)
@@ -18,7 +18,7 @@
# License along with this file; if not, write to the Free Software
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
-project(build_projects NONE)
+project(epa_build NONE)
message(STATUS "CMake version = ${CMAKE_VERSION}")
message(STATUS "CMAKE_SYSTEM = ${CMAKE_SYSTEM}")
@@ -27,11 +27,11 @@
cmake_minimum_required(VERSION 2.8.11.2 FATAL_ERROR)
-set(EP_BASE ${CMAKE_BINARY_DIR}/build_projects)
+set(EP_BASE ${CMAKE_BINARY_DIR}/epa_build)
message(STATUS "EP_BASE = ${EP_BASE}")
set_directory_properties(PROPERTIES EP_BASE ${EP_BASE})
-# Set build_projects variables to control builds in general
+# Set epa_build variables to control builds in general
# Test whether there is access to the MSYS platform on the PATH. Note
# this is a different question than whether you are using the "MSYS
@@ -58,14 +58,14 @@
message(STATUS "CYGWIN = ${CYGWIN}")
if(CYGWIN)
- message(FATAL_ERROR "build_projects does not work correctly on the Cygwin platform. Use the MinGW compiler and MSYS platform instead.")
+ message(FATAL_ERROR "epa_build does not work correctly on the Cygwin platform. Use the MinGW compiler and MSYS platform instead.")
endif(CYGWIN)
if(WIN32 AND NOT MSYS_PLATFORM)
- message(FATAL_ERROR "build_projects does not work correctly on Windows without the MSYS platform. Install the MSYS platform (perhaps without sh.exe depending on CMake generator) on Windows.")
+ message(FATAL_ERROR "epa_build does not work correctly on Windows without the MSYS platform. Install the MSYS platform (perhaps without sh.exe depending on CMake generator) on Windows.")
endif(WIN32 AND NOT MSYS_PLATFORM)
-# List of executables required by build_projects CMake logic.
+# List of executables required by epa_build CMake logic.
set(executables_LIST
# ExternalProject workarounds
touch
@@ -77,7 +77,7 @@
patch
# General
env
- # Not specifically required by build_projects (yet), but some
+ # Not specifically required by epa_build (yet), but some
# individual project configurations will not work unless this is
# available so might as well check it here.
bash
@@ -96,7 +96,7 @@
if(MSYS_PLATFORM)
message(STATUS "${executable} missing from your MSYS platform. Use mingw-get to install it.")
endif(MSYS_PLATFORM)
- message(FATAL_ERROR "${executable} must be on your PATH in order for build_projects to work correctly")
+ message(FATAL_ERROR "${executable} must be on your PATH in order for epa_build to work correctly")
endif(NOT ${EXECUTABLE}_EXECUTABLE)
endforeach(executable ${executables_LIST})
@@ -242,8 +242,8 @@
message(STATUS "BP_PARALLEL_CTEST_COMMAND = ${BP_PARALLEL_CTEST_COMMAND}")
# Put ${CMAKE_INSTALL_PREFIX}/bin on the PATH as well for those cases
-# where some executable built and installed by build_projects needs
-# to be found by another project being configured by build_projects.
+# where some executable built and installed by epa_build needs
+# to be found by another project being configured by epa_build.
if(MSYS_PLATFORM)
set(BP_ORIGINAL_NATIVE_PATH "$ENV{PATH};${CMAKE_INSTALL_PREFIX}/bin")
else(MSYS_PLATFORM)
@@ -278,7 +278,7 @@
if(MSYS_PLATFORM)
message(STATUS "${executable} missing from your MSYS platform. If sh is missing, use a generator other than 'MinGW Makefiles'. If something else is missing use mingw-get to install it.")
endif(MSYS_PLATFORM)
- message(FATAL_ERROR "${executable} must be on your PATH in order for build_projects to work correctly")
+ message(FATAL_ERROR "${executable} must be on your PATH in order for epa_build to work correctly")
endif(NOT ${EXECUTABLE}_EXECUTABLE)
endforeach(executable ${executables_LIST})
Modified: trunk/cmake/epa_build/README
===================================================================
--- trunk/cmake/epa_build/README 2013-12-01 02:01:49 UTC (rev 12786)
+++ trunk/cmake/epa_build/README 2013-12-01 02:04:10 UTC (rev 12787)
@@ -96,7 +96,7 @@
1. Linux
Note that setup_linux sets up all the important environment variables you
-need including GENERATOR_STRING, INSTALL_PREFIX, and BUILD_PROJECTS_SOURCE_PATH.
+need including GENERATOR_STRING, INSTALL_PREFIX, and EPA_BUILD_SOURCE_PATH.
A. [OPTIONAL] build necessary additional buildtools whose versions you
prefer compared to the versions available on your Linux distro.
@@ -108,7 +108,7 @@
rm -rf <Build tree prefix>/build_dir-linux_buildtools/* ${INSTALL_PREFIX}_buildtools
cd <Build tree prefix>/build_dir-linux_buildtools
-cmake -DCMAKE_VERBOSE_MAKEFILE=ON -G"$GENERATOR_STRING" -DCMAKE_INSTALL_PREFIX:PATH=${INSTALL_PREFIX}_buildtools -DBUILD_THE_BUILDTOOLS=ON $BUILD_PROJECTS_SOURCE_PATH >& cmake.out
+cmake -DCMAKE_VERBOSE_MAKEFILE=ON -G"$GENERATOR_STRING" -DCMAKE_INSTALL_PREFIX:PATH=${INSTALL_PREFIX}_buildtools -DBUILD_THE_BUILDTOOLS=ON $EPA_BUILD_SOURCE_PATH >& cmake.out
# Check cmake.out for any errors
less cmake.out
@@ -135,7 +135,7 @@
rm -rf <Build tree prefix>/build_dir-linux/* ${INSTALL_PREFIX}
cd <Build tree prefix>/build_dir-linux
-cmake -DCMAKE_VERBOSE_MAKEFILE=ON -G"$GENERATOR_STRING" -DCMAKE_INSTALL_PREFIX:PATH=${INSTALL_PREFIX} $BUILD_PROJECTS_SOURCE_PATH >& cmake.out
+cmake -DCMAKE_VERBOSE_MAKEFILE=ON -G"$GENERATOR_STRING" -DCMAKE_INSTALL_PREFIX:PATH=${INSTALL_PREFIX} $EPA_BUILD_SOURCE_PATH >& cmake.out
# Check cmake.out for any errors
less cmake.out
Modified: trunk/cmake/epa_build/gtk_transform.py
===================================================================
--- trunk/cmake/epa_build/gtk_transform.py 2013-12-01 02:01:49 UTC (rev 12786)
+++ trunk/cmake/epa_build/gtk_transform.py 2013-12-01 02:04:10 UTC (rev 12787)
@@ -2,7 +2,7 @@
# Read gtk jhbuild xml module that has been produced by
# gtk_xml_recursive_process.py from stdin and transform it into data
-# required for build_projects using the ElementTree XML API.
+# required for epa_build using the ElementTree XML API.
# Copyright (C) 2013 Alan W. Irwin
Modified: trunk/cmake/epa_build/plplot/bp.cmake
===================================================================
--- trunk/cmake/epa_build/plplot/bp.cmake 2013-12-01 02:01:49 UTC (rev 12786)
+++ trunk/cmake/epa_build/plplot/bp.cmake 2013-12-01 02:04:10 UTC (rev 12787)
@@ -91,12 +91,12 @@
#endif(PREFER_DOWNLOAD)
# Assumption that the top-level local PLplot source tree is two directories
-# up from the present top-level directory for build_projects.
-# This assumption is correct if you are accessing build_projects as
+# up from the present top-level directory for epa_build.
+# This assumption is correct if you are accessing epa_build as
# a subset of the PLplot source tree so that its location is in
-# cmake/build_projects within that source tree.
+# cmake/epa_build within that source tree.
# But it is not the case if you have independently
-# checked out just the build_projects subset of the normal PLplot source
+# checked out just the epa_build subset of the normal PLplot source
# tree so check that the result really is a plplot source tree.
get_filename_component(PLPLOT_LOCAL_SOURCE_DIR ${CMAKE_SOURCE_DIR} PATH)
get_filename_component(PLPLOT_LOCAL_SOURCE_DIR ${PLPLOT_LOCAL_SOURCE_DIR} PATH)
@@ -106,7 +106,7 @@
)
if(NOT IS_PLPLOT_SOURCE_TREE)
- message(FATAL_ERROR "build_projects not located in cmake/build_projects in a PLplot source tree")
+ message(FATAL_ERROR "epa_build not located in cmake/epa_build in a PLplot source tree")
endif(NOT IS_PLPLOT_SOURCE_TREE)
set(tags "" "_lite")
Modified: trunk/cmake/epa_build/setup/setup_linux
===================================================================
--- trunk/cmake/epa_build/setup/setup_linux 2013-12-01 02:01:49 UTC (rev 12786)
+++ trunk/cmake/epa_build/setup/setup_linux 2013-12-01 02:04:10 UTC (rev 12787)
@@ -7,7 +7,7 @@
export INSTALL_PREFIX=/home/wine/newstart/build_script/install-linux
-export BUILD_PROJECTS_SOURCE_PATH=/home/software/plplot_svn/HEAD/plplot_allura/cmake/build_projects
+export EPA_BUILD_SOURCE_PATH=/home/software/plplot_svn/HEAD/plplot_allura/cmake/epa_build
# gcc, g++, and gfortran flags you might want to tailor to different values.
export CFLAGS='-O3 -fvisibility=hidden -Wuninitialized'
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <ai...@us...> - 2013-12-01 08:18:37
|
Revision: 12790
http://sourceforge.net/p/plplot/code/12790
Author: airwin
Date: 2013-12-01 08:18:33 +0000 (Sun, 01 Dec 2013)
Log Message:
-----------
Propagate CXXFLAGS and drop -fvisibility=hidden from both the CFLAGS
and CXXFLAGS environment variables for the automatically configured
build packages. This change is made because some of the software
packages whose builds are automatically configured by the procedure
described in README.developers) do not have gcc visibility support so
it is easiest for now (until most do have visibility support) to drop
that possibility for all of these packages.
Modified Paths:
--------------
trunk/cmake/epa_build/cairo/bp.cmake
trunk/cmake/epa_build/fontconfig/bp.cmake
trunk/cmake/epa_build/glib/bp.cmake
trunk/cmake/epa_build/gobject-introspection/bp.cmake
trunk/cmake/epa_build/gperf/bp.cmake
trunk/cmake/epa_build/gtk-doc/bp.cmake
trunk/cmake/epa_build/harfbuzz/bp.cmake
trunk/cmake/epa_build/intltool/bp.cmake
trunk/cmake/epa_build/itstool/bp.cmake
trunk/cmake/epa_build/libffi/bp.cmake
trunk/cmake/epa_build/libpcre/bp.cmake
trunk/cmake/epa_build/libxml2/bp.cmake
trunk/cmake/epa_build/libxslt/bp.cmake
trunk/cmake/epa_build/pango/bp.cmake
trunk/cmake/epa_build/pixman/bp.cmake
trunk/cmake/epa_build/swig/bp.cmake
trunk/cmake/epa_build/template.bp.in
trunk/cmake/epa_build/yelp-tools/bp.cmake
trunk/cmake/epa_build/yelp-xsl/bp.cmake
Modified: trunk/cmake/epa_build/cairo/bp.cmake
===================================================================
--- trunk/cmake/epa_build/cairo/bp.cmake 2013-12-01 08:09:08 UTC (rev 12789)
+++ trunk/cmake/epa_build/cairo/bp.cmake 2013-12-01 08:18:33 UTC (rev 12790)
@@ -79,12 +79,20 @@
endif(MSYS_PLATFORM)
#message(STATUS "modified BP_PATH for ${BP_PACKAGE} = ${BP_PATH}")
+set(${BP_PACKAGE}_SET_CXXFLAGS "CXXFLAGS=$ENV{CXXFLAGS}")
+
+# Drop -fvisibility=hidden since that option does not work for a
+# number of software packages that are configured automatically using
+# this template.
+string(REGEX REPLACE "-fvisibility=hidden" "" ${BP_PACKAGE}_SET_CFLAGS "${${BP_PACKAGE}_SET_CFLAGS}")
+string(REGEX REPLACE "-fvisibility=hidden" "" ${BP_PACKAGE}_SET_CXXFLAGS "${${BP_PACKAGE}_SET_CXXFLAGS}")
+
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} --enable-xlib
+ CONFIGURE_COMMAND ${ENV_EXECUTABLE} PATH=${BP_PATH} ${${BP_PACKAGE}_SET_CFLAGS} ${${BP_PACKAGE}_SET_CXXFLAGS} ${source_PATH}/${BP_CONFIGURE_COMMAND} --enable-xlib
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
Modified: trunk/cmake/epa_build/fontconfig/bp.cmake
===================================================================
--- trunk/cmake/epa_build/fontconfig/bp.cmake 2013-12-01 08:09:08 UTC (rev 12789)
+++ trunk/cmake/epa_build/fontconfig/bp.cmake 2013-12-01 08:18:33 UTC (rev 12790)
@@ -79,12 +79,20 @@
endif(MSYS_PLATFORM)
#message(STATUS "modified BP_PATH for ${BP_PACKAGE} = ${BP_PATH}")
+set(${BP_PACKAGE}_SET_CXXFLAGS "CXXFLAGS=$ENV{CXXFLAGS}")
+
+# Drop -fvisibility=hidden since that option does not work for a
+# number of software packages that are configured automatically using
+# this template.
+string(REGEX REPLACE "-fvisibility=hidden" "" ${BP_PACKAGE}_SET_CFLAGS "${${BP_PACKAGE}_SET_CFLAGS}")
+string(REGEX REPLACE "-fvisibility=hidden" "" ${BP_PACKAGE}_SET_CXXFLAGS "${${BP_PACKAGE}_SET_CXXFLAGS}")
+
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} --disable-docs
+ CONFIGURE_COMMAND ${ENV_EXECUTABLE} PATH=${BP_PATH} ${${BP_PACKAGE}_SET_CFLAGS} ${${BP_PACKAGE}_SET_CXXFLAGS} ${source_PATH}/${BP_CONFIGURE_COMMAND} --disable-docs
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
Modified: trunk/cmake/epa_build/glib/bp.cmake
===================================================================
--- trunk/cmake/epa_build/glib/bp.cmake 2013-12-01 08:09:08 UTC (rev 12789)
+++ trunk/cmake/epa_build/glib/bp.cmake 2013-12-01 08:18:33 UTC (rev 12790)
@@ -79,12 +79,20 @@
endif(MSYS_PLATFORM)
#message(STATUS "modified BP_PATH for ${BP_PACKAGE} = ${BP_PATH}")
+set(${BP_PACKAGE}_SET_CXXFLAGS "CXXFLAGS=$ENV{CXXFLAGS}")
+
+# Drop -fvisibility=hidden since that option does not work for a
+# number of software packages that are configured automatically using
+# this template.
+string(REGEX REPLACE "-fvisibility=hidden" "" ${BP_PACKAGE}_SET_CFLAGS "${${BP_PACKAGE}_SET_CFLAGS}")
+string(REGEX REPLACE "-fvisibility=hidden" "" ${BP_PACKAGE}_SET_CXXFLAGS "${${BP_PACKAGE}_SET_CXXFLAGS}")
+
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} --enable-installed-tests
+ CONFIGURE_COMMAND ${ENV_EXECUTABLE} PATH=${BP_PATH} ${${BP_PACKAGE}_SET_CFLAGS} ${${BP_PACKAGE}_SET_CXXFLAGS} ${source_PATH}/${BP_CONFIGURE_COMMAND} --enable-installed-tests
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
Modified: trunk/cmake/epa_build/gobject-introspection/bp.cmake
===================================================================
--- trunk/cmake/epa_build/gobject-introspection/bp.cmake 2013-12-01 08:09:08 UTC (rev 12789)
+++ trunk/cmake/epa_build/gobject-introspection/bp.cmake 2013-12-01 08:18:33 UTC (rev 12790)
@@ -79,12 +79,20 @@
endif(MSYS_PLATFORM)
#message(STATUS "modified BP_PATH for ${BP_PACKAGE} = ${BP_PATH}")
+set(${BP_PACKAGE}_SET_CXXFLAGS "CXXFLAGS=$ENV{CXXFLAGS}")
+
+# Drop -fvisibility=hidden since that option does not work for a
+# number of software packages that are configured automatically using
+# this template.
+string(REGEX REPLACE "-fvisibility=hidden" "" ${BP_PACKAGE}_SET_CFLAGS "${${BP_PACKAGE}_SET_CFLAGS}")
+string(REGEX REPLACE "-fvisibility=hidden" "" ${BP_PACKAGE}_SET_CXXFLAGS "${${BP_PACKAGE}_SET_CXXFLAGS}")
+
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}
+ CONFIGURE_COMMAND ${ENV_EXECUTABLE} PATH=${BP_PATH} ${${BP_PACKAGE}_SET_CFLAGS} ${${BP_PACKAGE}_SET_CXXFLAGS} ${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
Modified: trunk/cmake/epa_build/gperf/bp.cmake
===================================================================
--- trunk/cmake/epa_build/gperf/bp.cmake 2013-12-01 08:09:08 UTC (rev 12789)
+++ trunk/cmake/epa_build/gperf/bp.cmake 2013-12-01 08:18:33 UTC (rev 12790)
@@ -79,12 +79,20 @@
endif(MSYS_PLATFORM)
#message(STATUS "modified BP_PATH for ${BP_PACKAGE} = ${BP_PATH}")
+set(${BP_PACKAGE}_SET_CXXFLAGS "CXXFLAGS=$ENV{CXXFLAGS}")
+
+# Drop -fvisibility=hidden since that option does not work for a
+# number of software packages that are configured automatically using
+# this template.
+string(REGEX REPLACE "-fvisibility=hidden" "" ${BP_PACKAGE}_SET_CFLAGS "${${BP_PACKAGE}_SET_CFLAGS}")
+string(REGEX REPLACE "-fvisibility=hidden" "" ${BP_PACKAGE}_SET_CXXFLAGS "${${BP_PACKAGE}_SET_CXXFLAGS}")
+
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}
+ CONFIGURE_COMMAND ${ENV_EXECUTABLE} PATH=${BP_PATH} ${${BP_PACKAGE}_SET_CFLAGS} ${${BP_PACKAGE}_SET_CXXFLAGS} ${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
Modified: trunk/cmake/epa_build/gtk-doc/bp.cmake
===================================================================
--- trunk/cmake/epa_build/gtk-doc/bp.cmake 2013-12-01 08:09:08 UTC (rev 12789)
+++ trunk/cmake/epa_build/gtk-doc/bp.cmake 2013-12-01 08:18:33 UTC (rev 12790)
@@ -79,12 +79,20 @@
endif(MSYS_PLATFORM)
#message(STATUS "modified BP_PATH for ${BP_PACKAGE} = ${BP_PATH}")
+set(${BP_PACKAGE}_SET_CXXFLAGS "CXXFLAGS=$ENV{CXXFLAGS}")
+
+# Drop -fvisibility=hidden since that option does not work for a
+# number of software packages that are configured automatically using
+# this template.
+string(REGEX REPLACE "-fvisibility=hidden" "" ${BP_PACKAGE}_SET_CFLAGS "${${BP_PACKAGE}_SET_CFLAGS}")
+string(REGEX REPLACE "-fvisibility=hidden" "" ${BP_PACKAGE}_SET_CXXFLAGS "${${BP_PACKAGE}_SET_CXXFLAGS}")
+
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} --with-xml-catalog=${CMAKE_INSTALL_PREFIX}/etc/xml/catalog
+ CONFIGURE_COMMAND ${ENV_EXECUTABLE} PATH=${BP_PATH} ${${BP_PACKAGE}_SET_CFLAGS} ${${BP_PACKAGE}_SET_CXXFLAGS} ${source_PATH}/${BP_CONFIGURE_COMMAND} --with-xml-catalog=${CMAKE_INSTALL_PREFIX}/etc/xml/catalog
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
Modified: trunk/cmake/epa_build/harfbuzz/bp.cmake
===================================================================
--- trunk/cmake/epa_build/harfbuzz/bp.cmake 2013-12-01 08:09:08 UTC (rev 12789)
+++ trunk/cmake/epa_build/harfbuzz/bp.cmake 2013-12-01 08:18:33 UTC (rev 12790)
@@ -79,12 +79,20 @@
endif(MSYS_PLATFORM)
#message(STATUS "modified BP_PATH for ${BP_PACKAGE} = ${BP_PATH}")
+set(${BP_PACKAGE}_SET_CXXFLAGS "CXXFLAGS=$ENV{CXXFLAGS}")
+
+# Drop -fvisibility=hidden since that option does not work for a
+# number of software packages that are configured automatically using
+# this template.
+string(REGEX REPLACE "-fvisibility=hidden" "" ${BP_PACKAGE}_SET_CFLAGS "${${BP_PACKAGE}_SET_CFLAGS}")
+string(REGEX REPLACE "-fvisibility=hidden" "" ${BP_PACKAGE}_SET_CXXFLAGS "${${BP_PACKAGE}_SET_CXXFLAGS}")
+
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}
+ CONFIGURE_COMMAND ${ENV_EXECUTABLE} PATH=${BP_PATH} ${${BP_PACKAGE}_SET_CFLAGS} ${${BP_PACKAGE}_SET_CXXFLAGS} ${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
Modified: trunk/cmake/epa_build/intltool/bp.cmake
===================================================================
--- trunk/cmake/epa_build/intltool/bp.cmake 2013-12-01 08:09:08 UTC (rev 12789)
+++ trunk/cmake/epa_build/intltool/bp.cmake 2013-12-01 08:18:33 UTC (rev 12790)
@@ -79,12 +79,20 @@
endif(MSYS_PLATFORM)
#message(STATUS "modified BP_PATH for ${BP_PACKAGE} = ${BP_PATH}")
+set(${BP_PACKAGE}_SET_CXXFLAGS "CXXFLAGS=$ENV{CXXFLAGS}")
+
+# Drop -fvisibility=hidden since that option does not work for a
+# number of software packages that are configured automatically using
+# this template.
+string(REGEX REPLACE "-fvisibility=hidden" "" ${BP_PACKAGE}_SET_CFLAGS "${${BP_PACKAGE}_SET_CFLAGS}")
+string(REGEX REPLACE "-fvisibility=hidden" "" ${BP_PACKAGE}_SET_CXXFLAGS "${${BP_PACKAGE}_SET_CXXFLAGS}")
+
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}
+ CONFIGURE_COMMAND ${ENV_EXECUTABLE} PATH=${BP_PATH} ${${BP_PACKAGE}_SET_CFLAGS} ${${BP_PACKAGE}_SET_CXXFLAGS} ${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
Modified: trunk/cmake/epa_build/itstool/bp.cmake
===================================================================
--- trunk/cmake/epa_build/itstool/bp.cmake 2013-12-01 08:09:08 UTC (rev 12789)
+++ trunk/cmake/epa_build/itstool/bp.cmake 2013-12-01 08:18:33 UTC (rev 12790)
@@ -80,13 +80,21 @@
endif(MSYS_PLATFORM)
#message(STATUS "modified BP_PATH for ${BP_PACKAGE} = ${BP_PATH}")
+set(${BP_PACKAGE}_SET_CXXFLAGS "CXXFLAGS=$ENV{CXXFLAGS}")
+
+# Drop -fvisibility=hidden since that option does not work for a
+# number of software packages that are configured automatically using
+# this template.
+string(REGEX REPLACE "-fvisibility=hidden" "" ${BP_PACKAGE}_SET_CFLAGS "${${BP_PACKAGE}_SET_CFLAGS}")
+string(REGEX REPLACE "-fvisibility=hidden" "" ${BP_PACKAGE}_SET_CXXFLAGS "${${BP_PACKAGE}_SET_CXXFLAGS}")
+
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}
PATCH_COMMAND ${PATCH_EXECUTABLE} -p1 < ${CMAKE_SOURCE_DIR}/itstool/${${BP_PACKAGE}_PATCH}
- CONFIGURE_COMMAND ${ENV_EXECUTABLE} PATH=${BP_PATH} ${${BP_PACKAGE}_SET_CFLAGS} ${source_PATH}/${BP_CONFIGURE_COMMAND}
+ CONFIGURE_COMMAND ${ENV_EXECUTABLE} PATH=${BP_PATH} ${${BP_PACKAGE}_SET_CFLAGS} ${${BP_PACKAGE}_SET_CXXFLAGS} ${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
Modified: trunk/cmake/epa_build/libffi/bp.cmake
===================================================================
--- trunk/cmake/epa_build/libffi/bp.cmake 2013-12-01 08:09:08 UTC (rev 12789)
+++ trunk/cmake/epa_build/libffi/bp.cmake 2013-12-01 08:18:33 UTC (rev 12790)
@@ -79,12 +79,20 @@
endif(MSYS_PLATFORM)
#message(STATUS "modified BP_PATH for ${BP_PACKAGE} = ${BP_PATH}")
+set(${BP_PACKAGE}_SET_CXXFLAGS "CXXFLAGS=$ENV{CXXFLAGS}")
+
+# Drop -fvisibility=hidden since that option does not work for a
+# number of software packages that are configured automatically using
+# this template.
+string(REGEX REPLACE "-fvisibility=hidden" "" ${BP_PACKAGE}_SET_CFLAGS "${${BP_PACKAGE}_SET_CFLAGS}")
+string(REGEX REPLACE "-fvisibility=hidden" "" ${BP_PACKAGE}_SET_CXXFLAGS "${${BP_PACKAGE}_SET_CXXFLAGS}")
+
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}
+ CONFIGURE_COMMAND ${ENV_EXECUTABLE} PATH=${BP_PATH} ${${BP_PACKAGE}_SET_CFLAGS} ${${BP_PACKAGE}_SET_CXXFLAGS} ${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
Modified: trunk/cmake/epa_build/libpcre/bp.cmake
===================================================================
--- trunk/cmake/epa_build/libpcre/bp.cmake 2013-12-01 08:09:08 UTC (rev 12789)
+++ trunk/cmake/epa_build/libpcre/bp.cmake 2013-12-01 08:18:33 UTC (rev 12790)
@@ -79,12 +79,20 @@
endif(MSYS_PLATFORM)
#message(STATUS "modified BP_PATH for ${BP_PACKAGE} = ${BP_PATH}")
+set(${BP_PACKAGE}_SET_CXXFLAGS "CXXFLAGS=$ENV{CXXFLAGS}")
+
+# Drop -fvisibility=hidden since that option does not work for a
+# number of software packages that are configured automatically using
+# this template.
+string(REGEX REPLACE "-fvisibility=hidden" "" ${BP_PACKAGE}_SET_CFLAGS "${${BP_PACKAGE}_SET_CFLAGS}")
+string(REGEX REPLACE "-fvisibility=hidden" "" ${BP_PACKAGE}_SET_CXXFLAGS "${${BP_PACKAGE}_SET_CXXFLAGS}")
+
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} --enable-unicode-properties --enable-pcre16 --enable-pcre32 --disable-static
+ CONFIGURE_COMMAND ${ENV_EXECUTABLE} PATH=${BP_PATH} ${${BP_PACKAGE}_SET_CFLAGS} ${${BP_PACKAGE}_SET_CXXFLAGS} ${source_PATH}/${BP_CONFIGURE_COMMAND} --enable-unicode-properties --enable-pcre16 --enable-pcre32 --disable-static
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
Modified: trunk/cmake/epa_build/libxml2/bp.cmake
===================================================================
--- trunk/cmake/epa_build/libxml2/bp.cmake 2013-12-01 08:09:08 UTC (rev 12789)
+++ trunk/cmake/epa_build/libxml2/bp.cmake 2013-12-01 08:18:33 UTC (rev 12790)
@@ -79,12 +79,20 @@
endif(MSYS_PLATFORM)
#message(STATUS "modified BP_PATH for ${BP_PACKAGE} = ${BP_PATH}")
+set(${BP_PACKAGE}_SET_CXXFLAGS "CXXFLAGS=$ENV{CXXFLAGS}")
+
+# Drop -fvisibility=hidden since that option does not work for a
+# number of software packages that are configured automatically using
+# this template.
+string(REGEX REPLACE "-fvisibility=hidden" "" ${BP_PACKAGE}_SET_CFLAGS "${${BP_PACKAGE}_SET_CFLAGS}")
+string(REGEX REPLACE "-fvisibility=hidden" "" ${BP_PACKAGE}_SET_CXXFLAGS "${${BP_PACKAGE}_SET_CXXFLAGS}")
+
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}
+ CONFIGURE_COMMAND ${ENV_EXECUTABLE} PATH=${BP_PATH} ${${BP_PACKAGE}_SET_CFLAGS} ${${BP_PACKAGE}_SET_CXXFLAGS} ${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
Modified: trunk/cmake/epa_build/libxslt/bp.cmake
===================================================================
--- trunk/cmake/epa_build/libxslt/bp.cmake 2013-12-01 08:09:08 UTC (rev 12789)
+++ trunk/cmake/epa_build/libxslt/bp.cmake 2013-12-01 08:18:33 UTC (rev 12790)
@@ -79,12 +79,20 @@
endif(MSYS_PLATFORM)
#message(STATUS "modified BP_PATH for ${BP_PACKAGE} = ${BP_PATH}")
+set(${BP_PACKAGE}_SET_CXXFLAGS "CXXFLAGS=$ENV{CXXFLAGS}")
+
+# Drop -fvisibility=hidden since that option does not work for a
+# number of software packages that are configured automatically using
+# this template.
+string(REGEX REPLACE "-fvisibility=hidden" "" ${BP_PACKAGE}_SET_CFLAGS "${${BP_PACKAGE}_SET_CFLAGS}")
+string(REGEX REPLACE "-fvisibility=hidden" "" ${BP_PACKAGE}_SET_CXXFLAGS "${${BP_PACKAGE}_SET_CXXFLAGS}")
+
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}
+ CONFIGURE_COMMAND ${ENV_EXECUTABLE} PATH=${BP_PATH} ${${BP_PACKAGE}_SET_CFLAGS} ${${BP_PACKAGE}_SET_CXXFLAGS} ${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
Modified: trunk/cmake/epa_build/pango/bp.cmake
===================================================================
--- trunk/cmake/epa_build/pango/bp.cmake 2013-12-01 08:09:08 UTC (rev 12789)
+++ trunk/cmake/epa_build/pango/bp.cmake 2013-12-01 08:18:33 UTC (rev 12790)
@@ -79,12 +79,20 @@
endif(MSYS_PLATFORM)
#message(STATUS "modified BP_PATH for ${BP_PACKAGE} = ${BP_PATH}")
+set(${BP_PACKAGE}_SET_CXXFLAGS "CXXFLAGS=$ENV{CXXFLAGS}")
+
+# Drop -fvisibility=hidden since that option does not work for a
+# number of software packages that are configured automatically using
+# this template.
+string(REGEX REPLACE "-fvisibility=hidden" "" ${BP_PACKAGE}_SET_CFLAGS "${${BP_PACKAGE}_SET_CFLAGS}")
+string(REGEX REPLACE "-fvisibility=hidden" "" ${BP_PACKAGE}_SET_CXXFLAGS "${${BP_PACKAGE}_SET_CXXFLAGS}")
+
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} --with-cairo --enable-installed-tests
+ CONFIGURE_COMMAND ${ENV_EXECUTABLE} PATH=${BP_PATH} ${${BP_PACKAGE}_SET_CFLAGS} ${${BP_PACKAGE}_SET_CXXFLAGS} ${source_PATH}/${BP_CONFIGURE_COMMAND} --with-cairo --enable-installed-tests
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
Modified: trunk/cmake/epa_build/pixman/bp.cmake
===================================================================
--- trunk/cmake/epa_build/pixman/bp.cmake 2013-12-01 08:09:08 UTC (rev 12789)
+++ trunk/cmake/epa_build/pixman/bp.cmake 2013-12-01 08:18:33 UTC (rev 12790)
@@ -79,12 +79,20 @@
endif(MSYS_PLATFORM)
#message(STATUS "modified BP_PATH for ${BP_PACKAGE} = ${BP_PATH}")
+set(${BP_PACKAGE}_SET_CXXFLAGS "CXXFLAGS=$ENV{CXXFLAGS}")
+
+# Drop -fvisibility=hidden since that option does not work for a
+# number of software packages that are configured automatically using
+# this template.
+string(REGEX REPLACE "-fvisibility=hidden" "" ${BP_PACKAGE}_SET_CFLAGS "${${BP_PACKAGE}_SET_CFLAGS}")
+string(REGEX REPLACE "-fvisibility=hidden" "" ${BP_PACKAGE}_SET_CXXFLAGS "${${BP_PACKAGE}_SET_CXXFLAGS}")
+
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} --disable-gtk
+ CONFIGURE_COMMAND ${ENV_EXECUTABLE} PATH=${BP_PATH} ${${BP_PACKAGE}_SET_CFLAGS} ${${BP_PACKAGE}_SET_CXXFLAGS} ${source_PATH}/${BP_CONFIGURE_COMMAND} --disable-gtk
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
Modified: trunk/cmake/epa_build/swig/bp.cmake
===================================================================
--- trunk/cmake/epa_build/swig/bp.cmake 2013-12-01 08:09:08 UTC (rev 12789)
+++ trunk/cmake/epa_build/swig/bp.cmake 2013-12-01 08:18:33 UTC (rev 12790)
@@ -79,12 +79,20 @@
endif(MSYS_PLATFORM)
#message(STATUS "modified BP_PATH for ${BP_PACKAGE} = ${BP_PATH}")
+set(${BP_PACKAGE}_SET_CXXFLAGS "CXXFLAGS=$ENV{CXXFLAGS}")
+
+# Drop -fvisibility=hidden since that option does not work for a
+# number of software packages that are configured automatically using
+# this template.
+string(REGEX REPLACE "-fvisibility=hidden" "" ${BP_PACKAGE}_SET_CFLAGS "${${BP_PACKAGE}_SET_CFLAGS}")
+string(REGEX REPLACE "-fvisibility=hidden" "" ${BP_PACKAGE}_SET_CXXFLAGS "${${BP_PACKAGE}_SET_CXXFLAGS}")
+
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} --with-pcre-prefix=${BP_CMAKE_INSTALL_PREFIX}
+ CONFIGURE_COMMAND ${ENV_EXECUTABLE} PATH=${BP_PATH} ${${BP_PACKAGE}_SET_CFLAGS} ${${BP_PACKAGE}_SET_CXXFLAGS} ${source_PATH}/${BP_CONFIGURE_COMMAND} --with-pcre-prefix=${BP_CMAKE_INSTALL_PREFIX}
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
Modified: trunk/cmake/epa_build/template.bp.in
===================================================================
--- trunk/cmake/epa_build/template.bp.in 2013-12-01 08:09:08 UTC (rev 12789)
+++ trunk/cmake/epa_build/template.bp.in 2013-12-01 08:18:33 UTC (rev 12790)
@@ -79,12 +79,20 @@
endif(MSYS_PLATFORM)
#message(STATUS "modified BP_PATH for ${BP_PACKAGE} = ${BP_PATH}")
+set(${BP_PACKAGE}_SET_CXXFLAGS "CXXFLAGS=$ENV{CXXFLAGS}")
+
+# Drop -fvisibility=hidden since that option does not work for a
+# number of software packages that are configured automatically using
+# this template.
+string(REGEX REPLACE "-fvisibility=hidden" "" ${BP_PACKAGE}_SET_CFLAGS "${${BP_PACKAGE}_SET_CFLAGS}")
+string(REGEX REPLACE "-fvisibility=hidden" "" ${BP_PACKAGE}_SET_CXXFLAGS "${${BP_PACKAGE}_SET_CXXFLAGS}")
+
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} @config_arguments@
+ CONFIGURE_COMMAND ${ENV_EXECUTABLE} PATH=${BP_PATH} ${${BP_PACKAGE}_SET_CFLAGS} ${${BP_PACKAGE}_SET_CXXFLAGS} ${source_PATH}/${BP_CONFIGURE_COMMAND} @config_arguments@
BUILD_COMMAND ${ENV_EXECUTABLE} PATH=${BP_PATH} ${@BUILD_COMMAND@} @make_arguments@
BUILD_IN_SOURCE @BUILD_IN_SOURCE@
INSTALL_COMMAND ${ENV_EXECUTABLE} PATH=${BP_PATH} ${@BUILD_COMMAND@} @make_arguments@ install
Modified: trunk/cmake/epa_build/yelp-tools/bp.cmake
===================================================================
--- trunk/cmake/epa_build/yelp-tools/bp.cmake 2013-12-01 08:09:08 UTC (rev 12789)
+++ trunk/cmake/epa_build/yelp-tools/bp.cmake 2013-12-01 08:18:33 UTC (rev 12790)
@@ -79,12 +79,20 @@
endif(MSYS_PLATFORM)
#message(STATUS "modified BP_PATH for ${BP_PACKAGE} = ${BP_PATH}")
+set(${BP_PACKAGE}_SET_CXXFLAGS "CXXFLAGS=$ENV{CXXFLAGS}")
+
+# Drop -fvisibility=hidden since that option does not work for a
+# number of software packages that are configured automatically using
+# this template.
+string(REGEX REPLACE "-fvisibility=hidden" "" ${BP_PACKAGE}_SET_CFLAGS "${${BP_PACKAGE}_SET_CFLAGS}")
+string(REGEX REPLACE "-fvisibility=hidden" "" ${BP_PACKAGE}_SET_CXXFLAGS "${${BP_PACKAGE}_SET_CXXFLAGS}")
+
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}
+ CONFIGURE_COMMAND ${ENV_EXECUTABLE} PATH=${BP_PATH} ${${BP_PACKAGE}_SET_CFLAGS} ${${BP_PACKAGE}_SET_CXXFLAGS} ${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
Modified: trunk/cmake/epa_build/yelp-xsl/bp.cmake
===================================================================
--- trunk/cmake/epa_build/yelp-xsl/bp.cmake 2013-12-01 08:09:08 UTC (rev 12789)
+++ trunk/cmake/epa_build/yelp-xsl/bp.cmake 2013-12-01 08:18:33 UTC (rev 12790)
@@ -79,12 +79,20 @@
endif(MSYS_PLATFORM)
#message(STATUS "modified BP_PATH for ${BP_PACKAGE} = ${BP_PATH}")
+set(${BP_PACKAGE}_SET_CXXFLAGS "CXXFLAGS=$ENV{CXXFLAGS}")
+
+# Drop -fvisibility=hidden since that option does not work for a
+# number of software packages that are configured automatically using
+# this template.
+string(REGEX REPLACE "-fvisibility=hidden" "" ${BP_PACKAGE}_SET_CFLAGS "${${BP_PACKAGE}_SET_CFLAGS}")
+string(REGEX REPLACE "-fvisibility=hidden" "" ${BP_PACKAGE}_SET_CXXFLAGS "${${BP_PACKAGE}_SET_CXXFLAGS}")
+
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}
+ CONFIGURE_COMMAND ${ENV_EXECUTABLE} PATH=${BP_PATH} ${${BP_PACKAGE}_SET_CFL...
[truncated message content] |
|
From: <ai...@us...> - 2013-12-01 22:58:55
|
Revision: 12793
http://sourceforge.net/p/plplot/code/12793
Author: airwin
Date: 2013-12-01 22:58:49 +0000 (Sun, 01 Dec 2013)
Log Message:
-----------
In preparation for renaming all the */bp.cmake files as
*/CMakeLists.txt files consistently rename the existing
*/CMakeLists.txt files (which are add-ons to the individual
software packages) everywhere they are used.
Tested by Alan W. Irwin <ai...@us...> on Linux by
building all the buildtools with epa_build using "make all" for the
-DBUILD_THE_BUILDTOOLS=ON case and by building plplot and all its
dependencies with epa_build using "make build_plplot".
N.B. note this testing does not test the MinGW/MSYS/Wine case where there is
a known issue with this renaming scheme that still has to be fixed
for the xmlcatalog-wrapper/bp.cmake (soon to be
xmlcatalog-wrapper/CMakeLists.txt) file.
Modified Paths:
--------------
trunk/cmake/epa_build/docbook-xml/bp.cmake
trunk/cmake/epa_build/docbook-xsl/bp.cmake
trunk/cmake/epa_build/iwidgets/bp.cmake
trunk/cmake/epa_build/libagg/bp.cmake
trunk/cmake/epa_build/libqhull/README.libqhull
trunk/cmake/epa_build/libqhull/bp.cmake
trunk/cmake/epa_build/ndiff/README.ndiff
trunk/cmake/epa_build/ndiff/bp.cmake
trunk/cmake/epa_build/shapelib/README
trunk/cmake/epa_build/shapelib/bp.cmake
Added Paths:
-----------
trunk/cmake/epa_build/docbook-xml/docbook-xml_CMakeLists.txt
trunk/cmake/epa_build/docbook-xsl/docbook-xsl_CMakeLists.txt
trunk/cmake/epa_build/iwidgets/iwidgets_CMakeLists.txt
trunk/cmake/epa_build/libagg/libagg_CMakeLists.txt
trunk/cmake/epa_build/libqhull/libqhull_CMakeLists.txt
trunk/cmake/epa_build/ndiff/ndiff_CMakeLists.txt
trunk/cmake/epa_build/shapelib/shapelib_CMakeLists.txt
trunk/cmake/epa_build/xmlcatalog-wrapper/xmlcatalog-wrapper_CMakeLists.txt
Removed Paths:
-------------
trunk/cmake/epa_build/docbook-xml/CMakeLists.txt
trunk/cmake/epa_build/docbook-xsl/CMakeLists.txt
trunk/cmake/epa_build/iwidgets/CMakeLists.txt
trunk/cmake/epa_build/libagg/CMakeLists.txt
trunk/cmake/epa_build/libqhull/CMakeLists.txt
trunk/cmake/epa_build/ndiff/CMakeLists.txt
trunk/cmake/epa_build/shapelib/CMakeLists.txt
trunk/cmake/epa_build/xmlcatalog-wrapper/CMakeLists.txt
Deleted: trunk/cmake/epa_build/docbook-xml/CMakeLists.txt
===================================================================
--- trunk/cmake/epa_build/docbook-xml/CMakeLists.txt 2013-12-01 08:27:41 UTC (rev 12792)
+++ trunk/cmake/epa_build/docbook-xml/CMakeLists.txt 2013-12-01 22:58:49 UTC (rev 12793)
@@ -1,178 +0,0 @@
-# Top-level CMakeLists.txt for the CMake-based build system
-# of the docbook-xml software.
-
-# 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 Library General Public License as published
-# by the Free Software Foundation; version 2 of the License.
-#
-# 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 Library General Public License for more details.
-#
-# You should have received a copy of the GNU Library 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
-
-project(docbook-xml NONE)
-
-message(STATUS "CMake version = ${CMAKE_VERSION}")
-message(STATUS "CMAKE_SYSTEM_NAME = ${CMAKE_SYSTEM_NAME}")
-
-cmake_minimum_required(VERSION 2.8.10.2 FATAL_ERROR)
-
-# CATALOG_CMAKE_INSTALL_PREFIX prepends a "/" to CMAKE_INSTALL_PREFIX if the
-# latter doesn't start with "/", (i.e, the drive letter
-# on Microsoft systems). This makes the URI file:/// form come out
-# right for catalog entries.
-if(CMAKE_INSTALL_PREFIX MATCHES "^[^/]")
- set(CATALOG_CMAKE_INSTALL_PREFIX /${CMAKE_INSTALL_PREFIX})
-else(CMAKE_INSTALL_PREFIX MATCHES "^[^/]")
- set(CATALOG_CMAKE_INSTALL_PREFIX ${CMAKE_INSTALL_PREFIX})
-endif(CMAKE_INSTALL_PREFIX MATCHES "^[^/]")
-message(STATUS "CMAKE_INSTALL_PREFIX=${CMAKE_INSTALL_PREFIX}")
-message(STATUS "CATALOG_CMAKE_INSTALL_PREFIX=${CATALOG_CMAKE_INSTALL_PREFIX}")
-
-# Define useful function.
-find_program(XMLCATALOG_EXECUTABLE xmlcatalog)
-function(install_xml_catalog arguments_LIST3 catalog)
- # Install an XML catalog using the information supplied in
- # arguments_LIST3, which is a list of arguments grouped by
- # threes where each group of three arguments correspond to
- # the three arguments of the "xmlcatalog --add" command.
-
- # Create the catalog if it does not exist.
- install(CODE "
-if(NOT EXISTS \"\$ENV{DESTDIR}\${CMAKE_INSTALL_PREFIX}/etc/xml/${catalog}\")
-message(STATUS \"Creating \${CMAKE_INSTALL_PREFIX}/etc/xml/${catalog}\")
-execute_process(COMMAND ${XMLCATALOG_EXECUTABLE} --noout
- --create
- \"\$ENV{DESTDIR}\${CMAKE_INSTALL_PREFIX}/etc/xml/${catalog}\")
-endif(NOT EXISTS \"\$ENV{DESTDIR}\${CMAKE_INSTALL_PREFIX}/etc/xml/${catalog}\")
-")
-
- list(LENGTH ${arguments_LIST3} narguments_LIST3)
- set(group_size 3)
- set(remove_indices 0 1 2)
- math(EXPR max_index "(${narguments_LIST3}/${group_size}) - 1")
- foreach(index RANGE 0 ${max_index})
- list(GET ${arguments_LIST3} 0 type)
- list(GET ${arguments_LIST3} 1 orig)
- list(GET ${arguments_LIST3} 2 replace)
- list(REMOVE_AT ${arguments_LIST3} ${remove_indices})
- install(CODE "
-message(STATUS \"Updating \${CMAKE_INSTALL_PREFIX}/etc/xml/${catalog}\")
-execute_process(COMMAND ${XMLCATALOG_EXECUTABLE} --noout
- --add \"${type}\" \"${orig}\" \"${replace}\"
- \"\$ENV{DESTDIR}\${CMAKE_INSTALL_PREFIX}/etc/xml/${catalog}\")
-"
- )
- endforeach(index RANGE 0 ${max_index})
-endfunction(install_xml_catalog)
-
-# Nothing to build. Just follow directions at
-# http://www.linuxfromscratch.org/blfs/view/svn/pst/DocBook.html to
-# install files that are in the source tree.
-
-# Install top-level source tree files.
-set(globs
- ${CMAKE_SOURCE_DIR}/docbook.cat
- ${CMAKE_SOURCE_DIR}/*.dtd
- ${CMAKE_SOURCE_DIR}/*.mod
- )
-# Make elements of path_list absolute PATH names.
-file(GLOB path_list
- ${globs}
- )
-# Add the ent subdirectory to path_list
-list(APPEND path_list ${CMAKE_SOURCE_DIR}/ent)
-
-find_program(INSTALL_EXECUTABLE install)
-find_program(CP_EXECUTABLE cp)
-
-install(CODE "
-message(STATUS \"Installing \${CMAKE_INSTALL_PREFIX}/share/xml/docbook/xml-dtd-4.5\")
-execute_process(
-COMMAND ${INSTALL_EXECUTABLE} -v -d -m755
-\"\$ENV{DESTDIR}\${CMAKE_INSTALL_PREFIX}/share/xml/docbook/xml-dtd-4.5\")
-"
- )
-
-install(CODE "
-execute_process(
-COMMAND ${CP_EXECUTABLE} -v -af ${path_list}
-\"\$ENV{DESTDIR}\${CMAKE_INSTALL_PREFIX}/share/xml/docbook/xml-dtd-4.5\")
-"
- )
-
-install(CODE "
-message(STATUS \"Installing \${CMAKE_INSTALL_PREFIX}/etc/xml\")
-execute_process(
-COMMAND ${INSTALL_EXECUTABLE} -v -d -m755
-\"\$ENV{DESTDIR}\${CMAKE_INSTALL_PREFIX}/etc/xml\")
-"
- )
-
-set(commands
-"public" "-//OASIS//DTD DocBook XML V4.5//EN" "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd"
-"public" "-//OASIS//DTD DocBook XML CALS Table Model V4.5//EN" "file://${CATALOG_CMAKE_INSTALL_PREFIX}/share/xml/docbook/xml-dtd-4.5/calstblx.dtd"
-"public" "-//OASIS//DTD XML Exchange Table Model 19990315//EN" "file://${CATALOG_CMAKE_INSTALL_PREFIX}/share/xml/docbook/xml-dtd-4.5/soextblx.dtd"
-"public" "-//OASIS//ELEMENTS DocBook XML Information Pool V4.5//EN" "file://${CATALOG_CMAKE_INSTALL_PREFIX}/share/xml/docbook/xml-dtd-4.5/dbpoolx.mod"
-"public" "-//OASIS//ELEMENTS DocBook XML Document Hierarchy V4.5//EN" "file://${CATALOG_CMAKE_INSTALL_PREFIX}/share/xml/docbook/xml-dtd-4.5/dbhierx.mod"
-"public" "-//OASIS//ELEMENTS DocBook XML HTML Tables V4.5//EN" "file://${CATALOG_CMAKE_INSTALL_PREFIX}/share/xml/docbook/xml-dtd-4.5/htmltblx.mod"
-"public" "-//OASIS//ENTITIES DocBook XML Notations V4.5//EN" "file://${CATALOG_CMAKE_INSTALL_PREFIX}/share/xml/docbook/xml-dtd-4.5/dbnotnx.mod"
-"public" "-//OASIS//ENTITIES DocBook XML Character Entities V4.5//EN" "file://${CATALOG_CMAKE_INSTALL_PREFIX}/share/xml/docbook/xml-dtd-4.5/dbcentx.mod"
-"public" "-//OASIS//ENTITIES DocBook XML Additional General Entities V4.5//EN" "file://${CATALOG_CMAKE_INSTALL_PREFIX}/share/xml/docbook/xml-dtd-4.5/dbgenent.mod"
-"rewriteSystem" "http://www.oasis-open.org/docbook/xml/4.5" "file://${CATALOG_CMAKE_INSTALL_PREFIX}/share/xml/docbook/xml-dtd-4.5"
-"rewriteURI" "http://www.oasis-open.org/docbook/xml/4.5" "file://${CATALOG_CMAKE_INSTALL_PREFIX}/share/xml/docbook/xml-dtd-4.5")
-
-install_xml_catalog(commands "docbook")
-
-# Do this for every pattern above so using the catalog file as the catalog
-# is equivalent to using the docbook file as the catalog.
-set(commands
-"delegatePublic" "-//OASIS//DTD DocBook XML" "file://${CATALOG_CMAKE_INSTALL_PREFIX}/etc/xml/docbook"
-"delegatePublic" "-//OASIS//DTD XML Exchange" "file://${CATALOG_CMAKE_INSTALL_PREFIX}/etc/xml/docbook"
-"delegatePublic" "-//OASIS//ENTITIES DocBook XML" "file://${CATALOG_CMAKE_INSTALL_PREFIX}/etc/xml/docbook"
-"delegatePublic" "-//OASIS//ELEMENTS DocBook XML" "file://${CATALOG_CMAKE_INSTALL_PREFIX}/etc/xml/docbook"
-"delegateSystem" "http://www.oasis-open.org/docbook/" "file://${CATALOG_CMAKE_INSTALL_PREFIX}/etc/xml/docbook"
-"delegateURI" "http://www.oasis-open.org/docbook/" "file://${CATALOG_CMAKE_INSTALL_PREFIX}/etc/xml/docbook"
-)
-
-install_xml_catalog(commands "catalog")
-
-# LFS instructions at
-# http://www.linuxfromscratch.org/blfs/view/svn/pst/DocBook.html
-# are open to interpretation for this part, but I think it means
-# these previous versions should be dropped if they are handled
-# a different way. But I am not doing that so leave them in
-# unless some issue is found in the future that I am not aware of
-# now.
-
-set(previous_versions
- 4.1.2
- 4.2
- 4.3
- 4.4
- )
-
-foreach(DTDVERSION ${previous_versions})
- set(commands
- "public" "-//OASIS//DTD DocBook XML V${DTDVERSION}//EN" "http://www.oasis-open.org/docbook/xml/${DTDVERSION}/docbookx.dtd"
- "rewriteSystem" "http://www.oasis-open.org/docbook/xml/${DTDVERSION}" "file://${CATALOG_CMAKE_INSTALL_PREFIX}/share/xml/docbook/xml-dtd-4.5"
- "rewriteURI" "http://www.oasis-open.org/docbook/xml/${DTDVERSION}" "file://${CATALOG_CMAKE_INSTALL_PREFIX}/share/xml/docbook/xml-dtd-4.5"
- )
- install_xml_catalog(commands "docbook")
-
- # Do this for every pattern above except the "public" one which has already
- # been taken care of so using the catalog file as the catalog
- # is equivalent to using the docbook file as the catalog.
- set(commands
- "delegateSystem" "http://www.oasis-open.org/docbook/xml/${DTDVERSION}/" "file://${CATALOG_CMAKE_INSTALL_PREFIX}/etc/xml/docbook"
- "delegateURI" "http://www.oasis-open.org/docbook/xml/${DTDVERSION}/" "file://${CATALOG_CMAKE_INSTALL_PREFIX}/etc/xml/docbook"
- )
- install_xml_catalog(commands "catalog")
-
-endforeach(DTDVERSION ${previous_versions})
Modified: trunk/cmake/epa_build/docbook-xml/bp.cmake
===================================================================
--- trunk/cmake/epa_build/docbook-xml/bp.cmake 2013-12-01 08:27:41 UTC (rev 12792)
+++ trunk/cmake/epa_build/docbook-xml/bp.cmake 2013-12-01 22:58:49 UTC (rev 12793)
@@ -88,11 +88,11 @@
OUTPUT
${EP_BASE}/Stamp/build_${BP_PACKAGE}/build_${BP_PACKAGE}-update
COMMAND ${CMAKE_COMMAND} -E copy
- ${CMAKE_SOURCE_DIR}/${BP_PACKAGE}/CMakeLists.txt
+ ${CMAKE_SOURCE_DIR}/${BP_PACKAGE}/${BP_PACKAGE}_CMakeLists.txt
${EP_BASE}/Source/build_${BP_PACKAGE}/CMakeLists.txt
COMMENT "Custom updating of ${BP_PACKAGE}"
DEPENDS
- ${CMAKE_SOURCE_DIR}/${BP_PACKAGE}/CMakeLists.txt
+ ${CMAKE_SOURCE_DIR}/${BP_PACKAGE}/${BP_PACKAGE}_CMakeLists.txt
APPEND
)
Copied: trunk/cmake/epa_build/docbook-xml/docbook-xml_CMakeLists.txt (from rev 12783, trunk/cmake/epa_build/docbook-xml/CMakeLists.txt)
===================================================================
--- trunk/cmake/epa_build/docbook-xml/docbook-xml_CMakeLists.txt (rev 0)
+++ trunk/cmake/epa_build/docbook-xml/docbook-xml_CMakeLists.txt 2013-12-01 22:58:49 UTC (rev 12793)
@@ -0,0 +1,178 @@
+# Top-level CMakeLists.txt for the CMake-based build system
+# of the docbook-xml software.
+
+# 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 Library General Public License as published
+# by the Free Software Foundation; version 2 of the License.
+#
+# 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 Library General Public License for more details.
+#
+# You should have received a copy of the GNU Library 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
+
+project(docbook-xml NONE)
+
+message(STATUS "CMake version = ${CMAKE_VERSION}")
+message(STATUS "CMAKE_SYSTEM_NAME = ${CMAKE_SYSTEM_NAME}")
+
+cmake_minimum_required(VERSION 2.8.10.2 FATAL_ERROR)
+
+# CATALOG_CMAKE_INSTALL_PREFIX prepends a "/" to CMAKE_INSTALL_PREFIX if the
+# latter doesn't start with "/", (i.e, the drive letter
+# on Microsoft systems). This makes the URI file:/// form come out
+# right for catalog entries.
+if(CMAKE_INSTALL_PREFIX MATCHES "^[^/]")
+ set(CATALOG_CMAKE_INSTALL_PREFIX /${CMAKE_INSTALL_PREFIX})
+else(CMAKE_INSTALL_PREFIX MATCHES "^[^/]")
+ set(CATALOG_CMAKE_INSTALL_PREFIX ${CMAKE_INSTALL_PREFIX})
+endif(CMAKE_INSTALL_PREFIX MATCHES "^[^/]")
+message(STATUS "CMAKE_INSTALL_PREFIX=${CMAKE_INSTALL_PREFIX}")
+message(STATUS "CATALOG_CMAKE_INSTALL_PREFIX=${CATALOG_CMAKE_INSTALL_PREFIX}")
+
+# Define useful function.
+find_program(XMLCATALOG_EXECUTABLE xmlcatalog)
+function(install_xml_catalog arguments_LIST3 catalog)
+ # Install an XML catalog using the information supplied in
+ # arguments_LIST3, which is a list of arguments grouped by
+ # threes where each group of three arguments correspond to
+ # the three arguments of the "xmlcatalog --add" command.
+
+ # Create the catalog if it does not exist.
+ install(CODE "
+if(NOT EXISTS \"\$ENV{DESTDIR}\${CMAKE_INSTALL_PREFIX}/etc/xml/${catalog}\")
+message(STATUS \"Creating \${CMAKE_INSTALL_PREFIX}/etc/xml/${catalog}\")
+execute_process(COMMAND ${XMLCATALOG_EXECUTABLE} --noout
+ --create
+ \"\$ENV{DESTDIR}\${CMAKE_INSTALL_PREFIX}/etc/xml/${catalog}\")
+endif(NOT EXISTS \"\$ENV{DESTDIR}\${CMAKE_INSTALL_PREFIX}/etc/xml/${catalog}\")
+")
+
+ list(LENGTH ${arguments_LIST3} narguments_LIST3)
+ set(group_size 3)
+ set(remove_indices 0 1 2)
+ math(EXPR max_index "(${narguments_LIST3}/${group_size}) - 1")
+ foreach(index RANGE 0 ${max_index})
+ list(GET ${arguments_LIST3} 0 type)
+ list(GET ${arguments_LIST3} 1 orig)
+ list(GET ${arguments_LIST3} 2 replace)
+ list(REMOVE_AT ${arguments_LIST3} ${remove_indices})
+ install(CODE "
+message(STATUS \"Updating \${CMAKE_INSTALL_PREFIX}/etc/xml/${catalog}\")
+execute_process(COMMAND ${XMLCATALOG_EXECUTABLE} --noout
+ --add \"${type}\" \"${orig}\" \"${replace}\"
+ \"\$ENV{DESTDIR}\${CMAKE_INSTALL_PREFIX}/etc/xml/${catalog}\")
+"
+ )
+ endforeach(index RANGE 0 ${max_index})
+endfunction(install_xml_catalog)
+
+# Nothing to build. Just follow directions at
+# http://www.linuxfromscratch.org/blfs/view/svn/pst/DocBook.html to
+# install files that are in the source tree.
+
+# Install top-level source tree files.
+set(globs
+ ${CMAKE_SOURCE_DIR}/docbook.cat
+ ${CMAKE_SOURCE_DIR}/*.dtd
+ ${CMAKE_SOURCE_DIR}/*.mod
+ )
+# Make elements of path_list absolute PATH names.
+file(GLOB path_list
+ ${globs}
+ )
+# Add the ent subdirectory to path_list
+list(APPEND path_list ${CMAKE_SOURCE_DIR}/ent)
+
+find_program(INSTALL_EXECUTABLE install)
+find_program(CP_EXECUTABLE cp)
+
+install(CODE "
+message(STATUS \"Installing \${CMAKE_INSTALL_PREFIX}/share/xml/docbook/xml-dtd-4.5\")
+execute_process(
+COMMAND ${INSTALL_EXECUTABLE} -v -d -m755
+\"\$ENV{DESTDIR}\${CMAKE_INSTALL_PREFIX}/share/xml/docbook/xml-dtd-4.5\")
+"
+ )
+
+install(CODE "
+execute_process(
+COMMAND ${CP_EXECUTABLE} -v -af ${path_list}
+\"\$ENV{DESTDIR}\${CMAKE_INSTALL_PREFIX}/share/xml/docbook/xml-dtd-4.5\")
+"
+ )
+
+install(CODE "
+message(STATUS \"Installing \${CMAKE_INSTALL_PREFIX}/etc/xml\")
+execute_process(
+COMMAND ${INSTALL_EXECUTABLE} -v -d -m755
+\"\$ENV{DESTDIR}\${CMAKE_INSTALL_PREFIX}/etc/xml\")
+"
+ )
+
+set(commands
+"public" "-//OASIS//DTD DocBook XML V4.5//EN" "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd"
+"public" "-//OASIS//DTD DocBook XML CALS Table Model V4.5//EN" "file://${CATALOG_CMAKE_INSTALL_PREFIX}/share/xml/docbook/xml-dtd-4.5/calstblx.dtd"
+"public" "-//OASIS//DTD XML Exchange Table Model 19990315//EN" "file://${CATALOG_CMAKE_INSTALL_PREFIX}/share/xml/docbook/xml-dtd-4.5/soextblx.dtd"
+"public" "-//OASIS//ELEMENTS DocBook XML Information Pool V4.5//EN" "file://${CATALOG_CMAKE_INSTALL_PREFIX}/share/xml/docbook/xml-dtd-4.5/dbpoolx.mod"
+"public" "-//OASIS//ELEMENTS DocBook XML Document Hierarchy V4.5//EN" "file://${CATALOG_CMAKE_INSTALL_PREFIX}/share/xml/docbook/xml-dtd-4.5/dbhierx.mod"
+"public" "-//OASIS//ELEMENTS DocBook XML HTML Tables V4.5//EN" "file://${CATALOG_CMAKE_INSTALL_PREFIX}/share/xml/docbook/xml-dtd-4.5/htmltblx.mod"
+"public" "-//OASIS//ENTITIES DocBook XML Notations V4.5//EN" "file://${CATALOG_CMAKE_INSTALL_PREFIX}/share/xml/docbook/xml-dtd-4.5/dbnotnx.mod"
+"public" "-//OASIS//ENTITIES DocBook XML Character Entities V4.5//EN" "file://${CATALOG_CMAKE_INSTALL_PREFIX}/share/xml/docbook/xml-dtd-4.5/dbcentx.mod"
+"public" "-//OASIS//ENTITIES DocBook XML Additional General Entities V4.5//EN" "file://${CATALOG_CMAKE_INSTALL_PREFIX}/share/xml/docbook/xml-dtd-4.5/dbgenent.mod"
+"rewriteSystem" "http://www.oasis-open.org/docbook/xml/4.5" "file://${CATALOG_CMAKE_INSTALL_PREFIX}/share/xml/docbook/xml-dtd-4.5"
+"rewriteURI" "http://www.oasis-open.org/docbook/xml/4.5" "file://${CATALOG_CMAKE_INSTALL_PREFIX}/share/xml/docbook/xml-dtd-4.5")
+
+install_xml_catalog(commands "docbook")
+
+# Do this for every pattern above so using the catalog file as the catalog
+# is equivalent to using the docbook file as the catalog.
+set(commands
+"delegatePublic" "-//OASIS//DTD DocBook XML" "file://${CATALOG_CMAKE_INSTALL_PREFIX}/etc/xml/docbook"
+"delegatePublic" "-//OASIS//DTD XML Exchange" "file://${CATALOG_CMAKE_INSTALL_PREFIX}/etc/xml/docbook"
+"delegatePublic" "-//OASIS//ENTITIES DocBook XML" "file://${CATALOG_CMAKE_INSTALL_PREFIX}/etc/xml/docbook"
+"delegatePublic" "-//OASIS//ELEMENTS DocBook XML" "file://${CATALOG_CMAKE_INSTALL_PREFIX}/etc/xml/docbook"
+"delegateSystem" "http://www.oasis-open.org/docbook/" "file://${CATALOG_CMAKE_INSTALL_PREFIX}/etc/xml/docbook"
+"delegateURI" "http://www.oasis-open.org/docbook/" "file://${CATALOG_CMAKE_INSTALL_PREFIX}/etc/xml/docbook"
+)
+
+install_xml_catalog(commands "catalog")
+
+# LFS instructions at
+# http://www.linuxfromscratch.org/blfs/view/svn/pst/DocBook.html
+# are open to interpretation for this part, but I think it means
+# these previous versions should be dropped if they are handled
+# a different way. But I am not doing that so leave them in
+# unless some issue is found in the future that I am not aware of
+# now.
+
+set(previous_versions
+ 4.1.2
+ 4.2
+ 4.3
+ 4.4
+ )
+
+foreach(DTDVERSION ${previous_versions})
+ set(commands
+ "public" "-//OASIS//DTD DocBook XML V${DTDVERSION}//EN" "http://www.oasis-open.org/docbook/xml/${DTDVERSION}/docbookx.dtd"
+ "rewriteSystem" "http://www.oasis-open.org/docbook/xml/${DTDVERSION}" "file://${CATALOG_CMAKE_INSTALL_PREFIX}/share/xml/docbook/xml-dtd-4.5"
+ "rewriteURI" "http://www.oasis-open.org/docbook/xml/${DTDVERSION}" "file://${CATALOG_CMAKE_INSTALL_PREFIX}/share/xml/docbook/xml-dtd-4.5"
+ )
+ install_xml_catalog(commands "docbook")
+
+ # Do this for every pattern above except the "public" one which has already
+ # been taken care of so using the catalog file as the catalog
+ # is equivalent to using the docbook file as the catalog.
+ set(commands
+ "delegateSystem" "http://www.oasis-open.org/docbook/xml/${DTDVERSION}/" "file://${CATALOG_CMAKE_INSTALL_PREFIX}/etc/xml/docbook"
+ "delegateURI" "http://www.oasis-open.org/docbook/xml/${DTDVERSION}/" "file://${CATALOG_CMAKE_INSTALL_PREFIX}/etc/xml/docbook"
+ )
+ install_xml_catalog(commands "catalog")
+
+endforeach(DTDVERSION ${previous_versions})
Deleted: trunk/cmake/epa_build/docbook-xsl/CMakeLists.txt
===================================================================
--- trunk/cmake/epa_build/docbook-xsl/CMakeLists.txt 2013-12-01 08:27:41 UTC (rev 12792)
+++ trunk/cmake/epa_build/docbook-xsl/CMakeLists.txt 2013-12-01 22:58:49 UTC (rev 12793)
@@ -1,180 +0,0 @@
-# Top-level CMakeLists.txt for the CMake-based build system
-# of the docbook-xsl software.
-
-# 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 Library General Public License as published
-# by the Free Software Foundation; version 2 of the License.
-#
-# 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 Library General Public License for more details.
-#
-# You should have received a copy of the GNU Library 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
-
-project(docbook-xsl NONE)
-
-message(STATUS "CMake version = ${CMAKE_VERSION}")
-message(STATUS "CMAKE_SYSTEM_NAME = ${CMAKE_SYSTEM_NAME}")
-
-cmake_minimum_required(VERSION 2.8.10.2 FATAL_ERROR)
-
-# CATALOG_CMAKE_INSTALL_PREFIX prepends a "/" to CMAKE_INSTALL_PREFIX if the
-# latter doesn't start with "/", (i.e, the drive letter
-# on Microsoft systems). This makes the URI file:/// form come out
-# right for catalog entries.
-if(CMAKE_INSTALL_PREFIX MATCHES "^[^/]")
- set(CATALOG_CMAKE_INSTALL_PREFIX /${CMAKE_INSTALL_PREFIX})
-else(CMAKE_INSTALL_PREFIX MATCHES "^[^/]")
- set(CATALOG_CMAKE_INSTALL_PREFIX ${CMAKE_INSTALL_PREFIX})
-endif(CMAKE_INSTALL_PREFIX MATCHES "^[^/]")
-message(STATUS "CMAKE_INSTALL_PREFIX=${CMAKE_INSTALL_PREFIX}")
-message(STATUS "CATALOG_CMAKE_INSTALL_PREFIX=${CATALOG_CMAKE_INSTALL_PREFIX}")
-
-# Define useful function.
-find_program(XMLCATALOG_EXECUTABLE xmlcatalog)
-function(install_xml_catalog arguments_LIST3 catalog)
- # Install an XML catalog using the information supplied in
- # arguments_LIST3, which is a list of arguments grouped by
- # threes where each group of three arguments correspond to
- # the three arguments of the "xmlcatalog --add" command.
-
- # Create the catalog if it does not exist.
- install(CODE "
-if(NOT EXISTS \"\$ENV{DESTDIR}\${CMAKE_INSTALL_PREFIX}/etc/xml/${catalog}\")
-message(STATUS \"Creating \${CMAKE_INSTALL_PREFIX}/etc/xml/${catalog}\")
-execute_process(COMMAND ${XMLCATALOG_EXECUTABLE} --noout
- --create
- \"\$ENV{DESTDIR}\${CMAKE_INSTALL_PREFIX}/etc/xml/${catalog}\")
-endif(NOT EXISTS \"\$ENV{DESTDIR}\${CMAKE_INSTALL_PREFIX}/etc/xml/${catalog}\")
-")
-
- list(LENGTH ${arguments_LIST3} narguments_LIST3)
- set(group_size 3)
- set(remove_indices 0 1 2)
- math(EXPR max_index "(${narguments_LIST3}/${group_size}) - 1")
- foreach(index RANGE 0 ${max_index})
- list(GET ${arguments_LIST3} 0 type)
- list(GET ${arguments_LIST3} 1 orig)
- list(GET ${arguments_LIST3} 2 replace)
- list(REMOVE_AT ${arguments_LIST3} ${remove_indices})
- install(CODE "
-message(STATUS \"Updating \${CMAKE_INSTALL_PREFIX}/etc/xml/${catalog}\")
-execute_process(COMMAND ${XMLCATALOG_EXECUTABLE} --noout
- --add \"${type}\" \"${orig}\" \"${replace}\"
- \"\$ENV{DESTDIR}\${CMAKE_INSTALL_PREFIX}/etc/xml/${catalog}\")
-"
- )
- endforeach(index RANGE 0 ${max_index})
-endfunction(install_xml_catalog)
-
-# Nothing to build. Just follow directions at
-# http://www.linuxfromscratch.org/blfs/view/svn/pst/docbook-xsl.html to
-# install files that are in the source tree.
-
-find_program(INSTALL_EXECUTABLE install)
-find_program(CP_EXECUTABLE cp)
-find_program(LN_EXECUTABLE ln)
-
-set(path_list
- ${CMAKE_SOURCE_DIR}/VERSION
- ${CMAKE_SOURCE_DIR}/common
- ${CMAKE_SOURCE_DIR}/eclipse
- ${CMAKE_SOURCE_DIR}/epub
- ${CMAKE_SOURCE_DIR}/extensions
- ${CMAKE_SOURCE_DIR}/fo
- ${CMAKE_SOURCE_DIR}/highlighting
- ${CMAKE_SOURCE_DIR}/html
- ${CMAKE_SOURCE_DIR}/htmlhelp
- ${CMAKE_SOURCE_DIR}/images
- ${CMAKE_SOURCE_DIR}/javahelp
- ${CMAKE_SOURCE_DIR}/lib
- ${CMAKE_SOURCE_DIR}/manpages
- ${CMAKE_SOURCE_DIR}/params
- ${CMAKE_SOURCE_DIR}/profiling
- ${CMAKE_SOURCE_DIR}/roundtrip
- ${CMAKE_SOURCE_DIR}/slides
- ${CMAKE_SOURCE_DIR}/template
- ${CMAKE_SOURCE_DIR}/tests
- ${CMAKE_SOURCE_DIR}/tools
- ${CMAKE_SOURCE_DIR}/webhelp
- ${CMAKE_SOURCE_DIR}/website
- ${CMAKE_SOURCE_DIR}/xhtml
- ${CMAKE_SOURCE_DIR}/xhtml-1_1
-)
-
-install(CODE "
-message(STATUS \"Installing \${CMAKE_INSTALL_PREFIX}/share/xml/docbook/xsl-stylesheets-1.78.1\")
-execute_process(
-COMMAND ${INSTALL_EXECUTABLE} -v -d -m755
-\"\$ENV{DESTDIR}\${CMAKE_INSTALL_PREFIX}/share/xml/docbook/xsl-stylesheets-1.78.1\")
-"
- )
-
-install(CODE "
-execute_process(
-COMMAND ${CP_EXECUTABLE} -v -R ${path_list}
-\"\$ENV{DESTDIR}\${CMAKE_INSTALL_PREFIX}/share/xml/docbook/xsl-stylesheets-1.78.1\")
-"
- )
-
-install(CODE "
-execute_process(
-COMMAND ${LN_EXECUTABLE} -s VERSION
-\"\$ENV{DESTDIR}\${CMAKE_INSTALL_PREFIX}/share/xml/docbook/xsl-stylesheets-1.78.1/VERSION.xsl\")
-"
- )
-
-install(CODE "
-execute_process(
-COMMAND ${INSTALL_EXECUTABLE} -v -m644 -D ${CMAKE_SOURCE_DIR}/README
-\"\$ENV{DESTDIR}\${CMAKE_INSTALL_PREFIX}/share/doc/docbook-xsl-1.78.1/README.txt\")
-"
- )
-
-set(globs
- ${CMAKE_SOURCE_DIR}/RELEASE-NOTES*
- ${CMAKE_SOURCE_DIR}/NEWS*
- )
-# Make elements of path_list absolute PATH names.
-file(GLOB path_list
- ${globs}
- )
-install(CODE "
-execute_process(
-COMMAND ${INSTALL_EXECUTABLE} -v -m644 ${path_list}
-\"\$ENV{DESTDIR}\${CMAKE_INSTALL_PREFIX}/share/doc/docbook-xsl-1.78.1\")
-"
- )
-
-install(CODE "
-message(STATUS \"Installing \${CMAKE_INSTALL_PREFIX}/etc/xml\")
-execute_process(
-COMMAND ${INSTALL_EXECUTABLE} -v -d -m755
-\"\$ENV{DESTDIR}\${CMAKE_INSTALL_PREFIX}/etc/xml\")
-"
- )
-
-set(commands
- "rewriteSystem" "http://docbook.sourceforge.net/release/xsl/1.78.1" "file://${CATALOG_CMAKE_INSTALL_PREFIX}/share/xml/docbook/xsl-stylesheets-1.78.1"
- "rewriteURI" "http://docbook.sourceforge.net/release/xsl/1.78.1" "file://${CATALOG_CMAKE_INSTALL_PREFIX}/share/xml/docbook/xsl-stylesheets-1.78.1"
- "rewriteSystem" "http://docbook.sourceforge.net/release/xsl/current" "file://${CATALOG_CMAKE_INSTALL_PREFIX}/share/xml/docbook/xsl-stylesheets-1.78.1"
- "rewriteURI" "http://docbook.sourceforge.net/release/xsl/current" "file://${CATALOG_CMAKE_INSTALL_PREFIX}/share/xml/docbook/xsl-stylesheets-1.78.1"
-)
-
-install_xml_catalog(commands "catalog")
-
-# LFS instructions at
-# http://www.linuxfromscratch.org/blfs/view/svn/pst/docbook-xsl.html
-# state what to do if other previous versions of docbook-xsl are
-# required. Essentially, the steps are to install the older
-# docbook-xsl package as well, then run xmlcatalog --add <type> <orig>
-# <replace> where <type> is first rewriteSystem then rewriteURI. Note
-# it is a different scenario then what is done for docbook-xml where
-# old versions of docbook-xml do not have to be installed. With luck,
-# we won't need to install different versions of docbook-xsl so ignore
-# these docbook-xsl multiversion instructions for now.
Modified: trunk/cmake/epa_build/docbook-xsl/bp.cmake
===================================================================
--- trunk/cmake/epa_build/docbook-xsl/bp.cmake 2013-12-01 08:27:41 UTC (rev 12792)
+++ trunk/cmake/epa_build/docbook-xsl/bp.cmake 2013-12-01 22:58:49 UTC (rev 12793)
@@ -88,11 +88,11 @@
OUTPUT
${EP_BASE}/Stamp/build_${BP_PACKAGE}/build_${BP_PACKAGE}-update
COMMAND ${CMAKE_COMMAND} -E copy
- ${CMAKE_SOURCE_DIR}/${BP_PACKAGE}/CMakeLists.txt
+ ${CMAKE_SOURCE_DIR}/${BP_PACKAGE}/${BP_PACKAGE}_CMakeLists.txt
${EP_BASE}/Source/build_${BP_PACKAGE}/CMakeLists.txt
COMMENT "Custom updating of ${BP_PACKAGE}"
DEPENDS
- ${CMAKE_SOURCE_DIR}/${BP_PACKAGE}/CMakeLists.txt
+ ${CMAKE_SOURCE_DIR}/${BP_PACKAGE}/${BP_PACKAGE}_CMakeLists.txt
APPEND
)
Copied: trunk/cmake/epa_build/docbook-xsl/docbook-xsl_CMakeLists.txt (from rev 12783, trunk/cmake/epa_build/docbook-xsl/CMakeLists.txt)
===================================================================
--- trunk/cmake/epa_build/docbook-xsl/docbook-xsl_CMakeLists.txt (rev 0)
+++ trunk/cmake/epa_build/docbook-xsl/docbook-xsl_CMakeLists.txt 2013-12-01 22:58:49 UTC (rev 12793)
@@ -0,0 +1,180 @@
+# Top-level CMakeLists.txt for the CMake-based build system
+# of the docbook-xsl software.
+
+# 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 Library General Public License as published
+# by the Free Software Foundation; version 2 of the License.
+#
+# 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 Library General Public License for more details.
+#
+# You should have received a copy of the GNU Library 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
+
+project(docbook-xsl NONE)
+
+message(STATUS "CMake version = ${CMAKE_VERSION}")
+message(STATUS "CMAKE_SYSTEM_NAME = ${CMAKE_SYSTEM_NAME}")
+
+cmake_minimum_required(VERSION 2.8.10.2 FATAL_ERROR)
+
+# CATALOG_CMAKE_INSTALL_PREFIX prepends a "/" to CMAKE_INSTALL_PREFIX if the
+# latter doesn't start with "/", (i.e, the drive letter
+# on Microsoft systems). This makes the URI file:/// form...
[truncated message content] |
|
From: <ai...@us...> - 2013-12-02 00:16:55
|
Revision: 12794
http://sourceforge.net/p/plplot/code/12794
Author: airwin
Date: 2013-12-02 00:16:47 +0000 (Mon, 02 Dec 2013)
Log Message:
-----------
In preparation for the "add_subdirectory" reorganization of epa_build
rename all existing */bp.cmake files as */CMakeLists.txt files.
N.B. this commit breaks the epa_build project which should not be
expected to work again until the final commit in this series of
changes which should implement using add_subdirectory to access the
CMake logic in these (newly renamed) */CMakeLists.txt files without
the variable scope issues that occurred for the previous "include
*/bp.cmake" approach.
Added Paths:
-----------
trunk/cmake/epa_build/cairo/CMakeLists.txt
trunk/cmake/epa_build/cmake/CMakeLists.txt
trunk/cmake/epa_build/docbook-xml/CMakeLists.txt
trunk/cmake/epa_build/docbook-xsl/CMakeLists.txt
trunk/cmake/epa_build/fontconfig/CMakeLists.txt
trunk/cmake/epa_build/glib/CMakeLists.txt
trunk/cmake/epa_build/gobject-introspection/CMakeLists.txt
trunk/cmake/epa_build/gperf/CMakeLists.txt
trunk/cmake/epa_build/gtk-doc/CMakeLists.txt
trunk/cmake/epa_build/harfbuzz/CMakeLists.txt
trunk/cmake/epa_build/intltool/CMakeLists.txt
trunk/cmake/epa_build/itcl3/CMakeLists.txt
trunk/cmake/epa_build/itk/CMakeLists.txt
trunk/cmake/epa_build/itk3/CMakeLists.txt
trunk/cmake/epa_build/itstool/CMakeLists.txt
trunk/cmake/epa_build/iwidgets/CMakeLists.txt
trunk/cmake/epa_build/libagg/CMakeLists.txt
trunk/cmake/epa_build/libffi/CMakeLists.txt
trunk/cmake/epa_build/libharu/CMakeLists.txt
trunk/cmake/epa_build/libpcre/CMakeLists.txt
trunk/cmake/epa_build/libqhull/CMakeLists.txt
trunk/cmake/epa_build/libxml2/CMakeLists.txt
trunk/cmake/epa_build/libxslt/CMakeLists.txt
trunk/cmake/epa_build/ndiff/CMakeLists.txt
trunk/cmake/epa_build/pango/CMakeLists.txt
trunk/cmake/epa_build/pixman/CMakeLists.txt
trunk/cmake/epa_build/pkg-config/CMakeLists.txt
trunk/cmake/epa_build/plplot/CMakeLists.txt
trunk/cmake/epa_build/ragel/CMakeLists.txt
trunk/cmake/epa_build/shapelib/CMakeLists.txt
trunk/cmake/epa_build/subversion/CMakeLists.txt
trunk/cmake/epa_build/swig/CMakeLists.txt
trunk/cmake/epa_build/tcl/CMakeLists.txt
trunk/cmake/epa_build/tk/CMakeLists.txt
trunk/cmake/epa_build/wxwidgets/CMakeLists.txt
trunk/cmake/epa_build/xmlcatalog-wrapper/CMakeLists.txt
trunk/cmake/epa_build/yelp-tools/CMakeLists.txt
trunk/cmake/epa_build/yelp-xsl/CMakeLists.txt
Removed Paths:
-------------
trunk/cmake/epa_build/cairo/bp.cmake
trunk/cmake/epa_build/cmake/bp.cmake
trunk/cmake/epa_build/docbook-xml/bp.cmake
trunk/cmake/epa_build/docbook-xsl/bp.cmake
trunk/cmake/epa_build/fontconfig/bp.cmake
trunk/cmake/epa_build/glib/bp.cmake
trunk/cmake/epa_build/gobject-introspection/bp.cmake
trunk/cmake/epa_build/gperf/bp.cmake
trunk/cmake/epa_build/gtk-doc/bp.cmake
trunk/cmake/epa_build/harfbuzz/bp.cmake
trunk/cmake/epa_build/intltool/bp.cmake
trunk/cmake/epa_build/itcl3/bp.cmake
trunk/cmake/epa_build/itk/bp.cmake
trunk/cmake/epa_build/itk3/bp.cmake
trunk/cmake/epa_build/itstool/bp.cmake
trunk/cmake/epa_build/iwidgets/bp.cmake
trunk/cmake/epa_build/libagg/bp.cmake
trunk/cmake/epa_build/libffi/bp.cmake
trunk/cmake/epa_build/libharu/bp.cmake
trunk/cmake/epa_build/libpcre/bp.cmake
trunk/cmake/epa_build/libqhull/bp.cmake
trunk/cmake/epa_build/libxml2/bp.cmake
trunk/cmake/epa_build/libxslt/bp.cmake
trunk/cmake/epa_build/ndiff/bp.cmake
trunk/cmake/epa_build/pango/bp.cmake
trunk/cmake/epa_build/pixman/bp.cmake
trunk/cmake/epa_build/pkg-config/bp.cmake
trunk/cmake/epa_build/plplot/bp.cmake
trunk/cmake/epa_build/ragel/bp.cmake
trunk/cmake/epa_build/shapelib/bp.cmake
trunk/cmake/epa_build/subversion/bp.cmake
trunk/cmake/epa_build/swig/bp.cmake
trunk/cmake/epa_build/tcl/bp.cmake
trunk/cmake/epa_build/tk/bp.cmake
trunk/cmake/epa_build/wxwidgets/bp.cmake
trunk/cmake/epa_build/xmlcatalog-wrapper/bp.cmake
trunk/cmake/epa_build/yelp-tools/bp.cmake
trunk/cmake/epa_build/yelp-xsl/bp.cmake
Copied: trunk/cmake/epa_build/cairo/CMakeLists.txt (from rev 12790, trunk/cmake/epa_build/cairo/bp.cmake)
===================================================================
--- trunk/cmake/epa_build/cairo/CMakeLists.txt (rev 0)
+++ trunk/cmake/epa_build/cairo/CMakeLists.txt 2013-12-02 00:16:47 UTC (rev 12794)
@@ -0,0 +1,104 @@
+# cairo/bp.cmake
+# N.B. this file is generated so if you edit it you will lose all your
+# changes the next time it is generated (typically by running
+# either/both the update_added_packages.sh or update_pango_packages.sh
+# scripts). If those scripts do not provide good results, then
+# consider changing their source files (e.g., by editing the files
+# used in those scripts) or add a patch to be run by those scripts).
+
+# This file should be included directly or indirectly from a top-level
+# CMakeLists.txt file to configure the build of cairo.
+
+# 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(cairo_configured)
+ return()
+endif(cairo_configured)
+set(cairo_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 ${extra_ignored_dependencies_list})
+
+set(cairo_dependencies_LIST fontconfig;gtk-doc;pixman;pkg-config)
+# Remove dependencies that should be ignored.
+if(cairo_dependencies_LIST)
+ list(REMOVE_ITEM cairo_dependencies_LIST ${BP_ignored_dependencies_LIST})
+endif(cairo_dependencies_LIST)
+
+set(cairo_dependencies_targets)
+foreach(build_configuration ${cairo_dependencies_LIST})
+ if(EXISTS ${CMAKE_SOURCE_DIR}/${build_configuration}/bp.cmake)
+ include(${build_configuration}/bp.cmake)
+ list(APPEND cairo_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 cairo has been installed another way.")
+ endif(EXISTS ${CMAKE_SOURCE_DIR}/${build_configuration}/bp.cmake)
+endforeach(build_configuration ${cairo_dependences_LIST})
+
+# This can be safely done only after above includes.
+set(BP_PACKAGE cairo)
+
+# Data that is related to downloads.
+set(${BP_PACKAGE}_URL http://cairographics.org/releases/cairo-1.12.14.tar.xz)
+set(${BP_PACKAGE}_DOWNLOAD_HASH_TYPE SHA256)
+set(${BP_PACKAGE}_DOWNLOAD_HASH 96d0d1e3f9b74d2ca3469ff187c5e5f25649b1ad35cf06f4f3a83847dff4ac13)
+
+# 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}")
+
+set(${BP_PACKAGE}_SET_CXXFLAGS "CXXFLAGS=$ENV{CXXFLAGS}")
+
+# Drop -fvisibility=hidden since that option does not work for a
+# number of software packages that are configured automatically using
+# this template.
+string(REGEX REPLACE "-fvisibility=hidden" "" ${BP_PACKAGE}_SET_CFLAGS "${${BP_PACKAGE}_SET_CFLAGS}")
+string(REGEX REPLACE "-fvisibility=hidden" "" ${BP_PACKAGE}_SET_CXXFLAGS "${${BP_PACKAGE}_SET_CXXFLAGS}")
+
+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} ${${BP_PACKAGE}_SET_CXXFLAGS} ${source_PATH}/${BP_CONFIGURE_COMMAND} --enable-xlib
+ 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}")
Deleted: trunk/cmake/epa_build/cairo/bp.cmake
===================================================================
--- trunk/cmake/epa_build/cairo/bp.cmake 2013-12-01 22:58:49 UTC (rev 12793)
+++ trunk/cmake/epa_build/cairo/bp.cmake 2013-12-02 00:16:47 UTC (rev 12794)
@@ -1,104 +0,0 @@
-# cairo/bp.cmake
-# N.B. this file is generated so if you edit it you will lose all your
-# changes the next time it is generated (typically by running
-# either/both the update_added_packages.sh or update_pango_packages.sh
-# scripts). If those scripts do not provide good results, then
-# consider changing their source files (e.g., by editing the files
-# used in those scripts) or add a patch to be run by those scripts).
-
-# This file should be included directly or indirectly from a top-level
-# CMakeLists.txt file to configure the build of cairo.
-
-# 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(cairo_configured)
- return()
-endif(cairo_configured)
-set(cairo_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 ${extra_ignored_dependencies_list})
-
-set(cairo_dependencies_LIST fontconfig;gtk-doc;pixman;pkg-config)
-# Remove dependencies that should be ignored.
-if(cairo_dependencies_LIST)
- list(REMOVE_ITEM cairo_dependencies_LIST ${BP_ignored_dependencies_LIST})
-endif(cairo_dependencies_LIST)
-
-set(cairo_dependencies_targets)
-foreach(build_configuration ${cairo_dependencies_LIST})
- if(EXISTS ${CMAKE_SOURCE_DIR}/${build_configuration}/bp.cmake)
- include(${build_configuration}/bp.cmake)
- list(APPEND cairo_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 cairo has been installed another way.")
- endif(EXISTS ${CMAKE_SOURCE_DIR}/${build_configuration}/bp.cmake)
-endforeach(build_configuration ${cairo_dependences_LIST})
-
-# This can be safely done only after above includes.
-set(BP_PACKAGE cairo)
-
-# Data that is related to downloads.
-set(${BP_PACKAGE}_URL http://cairographics.org/releases/cairo-1.12.14.tar.xz)
-set(${BP_PACKAGE}_DOWNLOAD_HASH_TYPE SHA256)
-set(${BP_PACKAGE}_DOWNLOAD_HASH 96d0d1e3f9b74d2ca3469ff187c5e5f25649b1ad35cf06f4f3a83847dff4ac13)
-
-# 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}")
-
-set(${BP_PACKAGE}_SET_CXXFLAGS "CXXFLAGS=$ENV{CXXFLAGS}")
-
-# Drop -fvisibility=hidden since that option does not work for a
-# number of software packages that are configured automatically using
-# this template.
-string(REGEX REPLACE "-fvisibility=hidden" "" ${BP_PACKAGE}_SET_CFLAGS "${${BP_PACKAGE}_SET_CFLAGS}")
-string(REGEX REPLACE "-fvisibility=hidden" "" ${BP_PACKAGE}_SET_CXXFLAGS "${${BP_PACKAGE}_SET_CXXFLAGS}")
-
-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} ${${BP_PACKAGE}_SET_CXXFLAGS} ${source_PATH}/${BP_CONFIGURE_COMMAND} --enable-xlib
- 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}")
Copied: trunk/cmake/epa_build/cmake/CMakeLists.txt (from rev 12783, trunk/cmake/epa_build/cmake/bp.cmake)
===================================================================
--- trunk/cmake/epa_build/cmake/CMakeLists.txt (rev 0)
+++ trunk/cmake/epa_build/cmake/CMakeLists.txt 2013-12-02 00:16:47 UTC (rev 12794)
@@ -0,0 +1,64 @@
+# cmake/bp.cmake
+# This file should be included directly or indirectly from a top-level
+# CMakeLists.txt file to configure the build of cmake.
+
+# 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.
+
+set(BP_PACKAGE cmake)
+
+# Protect against configuring a build twice in one CMake call
+if(${BP_PACKAGE}_configured)
+ return()
+endif(${BP_PACKAGE}_configured)
+set(${BP_PACKAGE}_configured ON)
+
+# Data that is related to downloads.
+set(BP_CMAKE_DIR v2.8)
+set(BP_CMAKE_VERSION 2.8.11.1)
+set(${BP_PACKAGE}_URL http://www.cmake.org/files/${BP_CMAKE_DIR}/cmake-${BP_CMAKE_VERSION}.tar.gz)
+set(${BP_PACKAGE}_URL_MD5 df5324a3b203373a9e0a04b924281a43)
+
+# 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}")
+ determine_msys_path(${BP_PACKAGE}_INSTALL_PREFIX "${CMAKE_INSTALL_PREFIX}")
+else(MSYS_PLATFORM)
+ set(${BP_PACKAGE}_INSTALL_PREFIX "${CMAKE_INSTALL_PREFIX}")
+endif(MSYS_PLATFORM)
+#message(STATUS "modified BP_PATH for ${BP_PACKAGE} = ${BP_PATH}")
+
+ExternalProject_Add(
+ build_${BP_PACKAGE}
+ URL ${${BP_PACKAGE}_URL}
+ URL_MD5 ${${BP_PACKAGE}_URL_MD5}
+ CONFIGURE_COMMAND ${ENV_EXECUTABLE} PATH=${BP_PATH} CFLAGS=-O3 CXXFLAGS=-O3 ${SH_EXECUTABLE} ${EP_BASE}/Source/build_${BP_PACKAGE}/bootstrap --prefix=${${BP_PACKAGE}_INSTALL_PREFIX} --parallel=8
+ BUILD_COMMAND ${ENV_EXECUTABLE} PATH=${BP_PATH} ${BP_PARALLEL_BUILD_COMMAND}
+ INSTALL_COMMAND ${ENV_EXECUTABLE} PATH=${BP_PATH} ${BP_PARALLEL_BUILD_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}")
Deleted: trunk/cmake/epa_build/cmake/bp.cmake
===================================================================
--- trunk/cmake/epa_build/cmake/bp.cmake 2013-12-01 22:58:49 UTC (rev 12793)
+++ trunk/cmake/epa_build/cmake/bp.cmake 2013-12-02 00:16:47 UTC (rev 12794)
@@ -1,64 +0,0 @@
-# cmake/bp.cmake
-# This file should be included directly or indirectly from a top-level
-# CMakeLists.txt file to configure the build of cmake.
-
-# 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.
-
-set(BP_PACKAGE cmake)
-
-# Protect against configuring a build twice in one CMake call
-if(${BP_PACKAGE}_configured)
- return()
-endif(${BP_PACKAGE}_configured)
-set(${BP_PACKAGE}_configured ON)
-
-# Data that is related to downloads.
-set(BP_CMAKE_DIR v2.8)
-set(BP_CMAKE_VERSION 2.8.11.1)
-set(${BP_PACKAGE}_URL http://www.cmake.org/files/${BP_CMAKE_DIR}/cmake-${BP_CMAKE_VERSION}.tar.gz)
-set(${BP_PACKAGE}_URL_MD5 df5324a3b203373a9e0a04b924281a43)
-
-# 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}")
- determine_msys_path(${BP_PACKAGE}_INSTALL_PREFIX "${CMAKE_INSTALL_PREFIX}")
-else(MSYS_PLATFORM)
- set(${BP_PACKAGE}_INSTALL_PREFIX "${CMAKE_INSTALL_PREFIX}")
-endif(MSYS_PLATFORM)
-#message(STATUS "modified BP_PATH for ${BP_PACKAGE} = ${BP_PATH}")
-
-ExternalProject_Add(
- build_${BP_PACKAGE}
- URL ${${BP_PACKAGE}_URL}
- URL_MD5 ${${BP_PACKAGE}_URL_MD5}
- CONFIGURE_COMMAND ${ENV_EXECUTABLE} PATH=${BP_PATH} CFLAGS=-O3 CXXFLAGS=-O3 ${SH_EXECUTABLE} ${EP_BASE}/Source/build_${BP_PACKAGE}/bootstrap --prefix=${${BP_PACKAGE}_INSTALL_PREFIX} --parallel=8
- BUILD_COMMAND ${ENV_EXECUTABLE} PATH=${BP_PATH} ${BP_PARALLEL_BUILD_COMMAND}
- INSTALL_COMMAND ${ENV_EXECUTABLE} PATH=${BP_PATH} ${BP_PARALLEL_BUILD_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}")
Copied: trunk/cmake/epa_build/docbook-xml/CMakeLists.txt (from rev 12793, trunk/cmake/epa_build/docbook-xml/bp.cmake)
===================================================================
--- trunk/cmake/epa_build/docbook-xml/CMakeLists.txt (rev 0)
+++ trunk/cmake/epa_build/docbook-xml/CMakeLists.txt 2013-12-02 00:16:47 UTC (rev 12794)
@@ -0,0 +1,102 @@
+# docbook-xml/bp.cmake
+# This file should be included directly or indirectly from a top-level
+# CMakeLists.txt file to configure the build of docbook-xml.
+
+# 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(docbook-xml_configured)
+ return()
+endif(docbook-xml_configured)
+set(docbook-xml_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 ${extra_ignored_dependencies_list})
+
+set(docbook-xml_dependencies_LIST libxml2)
+# Remove dependencies that should be ignored.
+if(docbook-xml_dependencies_LIST)
+ list(REMOVE_ITEM docbook-xml_dependencies_LIST ${BP_ignored_dependencies_LIST})
+endif(docbook-xml_dependencies_LIST)
+
+set(docbook-xml_dependencies_targets)
+foreach(build_configuration ${docbook-xml_dependencies_LIST})
+ if(EXISTS ${CMAKE_SOURCE_DIR}/${build_configuration}/bp.cmake)
+ include(${build_configuration}/bp.cmake)
+ list(APPEND docbook-xml_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 docbook-xml has been installed another way.")
+ endif(EXISTS ${CMAKE_SOURCE_DIR}/${build_configuration}/bp.cmake)
+endforeach(build_configuration ${docbook-xml_dependences_LIST})
+
+# This can be safely done only after above includes.
+set(BP_PACKAGE docbook-xml)
+
+# Data that is related to downloads.
+set(${BP_PACKAGE}_URL http://www.docbook.org/xml/4.5/docbook-xml-4.5.zip)
+set(${BP_PACKAGE}_DOWNLOAD_HASH_TYPE MD5)
+set(${BP_PACKAGE}_DOWNLOAD_HASH 03083e288e87a7e829e437358da7ef9e)
+
+# 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_CMAKE_COMMAND} ${EP_BASE}/Source/build_${BP_PACKAGE}
+ BUILD_COMMAND ${ENV_EXECUTABLE} PATH=${BP_PATH} ${BP_PARALLEL_BUILD_COMMAND}
+ BUILD_IN_SOURCE OFF
+ INSTALL_COMMAND ${ENV_EXECUTABLE} PATH=${BP_PATH} ${BP_PARALLEL_BUILD_COMMAND} install
+ )
+
+# Add custom commands to the current no-command update step.
+add_custom_command(
+ OUTPUT
+ ${EP_BASE}/Stamp/build_${BP_PACKAGE}/build_${BP_PACKAGE}-update
+ COMMAND ${CMAKE_COMMAND} -E copy
+ ${CMAKE_SOURCE_DIR}/${BP_PACKAGE}/${BP_PACKAGE}_CMakeLists.txt
+ ${EP_BASE}/Source/build_${BP_PACKAGE}/CMakeLists.txt
+ COMMENT "Custom updating of ${BP_PACKAGE}"
+ DEPENDS
+ ${CMAKE_SOURCE_DIR}/${BP_PACKAGE}/${BP_PACKAGE}_CMakeLists.txt
+ APPEND
+ )
+
+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}")
Deleted: trunk/cmake/epa_build/docbook-xml/bp.cmake
===================================================================
--- trunk/cmake/epa_build/docbook-xml/bp.cmake 2013-12-01 22:58:49 UTC (rev 12793)
+++ trunk/cmake/epa_build/docbook-xml/bp.cmake 2013-12-02 00:16:47 UTC (rev 12794)
@@ -1,102 +0,0 @@
-# docbook-xml/bp.cmake
-# This file should be included directly or indirectly from a top-level
-# CMakeLists.txt file to configure the build of docbook-xml.
-
-# 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(docbook-xml_configured)
- return()
-endif(docbook-xml_configured)
-set(docbook-xml_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 ${extra_ignored_dependencies_list})
-
-set(docbook-xml_dependencies_LIST libxml2)
-# Remove dependencies that should be ignored.
-if(docbook-xml_dependencies_LIST)
- list(REMOVE_ITEM docbook-xml_dependencies_LIST ${BP_ignored_dependencies_LIST})
-endif(docbook-xml_dependencies_LIST)
-
-set(docbook-xml_dependencies_targets)
-foreach(build_configuration ${docbook-xml_dependencies_LIST})
- if(EXISTS ${CMAKE_SOURCE_DIR}/${build_configuration}/bp.cmake)
- include(${build_configuration}/bp.cmake)
- list(APPEND docbook-xml_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 docbook-xml has been installed another way.")
- endif(EXISTS ${CMAKE_SOURCE_DIR}/${build_configuration}/bp.cmake)
-endforeach(build_configuration ${docbook-xml_dependences_LIST})
-
-# This can be safely done only after above includes.
-set(BP_PACKAGE docbook-xml)
-
-# Data that is related to downloads.
-set(${BP_PACKAGE}_URL http://www.docbook.org/xml/4.5/docbook-xml-4.5.zip)
-set(${BP_PACKAGE}_DOWNLOAD_HASH_TYPE MD5)
-set(${BP_PACKAGE}_DOWNLOAD_HASH 03083e288e87a7e829e437358da7ef9e)
-
-# 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}...
[truncated message content] |
|
From: <ai...@us...> - 2013-12-02 00:27:36
|
Revision: 12795
http://sourceforge.net/p/plplot/code/12795
Author: airwin
Date: 2013-12-02 00:27:33 +0000 (Mon, 02 Dec 2013)
Log Message:
-----------
Rename
template.bp.in ==> epa_CMakeLists.txt.in
configure_bp.cmake ==> configure_epa.cmake
Modified Paths:
--------------
trunk/cmake/epa_build/README.developers
Added Paths:
-----------
trunk/cmake/epa_build/configure_epa.cmake
trunk/cmake/epa_build/epa_CMakeLists.txt.in
Removed Paths:
-------------
trunk/cmake/epa_build/configure_bp.cmake
trunk/cmake/epa_build/template.bp.in
Modified: trunk/cmake/epa_build/README.developers
===================================================================
--- trunk/cmake/epa_build/README.developers 2013-12-02 00:16:47 UTC (rev 12794)
+++ trunk/cmake/epa_build/README.developers 2013-12-02 00:27:33 UTC (rev 12795)
@@ -69,7 +69,7 @@
# Finally to actually generate build configurations for build_packages run
# the following command.
-cmake -DFILENAME:FILEPATH=pango_packages.data -P configure_bp.cmake
+cmake -DFILENAME:FILEPATH=pango_packages.data -P configure_epa.cmake
# Patch generated configuration files. This patch file contains
# additional changes that cannot be done via a patch to the *.xml file.
@@ -112,4 +112,4 @@
# Generate the "good" package configurations.
-cmake -DFILENAME:FILEPATH=add_packages.data -P configure_bp.cmake
+cmake -DFILENAME:FILEPATH=add_packages.data -P configure_epa.cmake
Deleted: trunk/cmake/epa_build/configure_bp.cmake
===================================================================
--- trunk/cmake/epa_build/configure_bp.cmake 2013-12-02 00:16:47 UTC (rev 12794)
+++ trunk/cmake/epa_build/configure_bp.cmake 2013-12-02 00:27:33 UTC (rev 12795)
@@ -1,85 +0,0 @@
-cmake_policy(SET CMP0007 NEW)
-
-# List of dependencies (mostly these are build-tools) which should be
-# ignored.
-set(ignored_dependencies_LIST
- # build tools
- pkg-config
- bison
- flex
- python2-devel
- # dependencies which we want to ignore
- # ignore libXft since that is an X library that
- # presumably won't be needed on Windows systems.
- libXft
-)
-
-file(STRINGS ${FILENAME} lines)
-list(LENGTH lines nlines)
-# There are currently groups of 9 lines for each
-# gtk software package specifying the required
-# build-configuration information.
-set(group_size 12)
-set(remove_indices 0 1 2 3 4 5 6 7 8 9 10 11)
-math(EXPR max_index "(${nlines}/${group_size}) - 1")
-foreach(index RANGE 0 ${max_index})
- list(GET lines 0 package)
- list(GET lines 1 config_type)
- list(GET lines 2 supports_non_srcdir_builds)
- list(GET lines 3 supports_parallel_builds)
- list(GET lines 4 config_arguments)
- list(GET lines 5 make_arguments)
- list(GET lines 6 download_hash_type)
- list(GET lines 7 download_hash)
- list(GET lines 8 download_href)
- list(GET lines 9 dependencies)
- list(GET lines 10 suggests)
- list(GET lines 11 after)
- list(REMOVE_AT lines ${remove_indices})
-
- if(supports_non_srcdir_builds)
- set(BUILD_IN_SOURCE OFF)
- else(supports_non_srcdir_builds)
- set(BUILD_IN_SOURCE ON)
- endif(supports_non_srcdir_builds)
-
- if(supports_parallel_builds)
- set(BUILD_COMMAND BP_PARALLEL_MAKE_COMMAND)
- else(supports_parallel_builds)
- set(BUILD_COMMAND BP_MAKE_COMMAND)
- endif(supports_parallel_builds)
-
- # Extra CFLAGS fixups for individual packages.
- if(package STREQUAL "glib")
- set(MSYS_EXTRA_CFLAGS "-march=native ")
- set(UNIX_EXTRA_CFLAGS)
- else(package STREQUAL "glib")
- set(MSYS_EXTRA_CFLAGS)
- set(UNIX_EXTRA_CFLAGS)
- endif(package STREQUAL "glib")
-
- # Turn colon-separated lists into official CMake lists.
- string(REGEX REPLACE ":" ";" dependencies "${dependencies}")
- string(REGEX REPLACE ":" ";" suggests "${suggests}")
- string(REGEX REPLACE ":" ";" after "${after}")
-
- # For now, ignore "after" and treat "dependencies" and "suggests" the same
- if(suggests)
- list(APPEND dependencies "${suggests}")
- endif(suggests)
-
- # Configure the package file using the appropriate template file.
- if(config_type STREQUAL "autotools" OR config_type STREQUAL "tarball" OR config_type STREQUAL "cmake")
- set(template_file template.bp.in)
- else(config_type STREQUAL "autotools" OR config_type STREQUAL "tarball" OR config_type STREQUAL "cmake")
- message(FATAL_ERROR "incorrect config_type = ${config_type}")
- endif(config_type STREQUAL "autotools" OR config_type STREQUAL "tarball" OR config_type STREQUAL "cmake")
-
- if(NOT package)
- message(FATAL_ERROR "bad package = ${package}")
- endif(NOT package)
-
- file(MAKE_DIRECTORY ${package})
- configure_file(${template_file} ${package}/bp.cmake @ONLY)
-
-endforeach(index RANGE 0 ${max_index})
Copied: trunk/cmake/epa_build/configure_epa.cmake (from rev 12783, trunk/cmake/epa_build/configure_bp.cmake)
===================================================================
--- trunk/cmake/epa_build/configure_epa.cmake (rev 0)
+++ trunk/cmake/epa_build/configure_epa.cmake 2013-12-02 00:27:33 UTC (rev 12795)
@@ -0,0 +1,85 @@
+cmake_policy(SET CMP0007 NEW)
+
+# List of dependencies (mostly these are build-tools) which should be
+# ignored.
+set(ignored_dependencies_LIST
+ # build tools
+ pkg-config
+ bison
+ flex
+ python2-devel
+ # dependencies which we want to ignore
+ # ignore libXft since that is an X library that
+ # presumably won't be needed on Windows systems.
+ libXft
+)
+
+file(STRINGS ${FILENAME} lines)
+list(LENGTH lines nlines)
+# There are currently groups of 9 lines for each
+# gtk software package specifying the required
+# build-configuration information.
+set(group_size 12)
+set(remove_indices 0 1 2 3 4 5 6 7 8 9 10 11)
+math(EXPR max_index "(${nlines}/${group_size}) - 1")
+foreach(index RANGE 0 ${max_index})
+ list(GET lines 0 package)
+ list(GET lines 1 config_type)
+ list(GET lines 2 supports_non_srcdir_builds)
+ list(GET lines 3 supports_parallel_builds)
+ list(GET lines 4 config_arguments)
+ list(GET lines 5 make_arguments)
+ list(GET lines 6 download_hash_type)
+ list(GET lines 7 download_hash)
+ list(GET lines 8 download_href)
+ list(GET lines 9 dependencies)
+ list(GET lines 10 suggests)
+ list(GET lines 11 after)
+ list(REMOVE_AT lines ${remove_indices})
+
+ if(supports_non_srcdir_builds)
+ set(BUILD_IN_SOURCE OFF)
+ else(supports_non_srcdir_builds)
+ set(BUILD_IN_SOURCE ON)
+ endif(supports_non_srcdir_builds)
+
+ if(supports_parallel_builds)
+ set(BUILD_COMMAND BP_PARALLEL_MAKE_COMMAND)
+ else(supports_parallel_builds)
+ set(BUILD_COMMAND BP_MAKE_COMMAND)
+ endif(supports_parallel_builds)
+
+ # Extra CFLAGS fixups for individual packages.
+ if(package STREQUAL "glib")
+ set(MSYS_EXTRA_CFLAGS "-march=native ")
+ set(UNIX_EXTRA_CFLAGS)
+ else(package STREQUAL "glib")
+ set(MSYS_EXTRA_CFLAGS)
+ set(UNIX_EXTRA_CFLAGS)
+ endif(package STREQUAL "glib")
+
+ # Turn colon-separated lists into official CMake lists.
+ string(REGEX REPLACE ":" ";" dependencies "${dependencies}")
+ string(REGEX REPLACE ":" ";" suggests "${suggests}")
+ string(REGEX REPLACE ":" ";" after "${after}")
+
+ # For now, ignore "after" and treat "dependencies" and "suggests" the same
+ if(suggests)
+ list(APPEND dependencies "${suggests}")
+ endif(suggests)
+
+ # Configure the package file using the appropriate template file.
+ if(config_type STREQUAL "autotools" OR config_type STREQUAL "tarball" OR config_type STREQUAL "cmake")
+ set(template_file template.bp.in)
+ else(config_type STREQUAL "autotools" OR config_type STREQUAL "tarball" OR config_type STREQUAL "cmake")
+ message(FATAL_ERROR "incorrect config_type = ${config_type}")
+ endif(config_type STREQUAL "autotools" OR config_type STREQUAL "tarball" OR config_type STREQUAL "cmake")
+
+ if(NOT package)
+ message(FATAL_ERROR "bad package = ${package}")
+ endif(NOT package)
+
+ file(MAKE_DIRECTORY ${package})
+ configure_file(${template_file} ${package}/bp.cmake @ONLY)
+
+endforeach(index RANGE 0 ${max_index})
Copied: trunk/cmake/epa_build/epa_CMakeLists.txt.in (from rev 12790, trunk/cmake/epa_build/template.bp.in)
===================================================================
--- trunk/cmake/epa_build/epa_CMakeLists.txt.in (rev 0)
+++ trunk/cmake/epa_build/epa_CMakeLists.txt.in 2013-12-02 00:27:33 UTC (rev 12795)
@@ -0,0 +1,104 @@
+# @package@/bp.cmake
+# N.B. this file is generated so if you edit it you will lose all your
+# changes the next time it is generated (typically by running
+# either/both the update_added_packages.sh or update_pango_packages.sh
+# scripts). If those scripts do not provide good results, then
+# consider changing their source files (e.g., by editing the files
+# used in those scripts) or add a patch to be run by those scripts).
+
+# This file should be included directly or indirectly from a top-level
+# CMakeLists.txt file to configure the build of @package@.
+
+# 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(@package@_configured)
+ return()
+endif(@package@_configured)
+set(@package@_configured ON)
+
+# List of dependencies (most of which are build tools) which should be
+# ignored.
+set(BP_ignored_dependencies_LIST @ignored_dependencies_LIST@ ${extra_ignored_dependencies_list})
+
+set(@package@_dependencies_LIST @dependencies@)
+# Remove dependencies that should be ignored.
+if(@package@_dependencies_LIST)
+ list(REMOVE_ITEM @package@_dependencies_LIST ${BP_ignored_dependencies_LIST})
+endif(@package@_dependencies_LIST)
+
+set(@package@_dependencies_targets)
+foreach(build_configuration ${@package@_dependencies_LIST})
+ if(EXISTS ${CMAKE_SOURCE_DIR}/${build_configuration}/bp.cmake)
+ include(${build_configuration}/bp.cmake)
+ list(APPEND @package@_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 @package@ has been installed another way.")
+ endif(EXISTS ${CMAKE_SOURCE_DIR}/${build_configuration}/bp.cmake)
+endforeach(build_configuration ${@package@_dependences_LIST})
+
+# This can be safely done only after above includes.
+set(BP_PACKAGE @package@)
+
+# Data that is related to downloads.
+set(${BP_PACKAGE}_URL @download_href@)
+set(${BP_PACKAGE}_DOWNLOAD_HASH_TYPE @download_hash_type@)
+set(${BP_PACKAGE}_DOWNLOAD_HASH @download_hash@)
+
+# 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=@MSYS_EXTRA_CFLAGS@$ENV{CFLAGS}")
+else(MSYS_PLATFORM)
+ set(source_PATH "${EP_BASE}/Source/build_${BP_PACKAGE}")
+ set(${BP_PACKAGE}_SET_CFLAGS "CFLAGS=@UNIX_EXTRA_CFLAGS@$ENV{CFLAGS}")
+endif(MSYS_PLATFORM)
+#message(STATUS "modified BP_PATH for ${BP_PACKAGE} = ${BP_PATH}")
+
+set(${BP_PACKAGE}_SET_CXXFLAGS "CXXFLAGS=$ENV{CXXFLAGS}")
+
+# Drop -fvisibility=hidden since that option does not work for a
+# number of software packages that are configured automatically using
+# this template.
+string(REGEX REPLACE "-fvisibility=hidden" "" ${BP_PACKAGE}_SET_CFLAGS "${${BP_PACKAGE}_SET_CFLAGS}")
+string(REGEX REPLACE "-fvisibility=hidden" "" ${BP_PACKAGE}_SET_CXXFLAGS "${${BP_PACKAGE}_SET_CXXFLAGS}")
+
+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} ${${BP_PACKAGE}_SET_CXXFLAGS} ${source_PATH}/${BP_CONFIGURE_COMMAND} @config_arguments@
+ BUILD_COMMAND ${ENV_EXECUTABLE} PATH=${BP_PATH} ${@BUILD_COMMAND@} @make_arguments@
+ BUILD_IN_SOURCE @BUILD_IN_SOURCE@
+ INSTALL_COMMAND ${ENV_EXECUTABLE} PATH=${BP_PATH} ${@BUILD_COMMAND@} @make_arguments@ 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}")
Deleted: trunk/cmake/epa_build/template.bp.in
===================================================================
--- trunk/cmake/epa_build/template.bp.in 2013-12-02 00:16:47 UTC (rev 12794)
+++ trunk/cmake/epa_build/template.bp.in 2013-12-02 00:27:33 UTC (rev 12795)
@@ -1,104 +0,0 @@
-# @package@/bp.cmake
-# N.B. this file is generated so if you edit it you will lose all your
-# changes the next time it is generated (typically by running
-# either/both the update_added_packages.sh or update_pango_packages.sh
-# scripts). If those scripts do not provide good results, then
-# consider changing their source files (e.g., by editing the files
-# used in those scripts) or add a patch to be run by those scripts).
-
-# This file should be included directly or indirectly from a top-level
-# CMakeLists.txt file to configure the build of @package@.
-
-# 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(@package@_configured)
- return()
-endif(@package@_configured)
-set(@package@_configured ON)
-
-# List of dependencies (most of which are build tools) which should be
-# ignored.
-set(BP_ignored_dependencies_LIST @ignored_dependencies_LIST@ ${extra_ignored_dependencies_list})
-
-set(@package@_dependencies_LIST @dependencies@)
-# Remove dependencies that should be ignored.
-if(@package@_dependencies_LIST)
- list(REMOVE_ITEM @package@_dependencies_LIST ${BP_ignored_dependencies_LIST})
-endif(@package@_dependencies_LIST)
-
-set(@package@_dependencies_targets)
-foreach(build_configuration ${@package@_dependencies_LIST})
- if(EXISTS ${CMAKE_SOURCE_DIR}/${build_configuration}/bp.cmake)
- include(${build_configuration}/bp.cmake)
- list(APPEND @package@_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 @package@ has been installed another way.")
- endif(EXISTS ${CMAKE_SOURCE_DIR}/${build_configuration}/bp.cmake)
-endforeach(build_configuration ${@package@_dependences_LIST})
-
-# This can be safely done only after above includes.
-set(BP_PACKAGE @package@)
-
-# Data that is related to downloads.
-set(${BP_PACKAGE}_URL @download_href@)
-set(${BP_PACKAGE}_DOWNLOAD_HASH_TYPE @download_hash_type@)
-set(${BP_PACKAGE}_DOWNLOAD_HASH @download_hash@)
-
-# 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=@MSYS_EXTRA_CFLAGS@$ENV{CFLAGS}")
-else(MSYS_PLATFORM)
- set(source_PATH "${EP_BASE}/Source/build_${BP_PACKAGE}")
- set(${BP_PACKAGE}_SET_CFLAGS "CFLAGS=@UNIX_EXTRA_CFLAGS@$ENV{CFLAGS}")
-endif(MSYS_PLATFORM)
-#message(STATUS "modified BP_PATH for ${BP_PACKAGE} = ${BP_PATH}")
-
-set(${BP_PACKAGE}_SET_CXXFLAGS "CXXFLAGS=$ENV{CXXFLAGS}")
-
-# Drop -fvisibility=hidden since that option does not work for a
-# number of software packages that are configured automatically using
-# this template.
-string(REGEX REPLACE "-fvisibility=hidden" "" ${BP_PACKAGE}_SET_CFLAGS "${${BP_PACKAGE}_SET_CFLAGS}")
-string(REGEX REPLACE "-fvisibility=hidden" "" ${BP_PACKAGE}_SET_CXXFLAGS "${${BP_PACKAGE}_SET_CXXFLAGS}")
-
-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} ${${BP_PACKAGE}_SET_CXXFLAGS} ${source_PATH}/${BP_CONFIGURE_COMMAND} @config_arguments@
- BUILD_COMMAND ${ENV_EXECUTABLE} PATH=${BP_PATH} ${@BUILD_COMMAND@} @make_arguments@
- BUILD_IN_SOURCE @BUILD_IN_SOURCE@
- INSTALL_COMMAND ${ENV_EXECUTABLE} PATH=${BP_PATH} ${@BUILD_COMMAND@} @make_arguments@ 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.
|
|
From: <ai...@us...> - 2013-12-02 01:48:05
|
Revision: 12799
http://sourceforge.net/p/plplot/code/12799
Author: airwin
Date: 2013-12-02 01:48:01 +0000 (Mon, 02 Dec 2013)
Log Message:
-----------
Update scripts for regenerating build configurations, and refer to
those scripts in the developer documentation rather than repeating
all the commands in those scripts.
Modified Paths:
--------------
trunk/cmake/epa_build/README.developers
trunk/cmake/epa_build/update_added_packages.sh
trunk/cmake/epa_build/update_pango_packages.sh
Modified: trunk/cmake/epa_build/README.developers
===================================================================
--- trunk/cmake/epa_build/README.developers 2013-12-02 00:53:19 UTC (rev 12798)
+++ trunk/cmake/epa_build/README.developers 2013-12-02 01:48:01 UTC (rev 12799)
@@ -6,48 +6,17 @@
which keeps its configuration files in xml form. Here is how you
convert that form of build-configuration data to the epa_build form.
-# Chose this latest version (as of August 2013) because it probably has
-# improved build and dependency instructions compared to previous versions.
-# For example, the glib version (2.37.4) is known to solve a build issue
-# that I ran into for earlier glib versions.
-export GTK_VERSION=3.9.4
-mkdir -p $GTK_VERSION
-cd $GTK_VERSION
-# This downloads all the relevant xml build configuration files
-# for the given version of GTK
-wget -nd ftp://ftp.acc.umu.se/pub/GNOME/teams/releng/$GTK_VERSION/*
-cd ..
-./gtk_xml_recursive_process.py \
-$GTK_VERSION/gnome-apps-$GTK_VERSION.modules \
->| gtk_packages_$GTK_VERSION.xml
+# Download the jhbuild data for GTK_VERSION=3.9.4, collect all the
+# *.xml results into one giant xml file, "gtk_packages.xml", patch
+# that file, create a schema for that file, "gtk_packages.rnc" (not
+# used for anything but debugging of xml issues), convert that file to
+# a sequential form that can be read in by cmake called
+# "pango_packages.data", transform those data into build
+# configurations, */CMakeLists.txt, and patch those results.
+./update_pango_packages.sh
-# Patch this result to correct errors I have discovered in the jhbuild
-# configuration or else to use new versions of packages.
+Check for any errors:
-patch --no-backup-if-mismatch <patch_gtk_packages.xml
-
-# To create the schema for gtk_packages.xml use
-trang -I xml gtk_packages_$GTK_VERSION.xml gtk_packages_$GTK_VERSION.rnc
-
-# That resulting schema file is quite helpful in figuring out
-# how to process gtk_packages_$GTK_VERSION.xml as below.
-
-# Transform the xml form to a form that can be used by a cmake script.
-# Note, there will be some information messages sent to stderr by this
-# script that typically relate to good packages (ones that can be
-# transformed by this script) and bad packages. Currently the list of
-# bad packages are confined just to those which are completely missing
-# from the jhbuild data for gtk. The first command-line argument is
-# the starting package name and the second command-line argument is a
-# control variable where the least significant bit is ON for following (hard)
-# "dependencies" dependencies, the next least significant bit is ON
-# for following (soft) "suggests", dependencies, and the next least
-# significant bit is ON for following (would be nice) "after"
-# dependencies. Currently I use a command variable of 1 to keep
-# the number of packages configured for building pango and
-# (hard) dependencies to a minimum.
-./gtk_transform.py "pango" 1 <gtk_packages_$GTK_VERSION.xml 1>| pango_packages.data 2>|pango_packages.stderr
-
# Check for errors:
less pango_packages.stderr
@@ -57,52 +26,29 @@
# be configured another way).
# N.B. there are no plans to keep gtk_packages.xml, gtk_packages.rnc,
-# or pango_packages.data under version control. However,
+# or pango_packages.data under version control. However, all
+# essential files referred to by update_pango_packages.sh such as
# gtk_xml_recursive_process.py, patch_gtk_packages.xml, and
# gtk_transform.py are all kept under version control so that
# gtk_packages_$GTK_VERSION.xml, gtk_packages_$GTK_VERSION.rnc, and
# pango_packages.data can be reproduced at any time for the current
-# $GTK_VERSION value or produced for some updated $GTK_VERSION value.
-# Note that in that latter case, it will be necessary to edit the file
-# names in patch_gtk_packages.xml to conform to the new version.
+# $GTK_VERSION value or produced for some updated $GTK_VERSION value
+# in the future. Note that in that latter case, it will be necessary
+# to edit the file names in patch_gtk_packages.xml to conform to the
+# new version.
-# Finally to actually generate build configurations for build_packages run
-# the following command.
-
-cmake -DFILENAME:FILEPATH=pango_packages.data -P configure_epa.cmake
-
-# Patch generated configuration files. This patch file contains
-# additional changes that cannot be done via a patch to the *.xml file.
-# Typically, these changes are hand edits which are tested then committed.
-# So typically the patch is created by rerunning the above cmake
-# command then using "svn diff" >| configured_pango.patch" to generate
-# the reverse form of the patch to change the result created by the
-# above cmake command into the svn committed form which is done with
-# the following patch command.
-
-patch --reverse --no-backup-if-mismatch -p0 <configured_pango.patch
-
-N.B. configured_pango.patch is kept under version control.
-
# One known issue with the gtk+ stack and other software we build is
# certain package dependencies are completely missing (called "bad
# packages above) such as pkg-config and libffi which have to be built
# independently. For some of those missing packages we use a
-# hand-generated configuration (e.g., pkg-config/bp.cmake). For
-# others that can be configured with a template (e.g., libffi) we use
-# add_packages.xml (under version control) as follows:
+# hand-generated configuration (e.g., pkg-config/CMakeLists.txt). For
+# others that can be configured with a template (e.g., libffi) we add
+# additional configurations to add_packages.xml, process that file
+# with enough starting packages to include all dependent packages
+# in the resulting sequential file called "add_packages.data" which
+# is then processed to generated added build configurations such as libffi.
-rm -f add_packages.data add_packages.stderr
-touch add_packages.data add_packages.stderr
-# PACKAGE_LIST only contains the package names in add_packages.xml
-# that do not depend on any other package in that file. Thus,
-# PACKAGE_LIST contains a list of "starting" packages and the
-# dependencies of those should suck in the rest of the packages in
-# add_packages.xml.
-PACKAGE_LIST="libffi intltool pixman gperf swig libxslt"
-for PACKAGE in $PACKAGE_LIST; do
- ./gtk_transform.py $PACKAGE 1 <add_packages.xml 1>> add_packages.data 2>> add_packages.stderr
-done
+./update_added_packages.sh
# Look for any bad results:
less add_packages.stderr
@@ -110,6 +56,27 @@
# It turns out there is one "bad" package, pkg-config which must be
# configured with a hand-edited configuration.
-# Generate the "good" package configurations.
+# N.B. The build configurations generated by
+# "./update_pango_packages.sh" and "./update_added_packages.sh" are
+# committed under svn control so that care should be used to keep
+# everything consistent so that the above scripts introduce no svn
+# diffs.
+# Assuming no changes have been made to the essential files used by
+# "update_pango_packages.sh" (which are gtk_xml_recursive_process.py,
+# patch_gtk_packages.xml, and gtk_transform.py) to generate
+# pango_packages.data, then you can quickly check for such consistency
+# without running "./update_pango_packages.sh" using
+
+cmake -DFILENAME:FILEPATH=pango_packages.data -P configure_epa.cmake
+patch --reverse --no-backup-if-mismatch -p0 <configured_pango.patch
+svn diff
+
+# Similarly, assuming no changes have been made to the essential files
+# used by "update_added_packages.sh" (which are add_packages.xml and
+# gtk_transform.py) to generate add_packages.data, then you can
+# quickly check for such consistency without running
+# "./update_added_packages.sh" using
cmake -DFILENAME:FILEPATH=add_packages.data -P configure_epa.cmake
+svn diff
+
Modified: trunk/cmake/epa_build/update_added_packages.sh
===================================================================
--- trunk/cmake/epa_build/update_added_packages.sh 2013-12-02 00:53:19 UTC (rev 12798)
+++ trunk/cmake/epa_build/update_added_packages.sh 2013-12-02 01:48:01 UTC (rev 12799)
@@ -1,12 +1,16 @@
#!/bin/bash
# Update build configurations of added packages that are described by
-# gtk_packages_add.xml
+# add_packages.xml
-rm -f add_packages.data
-touch add_packages.data
-# Ignore libxml2 since that is sucked in by the libxslt dependency.
-PACKAGE_LIST="libffi intltool pixman gperf libxslt ragel"
+rm -f add_packages.data add_packages.stderr
+touch add_packages.data add_packages.stderr
+# PACKAGE_LIST only contains the package names in add_packages.xml
+# that do not depend on any other package in that file. Thus,
+# PACKAGE_LIST contains a list of "starting" packages and the
+# dependencies of those should suck in the rest of the packages in
+# add_packages.xml.
+PACKAGE_LIST="libffi intltool pixman gperf swig libxslt ragel"
for PACKAGE in $PACKAGE_LIST; do
- ./gtk_transform.py $PACKAGE 1 <gtk_packages_add.xml 1>> add_packages.data
+ ./gtk_transform.py $PACKAGE 1 <add_packages.xml 1>> add_packages.data 2>> add_packages.stderr
done
-cmake -DFILENAME:FILEPATH=add_packages.data -P configure_bp.cmake
+cmake -DFILENAME:FILEPATH=add_packages.data -P configure_epa.cmake
Modified: trunk/cmake/epa_build/update_pango_packages.sh
===================================================================
--- trunk/cmake/epa_build/update_pango_packages.sh 2013-12-02 00:53:19 UTC (rev 12798)
+++ trunk/cmake/epa_build/update_pango_packages.sh 2013-12-02 01:48:01 UTC (rev 12799)
@@ -2,7 +2,11 @@
# Update build configurations of pango packages that are described by
# GTK+ jhbuild build configuration
-GTK_VERSION=3.9.4
+# Chose this latest version (as of August 2013) because it probably has
+# improved build and dependency instructions compared to previous versions.
+# For example, the glib version (2.37.4) is known to solve a build issue
+# that I ran into for earlier glib versions.
+export GTK_VERSION=3.9.4
rm -rf $GTK_VERSION
mkdir $GTK_VERSION
cd $GTK_VERSION
@@ -12,10 +16,49 @@
cd ..
./gtk_xml_recursive_process.py \
$GTK_VERSION/gnome-apps-$GTK_VERSION.modules \
->|gtk_packages_$GTK_VERSION.xml_original
+>| gtk_packages_$GTK_VERSION.xml
+
rm -rf $GTK_VERSION
-cp gtk_packages_$GTK_VERSION.xml_original gtk_packages_$GTK_VERSION.xml
-patch --no-backup-if-mismatch gtk_packages_$GTK_VERSION.xml patch_gtk_packages.xml
-./gtk_transform.py pango 1 <gtk_packages_$GTK_VERSION.xml 1>| pango_packages.data
-cmake -DFILENAME:FILEPATH=pango_packages.data -P configure_bp.cmake
+# Patch this result to correct errors I have discovered in the jhbuild
+# configuration or else to use new versions of packages.
+
+patch --no-backup-if-mismatch <patch_gtk_packages.xml
+
+# To create the schema for gtk_packages.xml use
+trang -I xml gtk_packages_$GTK_VERSION.xml gtk_packages_$GTK_VERSION.rnc
+
+# That resulting schema file is quite helpful in figuring out
+# how to process gtk_packages_$GTK_VERSION.xml as below.
+
+# Transform the xml form to a form that can be used by a cmake script.
+# Note, there will be some information messages sent to stderr by this
+# script that typically relate to good packages (ones that can be
+# transformed by this script) and bad packages. Currently the list of
+# bad packages are confined just to those which are completely missing
+# from the jhbuild data for gtk. The first command-line argument is
+# the starting package name and the second command-line argument is a
+# control variable where the least significant bit is ON for following (hard)
+# "dependencies" dependencies, the next least significant bit is ON
+# for following (soft) "suggests", dependencies, and the next least
+# significant bit is ON for following (would be nice) "after"
+# dependencies. Currently I use a command variable of 1 to keep
+# the number of packages configured for building pango and
+# (hard) dependencies to a minimum.
+./gtk_transform.py "pango" 1 <gtk_packages_$GTK_VERSION.xml 1>| pango_packages.data 2>|pango_packages.stderr
+
+# Finally to actually generate build configurations for build_packages run
+# the following command.
+
+cmake -DFILENAME:FILEPATH=pango_packages.data -P configure_epa.cmake
+
+# Patch generated configuration files. This patch file contains
+# additional changes that cannot be done via a patch to the *.xml file.
+# Typically, these changes are hand edits which are tested then committed.
+# So typically the patch is created by rerunning the above cmake
+# command then using "svn diff" >| configured_pango.patch" to generate
+# the reverse form of the patch to change the result created by the
+# above cmake command into the svn committed form which is done with
+# the following patch command.
+
+patch --reverse --no-backup-if-mismatch -p0 <configured_pango.patch
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <ai...@us...> - 2013-12-02 07:20:06
|
Revision: 12800
http://sourceforge.net/p/plplot/code/12800
Author: airwin
Date: 2013-12-02 07:19:58 +0000 (Mon, 02 Dec 2013)
Log Message:
-----------
Update automatically configured builds to new add_subdirectory method
while replacing all "BP_" variables by the "EPA_" equivalents if those
are set in the top-level CMakeLists.txt file, or else dropping the
${BP_PROJECT}_ prefix altogether when warranted since the variable
scope issues are much reduced with the add_subdirectory method
we are still in the process of implementing.
Modified Paths:
--------------
trunk/cmake/epa_build/CMakeLists.txt
trunk/cmake/epa_build/cairo/CMakeLists.txt
trunk/cmake/epa_build/epa_CMakeLists.txt.in
trunk/cmake/epa_build/fontconfig/CMakeLists.txt
trunk/cmake/epa_build/glib/CMakeLists.txt
trunk/cmake/epa_build/gobject-introspection/CMakeLists.txt
trunk/cmake/epa_build/gperf/CMakeLists.txt
trunk/cmake/epa_build/gtk-doc/CMakeLists.txt
trunk/cmake/epa_build/harfbuzz/CMakeLists.txt
trunk/cmake/epa_build/intltool/CMakeLists.txt
trunk/cmake/epa_build/itstool/CMakeLists.txt
trunk/cmake/epa_build/libffi/CMakeLists.txt
trunk/cmake/epa_build/libpcre/CMakeLists.txt
trunk/cmake/epa_build/libxml2/CMakeLists.txt
trunk/cmake/epa_build/libxslt/CMakeLists.txt
trunk/cmake/epa_build/pango/CMakeLists.txt
trunk/cmake/epa_build/pixman/CMakeLists.txt
trunk/cmake/epa_build/ragel/CMakeLists.txt
trunk/cmake/epa_build/swig/CMakeLists.txt
trunk/cmake/epa_build/yelp-tools/CMakeLists.txt
trunk/cmake/epa_build/yelp-xsl/CMakeLists.txt
Modified: trunk/cmake/epa_build/CMakeLists.txt
===================================================================
--- trunk/cmake/epa_build/CMakeLists.txt 2013-12-02 01:48:01 UTC (rev 12799)
+++ trunk/cmake/epa_build/CMakeLists.txt 2013-12-02 07:19:58 UTC (rev 12800)
@@ -27,9 +27,9 @@
cmake_minimum_required(VERSION 2.8.11.2 FATAL_ERROR)
-set(EP_BASE ${CMAKE_BINARY_DIR}/epa_build)
-message(STATUS "EP_BASE = ${EP_BASE}")
-set_directory_properties(PROPERTIES EP_BASE ${EP_BASE})
+set(EPA_BASE ${CMAKE_BINARY_DIR}/epa_build)
+message(STATUS "EPA_BASE = ${EPA_BASE}")
+set_directory_properties(PROPERTIES EPA_BASE ${EPA_BASE})
# Set epa_build variables to control builds in general
@@ -129,9 +129,9 @@
# Intel/AMD Linux hardware and also MinGW/MSYS on 32-bit Windows for
# now.
if(UNAME_MACHINE STREQUAL x86_64)
- set(BP_HAVE_64_BIT_OS ON)
+ set(EPA_HAVE_64_BIT_OS ON)
else(UNAME_MACHINE STREQUAL x86_64)
- set(BP_HAVE_64_BIT_OS OFF)
+ set(EPA_HAVE_64_BIT_OS OFF)
endif(UNAME_MACHINE STREQUAL x86_64)
# Use modified version of the CMake 2.8.12 ExternalProject module
@@ -160,47 +160,47 @@
# This gives the full pathname of the associated build tool for at
# least the "Unix Makefiles", "Ninja", "MSYS Makefiles", "MinGW
# Makefiles", and "NMake Makefiles JOM" CMake generators.
-set(BP_BUILD_COMMAND "${CMAKE_MAKE_PROGRAM}")
+set(EPA_BUILD_COMMAND "${CMAKE_MAKE_PROGRAM}")
# Actual make programme used for autotools builds.
-set(BP_MAKE_COMMAND ${MAKE_EXECUTABLE})
+set(EPA_MAKE_COMMAND ${MAKE_EXECUTABLE})
-set(BP_CTEST_COMMAND "${CMAKE_CTEST_COMMAND}")
+set(EPA_CTEST_COMMAND "${CMAKE_CTEST_COMMAND}")
if(MSYS_PLATFORM)
# On the MSYS platform, the env command (used to set relevant
- # environment variables for the commands below in the */bp.cmake
+ # environment variables for the commands below in the */CMakeLists.txt
# scripts) requires all full paths be in the MSYS platform form.
- determine_msys_path(BP_BUILD_COMMAND "${BP_BUILD_COMMAND}")
- determine_msys_path(BP_MAKE_COMMAND "${BP_MAKE_COMMAND}")
- determine_msys_path(BP_CTEST_COMMAND "${BP_CTEST_COMMAND}")
- determine_msys_path(BP_CMAKE_INSTALL_PREFIX "${CMAKE_INSTALL_PREFIX}")
+ determine_msys_path(EPA_BUILD_COMMAND "${EPA_BUILD_COMMAND}")
+ determine_msys_path(EPA_MAKE_COMMAND "${EPA_MAKE_COMMAND}")
+ determine_msys_path(EPA_CTEST_COMMAND "${EPA_CTEST_COMMAND}")
+ determine_msys_path(EPA_CMAKE_INSTALL_PREFIX "${CMAKE_INSTALL_PREFIX}")
determine_msys_path(MSYS_CMAKE_COMMAND "${CMAKE_COMMAND}")
# Propagate the overall CMake generator and install prefix to all CMake-based
# software project builds.
- set(BP_CMAKE_COMMAND ${MSYS_CMAKE_COMMAND} "-G${CMAKE_GENERATOR}" -DCMAKE_INSTALL_PREFIX:PATH=${BP_CMAKE_INSTALL_PREFIX})
+ set(EPA_CMAKE_COMMAND ${MSYS_CMAKE_COMMAND} "-G${CMAKE_GENERATOR}" -DCMAKE_INSTALL_PREFIX:PATH=${EPA_CMAKE_INSTALL_PREFIX})
# Propagate CMAKE_C_COMPILER, CMAKE_CXX_COMPILER, and
# CMAKE_RC_COMPILER to all CMake-based software project builds.
# (jom currently requires this as a workaround).
if(CMAKE_C_COMPILER)
determine_msys_path(MSYS_CMAKE_C_COMPILER "${CMAKE_C_COMPILER}")
- list(APPEND BP_CMAKE_COMMAND -DCMAKE_C_COMPILER:FILEPATH=${MSYS_CMAKE_C_COMPILER})
+ list(APPEND EPA_CMAKE_COMMAND -DCMAKE_C_COMPILER:FILEPATH=${MSYS_CMAKE_C_COMPILER})
endif(CMAKE_C_COMPILER)
if(CMAKE_CXX_COMPILER)
determine_msys_path(MSYS_CMAKE_CXX_COMPILER "${CMAKE_CXX_COMPILER}")
- list(APPEND BP_CMAKE_COMMAND -DCMAKE_CXX_COMPILER:FILEPATH=${MSYS_CMAKE_CXX_COMPILER})
+ list(APPEND EPA_CMAKE_COMMAND -DCMAKE_CXX_COMPILER:FILEPATH=${MSYS_CMAKE_CXX_COMPILER})
endif(CMAKE_CXX_COMPILER)
if(CMAKE_RC_COMPILER)
determine_msys_path(MSYS_CMAKE_RC_COMPILER "${CMAKE_RC_COMPILER}")
- list(APPEND BP_CMAKE_COMMAND -DCMAKE_RC_COMPILER:FILEPATH=${MSYS_CMAKE_RC_COMPILER})
+ list(APPEND EPA_CMAKE_COMMAND -DCMAKE_RC_COMPILER:FILEPATH=${MSYS_CMAKE_RC_COMPILER})
endif(CMAKE_RC_COMPILER)
# No extra dropped dependencies for the MSYS_PLATFORM case.
set(extra_ignored_dependencies_list)
else(MSYS_PLATFORM)
# Propagate the overall CMake generator and install prefix to all CMake-based
# software project builds.
- set(BP_CMAKE_COMMAND ${CMAKE_COMMAND} "-G${CMAKE_GENERATOR}" -DCMAKE_INSTALL_PREFIX:PATH=${CMAKE_INSTALL_PREFIX})
- set(BP_CMAKE_INSTALL_PREFIX ${CMAKE_INSTALL_PREFIX})
+ set(EPA_CMAKE_COMMAND ${CMAKE_COMMAND} "-G${CMAKE_GENERATOR}" -DCMAKE_INSTALL_PREFIX:PATH=${CMAKE_INSTALL_PREFIX})
+ set(EPA_CMAKE_INSTALL_PREFIX ${CMAKE_INSTALL_PREFIX})
# Drop xmlcatalog-wrapper dependency since that is only suitable for
# the MSYS_PLATFORM case.
@@ -208,38 +208,38 @@
endif(MSYS_PLATFORM)
# Propagate the install prefix to autotools-based builds
-set(BP_CONFIGURE_COMMAND configure --prefix=${BP_CMAKE_INSTALL_PREFIX})
+set(EPA_CONFIGURE_COMMAND configure --prefix=${EPA_CMAKE_INSTALL_PREFIX})
if(CMAKE_VERBOSE_MAKEFILE)
# Not sure whether all contemplated back-ends support this or not, but
# most should.
- list(APPEND BP_CMAKE_COMMAND -DCMAKE_VERBOSE_MAKEFILE=ON)
+ list(APPEND EPA_CMAKE_COMMAND -DCMAKE_VERBOSE_MAKEFILE=ON)
# Some autotools build projects give verbose make results when V=1
# and I don't think it will interfere with the rest.
- list(APPEND BP_MAKE_COMMAND V=1)
+ list(APPEND EPA_MAKE_COMMAND V=1)
endif(CMAKE_VERBOSE_MAKEFILE)
# The parallel versions are for software packages that
# do not have race conditions for parallel builds or tests.
-set(BP_PARALLEL_BUILD_COMMAND "${BP_BUILD_COMMAND}" -j4)
-set(BP_PARALLEL_CTEST_COMMAND "${BP_CTEST_COMMAND}" -j4)
+set(EPA_PARALLEL_BUILD_COMMAND "${EPA_BUILD_COMMAND}" -j4)
+set(EPA_PARALLEL_CTEST_COMMAND "${EPA_CTEST_COMMAND}" -j4)
# For autotools based builds.
option(AUTOTOOLS_PARALLEL_BUILD "Build autotools projects using parallel make unless a specific project is expressely configured otherwise" ON)
if(AUTOTOOLS_PARALLEL_BUILD)
- set(BP_PARALLEL_MAKE_COMMAND "${BP_MAKE_COMMAND}" -j4)
+ set(EPA_PARALLEL_MAKE_COMMAND "${EPA_MAKE_COMMAND}" -j4)
else(AUTOTOOLS_PARALLEL_BUILD)
- set(BP_PARALLEL_MAKE_COMMAND "${BP_MAKE_COMMAND}")
+ set(EPA_PARALLEL_MAKE_COMMAND "${EPA_MAKE_COMMAND}")
endif(AUTOTOOLS_PARALLEL_BUILD)
-message(STATUS "BP_CMAKE_COMMAND = ${BP_CMAKE_COMMAND}")
-message(STATUS "BP_CONFIGURE_COMMAND = ${BP_CONFIGURE_COMMAND}")
-message(STATUS "BP_BUILD_COMMAND = ${BP_BUILD_COMMAND}")
-message(STATUS "BP_PARALLEL_BUILD_COMMAND = ${BP_PARALLEL_BUILD_COMMAND}")
-message(STATUS "BP_MAKE_COMMAND = ${BP_MAKE_COMMAND}")
-message(STATUS "BP_PARALLEL_MAKE_COMMAND = ${BP_PARALLEL_MAKE_COMMAND}")
-message(STATUS "BP_CTEST_COMMAND = ${BP_CTEST_COMMAND}")
-message(STATUS "BP_PARALLEL_CTEST_COMMAND = ${BP_PARALLEL_CTEST_COMMAND}")
+message(STATUS "EPA_CMAKE_COMMAND = ${EPA_CMAKE_COMMAND}")
+message(STATUS "EPA_CONFIGURE_COMMAND = ${EPA_CONFIGURE_COMMAND}")
+message(STATUS "EPA_BUILD_COMMAND = ${EPA_BUILD_COMMAND}")
+message(STATUS "EPA_PARALLEL_BUILD_COMMAND = ${EPA_PARALLEL_BUILD_COMMAND}")
+message(STATUS "EPA_MAKE_COMMAND = ${EPA_MAKE_COMMAND}")
+message(STATUS "EPA_PARALLEL_MAKE_COMMAND = ${EPA_PARALLEL_MAKE_COMMAND}")
+message(STATUS "EPA_CTEST_COMMAND = ${EPA_CTEST_COMMAND}")
+message(STATUS "EPA_PARALLEL_CTEST_COMMAND = ${EPA_PARALLEL_CTEST_COMMAND}")
# Put ${CMAKE_INSTALL_PREFIX}/bin on the PATH as well for those cases
# where some executable built and installed by epa_build needs
@@ -249,7 +249,7 @@
else(MSYS_PLATFORM)
set(BP_ORIGINAL_NATIVE_PATH "$ENV{PATH}:${CMAKE_INSTALL_PREFIX}/bin")
endif(MSYS_PLATFORM)
-set(BP_PATH "${BP_ORIGINAL_NATIVE_PATH}")
+set(EPA_PATH "${BP_ORIGINAL_NATIVE_PATH}")
# This option not used currently, but instead of removing it, comment
# it out because it might be useful later if we ever configure a project
@@ -313,7 +313,7 @@
endif(BUILD_THE_BUILDTOOLS)
foreach(build_configuration ${build_configuration_LIST})
- include(${build_configuration}/bp.cmake)
+ include(${build_configuration}/CMakeLists.txt)
endforeach(build_configuration ${build_configuration_LIST})
add_custom_target(build_all)
Modified: trunk/cmake/epa_build/cairo/CMakeLists.txt
===================================================================
--- trunk/cmake/epa_build/cairo/CMakeLists.txt 2013-12-02 01:48:01 UTC (rev 12799)
+++ trunk/cmake/epa_build/cairo/CMakeLists.txt 2013-12-02 07:19:58 UTC (rev 12800)
@@ -1,12 +1,13 @@
-# cairo/bp.cmake
+# cairo/CMakeLists.txt
# N.B. this file is generated so if you edit it you will lose all your
# changes the next time it is generated (typically by running
# either/both the update_added_packages.sh or update_pango_packages.sh
# scripts). If those scripts do not provide good results, then
# consider changing their source files (e.g., by editing the files
-# used in those scripts) or add a patch to be run by those scripts).
+# used in those scripts) or add a patch to be run by those scripts.
-# This file should be included directly or indirectly from a top-level
+# The CMake logic in this file should be exercised by the
+# add_subdirectory command that is exercised in the top-level
# CMakeLists.txt file to configure the build of cairo.
# Copyright (C) 2013 Alan W. Irwin
@@ -25,80 +26,79 @@
# 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
+# The top-level CMakeLists.txt file that adds this subdirectory should
+# have run "include(ExternalProject)" and set the EPA_BASE variable (and
+# corresponding directory property) as well as various EPA variables
# used below that configure how the External_Project functions
# operate.
-# Protect against configuring a build twice in one CMake call
-if(cairo_configured)
- return()
-endif(cairo_configured)
-set(cairo_configured ON)
+set(PACKAGE cairo)
# 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 ${extra_ignored_dependencies_list})
+set(ignored_dependencies_LIST pkg-config;bison;flex;python2-devel;libXft ${extra_ignored_dependencies_list})
-set(cairo_dependencies_LIST fontconfig;gtk-doc;pixman;pkg-config)
+set(dependencies_LIST fontconfig;gtk-doc;pixman;pkg-config)
# Remove dependencies that should be ignored.
-if(cairo_dependencies_LIST)
- list(REMOVE_ITEM cairo_dependencies_LIST ${BP_ignored_dependencies_LIST})
-endif(cairo_dependencies_LIST)
+if(dependencies_LIST)
+ list(REMOVE_ITEM dependencies_LIST ${ignored_dependencies_LIST})
+endif(dependencies_LIST)
-set(cairo_dependencies_targets)
-foreach(build_configuration ${cairo_dependencies_LIST})
- if(EXISTS ${CMAKE_SOURCE_DIR}/${build_configuration}/bp.cmake)
- include(${build_configuration}/bp.cmake)
- list(APPEND cairo_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 cairo has been installed another way.")
- endif(EXISTS ${CMAKE_SOURCE_DIR}/${build_configuration}/bp.cmake)
-endforeach(build_configuration ${cairo_dependences_LIST})
+# Add this subdirectory to the list of subdirectories that have
+# already been processed by the top-level CMakeLists.txt logic.
+list(APPEND EPA_processed_subdirectories_LIST ${PACKAGE})
-# This can be safely done only after above includes.
-set(BP_PACKAGE cairo)
+set(dependencies_targets)
+foreach(build_configuration ${dependencies_LIST})
+ if(EXISTS ${CMAKE_SOURCE_DIR}/${build_configuration}/CMakeLists.txt)
+ # Add to the list of subdirectories that must be processed by the
+ # top-level CMakeLists.txt logic.
+ list(APPEND EPA_needed_subdirectories_LIST ${build_configuration})
+ list(APPEND dependencies_targets build_${build_configuration})
+ else(EXISTS ${CMAKE_SOURCE_DIR}/${build_configuration}/CMakeLists.txt)
+ message(STATUS "Warning: A build_configuration for ${build_configuration} does not exist so it is assumed this dependency of ${PACKAGE} has been installed on your platform by means other than epa_build.")
+ endif(EXISTS ${CMAKE_SOURCE_DIR}/${build_configuration}/CMakeLists.txt)
+endforeach(build_configuration ${dependences_LIST})
+list(APPEND EPA_build_target_LIST build_${PACKAGE})
+
+# Propagate list changes to parent scope.
+set(EPA_build_target_LIST ${EPA_build_target_LIST} PARENT_SCOPE)
+set(EPA_processed_subdirectories_LIST ${EPA_processed_subdirectories_LIST} PARENT_SCOPE)
+set(EPA_needed_subdirectories_LIST ${EPA_needed_subdirectories_LIST} PARENT_SCOPE)
+
# Data that is related to downloads.
-set(${BP_PACKAGE}_URL http://cairographics.org/releases/cairo-1.12.14.tar.xz)
-set(${BP_PACKAGE}_DOWNLOAD_HASH_TYPE SHA256)
-set(${BP_PACKAGE}_DOWNLOAD_HASH 96d0d1e3f9b74d2ca3469ff187c5e5f25649b1ad35cf06f4f3a83847dff4ac13)
+set(URL http://cairographics.org/releases/cairo-1.12.14.tar.xz)
+set(DOWNLOAD_HASH_TYPE SHA256)
+set(DOWNLOAD_HASH 96d0d1e3f9b74d2ca3469ff187c5e5f25649b1ad35cf06f4f3a83847dff4ac13)
# 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}")
+ determine_msys_path(EPA_PATH "${EPA_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}")
+ determine_msys_path(source_PATH "${EPA_BASE}/Source/build_${PACKAGE}")
+ set(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}")
+ set(source_PATH "${EPA_BASE}/Source/build_${PACKAGE}")
+ set(SET_CFLAGS "CFLAGS=$ENV{CFLAGS}")
endif(MSYS_PLATFORM)
-#message(STATUS "modified BP_PATH for ${BP_PACKAGE} = ${BP_PATH}")
+#message(STATUS "modified EPA_PATH for ${PACKAGE} = ${EPA_PATH}")
-set(${BP_PACKAGE}_SET_CXXFLAGS "CXXFLAGS=$ENV{CXXFLAGS}")
+set(SET_CXXFLAGS "CXXFLAGS=$ENV{CXXFLAGS}")
# Drop -fvisibility=hidden since that option does not work for a
# number of software packages that are configured automatically using
# this template.
-string(REGEX REPLACE "-fvisibility=hidden" "" ${BP_PACKAGE}_SET_CFLAGS "${${BP_PACKAGE}_SET_CFLAGS}")
-string(REGEX REPLACE "-fvisibility=hidden" "" ${BP_PACKAGE}_SET_CXXFLAGS "${${BP_PACKAGE}_SET_CXXFLAGS}")
+string(REGEX REPLACE "-fvisibility=hidden" "" SET_CFLAGS "${SET_CFLAGS}")
+string(REGEX REPLACE "-fvisibility=hidden" "" SET_CXXFLAGS "${SET_CXXFLAGS}")
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} ${${BP_PACKAGE}_SET_CXXFLAGS} ${source_PATH}/${BP_CONFIGURE_COMMAND} --enable-xlib
- BUILD_COMMAND ${ENV_EXECUTABLE} PATH=${BP_PATH} ${BP_PARALLEL_MAKE_COMMAND}
+ build_${PACKAGE}
+ DEPENDS ${dependencies_targets}
+ URL ${URL}
+ URL_HASH ${DOWNLOAD_HASH_TYPE}=${DOWNLOAD_HASH}
+ CONFIGURE_COMMAND ${ENV_EXECUTABLE} PATH=${EPA_PATH} ${SET_CFLAGS} ${SET_CXXFLAGS} ${source_PATH}/${EPA_CONFIGURE_COMMAND} --enable-xlib
+ BUILD_COMMAND ${ENV_EXECUTABLE} PATH=${EPA_PATH} ${BP_PARALLEL_MAKE_COMMAND}
BUILD_IN_SOURCE OFF
- INSTALL_COMMAND ${ENV_EXECUTABLE} PATH=${BP_PATH} ${BP_PARALLEL_MAKE_COMMAND} install
+ INSTALL_COMMAND ${ENV_EXECUTABLE} PATH=${EPA_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}")
Modified: trunk/cmake/epa_build/epa_CMakeLists.txt.in
===================================================================
--- trunk/cmake/epa_build/epa_CMakeLists.txt.in 2013-12-02 01:48:01 UTC (rev 12799)
+++ trunk/cmake/epa_build/epa_CMakeLists.txt.in 2013-12-02 07:19:58 UTC (rev 12800)
@@ -1,12 +1,13 @@
-# @package@/bp.cmake
+# @package@/CMakeLists.txt
# N.B. this file is generated so if you edit it you will lose all your
# changes the next time it is generated (typically by running
# either/both the update_added_packages.sh or update_pango_packages.sh
# scripts). If those scripts do not provide good results, then
# consider changing their source files (e.g., by editing the files
-# used in those scripts) or add a patch to be run by those scripts).
+# used in those scripts) or add a patch to be run by those scripts.
-# This file should be included directly or indirectly from a top-level
+# The CMake logic in this file should be exercised by the
+# add_subdirectory command that is exercised in the top-level
# CMakeLists.txt file to configure the build of @package@.
# Copyright (C) 2013 Alan W. Irwin
@@ -25,80 +26,79 @@
# 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
+# The top-level CMakeLists.txt file that adds this subdirectory should
+# have run "include(ExternalProject)" and set the EPA_BASE variable (and
+# corresponding directory property) as well as various EPA variables
# used below that configure how the External_Project functions
# operate.
-# Protect against configuring a build twice in one CMake call
-if(@package@_configured)
- return()
-endif(@package@_configured)
-set(@package@_configured ON)
+set(PACKAGE @package@)
# List of dependencies (most of which are build tools) which should be
# ignored.
-set(BP_ignored_dependencies_LIST @ignored_dependencies_LIST@ ${extra_ignored_dependencies_list})
+set(ignored_dependencies_LIST @ignored_dependencies_LIST@ ${extra_ignored_dependencies_list})
-set(@package@_dependencies_LIST @dependencies@)
+set(dependencies_LIST @dependencies@)
# Remove dependencies that should be ignored.
-if(@package@_dependencies_LIST)
- list(REMOVE_ITEM @package@_dependencies_LIST ${BP_ignored_dependencies_LIST})
-endif(@package@_dependencies_LIST)
+if(dependencies_LIST)
+ list(REMOVE_ITEM dependencies_LIST ${ignored_dependencies_LIST})
+endif(dependencies_LIST)
-set(@package@_dependencies_targets)
-foreach(build_configuration ${@package@_dependencies_LIST})
- if(EXISTS ${CMAKE_SOURCE_DIR}/${build_configuration}/bp.cmake)
- include(${build_configuration}/bp.cmake)
- list(APPEND @package@_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 @package@ has been installed another way.")
- endif(EXISTS ${CMAKE_SOURCE_DIR}/${build_configuration}/bp.cmake)
-endforeach(build_configuration ${@package@_dependences_LIST})
+# Add this subdirectory to the list of subdirectories that have
+# already been processed by the top-level CMakeLists.txt logic.
+list(APPEND EPA_processed_subdirectories_LIST ${PACKAGE})
-# This can be safely done only after above includes.
-set(BP_PACKAGE @package@)
+set(dependencies_targets)
+foreach(build_configuration ${dependencies_LIST})
+ if(EXISTS ${CMAKE_SOURCE_DIR}/${build_configuration}/CMakeLists.txt)
+ # Add to the list of subdirectories that must be processed by the
+ # top-level CMakeLists.txt logic.
+ list(APPEND EPA_needed_subdirectories_LIST ${build_configuration})
+ list(APPEND dependencies_targets build_${build_configuration})
+ else(EXISTS ${CMAKE_SOURCE_DIR}/${build_configuration}/CMakeLists.txt)
+ message(STATUS "Warning: A build_configuration for ${build_configuration} does not exist so it is assumed this dependency of ${PACKAGE} has been installed on your platform by means other than epa_build.")
+ endif(EXISTS ${CMAKE_SOURCE_DIR}/${build_configuration}/CMakeLists.txt)
+endforeach(build_configuration ${dependences_LIST})
+list(APPEND EPA_build_target_LIST build_${PACKAGE})
+
+# Propagate list changes to parent scope.
+set(EPA_build_target_LIST ${EPA_build_target_LIST} PARENT_SCOPE)
+set(EPA_processed_subdirectories_LIST ${EPA_processed_subdirectories_LIST} PARENT_SCOPE)
+set(EPA_needed_subdirectories_LIST ${EPA_needed_subdirectories_LIST} PARENT_SCOPE)
+
# Data that is related to downloads.
-set(${BP_PACKAGE}_URL @download_href@)
-set(${BP_PACKAGE}_DOWNLOAD_HASH_TYPE @download_hash_type@)
-set(${BP_PACKAGE}_DOWNLOAD_HASH @download_hash@)
+set(URL @download_href@)
+set(DOWNLOAD_HASH_TYPE @download_hash_type@)
+set(DOWNLOAD_HASH @download_hash@)
# 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}")
+ determine_msys_path(EPA_PATH "${EPA_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=@MSYS_EXTRA_CFLAGS@$ENV{CFLAGS}")
+ determine_msys_path(source_PATH "${EPA_BASE}/Source/build_${PACKAGE}")
+ set(SET_CFLAGS "CFLAGS=@MSYS_EXTRA_CFLAGS@$ENV{CFLAGS}")
else(MSYS_PLATFORM)
- set(source_PATH "${EP_BASE}/Source/build_${BP_PACKAGE}")
- set(${BP_PACKAGE}_SET_CFLAGS "CFLAGS=@UNIX_EXTRA_CFLAGS@$ENV{CFLAGS}")
+ set(source_PATH "${EPA_BASE}/Source/build_${PACKAGE}")
+ set(SET_CFLAGS "CFLAGS=@UNIX_EXTRA_CFLAGS@$ENV{CFLAGS}")
endif(MSYS_PLATFORM)
-#message(STATUS "modified BP_PATH for ${BP_PACKAGE} = ${BP_PATH}")
+#message(STATUS "modified EPA_PATH for ${PACKAGE} = ${EPA_PATH}")
-set(${BP_PACKAGE}_SET_CXXFLAGS "CXXFLAGS=$ENV{CXXFLAGS}")
+set(SET_CXXFLAGS "CXXFLAGS=$ENV{CXXFLAGS}")
# Drop -fvisibility=hidden since that option does not work for a
# number of software packages that are configured automatically using
# this template.
-string(REGEX REPLACE "-fvisibility=hidden" "" ${BP_PACKAGE}_SET_CFLAGS "${${BP_PACKAGE}_SET_CFLAGS}")
-string(REGEX REPLACE "-fvisibility=hidden" "" ${BP_PACKAGE}_SET_CXXFLAGS "${${BP_PACKAGE}_SET_CXXFLAGS}")
+string(REGEX REPLACE "-fvisibility=hidden" "" SET_CFLAGS "${SET_CFLAGS}")
+string(REGEX REPLACE "-fvisibility=hidden" "" SET_CXXFLAGS "${SET_CXXFLAGS}")
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} ${${BP_PACKAGE}_SET_CXXFLAGS} ${source_PATH}/${BP_CONFIGURE_COMMAND} @config_arguments@
- BUILD_COMMAND ${ENV_EXECUTABLE} PATH=${BP_PATH} ${@BUILD_COMMAND@} @make_arguments@
+ build_${PACKAGE}
+ DEPENDS ${dependencies_targets}
+ URL ${URL}
+ URL_HASH ${DOWNLOAD_HASH_TYPE}=${DOWNLOAD_HASH}
+ CONFIGURE_COMMAND ${ENV_EXECUTABLE} PATH=${EPA_PATH} ${SET_CFLAGS} ${SET_CXXFLAGS} ${source_PATH}/${EPA_CONFIGURE_COMMAND} @config_arguments@
+ BUILD_COMMAND ${ENV_EXECUTABLE} PATH=${EPA_PATH} ${@BUILD_COMMAND@} @make_arguments@
BUILD_IN_SOURCE @BUILD_IN_SOURCE@
- INSTALL_COMMAND ${ENV_EXECUTABLE} PATH=${BP_PATH} ${@BUILD_COMMAND@} @make_arguments@ install
+ INSTALL_COMMAND ${ENV_EXECUTABLE} PATH=${EPA_PATH} ${@BUILD_COMMAND@} @make_arguments@ 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}")
Modified: trunk/cmake/epa_build/fontconfig/CMakeLists.txt
===================================================================
--- trunk/cmake/epa_build/fontconfig/CMakeLists.txt 2013-12-02 01:48:01 UTC (rev 12799)
+++ trunk/cmake/epa_build/fontconfig/CMakeLists.txt 2013-12-02 07:19:58 UTC (rev 12800)
@@ -1,12 +1,13 @@
-# fontconfig/bp.cmake
+# fontconfig/CMakeLists.txt
# N.B. this file is generated so if you edit it you will lose all your
# changes the next time it is generated (typically by running
# either/both the update_added_packages.sh or update_pango_packages.sh
# scripts). If those scripts do not provide good results, then
# consider changing their source files (e.g., by editing the files
-# used in those scripts) or add a patch to be run by those scripts).
+# used in those scripts) or add a patch to be run by those scripts.
-# This file should be included directly or indirectly from a top-level
+# The CMake logic in this file should be exercised by the
+# add_subdirectory command that is exercised in the top-level
# CMakeLists.txt file to configure the build of fontconfig.
# Copyright (C) 2013 Alan W. Irwin
@@ -25,80 +26,79 @@
# 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
+# The top-level CMakeLists.txt file that adds this subdirectory should
+# have run "include(ExternalProject)" and set the EPA_BASE variable (and
+# corresponding directory property) as well as various EPA variables
# used below that configure how the External_Project functions
# operate.
-# Protect against configuring a build twice in one CMake call
-if(fontconfig_configured)
- return()
-endif(fontconfig_configured)
-set(fontconfig_configured ON)
+set(PACKAGE fontconfig)
# 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 ${extra_ignored_dependencies_list})
+set(ignored_dependencies_LIST pkg-config;bison;flex;python2-devel;libXft ${extra_ignored_dependencies_list})
-set(fontconfig_dependencies_LIST gperf)
+set(dependencies_LIST gperf)
# Remove dependencies that should be ignored.
-if(fontconfig_dependencies_LIST)
- list(REMOVE_ITEM fontconfig_dependencies_LIST ${BP_ignored_dependencies_LIST})
-endif(fontconfig_dependencies_LIST)
+if(dependencies_LIST)
+ list(REMOVE_ITEM dependencies_LIST ${ignored_dependencies_LIST})
+endif(dependencies_LIST)
-set(fontconfig_dependencies_targets)
-foreach(build_configuration ${fontconfig_dependencies_LIST})
- if(EXISTS ${CMAKE_SOURCE_DIR}/${build_configuration}/bp.cmake)
- include(${build_configuration}/bp.cmake)
- list(APPEND fontconfig_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 fontconfig has been installed another way.")
- endif(EXISTS ${CMAKE_SOURCE_DIR}/${build_configuration}/bp.cmake)
-endforeach(build_configuration ${fontconfig_dependences_LIST})
+# Add this subdirectory to the list of subdirectories that have
+# already been processed by the top-level CMakeLists.txt logic.
+list(APPEND EPA_processed_subdirectories_LIST ${PACKAGE})
-# This can be safely done only after above includes.
-set(BP_PACKAGE fontconfig)
+set(dependencies_targets)
+foreach(build_configuration ${dependencies_LIST})
+ if(EXISTS ${CMAKE_SOURCE_DIR}/${build_configuration}/CMakeLists.txt)
+ # Add to the list of subdirectories that must be processed by the
+ # top-level CMakeLists.txt logic.
+ list(APPEND EPA_needed_subdirectories_LIST ${build_configuration})
+ list(APPEND dependencies_targets build_${build_configuration})
+ else(EXISTS ${CMAKE_SOURCE_DIR}/${build_configuration}/CMakeLists.txt)
+ message(STATUS "Warning: A build_configuration for ${build_configuration} does not exist so it is assumed this dependency of ${PACKAGE} has been installed on your platform by means other than epa_build.")
+ endif(EXISTS ${CMAKE_SOURCE_DIR}/${build_configuration}/CMakeLists.txt)
+endforeach(build_configuration ${dependences_LIST})
+list(APPEND EPA_build_target_LIST build_${PACKAGE})
+
+# Propagate list changes to parent scope.
+set(EPA_build_target_LIST ${EPA_build_target_LIST...
[truncated message content] |
|
From: <ai...@us...> - 2013-12-02 07:26:02
|
Revision: 12801
http://sourceforge.net/p/plplot/code/12801
Author: airwin
Date: 2013-12-02 07:25:56 +0000 (Mon, 02 Dec 2013)
Log Message:
-----------
Update automatically configured builds to new add_subdirectory method
while replacing all "BP_" variables by the "EPA_" equivalents if those
are set in the top-level CMakeLists.txt file, or else dropping the
${BP_PROJECT}_ prefix altogether when warranted since the variable
scope issues are much reduced with the add_subdirectory method
we are still in the process of implementing.
Modified Paths:
--------------
trunk/cmake/epa_build/cmake/CMakeLists.txt
trunk/cmake/epa_build/docbook-xml/CMakeLists.txt
trunk/cmake/epa_build/docbook-xsl/CMakeLists.txt
trunk/cmake/epa_build/itcl3/CMakeLists.txt
trunk/cmake/epa_build/itk/CMakeLists.txt
trunk/cmake/epa_build/itk3/CMakeLists.txt
trunk/cmake/epa_build/iwidgets/CMakeLists.txt
trunk/cmake/epa_build/libagg/CMakeLists.txt
trunk/cmake/epa_build/libharu/CMakeLists.txt
trunk/cmake/epa_build/libqhull/CMakeLists.txt
trunk/cmake/epa_build/ndiff/CMakeLists.txt
trunk/cmake/epa_build/pkg-config/CMakeLists.txt
trunk/cmake/epa_build/plplot/CMakeLists.txt
trunk/cmake/epa_build/shapelib/CMakeLists.txt
trunk/cmake/epa_build/subversion/CMakeLists.txt
trunk/cmake/epa_build/tcl/CMakeLists.txt
trunk/cmake/epa_build/tk/CMakeLists.txt
trunk/cmake/epa_build/wxwidgets/CMakeLists.txt
trunk/cmake/epa_build/xmlcatalog-wrapper/CMakeLists.txt
Modified: trunk/cmake/epa_build/cmake/CMakeLists.txt
===================================================================
--- trunk/cmake/epa_build/cmake/CMakeLists.txt 2013-12-02 07:19:58 UTC (rev 12800)
+++ trunk/cmake/epa_build/cmake/CMakeLists.txt 2013-12-02 07:25:56 UTC (rev 12801)
@@ -1,4 +1,4 @@
-# cmake/bp.cmake
+# cmake/CMakeLists.txt
# This file should be included directly or indirectly from a top-level
# CMakeLists.txt file to configure the build of cmake.
@@ -19,46 +19,46 @@
# 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
+# have run "include(ExternalProject)" and set EPA_BASE variable (and
+# corresponding directory property) as well as various EPA variables
# used below that configure how the External_Project functions
# operate.
-set(BP_PACKAGE cmake)
+set(PACKAGE cmake)
# Protect against configuring a build twice in one CMake call
-if(${BP_PACKAGE}_configured)
+if(configured)
return()
-endif(${BP_PACKAGE}_configured)
-set(${BP_PACKAGE}_configured ON)
+endif(configured)
+set(configured ON)
# Data that is related to downloads.
-set(BP_CMAKE_DIR v2.8)
-set(BP_CMAKE_VERSION 2.8.11.1)
-set(${BP_PACKAGE}_URL http://www.cmake.org/files/${BP_CMAKE_DIR}/cmake-${BP_CMAKE_VERSION}.tar.gz)
-set(${BP_PACKAGE}_URL_MD5 df5324a3b203373a9e0a04b924281a43)
+set(EPA_CMAKE_DIR v2.8)
+set(EPA_CMAKE_VERSION 2.8.11.1)
+set(URL http://www.cmake.org/files/${EPA_CMAKE_DIR}/cmake-${EPA_CMAKE_VERSION}.tar.gz)
+set(URL_MD5 df5324a3b203373a9e0a04b924281a43)
# 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}")
- determine_msys_path(${BP_PACKAGE}_INSTALL_PREFIX "${CMAKE_INSTALL_PREFIX}")
+ set(EPA_PATH_NODLL "${EPA_PATH}")
+ set(EPA_PATH "${EPA_BASE}/Build/build_${PACKAGE}/dll;${EPA_PATH_NODLL}")
+ determine_msys_path(EPA_PATH "${EPA_PATH}")
+ determine_msys_path(${PACKAGE}_INSTALL_PREFIX "${CMAKE_INSTALL_PREFIX}")
else(MSYS_PLATFORM)
- set(${BP_PACKAGE}_INSTALL_PREFIX "${CMAKE_INSTALL_PREFIX}")
+ set(${PACKAGE}_INSTALL_PREFIX "${CMAKE_INSTALL_PREFIX}")
endif(MSYS_PLATFORM)
-#message(STATUS "modified BP_PATH for ${BP_PACKAGE} = ${BP_PATH}")
+#message(STATUS "modified EPA_PATH for ${PACKAGE} = ${EPA_PATH}")
ExternalProject_Add(
- build_${BP_PACKAGE}
- URL ${${BP_PACKAGE}_URL}
- URL_MD5 ${${BP_PACKAGE}_URL_MD5}
- CONFIGURE_COMMAND ${ENV_EXECUTABLE} PATH=${BP_PATH} CFLAGS=-O3 CXXFLAGS=-O3 ${SH_EXECUTABLE} ${EP_BASE}/Source/build_${BP_PACKAGE}/bootstrap --prefix=${${BP_PACKAGE}_INSTALL_PREFIX} --parallel=8
- BUILD_COMMAND ${ENV_EXECUTABLE} PATH=${BP_PATH} ${BP_PARALLEL_BUILD_COMMAND}
- INSTALL_COMMAND ${ENV_EXECUTABLE} PATH=${BP_PATH} ${BP_PARALLEL_BUILD_COMMAND} install
+ build_${PACKAGE}
+ URL ${URL}
+ URL_MD5 ${URL_MD5}
+ CONFIGURE_COMMAND ${ENV_EXECUTABLE} PATH=${EPA_PATH} CFLAGS=-O3 CXXFLAGS=-O3 ${SH_EXECUTABLE} ${EPA_BASE}/Source/build_${PACKAGE}/bootstrap --prefix=${${PACKAGE}_INSTALL_PREFIX} --parallel=8
+ BUILD_COMMAND ${ENV_EXECUTABLE} PATH=${EPA_PATH} ${EPA_PARALLEL_BUILD_COMMAND}
+ INSTALL_COMMAND ${ENV_EXECUTABLE} PATH=${EPA_PATH} ${EPA_PARALLEL_BUILD_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}")
+list(APPEND build_target_LIST build_${PACKAGE})
+# Restore EPA_PATH to original state.
+set(EPA_PATH "${EPA_ORIGINAL_NATIVE_PATH}")
+#message(STATUS "${PACKAGE} restored original EPA_PATH = ${EPA_PATH}")
Modified: trunk/cmake/epa_build/docbook-xml/CMakeLists.txt
===================================================================
--- trunk/cmake/epa_build/docbook-xml/CMakeLists.txt 2013-12-02 07:19:58 UTC (rev 12800)
+++ trunk/cmake/epa_build/docbook-xml/CMakeLists.txt 2013-12-02 07:25:56 UTC (rev 12801)
@@ -1,4 +1,4 @@
-# docbook-xml/bp.cmake
+# docbook-xml/CMakeLists.txt
# This file should be included directly or indirectly from a top-level
# CMakeLists.txt file to configure the build of docbook-xml.
@@ -19,8 +19,8 @@
# 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
+# have run "include(ExternalProject)" and set EPA_BASE variable (and
+# corresponding directory property) as well as various EPA variables
# used below that configure how the External_Project functions
# operate.
@@ -32,71 +32,71 @@
# 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 ${extra_ignored_dependencies_list})
+set(EPA_ignored_dependencies_LIST pkg-config;bison;flex;python2-devel;libXft ${extra_ignored_dependencies_list})
set(docbook-xml_dependencies_LIST libxml2)
# Remove dependencies that should be ignored.
if(docbook-xml_dependencies_LIST)
- list(REMOVE_ITEM docbook-xml_dependencies_LIST ${BP_ignored_dependencies_LIST})
+ list(REMOVE_ITEM docbook-xml_dependencies_LIST ${EPA_ignored_dependencies_LIST})
endif(docbook-xml_dependencies_LIST)
set(docbook-xml_dependencies_targets)
foreach(build_configuration ${docbook-xml_dependencies_LIST})
- if(EXISTS ${CMAKE_SOURCE_DIR}/${build_configuration}/bp.cmake)
- include(${build_configuration}/bp.cmake)
+ if(EXISTS ${CMAKE_SOURCE_DIR}/${build_configuration}/CMakeLists.txt)
+ include(${build_configuration}/CMakeLists.txt)
list(APPEND docbook-xml_dependencies_targets build_${build_configuration})
- else(EXISTS ${CMAKE_SOURCE_DIR}/${build_configuration}/bp.cmake)
+ else(EXISTS ${CMAKE_SOURCE_DIR}/${build_configuration}/CMakeLists.txt)
message(STATUS "Warning: A build_configuration for ${build_configuration} does not exist so it is assumed this dependency of docbook-xml has been installed another way.")
- endif(EXISTS ${CMAKE_SOURCE_DIR}/${build_configuration}/bp.cmake)
+ endif(EXISTS ${CMAKE_SOURCE_DIR}/${build_configuration}/CMakeLists.txt)
endforeach(build_configuration ${docbook-xml_dependences_LIST})
# This can be safely done only after above includes.
-set(BP_PACKAGE docbook-xml)
+set(PACKAGE docbook-xml)
# Data that is related to downloads.
-set(${BP_PACKAGE}_URL http://www.docbook.org/xml/4.5/docbook-xml-4.5.zip)
-set(${BP_PACKAGE}_DOWNLOAD_HASH_TYPE MD5)
-set(${BP_PACKAGE}_DOWNLOAD_HASH 03083e288e87a7e829e437358da7ef9e)
+set(URL http://www.docbook.org/xml/4.5/docbook-xml-4.5.zip)
+set(${PACKAGE}_DOWNLOAD_HASH_TYPE MD5)
+set(${PACKAGE}_DOWNLOAD_HASH 03083e288e87a7e829e437358da7ef9e)
# 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}")
+ #set(EPA_PATH_NODLL "${EPA_PATH}")
+ #set(EPA_PATH "${EPA_BASE}/Build/build_${PACKAGE}/dll;${EPA_PATH_NODLL}")
+ determine_msys_path(EPA_PATH "${EPA_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}")
+ determine_msys_path(source_PATH "${EPA_BASE}/Source/build_${PACKAGE}")
+ set(${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}")
+ set(source_PATH "${EPA_BASE}/Source/build_${PACKAGE}")
+ set(${PACKAGE}_SET_CFLAGS "CFLAGS=$ENV{CFLAGS}")
endif(MSYS_PLATFORM)
-#message(STATUS "modified BP_PATH for ${BP_PACKAGE} = ${BP_PATH}")
+#message(STATUS "modified EPA_PATH for ${PACKAGE} = ${EPA_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_CMAKE_COMMAND} ${EP_BASE}/Source/build_${BP_PACKAGE}
- BUILD_COMMAND ${ENV_EXECUTABLE} PATH=${BP_PATH} ${BP_PARALLEL_BUILD_COMMAND}
+ build_${PACKAGE}
+ DEPENDS ${${PACKAGE}_dependencies_targets}
+ URL ${URL}
+ URL_HASH ${${PACKAGE}_DOWNLOAD_HASH_TYPE}=${${PACKAGE}_DOWNLOAD_HASH}
+ CONFIGURE_COMMAND ${ENV_EXECUTABLE} PATH=${EPA_PATH} ${EPA_CMAKE_COMMAND} ${EPA_BASE}/Source/build_${PACKAGE}
+ BUILD_COMMAND ${ENV_EXECUTABLE} PATH=${EPA_PATH} ${EPA_PARALLEL_BUILD_COMMAND}
BUILD_IN_SOURCE OFF
- INSTALL_COMMAND ${ENV_EXECUTABLE} PATH=${BP_PATH} ${BP_PARALLEL_BUILD_COMMAND} install
+ INSTALL_COMMAND ${ENV_EXECUTABLE} PATH=${EPA_PATH} ${EPA_PARALLEL_BUILD_COMMAND} install
)
# Add custom commands to the current no-command update step.
add_custom_command(
OUTPUT
- ${EP_BASE}/Stamp/build_${BP_PACKAGE}/build_${BP_PACKAGE}-update
+ ${EPA_BASE}/Stamp/build_${PACKAGE}/build_${PACKAGE}-update
COMMAND ${CMAKE_COMMAND} -E copy
- ${CMAKE_SOURCE_DIR}/${BP_PACKAGE}/${BP_PACKAGE}_CMakeLists.txt
- ${EP_BASE}/Source/build_${BP_PACKAGE}/CMakeLists.txt
- COMMENT "Custom updating of ${BP_PACKAGE}"
+ ${CMAKE_SOURCE_DIR}/${PACKAGE}/${PACKAGE}_CMakeLists.txt
+ ${EPA_BASE}/Source/build_${PACKAGE}/CMakeLists.txt
+ COMMENT "Custom updating of ${PACKAGE}"
DEPENDS
- ${CMAKE_SOURCE_DIR}/${BP_PACKAGE}/${BP_PACKAGE}_CMakeLists.txt
+ ${CMAKE_SOURCE_DIR}/${PACKAGE}/${PACKAGE}_CMakeLists.txt
APPEND
)
-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}")
+list(APPEND build_target_LIST build_${PACKAGE})
+# Restore EPA_PATH to original state.
+set(EPA_PATH "${EPA_ORIGINAL_NATIVE_PATH}")
+#message(STATUS "${PACKAGE} restored original EPA_PATH = ${EPA_PATH}")
Modified: trunk/cmake/epa_build/docbook-xsl/CMakeLists.txt
===================================================================
--- trunk/cmake/epa_build/docbook-xsl/CMakeLists.txt 2013-12-02 07:19:58 UTC (rev 12800)
+++ trunk/cmake/epa_build/docbook-xsl/CMakeLists.txt 2013-12-02 07:25:56 UTC (rev 12801)
@@ -1,4 +1,4 @@
-# docbook-xsl/bp.cmake
+# docbook-xsl/CMakeLists.txt
# This file should be included directly or indirectly from a top-level
# CMakeLists.txt file to configure the build of docbook-xsl.
@@ -19,8 +19,8 @@
# 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
+# have run "include(ExternalProject)" and set EPA_BASE variable (and
+# corresponding directory property) as well as various EPA variables
# used below that configure how the External_Project functions
# operate.
@@ -32,71 +32,71 @@
# 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 ${extra_ignored_dependencies_list})
+set(EPA_ignored_dependencies_LIST pkg-config;bison;flex;python2-devel;libXft ${extra_ignored_dependencies_list})
set(docbook-xsl_dependencies_LIST libxml2)
# Remove dependencies that should be ignored.
if(docbook-xsl_dependencies_LIST)
- list(REMOVE_ITEM docbook-xsl_dependencies_LIST ${BP_ignored_dependencies_LIST})
+ list(REMOVE_ITEM docbook-xsl_dependencies_LIST ${EPA_ignored_dependencies_LIST})
endif(docbook-xsl_dependencies_LIST)
set(docbook-xsl_dependencies_targets)
foreach(build_configuration ${docbook-xsl_dependencies_LIST})
- if(EXISTS ${CMAKE_SOURCE_DIR}/${build_configuration}/bp.cmake)
- include(${build_configuration}/bp.cmake)
+ if(EXISTS ${CMAKE_SOURCE_DIR}/${build_configuration}/CMakeLists.txt)
+ include(${build_configuration}/CMakeLists.txt)
list(APPEND docbook-xsl_dependencies_targets build_${build_configuration})
- else(EXISTS ${CMAKE_SOURCE_DIR}/${build_configuration}/bp.cmake)
+ else(EXISTS ${CMAKE_SOURCE_DIR}/${build_configuration}/CMakeLists.txt)
message(STATUS "Warning: A build_configuration for ${build_configuration} does not exist so it is assumed this dependency of docbook-xsl has been installed another way.")
- endif(EXISTS ${CMAKE_SOURCE_DIR}/${build_configuration}/bp.cmake)
+ endif(EXISTS ${CMAKE_SOURCE_DIR}/${build_configuration}/CMakeLists.txt)
endforeach(build_configuration ${docbook-xsl_dependences_LIST})
# This can be safely done only after above includes.
-set(BP_PACKAGE docbook-xsl)
+set(PACKAGE docbook-xsl)
# Data that is related to downloads.
-set(${BP_PACKAGE}_URL http://downloads.sourceforge.net/docbook/docbook-xsl-1.78.1.tar.bz2)
-set(${BP_PACKAGE}_DOWNLOAD_HASH_TYPE MD5)
-set(${BP_PACKAGE}_DOWNLOAD_HASH 6dd0f89131cc35bf4f2ed105a1c17771)
+set(URL http://downloads.sourceforge.net/docbook/docbook-xsl-1.78.1.tar.bz2)
+set(${PACKAGE}_DOWNLOAD_HASH_TYPE MD5)
+set(${PACKAGE}_DOWNLOAD_HASH 6dd0f89131cc35bf4f2ed105a1c17771)
# 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}")
+ #set(EPA_PATH_NODLL "${EPA_PATH}")
+ #set(EPA_PATH "${EPA_BASE}/Build/build_${PACKAGE}/dll;${EPA_PATH_NODLL}")
+ determine_msys_path(EPA_PATH "${EPA_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}")
+ determine_msys_path(source_PATH "${EPA_BASE}/Source/build_${PACKAGE}")
+ set(${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}")
+ set(source_PATH "${EPA_BASE}/Source/build_${PACKAGE}")
+ set(${PACKAGE}_SET_CFLAGS "CFLAGS=$ENV{CFLAGS}")
endif(MSYS_PLATFORM)
-#message(STATUS "modified BP_PATH for ${BP_PACKAGE} = ${BP_PATH}")
+#message(STATUS "modified EPA_PATH for ${PACKAGE} = ${EPA_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_CMAKE_COMMAND} ${EP_BASE}/Source/build_${BP_PACKAGE}
- BUILD_COMMAND ${ENV_EXECUTABLE} PATH=${BP_PATH} ${BP_PARALLEL_BUILD_COMMAND}
+ build_${PACKAGE}
+ DEPENDS ${${PACKAGE}_dependencies_targets}
+ URL ${URL}
+ URL_HASH ${${PACKAGE}_DOWNLOAD_HASH_TYPE}=${${PACKAGE}_DOWNLOAD_HASH}
+ CONFIGURE_COMMAND ${ENV_EXECUTABLE} PATH=${EPA_PATH} ${EPA_CMAKE_COMMAND} ${EPA_BASE}/Source/build_${PACKAGE}
+ BUILD_COMMAND ${ENV_EXECUTABLE} PATH=${EPA_PATH} ${EPA_PARALLEL_BUILD_COMMAND}
BUILD_IN_SOURCE OFF
- INSTALL_COMMAND ${ENV_EXECUTABLE} PATH=${BP_PATH} ${BP_PARALLEL_BUILD_COMMAND} install
+ INSTALL_COMMAND ${ENV_EXECUTABLE} PATH=${EPA_PATH} ${EPA_PARALLEL_BUILD_COMMAND} install
)
# Add custom commands to the current no-command update step.
add_custom_command(
OUTPUT
- ${EP_BASE}/Stamp/build_${BP_PACKAGE}/build_${BP_PACKAGE}-update
+ ${EPA_BASE}/Stamp/build_${PACKAGE}/build_${PACKAGE}-update
COMMAND ${CMAKE_COMMAND} -E copy
- ${CMAKE_SOURCE_DIR}/${BP_PACKAGE}/${BP_PACKAGE}_CMakeLists.txt
- ${EP_BASE}/Source/build_${BP_PACKAGE}/CMakeLists.txt
- COMMENT "Custom updating of ${BP_PACKAGE}"
+ ${CMAKE_SOURCE_DIR}/${PACKAGE}/${PACKAGE}_CMakeLists.txt
+ ${EPA_BASE}/Source/build_${PACKAGE}/CMakeLists.txt
+ COMMENT "Custom updating of ${PACKAGE}"
DEPENDS
- ${CMAKE_SOURCE_DIR}/${BP_PACKAGE}/${BP_PACKAGE}_CMakeLists.txt
+ ${CMAKE_SOURCE_DIR}/${PACKAGE}/${PACKAGE}_CMakeLists.txt
APPEND
)
-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}")
+list(APPEND build_target_LIST build_${PACKAGE})
+# Restore EPA_PATH to original state.
+set(EPA_PATH "${EPA_ORIGINAL_NATIVE_PATH}")
+#message(STATUS "${PACKAGE} restored original EPA_PATH = ${EPA_PATH}")
Modified: trunk/cmake/epa_build/itcl3/CMakeLists.txt
===================================================================
--- trunk/cmake/epa_build/itcl3/CMakeLists.txt 2013-12-02 07:19:58 UTC (rev 12800)
+++ trunk/cmake/epa_build/itcl3/CMakeLists.txt 2013-12-02 07:25:56 UTC (rev 12801)
@@ -1,4 +1,4 @@
-# itcl3/bp.cmake
+# itcl3/CMakeLists.txt
# CMakeLists.txt file to configure the build of itcl3.
# Copyright (C) 2013 Alan W. Irwin
@@ -18,8 +18,8 @@
# 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
+# have run "include(ExternalProject)" and set EPA_BASE variable (and
+# corresponding directory property) as well as various EPA variables
# used below that configure how the External_Project functions
# operate.
@@ -34,74 +34,74 @@
# List of dependencies (most of which are build tools) which should be
# ignored.
-set(BP_ignored_dependencies_LIST ${extra_ignored_dependencies_list})
+set(EPA_ignored_dependencies_LIST ${extra_ignored_dependencies_list})
set(itcl3_dependencies_LIST tk tcl)
# Remove dependencies that should be ignored.
if(itcl3_dependencies_LIST)
- list(REMOVE_ITEM itcl3_dependencies_LIST ${BP_ignored_dependencies_LIST})
+ list(REMOVE_ITEM itcl3_dependencies_LIST ${EPA_ignored_dependencies_LIST})
endif(itcl3_dependencies_LIST)
set(itcl3_dependencies_targets)
foreach(build_configuration ${itcl3_dependencies_LIST})
- if(EXISTS ${CMAKE_SOURCE_DIR}/${build_configuration}/bp.cmake)
- include(${build_configuration}/bp.cmake)
+ if(EXISTS ${CMAKE_SOURCE_DIR}/${build_configuration}/CMakeLists.txt)
+ include(${build_configuration}/CMakeLists.txt)
list(APPEND itcl3_dependencies_targets build_${build_configuration})
- else(EXISTS ${CMAKE_SOURCE_DIR}/${build_configuration}/bp.cmake)
+ else(EXISTS ${CMAKE_SOURCE_DIR}/${build_configuration}/CMakeLists.txt)
message(STATUS "Warning: A build_configuration for ${build_configuration} does not exist so it is assumed this dependency of itcl3 has been installed another way.")
- endif(EXISTS ${CMAKE_SOURCE_DIR}/${build_configuration}/bp.cmake)
+ endif(EXISTS ${CMAKE_SOURCE_DIR}/${build_configuration}/CMakeLists.txt)
endforeach(build_configuration ${itcl3_dependences_LIST})
# This can be safely done only after above includes.
-set(BP_PACKAGE itcl3)
+set(PACKAGE itcl3)
# Data that is related to downloads.
set(ITCL3_VERSION 3.4.1)
set(ITCL3_LIBVERSION 3.4)
-set(${BP_PACKAGE}_URL http://downloads.sourceforge.net/project/incrtcl/%5bIncr%20Tcl_Tk%5d-source/${ITCL3_VERSION}/itcl${ITCL3_VERSION}.tar.gz)
-set(${BP_PACKAGE}_DOWNLOAD_HASH_TYPE MD5)
-set(${BP_PACKAGE}_DOWNLOAD_HASH e7c98e0f69df1a675073ddd3344f0b7f)
+set(URL http://downloads.sourceforge.net/project/incrtcl/%5bIncr%20Tcl_Tk%5d-source/${ITCL3_VERSION}/itcl${ITCL3_VERSION}.tar.gz)
+set(${PACKAGE}_DOWNLOAD_HASH_TYPE MD5)
+set(${PACKAGE}_DOWNLOAD_HASH e7c98e0f69df1a675073ddd3344f0b7f)
# 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}")
+ #set(EPA_PATH_NODLL "${EPA_PATH}")
+ #set(EPA_PATH "${EPA_BASE}/Build/build_${PACKAGE}/dll;${EPA_PATH_NODLL}")
+ determine_msys_path(EPA_PATH "${EPA_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}")
+ determine_msys_path(source_PATH "${EPA_BASE}/Source/build_${PACKAGE}")
+ set(${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}")
+ set(source_PATH "${EPA_BASE}/Source/build_${PACKAGE}")
+ set(${PACKAGE}_SET_CFLAGS "CFLAGS=$ENV{CFLAGS}")
endif(MSYS_PLATFORM)
-#message(STATUS "modified BP_PATH for ${BP_PACKAGE} = ${BP_PATH}")
+#message(STATUS "modified EPA_PATH for ${PACKAGE} = ${EPA_PATH}")
# Eliminate this option which gives bad results for this package.
-string(REGEX REPLACE "-fvisibility=hidden" "" ${BP_PACKAGE}_SET_CFLAGS "${${BP_PACKAGE}_SET_CFLAGS}")
+string(REGEX REPLACE "-fvisibility=hidden" "" ${PACKAGE}_SET_CFLAGS "${${PACKAGE}_SET_CFLAGS}")
-if(BP_HAVE_64_BIT_OS)
+if(EPA_HAVE_64_BIT_OS)
set(ITCL3_ENABLE_64_BIT --enable-64bit)
-endif(BP_HAVE_64_BIT_OS)
+endif(EPA_HAVE_64_BIT_OS)
# This variable provides the opportunity to set an alternative install
# prefix to distinguish what files are installed by version 3 of itcl
# and friends from what is installed by version 4 of itcl and friends.
# But currently just use the ordinary install location.
-set(INCRTCL3_PREFIX ${BP_CMAKE_INSTALL_PREFIX})
+set(INCRTCL3_PREFIX ${EPA_CMAKE_INSTALL_PREFIX})
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}/configure --prefix=${INCRTCL3_PREFIX} --exec-prefix=${INCRTCL3_PREFIX} --includedir=${INCRTCL3_PREFIX}/include/itcl${ITCL3_LIBVERSION} --mandir=${INCRTCL3_PREFIX}/share/man ${ITCL3_ENABLE_64_BIT} --with-tcl=${BP_CMAKE_INSTALL_PREFIX}/lib --with-tclinclude=${BP_CMAKE_INSTALL_PREFIX}/include
- BUILD_COMMAND ${ENV_EXECUTABLE} PATH=${BP_PATH} ${BP_PARALLEL_MAKE_COMMAND}
- INSTALL_COMMAND ${ENV_EXECUTABLE} PATH=${BP_PATH} ${BP_PARALLEL_MAKE_COMMAND} install
+ build_${PACKAGE}
+ DEPENDS ${${PACKAGE}_dependencies_targets}
+ URL ${URL}
+ URL_HASH ${${PACKAGE}_DOWNLOAD_HASH_TYPE}=${${PACKAGE}_DOWNLOAD_HASH}
+ CONFIGURE_COMMAND ${ENV_EXECUTABLE} PATH=${EPA_PATH} ${${PACKAGE}_SET_CFLAGS} ${source_PATH}/configure --prefix=${INCRTCL3_PREFIX} --exec-prefix=${INCRTCL3_PREFIX} --includedir=${INCRTCL3_PREFIX}/include/itcl${ITCL3_LIBVERSION} --mandir=${INCRTCL3_PREFIX}/share/man ${ITCL3_ENABLE_64_BIT} --with-tcl=${EPA_CMAKE_INSTALL_PREFIX}/lib --with-tclinclude=${EPA_CMAKE_INSTALL_PREFIX}/include
+ BUILD_COMMAND ${ENV_EXECUTABLE} PATH=${EPA_PATH} ${EPA_PARALLEL_MAKE_COMMAND}
+ INSTALL_COMMAND ${ENV_EXECUTABLE} PATH=${EPA_PATH} ${EPA_PARALLEL_MAKE_COMMAND} install
)
add_custom_command(
OUTPUT
- ${EP_BASE}/Stamp/build_${BP_PACKAGE}/build_${BP_PACKAGE}-build
+ ${EPA_BASE}/Stamp/build_${PACKAGE}/build_${PACKAGE}-build
COMMAND echo "Replace build-tree locations by install-tree locations"
COMMAND ${SED_EXECUTABLE}
# Cover two different patterns of uppercasing.
@@ -117,14 +117,14 @@
add_custom_command(
OUTPUT
- ${EP_BASE}/Stamp/build_${BP_PACKAGE}/build_${BP_PACKAGE}-install
+ ${EPA_BASE}/Stamp/build_${PACKAGE}/build_${PACKAGE}-install
COMMAND ${CMAKE_COMMAND} -E echo "Install-tree fixups"
COMMAND ${CHMOD_EXECUTABLE} -v ${SO_NUMERICAL_PERMISSIONS} ${INCRTCL3_PREFIX}/lib/itcl${ITCL3_LIBVERSION}/libitcl${ITCL3_LIBVERSION}.so
COMMAND ${CMAKE_COMMAND} -E rename ${INCRTCL3_PREFIX}/lib/itclConfig.sh ${INCRTCL3_PREFIX}/lib/itcl${ITCL3_LIBVERSION}/itclConfig.sh
APPEND
)
-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}")
+list(APPEND build_target_LIST build_${PACKAGE})
+# Restore EPA_PATH to original state.
+set(EPA_PATH "${EPA_ORIGINAL_NATIVE_PATH}")
+#message(STATUS "${PACKAGE} restored original EPA_PATH = ${EPA_PATH}")
Modified: trunk/cmake/epa_build/itk/CMakeLists.txt
===================================================================
--- trunk/cmake/epa_build/itk/CMakeLists.txt 2013-12-02 07:19:58 UTC (rev 12800)
+++ trunk/cmake/epa_build/itk/CMakeLists.txt 2013-12-02 07:25:56 UTC (rev 12801)
@@ -1,4 +1,4 @@
-# itk/bp.cmake
+# itk/CMakeLists.txt
# CMakeLists.txt file to configure the build of itk.
# Copyright (C) 2013 Alan W. Irwin
@@ -18,8 +18,8 @@
# 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
+# have run "include(ExternalProject)" and set EPA_BASE variable (and
+# corresponding directory property) as well as various EPA variables
# used below that configure how the External_Project functions
# operate.
@@ -34,99 +34,99 @@
# List of dependencies (most of which are build tools) which should be
# ignored.
-set(BP_ignored_dependencies_LIST ${extra_ignored_dependencies_list})
+set(EPA_ignored_dependencies_LIST ${extra_ignored_dependencies_list})
set(itk_dependencies_LIST tk tcl)
# Remove dependencies that should be ignored.
if(itk_dependencies_LIST)
- list(REMOVE_ITEM itk_dependencies_LIST ${BP_ignored_dependencies_LIST})
+ list(REMOVE_ITEM itk_dependencies_LIST ${EPA_ignored_dependencies_LIST})
endif(itk_dependencies_LIST)
set(itk_dependencies_targets)
foreach(build_configuration ${itk_dependencies_LIST})
- if(EXISTS ${CMAKE_SOURCE_DIR}/${build_configuration}/bp.cmake)
- include(${build_configuration}/bp.cmake)
+ if(EXISTS ${CMAKE_SOURCE_DIR}/${build_configuration}/CMakeLists.txt)
+ include(${build_configuration}/CMakeLists.txt)
list(APPEND itk_dependencies_targets build_${build_configuration})
- else(EXISTS ${CMAKE_SOURCE_DIR}/${build_configuration}/bp.cmake)
+ else(EXISTS ${CMAKE_SOURCE_DIR}/${build_configuration}/CMakeLists.txt)
message(STATUS "Warning: A build_configuration for ${build_configuration} does not exist so it is assumed this dependency of itk has been installed another way.")
- endif(EXISTS ${CMAKE_SOURCE_DIR}/${build_configuration}/bp.cmake)
+ endif(EXISTS ${CMAKE_SOURCE_DIR}/${build_configuration}/CMakeLists.txt)
endforeach(build_configuration ${itk_dependences_LIST})
# This can be safely done only after above includes.
-set(BP_PACKAGE itk)
+set(PACKAGE itk)
# Data that is related to downloads.
set(ITCL_ITK_VERSION 4.0.0)
set(ITCL_ITK_LIBVERSION ${ITCL_ITK_VERSION})
-set(${BP_PACKAGE}_URL http://downloads.sourceforge.net/project/incrtcl/%5bincr%20Tcl_Tk%5d-4-source/Itcl%20${ITCL_ITK_VERSION}/itk${ITCL_ITK_VERSION}.tar.gz)
-set(${BP_PACKAGE}_DOWNLOAD_HASH_TYPE MD5)
-set(${BP_PACKAGE}_DOWNLOAD_HASH e3600a9ad0fcdcbbc4138af5a4893b7e)
+set(URL http://downloads.sourceforge.net/project/incrtcl/%5bincr%20Tcl_Tk%5d-4-source/Itcl%20${ITCL_ITK_VERSION}/itk${ITCL_ITK_VERSION}.tar.gz)
+set(${PACKAGE}_DOWNLOAD_HASH_TYPE MD5)
+set(${PACKAGE}_DOWNLOAD_HASH e3600a9ad0fcdcbbc4138af5a4893b7e)
# 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}")
+ #set(EPA_PATH_NODLL "${EPA_PATH}")
+ #set(EPA_PATH "${EPA_BASE}/Build/build_${PACKAGE}/dll;${EPA_PATH_NODLL}")
+ determine_msys_path(EPA_PATH "${EPA_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}")
+ determine_msys_path(source_PATH "${EPA_BASE}/Source/build_${PACKAGE}")
+ set(${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}")
+ set(source_PATH "${EPA_BASE}/Source/build_${PACKAGE}")
+ set(${PACKAGE}_SET_CFLAGS "CFLAGS=$ENV{CFLAGS}")
endif(MSYS_PLATFORM)
-#message(STATUS "modified BP_PATH for ${BP_PACKAGE} = ${BP_PATH}")
+#message(STATUS "modified EPA_PATH for ${PACKAGE} = ${EPA_PATH}")
-if(BP_HAVE_64_BIT_OS)
+if(EPA_HAVE_64_BIT_OS)
set(ITK_ENABLE_64_BIT --enable-64bit)
-endif(BP_HAVE_64_BIT_OS)
+endif(EPA_HAVE_64_BIT_OS)
...
[truncated message content] |
|
From: <ai...@us...> - 2013-12-03 23:56:33
|
Revision: 12807
http://sourceforge.net/p/plplot/code/12807
Author: airwin
Date: 2013-12-03 23:56:24 +0000 (Tue, 03 Dec 2013)
Log Message:
-----------
Create the first build configuration using the new add_subdirectory
paradigm for epa_build.
Tested by Alan W. Irwin <ai...@us...> on Linux using
the -DBUILD_THE_BUILDTOOLS=ON configuration of epa_build and the
build_tcl target.
N.B. the tcl build configuration has no dependencies so the dependency
processing was not tested by this test.
Modified Paths:
--------------
trunk/cmake/epa_build/CMakeLists.txt
trunk/cmake/epa_build/tcl/CMakeLists.txt
Modified: trunk/cmake/epa_build/CMakeLists.txt
===================================================================
--- trunk/cmake/epa_build/CMakeLists.txt 2013-12-03 13:03:26 UTC (rev 12806)
+++ trunk/cmake/epa_build/CMakeLists.txt 2013-12-03 23:56:24 UTC (rev 12807)
@@ -1,6 +1,7 @@
-# Top-level CMakeLists.txt file for a project that simply builds
-# and installs external projects using epa.cmake include fragments
-# representing the build and test instructions for several different projects.
+# Top-level CMakeLists.txt file for the epa_build project that simply builds
+# and installs external projects configured in the subdirectories
+# below this one using ExternalProject_Add commands configured with
+# the appropriate build, test, and dependency information.
# Copyright (C) 2013 Alan W. Irwin
@@ -29,8 +30,12 @@
set(EPA_BASE ${CMAKE_BINARY_DIR}/epa_build)
message(STATUS "EPA_BASE = ${EPA_BASE}")
-set_directory_properties(PROPERTIES EPA_BASE ${EPA_BASE})
+# We keep the variable name as EPA_BASE (to be used in the subdirectories
+# along with all the other variables with EPA_ suffix. But the property
+# name must be EP_BASE in order for ExternalProject_Add to work correctly.
+set_directory_properties(PROPERTIES EP_BASE ${EPA_BASE})
+
# Set epa_build variables to control builds in general
# Test whether there is access to the MSYS platform on the PATH. Note
@@ -57,10 +62,6 @@
message(STATUS "MSYS_PLATFORM = ${MSYS_PLATFORM}")
message(STATUS "CYGWIN = ${CYGWIN}")
-if(CYGWIN)
- message(FATAL_ERROR "epa_build does not work correctly on the Cygwin platform. Use the MinGW compiler and MSYS platform instead.")
-endif(CYGWIN)
-
if(WIN32 AND NOT MSYS_PLATFORM)
message(FATAL_ERROR "epa_build does not work correctly on Windows without the MSYS platform. Install the MSYS platform (perhaps without sh.exe depending on CMake generator) on Windows.")
endif(WIN32 AND NOT MSYS_PLATFORM)
@@ -157,6 +158,109 @@
endfunction(determine_msys_path)
endif(MSYS_PLATFORM)
+function(epa_boilerplate
+ _ignored_dependencies_LIST
+ _PACKAGE
+ _dependencies_LIST
+ _dependencies_targets
+ _EPA_visited_subdirectories_LIST
+ _EPA_processed_subdirectories_LIST
+ _EPA_needed_subdirectories_LIST
+ _EPA_build_target_LIST
+ _EPA_PATH
+ _source_PATH
+ _IF_RETURN
+ )
+
+ #message(STATUS "DEBUG: ${_ignored_dependencies_LIST} = ${${_ignored_dependencies_LIST}}")
+ #message(STATUS "DEBUG: ${_PACKAGE} = ${${_PACKAGE}}")
+ #message(STATUS "DEBUG: ${_dependencies_LIST} = ${${_dependencies_LIST}}")
+ #message(STATUS "DEBUG: ${_dependencies_targets} = ${${_dependencies_targets}}")
+ #message(STATUS "DEBUG: ${_EPA_visited_subdirectories_LIST} = ${${_EPA_visited_subdirectories_LIST}}")
+ #message(STATUS "DEBUG: ${_EPA_processed_subdirectories_LIST} = ${${_EPA_processed_subdirectories_LIST}}")
+ #message(STATUS "DEBUG: ${_EPA_needed_subdirectories_LIST} = ${${_EPA_needed_subdirectories_LIST}}")
+ #message(STATUS "DEBUG: ${_EPA_build_target_LIST} = ${${_EPA_build_target_LIST}}")
+ #message(STATUS "DEBUG: ${_EPA_PATH} = ${${_EPA_PATH}}")
+ #message(STATUS "DEBUG: ${_source_PATH} = ${${_source_PATH}}")
+ #message(STATUS "DEBUG: ${_IF_RETURN} = ${${_IF_RETURN}}")
+ list(APPEND ${_EPA_visited_subdirectories_LIST} ${${_PACKAGE}})
+
+ # Remove dependencies that should be ignored.
+ if(${_dependencies_LIST} AND ${_ignored_dependencies_LIST})
+ list(REMOVE_ITEM ${_dependencies_LIST} ${${_ignored_dependencies_LIST}})
+ endif(${_dependencies_LIST} AND ${_ignored_dependencies_LIST})
+
+# Check for missing configurations and eliminate those from ${_dependencies_LIST}.
+ foreach(build_configuration ${${_dependencies_LIST}})
+ if(NOT EXISTS ${CMAKE_SOURCE_DIR}/${build_configuration}/CMakeLists.txt)
+ message(STATUS "Warning: A build_configuration for ${build_configuration} does not exist so it is assumed this dependency of ${${_PACKAGE}} has been installed on your platform by means other than epa_build.")
+ list(REMOVE_ITEM ${_dependencies_LIST} ${build_configuration})
+ endif(NOT EXISTS ${CMAKE_SOURCE_DIR}/${build_configuration}/CMakeLists.txt)
+ endforeach(build_configuration ${${_dependences_LIST}})
+
+ # remaining_dependencies_LIST are the dependencies left over from the above
+ # removals that have not already been processed.
+ set(remaining_dependencies_LIST ${${_dependencies_LIST}})
+ if(remaining_dependencies_LIST AND ${_EPA_processed_subdirectories_LIST})
+ list(REMOVE_ITEM remaining_dependencies_LIST ${${_EPA_processed_subdirectories_LIST}})
+ endif(remaining_dependencies_LIST AND ${_EPA_processed_subdirectories_LIST})
+
+ if(remaining_dependencies_LIST)
+ list(FIND ${_EPA_visited_subdirectories_LIST} ${${_PACKAGE}} index)
+ if(index GREATER -1)
+ message(FATAL_ERROR "Circular dependency: ${_PACKAGE} = ${${_PACKAGE}} has been visited before without subsequently resolving all dependencies.")
+ endif(index GREATER -1)
+ # Put the remaining dependencies at the top of the list so they
+ # will be processed before the current subdirectory.
+ list(APPEND ${_EPA_needed_subdirectories_LIST} ${remaining_dependencies_LIST})
+ # Propagate changed output arguments to parent scope of function.
+ # There is no need to propagate ${_dependencies_LIST} for this case because
+ # there will be an immediate return from the calling subdirectory to
+ # the top-level directory where ${_dependencies_LIST} does not propagate.
+ set(${_EPA_visited_subdirectories_LIST} ${${_EPA_visited_subdirectories_LIST}} PARENT_SCOPE)
+ set(${_EPA_needed_subdirectories_LIST} ${${_EPA_needed_subdirectories_LIST}} PARENT_SCOPE)
+ # parent subdirectory should make immediate return to top-level directory.
+ set(${_IF_RETURN} ON PARENT_SCOPE)
+ return()
+ endif(remaining_dependencies_LIST)
+
+ # Add this subdirectory to the list of subdirectories that have
+ # already been processed by the top-level CMakeLists.txt logic.
+ list(APPEND ${_EPA_processed_subdirectories_LIST} ${${_PACKAGE}})
+
+ set(${_dependencies_targets})
+ foreach(build_configuration ${${_dependencies_LIST}})
+ list(APPEND ${_dependencies_targets} build_${build_configuration})
+ endforeach(build_configuration ${${_dependences_LIST}})
+
+ list(APPEND ${_EPA_build_target_LIST} build_${${_PACKAGE}})
+
+ # Data that is related to the PATH that must be used.
+ if(MSYS_PLATFORM)
+ determine_msys_path(${_EPA_PATH} "${${_EPA_PATH}}")
+ # Must have all elements of env command in MSYS platform form
+ determine_msys_path(${_source_PATH} "${EPA_BASE}/Source/build_${${_PACKAGE}}")
+ else(MSYS_PLATFORM)
+ set(${_source_PATH} "${EPA_BASE}/Source/build_${${_PACKAGE}}")
+ endif(MSYS_PLATFORM)
+ #message(STATUS "DEBUG: (modified for ${${_PACKAGE}}) ${_EPA_PATH} = ${${_EPA_PATH}}")
+
+ # Propagate changed output arguments to parent scope of function.
+ set(${_dependencies_LIST} ${${_dependencies_LIST}} PARENT_SCOPE)
+ set(${_dependencies_targets} ${${_dependencies_targets}} PARENT_SCOPE)
+ set(${_EPA_visited_subdirectories_LIST} ${${_EPA_visited_subdirectories_LIST}} PARENT_SCOPE)
+ set(${_EPA_processed_subdirectories_LIST} ${${_EPA_processed_subdirectories_LIST}} PARENT_SCOPE)
+ set(${_EPA_needed_subdirectories_LIST} ${${_EPA_needed_subdirectories_LIST}} PARENT_SCOPE)
+ set(${_EPA_build_target_LIST} ${${_EPA_build_target_LIST}} PARENT_SCOPE)
+ set(${_EPA_PATH} ${${_EPA_PATH}} PARENT_SCOPE)
+ set(${_source_PATH} ${${_source_PATH}} PARENT_SCOPE)
+ # Parent subdirectory should continue processing rather than immediately
+ # returning to top-level directory.
+ set(${_IF_RETURN} OFF PARENT_SCOPE)
+ message(STATUS "Processed ${${_PACKAGE}}")
+
+endfunction(epa_boilerplate)
+
# This gives the full pathname of the associated build tool for at
# least the "Unix Makefiles", "Ninja", "MSYS Makefiles", "MinGW
# Makefiles", and "NMake Makefiles JOM" CMake generators.
@@ -259,12 +363,6 @@
# Now include the build configurations for certain targets and their
# dependencies.
-# Each (directly or indirectly) included build configuration
-# that is judged to be working should append its target to build_target_LIST
-# so that in the logic below we can creat a "build_all" target that depends
-# on those individual build targets
-set(build_target_LIST)
-
option(BUILD_THE_BUILDTOOLS "Build the buildtools (such as cmake) used for the rest of the builds" OFF)
if(BUILD_THE_BUILDTOOLS)
@@ -282,39 +380,59 @@
endif(NOT ${EXECUTABLE}_EXECUTABLE)
endforeach(executable ${executables_LIST})
- set(build_configuration_LIST
- #cmake
- pkg-config
- #subversion
- swig
+ set(EPA_needed_subdirectories_LIST
+ ##cmake
+ #pkg-config
+ ##subversion
+ #swig
tcl
- tk
# itcl version 4 is integrated into tcl
# itk version 4 is not integrated into tk (or tcl).
- itk
+ #itk
# itcl version 3 is an independent project
- itcl3
+ #itcl3
# itk version 3 is an independent project
- itk3
+ #itk3
# iwidgets subdirectory contains build configurations for both
# iwidgets (version 4.1) and iwidgets4.0 (version 4.0).
- iwidgets
+ #iwidgets
)
else(BUILD_THE_BUILDTOOLS)
# List of all configurations. Order doesn't matter because multiple
# attempts to include the same configuration (via dependencies) are ignored.
- set(build_configuration_LIST
+ set(EPA_needed_subdirectories_LIST
ndiff
- plplot
- wxwidgets
- glib
- pango
+ #plplot
+ #wxwidgets
+ #pango
)
endif(BUILD_THE_BUILDTOOLS)
-foreach(build_configuration ${build_configuration_LIST})
- include(${build_configuration}/CMakeLists.txt)
-endforeach(build_configuration ${build_configuration_LIST})
+set(EPA_visited_subdirectories_LIST)
+set(EPA_processed_subdirectories_LIST)
+set(EPA_build_targets_LIST)
+message(STATUS "DEBUG: EPA_needed_subdirectories_LIST = ${EPA_needed_subdirectories_LIST}")
+message(STATUS "DEBUG: EPA_visited_subdirectories_LIST = ${EPA_visited_subdirectories_LIST}")
+message(STATUS "DEBUG: EPA_processed_subdirectories_LIST = ${EPA_processed_subdirectories_LIST}")
+message(STATUS "DEBUG: EPA_build_targets_LIST = ${EPA_build_targets_LIST}")
+# Use add_subdirectory on all directories in EPA_needed_subdirectories_LIST,
+# but the subdirectories have the potential to add to that list so use
+# a while loop to check on the length of that list.
+list(LENGTH EPA_needed_subdirectories_LIST LENGTH_EPA_needed_subdirectories_LIST)
+while(LENGTH_EPA_needed_subdirectories_LIST GREATER 0)
+ list(GET EPA_needed_subdirectories_LIST 0 subdirectory)
+ # This updates EPA_needed_subdirectories_LIST,
+ # EPA_processed_subdirectories_LIST, and EPA_build_targets_LIST.
+ add_subdirectory(${subdirectory})
+ list(REMOVE_ITEM EPA_needed_subdirectories_LIST ${EPA_processed_subdirectories_LIST})
+ message(STATUS "DEBUG: visited ${subdirectory}")
+ message(STATUS "DEBUG: EPA_needed_subdirectories_LIST = ${EPA_needed_subdirectories_LIST}")
+ message(STATUS "DEBUG: EPA_visited_subdirectories_LIST = ${EPA_visited_subdirectories_LIST}")
+ message(STATUS "DEBUG: EPA_processed_subdirectories_LIST = ${EPA_processed_subdirectories_LIST}")
+ message(STATUS "DEBUG: EPA_build_targets_LIST = ${EPA_build_targets_LIST}")
+ list(LENGTH EPA_needed_subdirectories_LIST LENGTH_EPA_needed_subdirectories_LIST)
+endwhile(LENGTH_EPA_needed_subdirectories_LIST GREATER 0)
+
add_custom_target(build_all)
-add_dependencies(build_all ${build_target_LIST})
+add_dependencies(build_all ${EPA_build_targets_LIST})
Modified: trunk/cmake/epa_build/tcl/CMakeLists.txt
===================================================================
--- trunk/cmake/epa_build/tcl/CMakeLists.txt 2013-12-03 13:03:26 UTC (rev 12806)
+++ trunk/cmake/epa_build/tcl/CMakeLists.txt 2013-12-03 23:56:24 UTC (rev 12807)
@@ -1,6 +1,7 @@
# tcl/CMakeLists.txt
-# CMakeLists.txt file to configure the build of tcl.
+# Configure the build of tcl.
+
# Copyright (C) 2013 Alan W. Irwin
# This file is free software; you can redistribute it and/or
@@ -17,54 +18,43 @@
# 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 EPA_BASE variable (and
-# corresponding directory property) as well as various EPA variables
-# used below that configure how the External_Project functions
-# operate.
-
# These build configuration details for Tcl adapted from information in
# <http://www.linuxfromscratch.org/blfs/view/svn/general/tcl.html>.
-# Protect against configuring a build twice in one CMake call
-if(tcl_configured)
- return()
-endif(tcl_configured)
-set(tcl_configured ON)
+set(PACKAGE tcl)
# List of dependencies (most of which are build tools) which should be
# ignored.
set(EPA_ignored_dependencies_LIST ${extra_ignored_dependencies_list})
-set(tcl_dependencies_LIST)
-# Remove dependencies that should be ignored.
-if(tcl_dependencies_LIST)
- list(REMOVE_ITEM tcl_dependencies_LIST ${EPA_ignored_dependencies_LIST})
-endif(tcl_dependencies_LIST)
+set(dependencies_LIST)
-set(tcl_dependencies_targets)
-foreach(build_configuration ${tcl_dependencies_LIST})
- if(EXISTS ${CMAKE_SOURCE_DIR}/${build_configuration}/CMakeLists.txt)
- include(${build_configuration}/CMakeLists.txt)
- list(APPEND tcl_dependencies_targets build_${build_configuration})
- else(EXISTS ${CMAKE_SOURCE_DIR}/${build_configuration}/CMakeLists.txt)
- message(STATUS "Warning: A build_configuration for ${build_configuration} does not exist so it is assumed this dependency of tcl has been installed another way.")
- endif(EXISTS ${CMAKE_SOURCE_DIR}/${build_configuration}/CMakeLists.txt)
-endforeach(build_configuration ${tcl_dependences_LIST})
+# Do boilerplate tasks that must be done for each different project
+# that is configured as part of epa_build.
+epa_boilerplate(
+ ignored_dependencies_LIST
+ PACKAGE
+ dependencies_LIST
+ dependencies_targets
+ EPA_visited_subdirectories_LIST
+ EPA_processed_subdirectories_LIST
+ EPA_needed_subdirectories_LIST
+ EPA_build_targets_LIST
+ EPA_PATH
+ source_PATH
+ IF_RETURN
+ )
-# This can be safely done only after above includes.
-set(PACKAGE tcl)
+# Propagate list changes to parent scope.
+set(EPA_visited_subdirectories_LIST ${EPA_visited_subdirectories_LIST} PARENT_SCOPE)
+set(EPA_processed_subdirectories_LIST ${EPA_processed_subdirectories_LIST} PARENT_SCOPE)
+set(EPA_needed_subdirectories_LIST ${EPA_needed_subdirectories_LIST} PARENT_SCOPE)
+set(EPA_build_targets_LIST ${EPA_build_targets_LIST} PARENT_SCOPE)
-# These variables are also used by tk (and accessible to that
-# build configuration because it depends on this one).
-set(TCL_TK_VERSION 8.6.1)
-string(REGEX REPLACE "\\.[0-9]$" "" TCL_TK_LIBVERSION ${TCL_TK_VERSION})
+if(IF_RETURN)
+ return()
+endif(IF_RETURN)
-# Data that is related to downloads.
-set(URL http://downloads.sourceforge.net/project/tcl/Tcl/${TCL_TK_VERSION}/tcl${TCL_TK_VERSION}-src.tar.gz)
-set(${PACKAGE}_DOWNLOAD_HASH_TYPE MD5)
-set(${PACKAGE}_DOWNLOAD_HASH aae4b701ee527c6e4e1a6f9c7399882e)
-
# Data that is related to the PATH that must be used.
# N.B. note below that we always use the unix subdirectory of the
# source tree to find the configure script. Note, there is a macosx
@@ -73,28 +63,36 @@
# version of configure may be good enough for our needs for all
# platforms.
if(MSYS_PLATFORM)
- #set(EPA_PATH_NODLL "${EPA_PATH}")
- #set(EPA_PATH "${EPA_BASE}/Build/build_${PACKAGE}/dll;${EPA_PATH_NODLL}")
- determine_msys_path(EPA_PATH "${EPA_PATH}")
- # Must have all elements of env command in MSYS platform form
- determine_msys_path(source_PATH "${EPA_BASE}/Source/build_${PACKAGE}/unix")
- set(${PACKAGE}_SET_CFLAGS "CFLAGS=$ENV{CFLAGS}")
+ set(source_PATH ${source_PATH}\unix)
else(MSYS_PLATFORM)
- set(source_PATH "${EPA_BASE}/Source/build_${PACKAGE}/unix")
- set(${PACKAGE}_SET_CFLAGS "CFLAGS=$ENV{CFLAGS}")
+ set(source_PATH ${source_PATH}/unix)
endif(MSYS_PLATFORM)
-#message(STATUS "modified EPA_PATH for ${PACKAGE} = ${EPA_PATH}")
+set(CFLAGS "$ENV{CFLAGS}")
+set(CXXFLAGS "-I${EPA_CMAKE_INSTALL_PREFIX}/include $ENV{CXXFLAGS}")
+
+# Drop -fvisibility=hidden since that option may not work for this package.
+string(REGEX REPLACE "-fvisibility=hidden" "" CFLAGS "${CFLAGS}")
+string(REGEX REPLACE "-fvisibility=hidden" "" CXXFLAGS "${CXXFLAGS}")
+
+set(TCL_TK_VERSION 8.6.1)
+string(REGEX REPLACE "\\.[0-9]$" "" TCL_TK_LIBVERSION ${TCL_TK_VERSION})
+
+# Data that is related to downloads.
+set(URL http://downloads.sourceforge.net/project/tcl/Tcl/${TCL_TK_VERSION}/tcl${TCL_TK_VERSION}-src.tar.gz)
+set(DOWNLOAD_HASH_TYPE MD5)
+set(DOWNLOAD_HASH aae4b701ee527c6e4e1a6f9c7399882e)
+
if(EPA_HAVE_64_BIT_OS)
- set(TCL_ENABLE_64_BIT --enable-64bit)
+ set(ENABLE_64_BIT --enable-64bit)
endif(EPA_HAVE_64_BIT_OS)
ExternalProject_Add(
build_${PACKAGE}
- DEPENDS ${${PACKAGE}_dependencies_targets}
+ DEPENDS ${dependencies_targets}
URL ${URL}
- URL_HASH ${${PACKAGE}_DOWNLOAD_HASH_TYPE}=${${PACKAGE}_DOWNLOAD_HASH}
- CONFIGURE_COMMAND ${ENV_EXECUTABLE} PATH=${EPA_PATH} ${${PACKAGE}_SET_CFLAGS} ${source_PATH}/${EPA_CONFIGURE_COMMAND} --mandir=${EPA_CMAKE_INSTALL_PREFIX}/share/man ${TCL_ENABLE_64_BIT}
+ URL_HASH ${DOWNLOAD_HASH_TYPE}=${DOWNLOAD_HASH}
+ CONFIGURE_COMMAND ${ENV_EXECUTABLE} PATH=${EPA_PATH} "CFLAGS=${CFLAGS}" "CXXFLAGS=${CXXFLAGS}" ${source_PATH}/${EPA_CONFIGURE_COMMAND} --mandir=${EPA_CMAKE_INSTALL_PREFIX}/share/man ${ENABLE_64_BIT}
BUILD_COMMAND ${ENV_EXECUTABLE} PATH=${EPA_PATH} ${EPA_PARALLEL_MAKE_COMMAND}
INSTALL_COMMAND ${ENV_EXECUTABLE} PATH=${EPA_PATH} ${EPA_PARALLEL_MAKE_COMMAND} install
)
@@ -119,8 +117,3 @@
COMMAND ${CHMOD_EXECUTABLE} -v ${SO_NUMERICAL_PERMISSIONS} ${EPA_CMAKE_INSTALL_PREFIX}/lib/libtcl${TCL_TK_LIBVERSION}.so
APPEND
)
-
-list(APPEND build_target_LIST build_${PACKAGE})
-# Restore EPA_PATH to original state.
-set(EPA_PATH "${EPA_ORIGINAL_NATIVE_PATH}")
-#message(STATUS "${PACKAGE} restored original EPA_PATH = ${EPA_PATH}")
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <ai...@us...> - 2013-12-04 06:43:42
|
Revision: 12808
http://sourceforge.net/p/plplot/code/12808
Author: airwin
Date: 2013-12-04 06:43:38 +0000 (Wed, 04 Dec 2013)
Log Message:
-----------
Implement CMake logic to handle dependencies correctly for the new
epa_build add_subdirectory paradigm.
Tested by: Alan W. Irwin <ai...@us...> on Linux
using epa_build with -DBUILD_THE_BUILD_TOOLS=ON cmake option and
the build_tk target with the build_tk dependency on build_tcl
correctly taken care of.
N.B. This is a good start showing the dependent build case works, but
there is still a lot of editing to do to get build configurations
other than Tcl and Tk compatible with the new paradigm.
Modified Paths:
--------------
trunk/cmake/epa_build/CMakeLists.txt
trunk/cmake/epa_build/tk/CMakeLists.txt
Modified: trunk/cmake/epa_build/CMakeLists.txt
===================================================================
--- trunk/cmake/epa_build/CMakeLists.txt 2013-12-03 23:56:24 UTC (rev 12807)
+++ trunk/cmake/epa_build/CMakeLists.txt 2013-12-04 06:43:38 UTC (rev 12808)
@@ -166,7 +166,7 @@
_EPA_visited_subdirectories_LIST
_EPA_processed_subdirectories_LIST
_EPA_needed_subdirectories_LIST
- _EPA_build_target_LIST
+ _EPA_build_targets_LIST
_EPA_PATH
_source_PATH
_IF_RETURN
@@ -179,11 +179,10 @@
#message(STATUS "DEBUG: ${_EPA_visited_subdirectories_LIST} = ${${_EPA_visited_subdirectories_LIST}}")
#message(STATUS "DEBUG: ${_EPA_processed_subdirectories_LIST} = ${${_EPA_processed_subdirectories_LIST}}")
#message(STATUS "DEBUG: ${_EPA_needed_subdirectories_LIST} = ${${_EPA_needed_subdirectories_LIST}}")
- #message(STATUS "DEBUG: ${_EPA_build_target_LIST} = ${${_EPA_build_target_LIST}}")
+ #message(STATUS "DEBUG: ${_EPA_build_targets_LIST} = ${${_EPA_build_targets_LIST}}")
#message(STATUS "DEBUG: ${_EPA_PATH} = ${${_EPA_PATH}}")
#message(STATUS "DEBUG: ${_source_PATH} = ${${_source_PATH}}")
#message(STATUS "DEBUG: ${_IF_RETURN} = ${${_IF_RETURN}}")
- list(APPEND ${_EPA_visited_subdirectories_LIST} ${${_PACKAGE}})
# Remove dependencies that should be ignored.
if(${_dependencies_LIST} AND ${_ignored_dependencies_LIST})
@@ -205,11 +204,17 @@
list(REMOVE_ITEM remaining_dependencies_LIST ${${_EPA_processed_subdirectories_LIST}})
endif(remaining_dependencies_LIST AND ${_EPA_processed_subdirectories_LIST})
- if(remaining_dependencies_LIST)
+ if(0 AND remaining_dependencies_LIST)
list(FIND ${_EPA_visited_subdirectories_LIST} ${${_PACKAGE}} index)
if(index GREATER -1)
message(FATAL_ERROR "Circular dependency: ${_PACKAGE} = ${${_PACKAGE}} has been visited before without subsequently resolving all dependencies.")
endif(index GREATER -1)
+
+ # Mark this subdirectory as being visited so that the above circular
+ # dependency check will work if the next visit still has remaining
+ # dependencies.
+ list(APPEND ${_EPA_visited_subdirectories_LIST} ${${_PACKAGE}})
+
# Put the remaining dependencies at the top of the list so they
# will be processed before the current subdirectory.
list(APPEND ${_EPA_needed_subdirectories_LIST} ${remaining_dependencies_LIST})
@@ -222,8 +227,15 @@
# parent subdirectory should make immediate return to top-level directory.
set(${_IF_RETURN} ON PARENT_SCOPE)
return()
- endif(remaining_dependencies_LIST)
+ endif(0 AND remaining_dependencies_LIST)
+ foreach(build_configuration ${remaining_dependencies_LIST})
+ add_subdirectory(
+ ${CMAKE_SOURCE_DIR}/${build_configuration}
+ ${CMAKE_BINARY_DIR}/${build_configuration}
+ )
+ endforeach(build_configuration ${remaining_dependencies_LIST})
+
# Add this subdirectory to the list of subdirectories that have
# already been processed by the top-level CMakeLists.txt logic.
list(APPEND ${_EPA_processed_subdirectories_LIST} ${${_PACKAGE}})
@@ -233,7 +245,7 @@
list(APPEND ${_dependencies_targets} build_${build_configuration})
endforeach(build_configuration ${${_dependences_LIST}})
- list(APPEND ${_EPA_build_target_LIST} build_${${_PACKAGE}})
+ list(APPEND ${_EPA_build_targets_LIST} build_${${_PACKAGE}})
# Data that is related to the PATH that must be used.
if(MSYS_PLATFORM)
@@ -245,13 +257,17 @@
endif(MSYS_PLATFORM)
#message(STATUS "DEBUG: (modified for ${${_PACKAGE}}) ${_EPA_PATH} = ${${_EPA_PATH}}")
+ # Mark this subdirectory as visited for no logical purpose other
+ # than to be less confusing for debugging.
+ list(APPEND ${_EPA_visited_subdirectories_LIST} ${${_PACKAGE}})
+
# Propagate changed output arguments to parent scope of function.
set(${_dependencies_LIST} ${${_dependencies_LIST}} PARENT_SCOPE)
set(${_dependencies_targets} ${${_dependencies_targets}} PARENT_SCOPE)
set(${_EPA_visited_subdirectories_LIST} ${${_EPA_visited_subdirectories_LIST}} PARENT_SCOPE)
set(${_EPA_processed_subdirectories_LIST} ${${_EPA_processed_subdirectories_LIST}} PARENT_SCOPE)
set(${_EPA_needed_subdirectories_LIST} ${${_EPA_needed_subdirectories_LIST}} PARENT_SCOPE)
- set(${_EPA_build_target_LIST} ${${_EPA_build_target_LIST}} PARENT_SCOPE)
+ set(${_EPA_build_targets_LIST} ${${_EPA_build_targets_LIST}} PARENT_SCOPE)
set(${_EPA_PATH} ${${_EPA_PATH}} PARENT_SCOPE)
set(${_source_PATH} ${${_source_PATH}} PARENT_SCOPE)
# Parent subdirectory should continue processing rather than immediately
@@ -385,7 +401,7 @@
#pkg-config
##subversion
#swig
- tcl
+ tk
# itcl version 4 is integrated into tcl
# itk version 4 is not integrated into tk (or tcl).
#itk
@@ -425,7 +441,9 @@
# This updates EPA_needed_subdirectories_LIST,
# EPA_processed_subdirectories_LIST, and EPA_build_targets_LIST.
add_subdirectory(${subdirectory})
- list(REMOVE_ITEM EPA_needed_subdirectories_LIST ${EPA_processed_subdirectories_LIST})
+ if(EPA_processed_subdirectories_LIST)
+ list(REMOVE_ITEM EPA_needed_subdirectories_LIST ${EPA_processed_subdirectories_LIST})
+ endif(EPA_processed_subdirectories_LIST)
message(STATUS "DEBUG: visited ${subdirectory}")
message(STATUS "DEBUG: EPA_needed_subdirectories_LIST = ${EPA_needed_subdirectories_LIST}")
message(STATUS "DEBUG: EPA_visited_subdirectories_LIST = ${EPA_visited_subdirectories_LIST}")
Modified: trunk/cmake/epa_build/tk/CMakeLists.txt
===================================================================
--- trunk/cmake/epa_build/tk/CMakeLists.txt 2013-12-03 23:56:24 UTC (rev 12807)
+++ trunk/cmake/epa_build/tk/CMakeLists.txt 2013-12-04 06:43:38 UTC (rev 12808)
@@ -1,6 +1,7 @@
# tk/CMakeLists.txt
-# CMakeLists.txt file to configure the build of tk.
+# Configure the build of tk.
+
# Copyright (C) 2013 Alan W. Irwin
# This file is free software; you can redistribute it and/or
@@ -17,50 +18,42 @@
# 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 EPA_BASE variable (and
-# corresponding directory property) as well as various EPA variables
-# used below that configure how the External_Project functions
-# operate.
-
# These build configuration details for Tk adapted from information in
# <http://www.linuxfromscratch.org/blfs/view/svn/general/tk.html>.
-# Protect against configuring a build twice in one CMake call
-if(tk_configured)
- return()
-endif(tk_configured)
-set(tk_configured ON)
+set(PACKAGE tk)
# List of dependencies (most of which are build tools) which should be
# ignored.
-set(EPA_ignored_dependencies_LIST ${extra_ignored_dependencies_list})
+set(ignored_dependencies_LIST ${extra_ignored_dependencies_list})
-set(tk_dependencies_LIST tcl)
-# Remove dependencies that should be ignored.
-if(tk_dependencies_LIST)
- list(REMOVE_ITEM tk_dependencies_LIST ${EPA_ignored_dependencies_LIST})
-endif(tk_dependencies_LIST)
+set(dependencies_LIST tcl)
-set(tk_dependencies_targets)
-foreach(build_configuration ${tk_dependencies_LIST})
- if(EXISTS ${CMAKE_SOURCE_DIR}/${build_configuration}/CMakeLists.txt)
- include(${build_configuration}/CMakeLists.txt)
- list(APPEND tk_dependencies_targets build_${build_configuration})
- else(EXISTS ${CMAKE_SOURCE_DIR}/${build_configuration}/CMakeLists.txt)
- message(STATUS "Warning: A build_configuration for ${build_configuration} does not exist so it is assumed this dependency of tk has been installed another way.")
- endif(EXISTS ${CMAKE_SOURCE_DIR}/${build_configuration}/CMakeLists.txt)
-endforeach(build_configuration ${tk_dependences_LIST})
+# Do boilerplate tasks that must be done for each different project
+# that is configured as part of epa_build.
+epa_boilerplate(
+ ignored_dependencies_LIST
+ PACKAGE
+ dependencies_LIST
+ dependencies_targets
+ EPA_visited_subdirectories_LIST
+ EPA_processed_subdirectories_LIST
+ EPA_needed_subdirectories_LIST
+ EPA_build_targets_LIST
+ EPA_PATH
+ source_PATH
+ IF_RETURN
+ )
-# This can be safely done only after above includes.
-set(PACKAGE tk)
+# Propagate list changes to parent scope.
+set(EPA_visited_subdirectories_LIST ${EPA_visited_subdirectories_LIST} PARENT_SCOPE)
+set(EPA_processed_subdirectories_LIST ${EPA_processed_subdirectories_LIST} PARENT_SCOPE)
+set(EPA_needed_subdirectories_LIST ${EPA_needed_subdirectories_LIST} PARENT_SCOPE)
+set(EPA_build_targets_LIST ${EPA_build_targets_LIST} PARENT_SCOPE)
-# Data that is related to downloads.
-# Note that TCL_TK_VERSION and TCL_TK_LIBVERSION variables supplied
-# by tcl/CMakeLists.txt which is included above.
-set(URL http://downloads.sourceforge.net/project/tcl/Tcl/${TCL_TK_VERSION}/tk${TCL_TK_VERSION}-src.tar.gz)
-set(${PACKAGE}_DOWNLOAD_HASH_TYPE MD5)
-set(${PACKAGE}_DOWNLOAD_HASH 63f21c3a0e0cefbd854b4eb29b129ac6)
+if(IF_RETURN)
+ return()
+endif(IF_RETURN)
# Data that is related to the PATH that must be used.
# N.B. note below that we always use the unix subdirectory of the
@@ -70,28 +63,32 @@
# version of configure may be good enough for our needs for all
# platforms.
if(MSYS_PLATFORM)
- #set(EPA_PATH_NODLL "${EPA_PATH}")
- #set(EPA_PATH "${EPA_BASE}/Build/build_${PACKAGE}/dll;${EPA_PATH_NODLL}")
- determine_msys_path(EPA_PATH "${EPA_PATH}")
- # Must have all elements of env command in MSYS platform form
- determine_msys_path(source_PATH "${EPA_BASE}/Source/build_${PACKAGE}/unix")
- set(${PACKAGE}_SET_CFLAGS "CFLAGS=$ENV{CFLAGS}")
+ set(source_PATH ${source_PATH}\unix)
else(MSYS_PLATFORM)
- set(source_PATH "${EPA_BASE}/Source/build_${PACKAGE}/unix")
- set(${PACKAGE}_SET_CFLAGS "CFLAGS=$ENV{CFLAGS}")
+ set(source_PATH ${source_PATH}/unix)
endif(MSYS_PLATFORM)
-#message(STATUS "modified EPA_PATH for ${PACKAGE} = ${EPA_PATH}")
+set(CFLAGS "$ENV{CFLAGS}")
+# Drop -fvisibility=hidden since that option may not work for this package.
+string(REGEX REPLACE "-fvisibility=hidden" "" CFLAGS "${CFLAGS}")
+
+# Data that is related to downloads.
+set(TCL_TK_VERSION 8.6.1)
+string(REGEX REPLACE "\\.[0-9]$" "" TCL_TK_LIBVERSION ${TCL_TK_VERSION})
+set(URL http://downloads.sourceforge.net/project/tcl/Tcl/${TCL_TK_VERSION}/tk${TCL_TK_VERSION}-src.tar.gz)
+set(DOWNLOAD_HASH_TYPE MD5)
+set(DOWNLOAD_HASH 63f21c3a0e0cefbd854b4eb29b129ac6)
+
if(EPA_HAVE_64_BIT_OS)
- set(TK_ENABLE_64_BIT --enable-64bit)
+ set(ENABLE_64_BIT --enable-64bit)
endif(EPA_HAVE_64_BIT_OS)
ExternalProject_Add(
build_${PACKAGE}
- DEPENDS ${${PACKAGE}_dependencies_targets}
+ DEPENDS ${dependencies_targets}
URL ${URL}
- URL_HASH ${${PACKAGE}_DOWNLOAD_HASH_TYPE}=${${PACKAGE}_DOWNLOAD_HASH}
- CONFIGURE_COMMAND ${ENV_EXECUTABLE} PATH=${EPA_PATH} ${${PACKAGE}_SET_CFLAGS} CPPFLAGS=-I${EPA_CMAKE_INSTALL_PREFIX}/include ${source_PATH}/${EPA_CONFIGURE_COMMAND} --mandir=${EPA_CMAKE_INSTALL_PREFIX}/share/man ${TK_ENABLE_64_BIT}
+ URL_HASH ${DOWNLOAD_HASH_TYPE}=${DOWNLOAD_HASH}
+ CONFIGURE_COMMAND ${ENV_EXECUTABLE} PATH=${EPA_PATH} "CFLAGS=${CFLAGS}" CPPFLAGS=-I${EPA_CMAKE_INSTALL_PREFIX}/include ${source_PATH}/${EPA_CONFIGURE_COMMAND} --mandir=${EPA_CMAKE_INSTALL_PREFIX}/share/man ${ENABLE_64_BIT}
BUILD_COMMAND ${ENV_EXECUTABLE} PATH=${EPA_PATH} ${EPA_PARALLEL_MAKE_COMMAND}
INSTALL_COMMAND ${ENV_EXECUTABLE} PATH=${EPA_PATH} ${EPA_PARALLEL_MAKE_COMMAND} install
)
@@ -116,8 +113,3 @@
COMMAND ${CHMOD_EXECUTABLE} -v ${SO_NUMERICAL_PERMISSIONS} ${EPA_CMAKE_INSTALL_PREFIX}/lib/libtk${TCL_TK_LIBVERSION}.so
APPEND
)
-
-list(APPEND build_target_LIST build_${PACKAGE})
-# Restore EPA_PATH to original state.
-set(EPA_PATH "${EPA_ORIGINAL_NATIVE_PATH}")
-#message(STATUS "${PACKAGE} restored original EPA_PATH = ${EPA_PATH}")
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <ai...@us...> - 2013-12-04 19:04:31
|
Revision: 12809
http://sourceforge.net/p/plplot/code/12809
Author: airwin
Date: 2013-12-04 19:04:27 +0000 (Wed, 04 Dec 2013)
Log Message:
-----------
Substantially simplify (using GLOBAL properties) and clean up the
CMake logic for the dependency processing for epa_build.
Tested by: Alan W. Irwin <ai...@us...> on Linux using
the epa_build -DBUILD_THE_BUILDTOOLS=ON cmake option and the build_tk
target (which depends on build_tcl). I also tried some local
variations with (1) tk depending on tk and (2) tk depending on tcl
depending on tk to verify that the circular dependency checking code
is working.
N.B. The tcl and tk build configurations are the only ones so far that
have been completely converted to the new add_subdirectory paradigm.
However, now that that paradigm has been finalized, it should be
straightforward to complete the conversion for all other build
configurations.
Modified Paths:
--------------
trunk/cmake/epa_build/CMakeLists.txt
trunk/cmake/epa_build/tcl/CMakeLists.txt
trunk/cmake/epa_build/tk/CMakeLists.txt
Modified: trunk/cmake/epa_build/CMakeLists.txt
===================================================================
--- trunk/cmake/epa_build/CMakeLists.txt 2013-12-04 06:43:38 UTC (rev 12808)
+++ trunk/cmake/epa_build/CMakeLists.txt 2013-12-04 19:04:27 UTC (rev 12809)
@@ -163,27 +163,14 @@
_PACKAGE
_dependencies_LIST
_dependencies_targets
- _EPA_visited_subdirectories_LIST
- _EPA_processed_subdirectories_LIST
- _EPA_needed_subdirectories_LIST
- _EPA_build_targets_LIST
_EPA_PATH
_source_PATH
- _IF_RETURN
)
- #message(STATUS "DEBUG: ${_ignored_dependencies_LIST} = ${${_ignored_dependencies_LIST}}")
- #message(STATUS "DEBUG: ${_PACKAGE} = ${${_PACKAGE}}")
- #message(STATUS "DEBUG: ${_dependencies_LIST} = ${${_dependencies_LIST}}")
- #message(STATUS "DEBUG: ${_dependencies_targets} = ${${_dependencies_targets}}")
- #message(STATUS "DEBUG: ${_EPA_visited_subdirectories_LIST} = ${${_EPA_visited_subdirectories_LIST}}")
- #message(STATUS "DEBUG: ${_EPA_processed_subdirectories_LIST} = ${${_EPA_processed_subdirectories_LIST}}")
- #message(STATUS "DEBUG: ${_EPA_needed_subdirectories_LIST} = ${${_EPA_needed_subdirectories_LIST}}")
- #message(STATUS "DEBUG: ${_EPA_build_targets_LIST} = ${${_EPA_build_targets_LIST}}")
- #message(STATUS "DEBUG: ${_EPA_PATH} = ${${_EPA_PATH}}")
- #message(STATUS "DEBUG: ${_source_PATH} = ${${_source_PATH}}")
- #message(STATUS "DEBUG: ${_IF_RETURN} = ${${_IF_RETURN}}")
-
+ message(STATUS "DEBUG: entering ${_PACKAGE} = ${${_PACKAGE}}")
+ get_property(saved_started_subdirectories_LIST GLOBAL PROPERTY EPA_started_subdirectories_LIST)
+ set_property(GLOBAL APPEND PROPERTY EPA_started_subdirectories_LIST ${${_PACKAGE}})
+ get_property(started_subdirectories_LIST GLOBAL PROPERTY EPA_started_subdirectories_LIST)
# Remove dependencies that should be ignored.
if(${_dependencies_LIST} AND ${_ignored_dependencies_LIST})
list(REMOVE_ITEM ${_dependencies_LIST} ${${_ignored_dependencies_LIST}})
@@ -197,56 +184,32 @@
endif(NOT EXISTS ${CMAKE_SOURCE_DIR}/${build_configuration}/CMakeLists.txt)
endforeach(build_configuration ${${_dependences_LIST}})
- # remaining_dependencies_LIST are the dependencies left over from the above
- # removals that have not already been processed.
+ # remaining_dependencies_LIST contains the dependencies left over
+ # from the above removals that have not already been finished.
set(remaining_dependencies_LIST ${${_dependencies_LIST}})
- if(remaining_dependencies_LIST AND ${_EPA_processed_subdirectories_LIST})
- list(REMOVE_ITEM remaining_dependencies_LIST ${${_EPA_processed_subdirectories_LIST}})
- endif(remaining_dependencies_LIST AND ${_EPA_processed_subdirectories_LIST})
+ get_property(finished_subdirectories_LIST GLOBAL PROPERTY EPA_finished_subdirectories_LIST)
+ if(remaining_dependencies_LIST AND finished_subdirectories_LIST)
+ list(REMOVE_ITEM remaining_dependencies_LIST ${finished_subdirectories_LIST})
+ endif(remaining_dependencies_LIST AND finished_subdirectories_LIST)
- if(0 AND remaining_dependencies_LIST)
- list(FIND ${_EPA_visited_subdirectories_LIST} ${${_PACKAGE}} index)
+ foreach(build_configuration ${remaining_dependencies_LIST})
+ list(FIND started_subdirectories_LIST ${build_configuration} index)
if(index GREATER -1)
- message(FATAL_ERROR "Circular dependency: ${_PACKAGE} = ${${_PACKAGE}} has been visited before without subsequently resolving all dependencies.")
+ message(FATAL_ERROR "Circular dependency: package ${build_configuration} depends on package ${${_PACKAGE}} which depends on package ${build_configuration}.")
endif(index GREATER -1)
-
- # Mark this subdirectory as being visited so that the above circular
- # dependency check will work if the next visit still has remaining
- # dependencies.
- list(APPEND ${_EPA_visited_subdirectories_LIST} ${${_PACKAGE}})
-
- # Put the remaining dependencies at the top of the list so they
- # will be processed before the current subdirectory.
- list(APPEND ${_EPA_needed_subdirectories_LIST} ${remaining_dependencies_LIST})
- # Propagate changed output arguments to parent scope of function.
- # There is no need to propagate ${_dependencies_LIST} for this case because
- # there will be an immediate return from the calling subdirectory to
- # the top-level directory where ${_dependencies_LIST} does not propagate.
- set(${_EPA_visited_subdirectories_LIST} ${${_EPA_visited_subdirectories_LIST}} PARENT_SCOPE)
- set(${_EPA_needed_subdirectories_LIST} ${${_EPA_needed_subdirectories_LIST}} PARENT_SCOPE)
- # parent subdirectory should make immediate return to top-level directory.
- set(${_IF_RETURN} ON PARENT_SCOPE)
- return()
- endif(0 AND remaining_dependencies_LIST)
-
- foreach(build_configuration ${remaining_dependencies_LIST})
add_subdirectory(
${CMAKE_SOURCE_DIR}/${build_configuration}
${CMAKE_BINARY_DIR}/${build_configuration}
)
endforeach(build_configuration ${remaining_dependencies_LIST})
- # Add this subdirectory to the list of subdirectories that have
- # already been processed by the top-level CMakeLists.txt logic.
- list(APPEND ${_EPA_processed_subdirectories_LIST} ${${_PACKAGE}})
+ set_property(GLOBAL PROPERTY EPA_started_subdirectories_LIST ${saved_started_subdirectories_LIST})
set(${_dependencies_targets})
foreach(build_configuration ${${_dependencies_LIST}})
list(APPEND ${_dependencies_targets} build_${build_configuration})
endforeach(build_configuration ${${_dependences_LIST}})
- list(APPEND ${_EPA_build_targets_LIST} build_${${_PACKAGE}})
-
# Data that is related to the PATH that must be used.
if(MSYS_PLATFORM)
determine_msys_path(${_EPA_PATH} "${${_EPA_PATH}}")
@@ -257,24 +220,15 @@
endif(MSYS_PLATFORM)
#message(STATUS "DEBUG: (modified for ${${_PACKAGE}}) ${_EPA_PATH} = ${${_EPA_PATH}}")
- # Mark this subdirectory as visited for no logical purpose other
- # than to be less confusing for debugging.
- list(APPEND ${_EPA_visited_subdirectories_LIST} ${${_PACKAGE}})
+ set_property(GLOBAL APPEND PROPERTY EPA_build_targets_LIST build_${${_PACKAGE}})
+ set_property(GLOBAL APPEND PROPERTY EPA_finished_subdirectories_LIST ${${_PACKAGE}})
# Propagate changed output arguments to parent scope of function.
set(${_dependencies_LIST} ${${_dependencies_LIST}} PARENT_SCOPE)
set(${_dependencies_targets} ${${_dependencies_targets}} PARENT_SCOPE)
- set(${_EPA_visited_subdirectories_LIST} ${${_EPA_visited_subdirectories_LIST}} PARENT_SCOPE)
- set(${_EPA_processed_subdirectories_LIST} ${${_EPA_processed_subdirectories_LIST}} PARENT_SCOPE)
- set(${_EPA_needed_subdirectories_LIST} ${${_EPA_needed_subdirectories_LIST}} PARENT_SCOPE)
- set(${_EPA_build_targets_LIST} ${${_EPA_build_targets_LIST}} PARENT_SCOPE)
set(${_EPA_PATH} ${${_EPA_PATH}} PARENT_SCOPE)
set(${_source_PATH} ${${_source_PATH}} PARENT_SCOPE)
- # Parent subdirectory should continue processing rather than immediately
- # returning to top-level directory.
- set(${_IF_RETURN} OFF PARENT_SCOPE)
- message(STATUS "Processed ${${_PACKAGE}}")
-
+ message(STATUS "DEBUG: leaving ${_PACKAGE} = ${${_PACKAGE}}")
endfunction(epa_boilerplate)
# This gives the full pathname of the associated build tool for at
@@ -396,7 +350,7 @@
endif(NOT ${EXECUTABLE}_EXECUTABLE)
endforeach(executable ${executables_LIST})
- set(EPA_needed_subdirectories_LIST
+ set(subdirectories_LIST
##cmake
#pkg-config
##subversion
@@ -416,7 +370,7 @@
else(BUILD_THE_BUILDTOOLS)
# List of all configurations. Order doesn't matter because multiple
# attempts to include the same configuration (via dependencies) are ignored.
- set(EPA_needed_subdirectories_LIST
+ set(subdirectories_LIST
ndiff
#plplot
#wxwidgets
@@ -424,33 +378,29 @@
)
endif(BUILD_THE_BUILDTOOLS)
-set(EPA_visited_subdirectories_LIST)
-set(EPA_processed_subdirectories_LIST)
-set(EPA_build_targets_LIST)
+set_property(GLOBAL PROPERTY EPA_started_subdirectories_LIST)
+set_property(GLOBAL PROPERTY EPA_finished_subdirectories_LIST)
+set_property(GLOBAL PROPERTY EPA_build_targets_LIST)
-message(STATUS "DEBUG: EPA_needed_subdirectories_LIST = ${EPA_needed_subdirectories_LIST}")
-message(STATUS "DEBUG: EPA_visited_subdirectories_LIST = ${EPA_visited_subdirectories_LIST}")
-message(STATUS "DEBUG: EPA_processed_subdirectories_LIST = ${EPA_processed_subdirectories_LIST}")
-message(STATUS "DEBUG: EPA_build_targets_LIST = ${EPA_build_targets_LIST}")
-# Use add_subdirectory on all directories in EPA_needed_subdirectories_LIST,
-# but the subdirectories have the potential to add to that list so use
-# a while loop to check on the length of that list.
-list(LENGTH EPA_needed_subdirectories_LIST LENGTH_EPA_needed_subdirectories_LIST)
-while(LENGTH_EPA_needed_subdirectories_LIST GREATER 0)
- list(GET EPA_needed_subdirectories_LIST 0 subdirectory)
- # This updates EPA_needed_subdirectories_LIST,
- # EPA_processed_subdirectories_LIST, and EPA_build_targets_LIST.
+message(STATUS "DEBUG: subdirectories_LIST = ${subdirectories_LIST}")
+
+# Use while loop because each add_subdirectory command can generate others
+# so that several elements of the subdirectories list could be knocked
+# off per loop iteration.
+list(LENGTH subdirectories_LIST LENGTH_subdirectories_LIST)
+while(LENGTH_subdirectories_LIST GREATER 0)
+ list(GET subdirectories_LIST 0 subdirectory)
+ # This uses EPA_started_subdirectories_LIST internally to check for
+ # circular dependencies, and updates EPA_finished_subdirectories_LIST
+ # and EPA_build_targets_LIST that are used here.
add_subdirectory(${subdirectory})
- if(EPA_processed_subdirectories_LIST)
- list(REMOVE_ITEM EPA_needed_subdirectories_LIST ${EPA_processed_subdirectories_LIST})
- endif(EPA_processed_subdirectories_LIST)
+ get_property(finished_subdirectories_LIST GLOBAL PROPERTY EPA_finished_subdirectories_LIST)
+ list(REMOVE_ITEM subdirectories_LIST ${finished_subdirectories_LIST})
message(STATUS "DEBUG: visited ${subdirectory}")
- message(STATUS "DEBUG: EPA_needed_subdirectories_LIST = ${EPA_needed_subdirectories_LIST}")
- message(STATUS "DEBUG: EPA_visited_subdirectories_LIST = ${EPA_visited_subdirectories_LIST}")
- message(STATUS "DEBUG: EPA_processed_subdirectories_LIST = ${EPA_processed_subdirectories_LIST}")
- message(STATUS "DEBUG: EPA_build_targets_LIST = ${EPA_build_targets_LIST}")
- list(LENGTH EPA_needed_subdirectories_LIST LENGTH_EPA_needed_subdirectories_LIST)
-endwhile(LENGTH_EPA_needed_subdirectories_LIST GREATER 0)
+ message(STATUS "DEBUG: subdirectories_LIST = ${subdirectories_LIST}")
+ list(LENGTH subdirectories_LIST LENGTH_subdirectories_LIST)
+endwhile(LENGTH_subdirectories_LIST GREATER 0)
add_custom_target(build_all)
-add_dependencies(build_all ${EPA_build_targets_LIST})
+get_property(build_targets_LIST GLOBAL PROPERTY EPA_build_targets_LIST)
+add_dependencies(build_all ${build_targets_LIST})
Modified: trunk/cmake/epa_build/tcl/CMakeLists.txt
===================================================================
--- trunk/cmake/epa_build/tcl/CMakeLists.txt 2013-12-04 06:43:38 UTC (rev 12808)
+++ trunk/cmake/epa_build/tcl/CMakeLists.txt 2013-12-04 19:04:27 UTC (rev 12809)
@@ -36,25 +36,10 @@
PACKAGE
dependencies_LIST
dependencies_targets
- EPA_visited_subdirectories_LIST
- EPA_processed_subdirectories_LIST
- EPA_needed_subdirectories_LIST
- EPA_build_targets_LIST
EPA_PATH
source_PATH
- IF_RETURN
)
-# Propagate list changes to parent scope.
-set(EPA_visited_subdirectories_LIST ${EPA_visited_subdirectories_LIST} PARENT_SCOPE)
-set(EPA_processed_subdirectories_LIST ${EPA_processed_subdirectories_LIST} PARENT_SCOPE)
-set(EPA_needed_subdirectories_LIST ${EPA_needed_subdirectories_LIST} PARENT_SCOPE)
-set(EPA_build_targets_LIST ${EPA_build_targets_LIST} PARENT_SCOPE)
-
-if(IF_RETURN)
- return()
-endif(IF_RETURN)
-
# Data that is related to the PATH that must be used.
# N.B. note below that we always use the unix subdirectory of the
# source tree to find the configure script. Note, there is a macosx
Modified: trunk/cmake/epa_build/tk/CMakeLists.txt
===================================================================
--- trunk/cmake/epa_build/tk/CMakeLists.txt 2013-12-04 06:43:38 UTC (rev 12808)
+++ trunk/cmake/epa_build/tk/CMakeLists.txt 2013-12-04 19:04:27 UTC (rev 12809)
@@ -36,25 +36,10 @@
PACKAGE
dependencies_LIST
dependencies_targets
- EPA_visited_subdirectories_LIST
- EPA_processed_subdirectories_LIST
- EPA_needed_subdirectories_LIST
- EPA_build_targets_LIST
EPA_PATH
source_PATH
- IF_RETURN
)
-# Propagate list changes to parent scope.
-set(EPA_visited_subdirectories_LIST ${EPA_visited_subdirectories_LIST} PARENT_SCOPE)
-set(EPA_processed_subdirectories_LIST ${EPA_processed_subdirectories_LIST} PARENT_SCOPE)
-set(EPA_needed_subdirectories_LIST ${EPA_needed_subdirectories_LIST} PARENT_SCOPE)
-set(EPA_build_targets_LIST ${EPA_build_targets_LIST} PARENT_SCOPE)
-
-if(IF_RETURN)
- return()
-endif(IF_RETURN)
-
# Data that is related to the PATH that must be used.
# N.B. note below that we always use the unix subdirectory of the
# source tree to find the configure script. Note, there is a macosx
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <ai...@us...> - 2013-12-05 10:48:53
|
Revision: 12812
http://sourceforge.net/p/plplot/code/12812
Author: airwin
Date: 2013-12-05 10:48:48 +0000 (Thu, 05 Dec 2013)
Log Message:
-----------
Commit the changes to move to the new "add_subdirectory" paradigm for
epa_build.
Tested by Alan W. Irwin <ai...@us...> on Linux
using the epa_build -DBUILD_THE_BUILDTOOLS=ON cmake option and
the build_all target (which built and installed cmake, pkg-config, swig, libpcre,
tk(8.6), tcl(8.6), itk(4.0), iwidgets(4.1.0), itcl3(3.4), itk3(3.3), and
iwidgets4.0(4.0.1) without issues in just 11.5 minutes.
N.B. the more normal epa_build with -DBUILD_THE_BUILDTOOLS=OFF (which
builds PLplot and its normal dependencies using the above build tools)
has not been tested yet, and there are presumably a few minor issues
still to straighten out for that case.
Modified Paths:
--------------
trunk/cmake/epa_build/CMakeLists.txt
trunk/cmake/epa_build/cairo/CMakeLists.txt
trunk/cmake/epa_build/cmake/CMakeLists.txt
trunk/cmake/epa_build/docbook-xml/CMakeLists.txt
trunk/cmake/epa_build/docbook-xsl/CMakeLists.txt
trunk/cmake/epa_build/epa_CMakeLists.txt.in
trunk/cmake/epa_build/fontconfig/CMakeLists.txt
trunk/cmake/epa_build/glib/CMakeLists.txt
trunk/cmake/epa_build/gobject-introspection/CMakeLists.txt
trunk/cmake/epa_build/gperf/CMakeLists.txt
trunk/cmake/epa_build/gtk-doc/CMakeLists.txt
trunk/cmake/epa_build/harfbuzz/CMakeLists.txt
trunk/cmake/epa_build/intltool/CMakeLists.txt
trunk/cmake/epa_build/itcl3/CMakeLists.txt
trunk/cmake/epa_build/itk/CMakeLists.txt
trunk/cmake/epa_build/itk3/CMakeLists.txt
trunk/cmake/epa_build/itstool/CMakeLists.txt
trunk/cmake/epa_build/iwidgets/CMakeLists.txt
trunk/cmake/epa_build/libagg/CMakeLists.txt
trunk/cmake/epa_build/libffi/CMakeLists.txt
trunk/cmake/epa_build/libharu/CMakeLists.txt
trunk/cmake/epa_build/libpcre/CMakeLists.txt
trunk/cmake/epa_build/libqhull/CMakeLists.txt
trunk/cmake/epa_build/libxml2/CMakeLists.txt
trunk/cmake/epa_build/libxslt/CMakeLists.txt
trunk/cmake/epa_build/ndiff/CMakeLists.txt
trunk/cmake/epa_build/pango/CMakeLists.txt
trunk/cmake/epa_build/pixman/CMakeLists.txt
trunk/cmake/epa_build/pkg-config/CMakeLists.txt
trunk/cmake/epa_build/plplot/CMakeLists.txt
trunk/cmake/epa_build/ragel/CMakeLists.txt
trunk/cmake/epa_build/shapelib/CMakeLists.txt
trunk/cmake/epa_build/subversion/CMakeLists.txt
trunk/cmake/epa_build/swig/CMakeLists.txt
trunk/cmake/epa_build/tcl/CMakeLists.txt
trunk/cmake/epa_build/wxwidgets/CMakeLists.txt
trunk/cmake/epa_build/xmlcatalog-wrapper/CMakeLists.txt
trunk/cmake/epa_build/yelp-tools/CMakeLists.txt
trunk/cmake/epa_build/yelp-xsl/CMakeLists.txt
Added Paths:
-----------
trunk/cmake/epa_build/iwidgets4.0/
trunk/cmake/epa_build/iwidgets4.0/CMakeLists.txt
trunk/cmake/epa_build/plplot_lite/
trunk/cmake/epa_build/plplot_lite/CMakeLists.txt
Modified: trunk/cmake/epa_build/CMakeLists.txt
===================================================================
--- trunk/cmake/epa_build/CMakeLists.txt 2013-12-05 09:20:44 UTC (rev 12811)
+++ trunk/cmake/epa_build/CMakeLists.txt 2013-12-05 10:48:48 UTC (rev 12812)
@@ -351,21 +351,22 @@
endforeach(executable ${executables_LIST})
set(subdirectories_LIST
- ##cmake
- #pkg-config
+ cmake
+ pkg-config
##subversion
- #swig
+ swig
tk
# itcl version 4 is integrated into tcl
# itk version 4 is not integrated into tk (or tcl).
- #itk
+ itk
+ # iwidgets (version 4.1.0)
+ iwidgets
# itcl version 3 is an independent project
- #itcl3
+ itcl3
# itk version 3 is an independent project
- #itk3
- # iwidgets subdirectory contains build configurations for both
- # iwidgets (version 4.1) and iwidgets4.0 (version 4.0).
- #iwidgets
+ itk3
+ # iwidgets (version 4.0.1)
+ iwidgets4.0
)
else(BUILD_THE_BUILDTOOLS)
# List of all configurations. Order doesn't matter because multiple
@@ -373,6 +374,7 @@
set(subdirectories_LIST
ndiff
#plplot
+ #plplot_lite
#wxwidgets
#pango
)
@@ -384,11 +386,17 @@
message(STATUS "DEBUG: subdirectories_LIST = ${subdirectories_LIST}")
-# Use while loop because each add_subdirectory command can generate others
+# Using a while loop seems obvious here
+# because each add_subdirectory command can generate others
# so that several elements of the subdirectories list could be knocked
-# off per loop iteration.
+# off per loop iteration. However, that is not a good idea in
+# practice because it turns out that fatal CMake errors don't stop the
+# loop (which I presume is a bug) so it just continues indefinitely. Ugh!
+# So use foreach RANGE loop instead with maximum number of loop
+# interations equal to LENGTH_subdirectories_LIST and break out of it
+# early if necessary if the subdirectories_LIST has become exhausted.
list(LENGTH subdirectories_LIST LENGTH_subdirectories_LIST)
-while(LENGTH_subdirectories_LIST GREATER 0)
+foreach(idummy RANGE ${LENGTH_subdirectories_LIST})
list(GET subdirectories_LIST 0 subdirectory)
# This uses EPA_started_subdirectories_LIST internally to check for
# circular dependencies, and updates EPA_finished_subdirectories_LIST
@@ -399,7 +407,10 @@
message(STATUS "DEBUG: visited ${subdirectory}")
message(STATUS "DEBUG: subdirectories_LIST = ${subdirectories_LIST}")
list(LENGTH subdirectories_LIST LENGTH_subdirectories_LIST)
-endwhile(LENGTH_subdirectories_LIST GREATER 0)
+ if(LENGTH_subdirectories_LIST EQUAL 0)
+ break()
+ endif(LENGTH_subdirectories_LIST EQUAL 0)
+endforeach(idummy RANGE ${LENGTH_subdirectories_LIST})
add_custom_target(build_all)
get_property(build_targets_LIST GLOBAL PROPERTY EPA_build_targets_LIST)
Modified: trunk/cmake/epa_build/cairo/CMakeLists.txt
===================================================================
--- trunk/cmake/epa_build/cairo/CMakeLists.txt 2013-12-05 09:20:44 UTC (rev 12811)
+++ trunk/cmake/epa_build/cairo/CMakeLists.txt 2013-12-05 10:48:48 UTC (rev 12812)
@@ -1,4 +1,7 @@
# cairo/CMakeLists.txt
+
+# Configure the build of cairo.
+
# N.B. this file is generated so if you edit it you will lose all your
# changes the next time it is generated (typically by running
# either/both the update_added_packages.sh or update_pango_packages.sh
@@ -6,10 +9,6 @@
# consider changing their source files (e.g., by editing the files
# used in those scripts) or add a patch to be run by those scripts.
-# The CMake logic in this file should be exercised by the
-# add_subdirectory command that is exercised in the top-level
-# CMakeLists.txt file to configure the build of cairo.
-
# Copyright (C) 2013 Alan W. Irwin
# This file is free software; you can redistribute it and/or
@@ -26,12 +25,6 @@
# 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 adds this subdirectory should
-# have run "include(ExternalProject)" and set the EPA_BASE variable (and
-# corresponding directory property) as well as various EPA variables
-# used below that configure how the External_Project functions
-# operate.
-
set(PACKAGE cairo)
# List of dependencies (most of which are build tools) which should be
@@ -39,66 +32,44 @@
set(ignored_dependencies_LIST pkg-config;bison;flex;python2-devel;libXft ${extra_ignored_dependencies_list})
set(dependencies_LIST fontconfig;gtk-doc;pixman;pkg-config)
-# Remove dependencies that should be ignored.
-if(dependencies_LIST)
- list(REMOVE_ITEM dependencies_LIST ${ignored_dependencies_LIST})
-endif(dependencies_LIST)
-# Add this subdirectory to the list of subdirectories that have
-# already been processed by the top-level CMakeLists.txt logic.
-list(APPEND EPA_processed_subdirectories_LIST ${PACKAGE})
+# Do boilerplate tasks that must be done for each different project
+# that is configured as part of epa_build.
+epa_boilerplate(
+ ignored_dependencies_LIST
+ PACKAGE
+ dependencies_LIST
+ dependencies_targets
+ EPA_PATH
+ source_PATH
+ )
-set(dependencies_targets)
-foreach(build_configuration ${dependencies_LIST})
- if(EXISTS ${CMAKE_SOURCE_DIR}/${build_configuration}/CMakeLists.txt)
- # Add to the list of subdirectories that must be processed by the
- # top-level CMakeLists.txt logic.
- list(APPEND EPA_needed_subdirectories_LIST ${build_configuration})
- list(APPEND dependencies_targets build_${build_configuration})
- else(EXISTS ${CMAKE_SOURCE_DIR}/${build_configuration}/CMakeLists.txt)
- message(STATUS "Warning: A build_configuration for ${build_configuration} does not exist so it is assumed this dependency of ${PACKAGE} has been installed on your platform by means other than epa_build.")
- endif(EXISTS ${CMAKE_SOURCE_DIR}/${build_configuration}/CMakeLists.txt)
-endforeach(build_configuration ${dependences_LIST})
-
-list(APPEND EPA_build_target_LIST build_${PACKAGE})
-
-# Propagate list changes to parent scope.
-set(EPA_build_target_LIST ${EPA_build_target_LIST} PARENT_SCOPE)
-set(EPA_processed_subdirectories_LIST ${EPA_processed_subdirectories_LIST} PARENT_SCOPE)
-set(EPA_needed_subdirectories_LIST ${EPA_needed_subdirectories_LIST} PARENT_SCOPE)
-
-# Data that is related to downloads.
-set(URL http://cairographics.org/releases/cairo-1.12.14.tar.xz)
-set(DOWNLOAD_HASH_TYPE SHA256)
-set(DOWNLOAD_HASH 96d0d1e3f9b74d2ca3469ff187c5e5f25649b1ad35cf06f4f3a83847dff4ac13)
-
-# Data that is related to the PATH that must be used.
if(MSYS_PLATFORM)
- determine_msys_path(EPA_PATH "${EPA_PATH}")
- # Must have all elements of env command in MSYS platform form
- determine_msys_path(source_PATH "${EPA_BASE}/Source/build_${PACKAGE}")
- set(SET_CFLAGS "CFLAGS=$ENV{CFLAGS}")
+ set(CFLAGS "$ENV{CFLAGS}")
else(MSYS_PLATFORM)
- set(source_PATH "${EPA_BASE}/Source/build_${PACKAGE}")
- set(SET_CFLAGS "CFLAGS=$ENV{CFLAGS}")
+ set(CFLAGS "$ENV{CFLAGS}")
endif(MSYS_PLATFORM)
-#message(STATUS "modified EPA_PATH for ${PACKAGE} = ${EPA_PATH}")
-set(SET_CXXFLAGS "CXXFLAGS=$ENV{CXXFLAGS}")
+set(CXXFLAGS "$ENV{CXXFLAGS}")
# Drop -fvisibility=hidden since that option does not work for a
# number of software packages that are configured automatically using
# this template.
-string(REGEX REPLACE "-fvisibility=hidden" "" SET_CFLAGS "${SET_CFLAGS}")
-string(REGEX REPLACE "-fvisibility=hidden" "" SET_CXXFLAGS "${SET_CXXFLAGS}")
+string(REGEX REPLACE "-fvisibility=hidden" "" CFLAGS "${CFLAGS}")
+string(REGEX REPLACE "-fvisibility=hidden" "" CXXFLAGS "${CXXFLAGS}")
+# Data that is related to downloads.
+set(URL http://cairographics.org/releases/cairo-1.12.14.tar.xz)
+set(DOWNLOAD_HASH_TYPE SHA256)
+set(DOWNLOAD_HASH 96d0d1e3f9b74d2ca3469ff187c5e5f25649b1ad35cf06f4f3a83847dff4ac13)
+
ExternalProject_Add(
build_${PACKAGE}
DEPENDS ${dependencies_targets}
URL ${URL}
URL_HASH ${DOWNLOAD_HASH_TYPE}=${DOWNLOAD_HASH}
- CONFIGURE_COMMAND ${ENV_EXECUTABLE} PATH=${EPA_PATH} ${SET_CFLAGS} ${SET_CXXFLAGS} ${source_PATH}/${EPA_CONFIGURE_COMMAND} --enable-xlib
- BUILD_COMMAND ${ENV_EXECUTABLE} PATH=${EPA_PATH} ${BP_PARALLEL_MAKE_COMMAND}
+ CONFIGURE_COMMAND ${ENV_EXECUTABLE} PATH=${EPA_PATH} "CFLAGS=${CFLAGS}" "CXXFLAGS=${CXXFLAGS}" ${source_PATH}/${EPA_CONFIGURE_COMMAND} --enable-xlib
+ BUILD_COMMAND ${ENV_EXECUTABLE} PATH=${EPA_PATH} ${EPA_PARALLEL_MAKE_COMMAND}
BUILD_IN_SOURCE OFF
- INSTALL_COMMAND ${ENV_EXECUTABLE} PATH=${EPA_PATH} ${BP_PARALLEL_MAKE_COMMAND} install
+ INSTALL_COMMAND ${ENV_EXECUTABLE} PATH=${EPA_PATH} ${EPA_PARALLEL_MAKE_COMMAND} install
)
Modified: trunk/cmake/epa_build/cmake/CMakeLists.txt
===================================================================
--- trunk/cmake/epa_build/cmake/CMakeLists.txt 2013-12-05 09:20:44 UTC (rev 12811)
+++ trunk/cmake/epa_build/cmake/CMakeLists.txt 2013-12-05 10:48:48 UTC (rev 12812)
@@ -1,7 +1,7 @@
# cmake/CMakeLists.txt
-# This file should be included directly or indirectly from a top-level
-# CMakeLists.txt file to configure the build of cmake.
+# Configure the build of cmake.
+
# Copyright (C) 2013 Alan W. Irwin
# This file is free software; you can redistribute it and/or
@@ -18,47 +18,59 @@
# 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 EPA_BASE variable (and
-# corresponding directory property) as well as various EPA variables
-# used below that configure how the External_Project functions
-# operate.
+# An external curl library (see --system-curl option below) is
+# required to build cmake because the cmake internal version of curl
+# is quite lame (no openssl capability, for example). Also, we
+# haven't yet implemented a curl epa_build configuration because that
+# is going to be somewhat difficult due to the large number of
+# dependencies. See
+# http://www.linuxfromscratch.org/blfs/view/svn/basicnet/curl.html for
+# a list of those dependencies. There is some hope because
+# some of those are optional so I may tackle the curl epa_build configuration
+# sooner rather than later.
+# For now we are okay on Linux because we can just use the system curl
+# library for the cmake build, but on Windows it is unlikely curl is
+# installed so we will be unable to build a powerful cmake (until a
+# curl epa_build configuration is available). Note, if the Windows
+# build of cmake fails, then either install curl (if that is possible)
+# or use the workaround of downloading a binary download from kitware
+# that apparently does use a powerful Windows version of curl.
+
set(PACKAGE cmake)
-# Protect against configuring a build twice in one CMake call
-if(configured)
- return()
-endif(configured)
-set(configured ON)
+# List of dependencies (most of which are build tools) which should be
+# ignored.
+set(ignored_dependencies_LIST curl ${extra_ignored_dependencies_list})
+set(dependencies_LIST curl)
+
+# Do boilerplate tasks that must be done for each different project
+# that is configured as part of epa_build.
+epa_boilerplate(
+ ignored_dependencies_LIST
+ PACKAGE
+ dependencies_LIST
+ dependencies_targets
+ EPA_PATH
+ source_PATH
+ )
+
+set(CFLAGS "$ENV{CFLAGS}")
+set(CXXFLAGS "$ENV{CXXFLAGS}")
+
# Data that is related to downloads.
-set(EPA_CMAKE_DIR v2.8)
-set(EPA_CMAKE_VERSION 2.8.11.1)
-set(URL http://www.cmake.org/files/${EPA_CMAKE_DIR}/cmake-${EPA_CMAKE_VERSION}.tar.gz)
-set(URL_MD5 df5324a3b203373a9e0a04b924281a43)
+set(DIR v2.8)
+set(VERSION 2.8.12.1)
+set(URL http://www.cmake.org/files/${DIR}/cmake-${VERSION}.tar.gz)
+set(DOWNLOAD_HASH_TYPE MD5)
+set(DOWNLOAD_HASH 9d38cd4e2c94c3cea97d0e2924814acc)
-# Data that is related to the PATH that must be used.
-if(MSYS_PLATFORM)
- set(EPA_PATH_NODLL "${EPA_PATH}")
- set(EPA_PATH "${EPA_BASE}/Build/build_${PACKAGE}/dll;${EPA_PATH_NODLL}")
- determine_msys_path(EPA_PATH "${EPA_PATH}")
- determine_msys_path(${PACKAGE}_INSTALL_PREFIX "${CMAKE_INSTALL_PREFIX}")
-else(MSYS_PLATFORM)
- set(${PACKAGE}_INSTALL_PREFIX "${CMAKE_INSTALL_PREFIX}")
-endif(MSYS_PLATFORM)
-#message(STATUS "modified EPA_PATH for ${PACKAGE} = ${EPA_PATH}")
-
ExternalProject_Add(
build_${PACKAGE}
URL ${URL}
- URL_MD5 ${URL_MD5}
- CONFIGURE_COMMAND ${ENV_EXECUTABLE} PATH=${EPA_PATH} CFLAGS=-O3 CXXFLAGS=-O3 ${SH_EXECUTABLE} ${EPA_BASE}/Source/build_${PACKAGE}/bootstrap --prefix=${${PACKAGE}_INSTALL_PREFIX} --parallel=8
+ URL_HASH ${DOWNLOAD_HASH_TYPE}=${DOWNLOAD_HASH}
+ CONFIGURE_COMMAND ${ENV_EXECUTABLE} PATH=${EPA_PATH} "CFLAGS=${CFLAGS}" "CXXFLAGS=${CXXFLAGS}" ${SH_EXECUTABLE} ${EPA_BASE}/Source/build_${PACKAGE}/bootstrap --prefix=${EPA_CMAKE_INSTALL_PREFIX} --parallel=8 --verbose --system-curl --no-qt-gui
BUILD_COMMAND ${ENV_EXECUTABLE} PATH=${EPA_PATH} ${EPA_PARALLEL_BUILD_COMMAND}
INSTALL_COMMAND ${ENV_EXECUTABLE} PATH=${EPA_PATH} ${EPA_PARALLEL_BUILD_COMMAND} install
)
-
-list(APPEND build_target_LIST build_${PACKAGE})
-# Restore EPA_PATH to original state.
-set(EPA_PATH "${EPA_ORIGINAL_NATIVE_PATH}")
-#message(STATUS "${PACKAGE} restored original EPA_PATH = ${EPA_PATH}")
Modified: trunk/cmake/epa_build/docbook-xml/CMakeLists.txt
===================================================================
--- trunk/cmake/epa_build/docbook-xml/CMakeLists.txt 2013-12-05 09:20:44 UTC (rev 12811)
+++ trunk/cmake/epa_build/docbook-xml/CMakeLists.txt 2013-12-05 10:48:48 UTC (rev 12812)
@@ -1,7 +1,7 @@
# docbook-xml/CMakeLists.txt
-# This file should be included directly or indirectly from a top-level
-# CMakeLists.txt file to configure the build of docbook-xml.
+# Configure the build of docbook-xml.
+
# Copyright (C) 2013 Alan W. Irwin
# This file is free software; you can redistribute it and/or
@@ -18,65 +18,36 @@
# 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 EPA_BASE variable (and
-# corresponding directory property) as well as various EPA variables
-# used below that configure how the External_Project functions
-# operate.
-# Protect against configuring a build twice in one CMake call
-if(docbook-xml_configured)
- return()
-endif(docbook-xml_configured)
-set(docbook-xml_configured ON)
+set(PACKAGE docbook-xml)
# List of dependencies (most of which are build tools) which should be
# ignored.
-set(EPA_ignored_dependencies_LIST pkg-config;bison;flex;python2-devel;libXft ${extra_ignored_dependencies_list})
+set(ignored_dependencies_LIST ${extra_ignored_dependencies_list})
-set(docbook-xml_dependencies_LIST libxml2)
-# Remove dependencies that should be ignored.
-if(docbook-xml_dependencies_LIST)
- list(REMOVE_ITEM docbook-xml_dependencies_LIST ${EPA_ignored_dependencies_LIST})
-endif(docbook-xml_dependencies_LIST)
+set(dependencies_LIST libxml2)
-set(docbook-xml_dependencies_targets)
-foreach(build_configuration ${docbook-xml_dependencies_LIST})
- if(EXISTS ${CMAKE_SOURCE_DIR}/${build_configuration}/CMakeLists.txt)
- include(${build_configuration}/CMakeLists.txt)
- list(APPEND docbook-xml_dependencies_targets build_${build_configuration})
- else(EXISTS ${CMAKE_SOURCE_DIR}/${build_configuration}/CMakeLists.txt)
- message(STATUS "Warning: A build_configuration for ${build_configuration} does not exist so it is assumed this dependency of docbook-xml has been installed another way.")
- endif(EXISTS ${CMAKE_SOURCE_DIR}/${build_configuration}/CMakeLists.txt)
-endforeach(build_configuration ${docbook-xml_dependences_LIST})
+# Do boilerplate tasks that must be done for each different project
+# that is configured as part of epa_build.
+epa_boilerplate(
+ ignored_dependencies_LIST
+ PACKAGE
+ dependencies_LIST
+ dependencies_targets
+ EPA_PATH
+ source_PATH
+ )
-# This can be safely done only after above includes.
-set(PACKAGE docbook-xml)
-
# Data that is related to downloads.
set(URL http://www.docbook.org/xml/4.5/docbook-xml-4.5.zip)
-set(${PACKAGE}_DOWNLOAD_HASH_TYPE MD5)
-set(${PACKAGE}_DOWNLOAD_HASH 03083e288e87a7e829e437358da7ef9e)
+set(DOWNLOAD_HASH_TYPE MD5)
+set(DOWNLOAD_HASH 03083e288e87a7e829e437358da7ef9e)
-# Data that is related to the PATH that must be used.
-if(MSYS_PLATFORM)
- #set(EPA_PATH_NODLL "${EPA_PATH}")
- #set(EPA_PATH "${EPA_BASE}/Build/build_${PACKAGE}/dll;${EPA_PATH_NODLL}")
- determine_msys_path(EPA_PATH "${EPA_PATH}")
- # Must have all elements of env command in MSYS platform form
- determine_msys_path(source_PATH "${EPA_BASE}/Source/build_${PACKAGE}")
- set(${PACKAGE}_SET_CFLAGS "CFLAGS=$ENV{CFLAGS}")
-else(MSYS_PLATFORM)
- set(source_PATH "${EPA_BASE}/Source/build_${PACKAGE}")
- set(${PACKAGE}_SET_CFLAGS "CFLAGS=$ENV{CFLAGS}")
-endif(MSYS_PLATFORM)
-#message(STATUS "modified EPA_PATH for ${PACKAGE} = ${EPA_PATH}")
-
ExternalProject_Add(
build_${PACKAGE}
- DEPENDS ${${PACKAGE}_dependencies_targets}
+ DEPENDS ${dependencies_targets}
URL ${URL}
- URL_HASH ${${PACKAGE}_DOWNLOAD_HASH_TYPE}=${${PACKAGE}_DOWNLOAD_HASH}
+ URL_HASH ${DOWNLOAD_HASH_TYPE}=${DOWNLOAD_HASH}
CONFIGURE_COMMAND ${ENV_EXECUTABLE} PATH=${EPA_PATH} ${EPA_CMAKE_COMMAND} ${EPA_BASE}/Source/build_${PACKAGE}
BUILD_COMMAND ${ENV_EXECUTABLE} PATH=${EPA_PATH} ${EPA_PARALLEL_BUILD_COMMAND}
BUILD_IN_SOURCE OFF
@@ -95,8 +66,3 @@
${CMAKE_SOURCE_DIR}/${PACKAGE}/${PACKAGE}_CMakeLists.txt
APPEND
)
-
-list(APPEND build_target_LIST build_${PACKAGE})
-# Restore EPA_PATH to original state.
-set(EPA_PATH "${EPA_ORIGINAL_NATIVE_PATH}")
-#message(STATUS "${PACKAGE} restored original EPA_PATH = ${EPA_PATH}")
Modified: trunk/cmake/epa_build/docbook-xsl/CMakeLists.txt
===================================================================
--- trunk/cmake/epa_build/docbook-xsl/CMakeLists.txt 2013-12-05 09:20:44 UTC (rev 12811)
+++ trunk/cmake/epa_build/docbook-xsl/CMakeLists.txt 2013-12-05 10:48:48 UTC (rev 12812)
@@ -1,7 +1,7 @@
# docbook-xsl/CMakeLists.txt
-# This file should be included directly or indirectly from a top-level
-# CMakeLists.txt file to configure the build of docbook-xsl.
+# Configure the build of docbook-xsl.
+
# Copyright (C) 2013 Alan W. Irwin
# This file is free software; you can redistribute it and/or
@@ -18,65 +18,35 @@
# 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 EPA_BASE variable (and
-# corresponding directory property) as well as various EPA variables
-# used below that configure how the External_Project functions
-# operate.
+set(PACKAGE docbook-xsl)
-# Protect against configuring a build twice in one CMake call
-if(docbook-xsl_configured)
- return()
-endif(docbook-xsl_configured)
-set(docbook-xsl_configured ON)
-
# List of dependencies (most of which are build tools) which should be
# ignored.
-set(EPA_ignored_dependencies_LIST pkg-config;bison;flex;python2-devel;libXft ${extra_ignored_dependencies_list})
+set(ignored_dependencies_LIST ${extra_ignored_dependencies_list})
-set(docbook-xsl_dependencies_LIST libxml2)
-# Remove dependencies that should be ignored.
-if(docbook-xsl_dependencies_LIST)
- list(REMOVE_ITEM docbook-xsl_dependencies_LIST ${EPA_ignored_dependencies_LIST})
-endif(docbook-xsl_dependencies_LIST)
+set(dependencies_LIST libxml2)
-set(docbook-xsl_dependencies_targets)
-foreach(build_configuration ${docbook-xsl_dependencies_LIST})
- if(EXISTS ${CMAKE_SOURCE_DIR}/${build_configuration}/CMakeLists.txt)
- include(${build_configuration}/CMakeLists.txt)
- list(APPEND docbook-xsl_dependencies_targets build_${build_configuration})
- else(EXISTS ${CMAKE_SOURCE_DIR}/${build_configuration}/CMakeLists.txt)
- message(STATUS "Warning: A build_configuration for ${build_configuration} does not exist so it is assumed this dependency of docbook-xsl has been installed another way.")
- endif(EXISTS ${CMAKE_SOURCE_DIR}/${build_configuration}/CMakeLists.txt)
-endforeach(build_configuration ${docbook-xsl_dependences_LIST})
+# Do boilerplate tasks that must be done for each different project
+# that is configured as part of epa_build.
+epa_boilerplate(
+ ignored_dependencies_LIST
+ PACKAGE
+ dependencies_LIST
+ dependencies_targets
+ EPA_PATH
+ source_PATH
+ )
-# This can be safely done only after above includes.
-set(PACKAGE docbook-xsl)
-
# Data that is related to downloads.
-set(URL http://downloads.sourceforge.net/docbook/docbook-xsl-1.78.1.tar.bz2)
-set(${PACKAGE}_DOWNLOAD_HASH_TYPE MD5)
-set(${PACKAGE}_DOWNLOAD_HASH 6dd0f89131cc35bf4f2ed105a1c17771)
+set(URL http://downloads.sourceforge.net/docbook/docbook-xsl-1.78.1.tar.bz2)
+set(DOWNLOAD_HASH_TYPE MD5)
+set(DOWNLOAD_HASH 6dd0f89131cc35bf4f2ed105a1c17771)
-# Data that is related to the PATH that must be used.
-if(MSYS_PLATFORM)
- #set(EPA_PATH_NODLL "${EPA_PATH}")
- #set(EPA_PATH "${EPA_BASE}/Build/build_${PACKAGE}/dll;${EPA_PATH_NODLL}")
- determine_msys_path(EPA_PATH "${EPA_PATH}")
- # Must have all elements of env command in MSYS platform form
- determine_msys_path(source_PATH "${EPA_BASE}/Source/build_${PACKAGE}")
- set(${PACKAGE}_SET_CFLAGS "CFLAGS=$ENV{CFLAGS}")
-else(MSYS_PLATFORM)
- set(source_PATH "${EPA_BASE}/Source/build_${PACKAGE}")
- set(${PACKAGE}_SET_CFLAGS "CFLAGS=$ENV{CFLAGS}")
-endif(MSYS_PLATFORM)
-#message(STATUS "modified EPA_PATH for ${PACKAGE} = ${EPA_PATH}")
-
ExternalProject_Add(
build_${PACKAGE}
- DEPENDS ${${PACKAGE}_dependencies_targets}
+ DEPENDS ${dependencies_targets}
URL ${URL}
- URL_HASH ${${PACKAGE}_DOWNLOAD_HASH_TYPE}=${${PACKAGE}_DOWNLOAD_HASH}
+ URL_HASH ${DOWNLOAD_HASH_TYPE}=${DOWNLOAD_HASH}
CONFIGURE_COMMAND ${ENV_EXECUTABLE} PATH=${EPA_PATH} ${EPA_CMAKE_COMMAND} ${EPA_BASE}/Source/build_${PACKAGE}
BUILD_COMMAND ${ENV_EXECUTABLE} PATH=${EPA_PATH} ${EPA_PARALLEL_BUILD_COMMAND}
BUILD_IN_SOURCE OFF
@@ -95,8 +65,3 @@
${CMAKE_SOURCE_DIR}/${PACKAGE}/${PACKAGE}_CMakeLists.txt
APPEND
)
-
-list(APPEND build_target_LIST build_${PACKAGE})
-# Restore EPA_PATH to original state.
-set(EPA_PATH "${EPA_ORIGINAL_NATIVE_PATH}")
-#message(STATUS "${PACKAGE} restored original EPA_PATH = ${EPA_PATH}")
Modified: trunk/cmake/epa_build/epa_CMakeLists.txt.in
===================================================================
--- trunk/cmake/epa_build/epa_CMakeLists.txt.in 2013-12-05 09:20:44 UTC (rev 12811)
+++ trunk/cmake/epa_build/epa_CMakeLists.txt.in 2013-12-05 10:48:48 UTC (rev 12812)
@@ -1,4 +1,7 @@
# @package@/CMakeLists.txt
+
+# Configure the build of @package@.
+
# N.B. this file is generated so if you edit it you will lose all your
# changes the next time it is generated (typically by running
# either/both the update_added_packages.sh or update_pango_packages.sh
@@ -6,10 +9,6 @@
# consider changing their source files (e.g., by editing the files
# used in those scripts) or add a patch to be run by those scripts.
-# The CMake logic in this file should be exercised by the
-# add_subdirectory command that is exercised in the top-level
-# CMakeLists.txt file to configure the build of @package@.
-
# Copyright (C) 2013 Alan W. Irwin
# This file is free software; you can redistribute it and/or
@@ -26,12 +25,6 @@
# 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 adds this subdirectory should
-# have run "include(ExternalProject)" and set the EPA_BASE variable (and
-# corresponding directory property) as well as various EPA variables
-# used below that configure how the External_Project functions
-# operate.
-
set(PACKAGE @package@)
# List of dependencies (most of which are build tools) which should be
@@ -39,65 +32,43 @@
set(ignored_dependencies_LIST @ignored_dependencies_LIST@ ${extra_ignored_dependencies_list})
set(dependencies_LIST @dependencies@)
-# Remove dependencies that should be ignored.
-if(dependencies_LIST)
- list(REMOVE_ITEM dependencies_LIST ${ignored_dependencies_LIST})
-endif(dependencies_LIST)
-# Add this subdirectory to the list of subdirectories that have
-# already been processed by the top-level CMakeLists.txt logic.
-list(APPEND EPA_processed_subdirectories_LIST ${PACKAGE})
+# Do boilerplate tasks that must be done for each different project
+# that is configured as part of epa_build.
+epa_boilerplate(
+ ignored_dependencies_LIST
+ PACKAGE
+ dependencies_LIST
+ dependencies_targets
+ EPA_PATH
+ source_PATH
+ )
-set(dependencies_targets)
-foreach(build_configuration ${dependencies_LIST})
- if(EXISTS ${CMAKE_SOURCE_DIR}/${build_configuration}/CMakeLists.txt)
- # Add to the list of subdirectories that must be processed by the
- # top-level CMakeLists.txt logic.
- list(APPEND EPA_needed_subdirectories_LIST ${build_configuration})
- list(APPEND dependencies_targets build_${build_configuration})
- else(EXISTS ${CMAKE_SOURCE_DIR}/${build_configuration}/CMakeLists.txt)
- message(STATUS "Warning: A build_configuration for ${build_configuration} does not exist so it is assumed this dependency of ${PACKAGE} has been installed on your platform by means other than epa_build.")
- endif(EXISTS ${CMAKE_SOURCE_DIR}/${build_configuration}/CMakeLists.txt)
-endforeach(build_configuration ${dependences_LIST})
-
-list(APPEND EPA_build_target_LIST build_${PACKAGE})
-
-# Propagate list changes to parent scope.
-set(EPA_build_target_LIST ${EPA_build_target_LIST} PARENT_SCOPE)
-set(EPA_processed_subdirectories_LIST ${EPA_processed_subdirectories_LIST} PARENT_SCOPE)
-set(EPA_needed_subdirectories_LIST ${EPA_needed_subdirectories_LIST} PARENT_SCOPE)
-
-# Data that is related to downloads.
-set(URL @download_href@)
-set(DOWNLOAD_HASH_TYPE @download_hash_type@)
-set(DOWNLOAD_HASH @download_hash@)
-
-# Data that is related to the PATH that must be used.
if(MSYS_PLATFORM)
- determine_msys_path(EPA_PATH "${EPA_PATH}")
- # Must have all elements of env command in MSYS platform form
- determine_msys_path(source_PATH "${EPA_BASE}/Source/build_${PACKAGE}")
- set(SET_CFLAGS "CFLAGS=@MSYS_EXTRA_CFLAGS@$ENV{CFLAGS}")
+ set(CFLAGS "@MSYS_EXTRA_CFLAGS@$ENV{CFLAGS}")
else(MSYS_PLATFORM)
- set(source_PATH "${EPA_BASE}/Source/build_${PACKAGE}")
- set(SET_CFLAGS "CFLAGS=@UNIX_EXTRA_CFLAGS@$ENV{CFLAGS}")
+ set(CFLAGS "@UNIX_EXTRA_CFLAGS@$ENV{CFLAGS}")
endif(MSYS_PLATFORM)
-#message(STATUS "modified EPA_PATH for ${PACKAGE} = ${EPA_PATH}")
-set(SET_CXXFLAGS "CXXFLAGS=$ENV{CXXFLAGS}")
+set(CXXFLAGS "$ENV{CXXFLAGS}")
# Drop -fvisibility=hidden since that option does not work for a
# number of software packages that are configured automatically using
# this template.
-string(REGEX REPLACE "-fvisibility=hidden" "" SET_CFLAGS "${SET_CFLAGS}")
-string(REGEX REPLACE "-fvisibility=hidden" "" SET_CXXFLAGS "${SET_CXXFLAGS}")
+string(REGEX REPLACE "-fvisibility=hidden" "" C...
[truncated message content] |
|
From: <ai...@us...> - 2013-12-05 20:53:08
|
Revision: 12813
http://sourceforge.net/p/plplot/code/12813
Author: airwin
Date: 2013-12-05 20:53:04 +0000 (Thu, 05 Dec 2013)
Log Message:
-----------
Fix cut and paste error where I inadvertently created a tcl dependency
that does not exist.
Modified Paths:
--------------
trunk/cmake/epa_build/libagg/CMakeLists.txt
trunk/cmake/epa_build/libharu/CMakeLists.txt
Modified: trunk/cmake/epa_build/libagg/CMakeLists.txt
===================================================================
--- trunk/cmake/epa_build/libagg/CMakeLists.txt 2013-12-05 10:48:48 UTC (rev 12812)
+++ trunk/cmake/epa_build/libagg/CMakeLists.txt 2013-12-05 20:53:04 UTC (rev 12813)
@@ -24,7 +24,7 @@
# ignored.
set(ignored_dependencies_LIST ${extra_ignored_dependencies_list})
-set(dependencies_LIST tcl)
+set(dependencies_LIST)
# Do boilerplate tasks that must be done for each different project
# that is configured as part of epa_build.
Modified: trunk/cmake/epa_build/libharu/CMakeLists.txt
===================================================================
--- trunk/cmake/epa_build/libharu/CMakeLists.txt 2013-12-05 10:48:48 UTC (rev 12812)
+++ trunk/cmake/epa_build/libharu/CMakeLists.txt 2013-12-05 20:53:04 UTC (rev 12813)
@@ -24,7 +24,7 @@
# ignored.
set(ignored_dependencies_LIST ${extra_ignored_dependencies_list})
-set(dependencies_LIST tcl)
+set(dependencies_LIST)
# Do boilerplate tasks that must be done for each different project
# that is configured as part of epa_build.
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <ai...@us...> - 2013-12-05 22:52:39
|
Revision: 12815
http://sourceforge.net/p/plplot/code/12815
Author: airwin
Date: 2013-12-05 22:52:36 +0000 (Thu, 05 Dec 2013)
Log Message:
-----------
Hopefully this is the last correction from the BP_ prefix to the
correct EPA_ prefix for variable names. This
affects the swig build in the BUILD_THE_BUILDTOOLS case
(which libpcre library to use)
and fixes the libxml2 build.
Modified Paths:
--------------
trunk/cmake/epa_build/add_packages.xml
trunk/cmake/epa_build/libxml2/CMakeLists.txt
trunk/cmake/epa_build/swig/CMakeLists.txt
Modified: trunk/cmake/epa_build/add_packages.xml
===================================================================
--- trunk/cmake/epa_build/add_packages.xml 2013-12-05 22:46:13 UTC (rev 12814)
+++ trunk/cmake/epa_build/add_packages.xml 2013-12-05 22:52:36 UTC (rev 12815)
@@ -21,7 +21,7 @@
<!-- 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">
+ <autotools id="libxml2" makeargs="PYTHON_SITE_PACKAGES=${EPA_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"/>
<!-- This package (which installs nothing on Unix platforms) is
required as a workaround for the xmlcatalog argument mangling that
@@ -44,7 +44,7 @@
<autotools autogenargs="--enable-unicode-properties --enable-pcre16 --enable-pcre32 --disable-static" id="libpcre">
<branch hash="md5:21514018448ac10062ece7a668fca949" module="pcre/pcre-8.33.tar.bz2" repo="http://downloads.sourceforge.net/" size="1211146" version="8.33"/>
</autotools>
- <autotools autogenargs="--with-pcre-prefix=${BP_CMAKE_INSTALL_PREFIX}" id="swig">
+ <autotools autogenargs="--with-pcre-prefix=${EPA_CMAKE_INSTALL_PREFIX}" id="swig">
<branch hash="sha256:63780bf29f53937ad399a1f68bccb3730c90f65746868c4cdfc25cafcd0a424e" module="swig/swig/swig-2.0.11/swig-2.0.11.tar.gz" repo="http://downloads.sourceforge.net/" size="1211146" version="6.8"/>
<dependencies>
<dep package="libpcre"/>
Modified: trunk/cmake/epa_build/libxml2/CMakeLists.txt
===================================================================
--- trunk/cmake/epa_build/libxml2/CMakeLists.txt 2013-12-05 22:46:13 UTC (rev 12814)
+++ trunk/cmake/epa_build/libxml2/CMakeLists.txt 2013-12-05 22:52:36 UTC (rev 12815)
@@ -69,7 +69,7 @@
URL ${URL}
URL_HASH ${DOWNLOAD_HASH_TYPE}=${DOWNLOAD_HASH}
CONFIGURE_COMMAND ${ENV_EXECUTABLE} PATH=${EPA_PATH} "CFLAGS=${CFLAGS}" "CXXFLAGS=${CXXFLAGS}" ${source_PATH}/${EPA_CONFIGURE_COMMAND}
- BUILD_COMMAND ${ENV_EXECUTABLE} PATH=${EPA_PATH} ${EPA_PARALLEL_MAKE_COMMAND} PYTHON_SITE_PACKAGES=${BP_CMAKE_INSTALL_PREFIX}/lib/python${PYTHON_VERSION}/site-packages
+ BUILD_COMMAND ${ENV_EXECUTABLE} PATH=${EPA_PATH} ${EPA_PARALLEL_MAKE_COMMAND} PYTHON_SITE_PACKAGES=${EPA_CMAKE_INSTALL_PREFIX}/lib/python${PYTHON_VERSION}/site-packages
BUILD_IN_SOURCE OFF
- INSTALL_COMMAND ${ENV_EXECUTABLE} PATH=${EPA_PATH} ${EPA_PARALLEL_MAKE_COMMAND} PYTHON_SITE_PACKAGES=${BP_CMAKE_INSTALL_PREFIX}/lib/python${PYTHON_VERSION}/site-packages install
+ INSTALL_COMMAND ${ENV_EXECUTABLE} PATH=${EPA_PATH} ${EPA_PARALLEL_MAKE_COMMAND} PYTHON_SITE_PACKAGES=${EPA_CMAKE_INSTALL_PREFIX}/lib/python${PYTHON_VERSION}/site-packages install
)
Modified: trunk/cmake/epa_build/swig/CMakeLists.txt
===================================================================
--- trunk/cmake/epa_build/swig/CMakeLists.txt 2013-12-05 22:46:13 UTC (rev 12814)
+++ trunk/cmake/epa_build/swig/CMakeLists.txt 2013-12-05 22:52:36 UTC (rev 12815)
@@ -68,7 +68,7 @@
DEPENDS ${dependencies_targets}
URL ${URL}
URL_HASH ${DOWNLOAD_HASH_TYPE}=${DOWNLOAD_HASH}
- CONFIGURE_COMMAND ${ENV_EXECUTABLE} PATH=${EPA_PATH} "CFLAGS=${CFLAGS}" "CXXFLAGS=${CXXFLAGS}" ${source_PATH}/${EPA_CONFIGURE_COMMAND} --with-pcre-prefix=${BP_CMAKE_INSTALL_PREFIX}
+ CONFIGURE_COMMAND ${ENV_EXECUTABLE} PATH=${EPA_PATH} "CFLAGS=${CFLAGS}" "CXXFLAGS=${CXXFLAGS}" ${source_PATH}/${EPA_CONFIGURE_COMMAND} --with-pcre-prefix=${EPA_CMAKE_INSTALL_PREFIX}
BUILD_COMMAND ${ENV_EXECUTABLE} PATH=${EPA_PATH} ${EPA_PARALLEL_MAKE_COMMAND}
BUILD_IN_SOURCE OFF
INSTALL_COMMAND ${ENV_EXECUTABLE} PATH=${EPA_PATH} ${EPA_PARALLEL_MAKE_COMMAND} install
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <ai...@us...> - 2013-12-06 00:12:18
|
Revision: 12818
http://sourceforge.net/p/plplot/code/12818
Author: airwin
Date: 2013-12-06 00:12:13 +0000 (Fri, 06 Dec 2013)
Log Message:
-----------
Replace ${CMAKE_SOURCE_DIR}/${PACKAGE} by the equivalent (and slightly
more understandable) ${CMAKE_CURRENT_SOURCE_DIR}.
Tested by: Alan W. Irwin <ai...@us...> on Linux using
epa_build with BUILD_THE_BUILDTOOLS OFF (the default) and the
build_plplot target (which builds, tests, and installs all configured
PLplot primary, secondary, etc., dependencies (including pango/cairo
and wxwidgets) before building, testing, and installing PLplot itself
(with the test_noninteractive target used for the testing part of that
task). Running this build_plplot target took 0.5 hours and verifies at
least on Linux that the new add_subdirectory paradigm for the CMake
logic used for epa_build is working well.
Modified Paths:
--------------
trunk/cmake/epa_build/docbook-xml/CMakeLists.txt
trunk/cmake/epa_build/docbook-xsl/CMakeLists.txt
trunk/cmake/epa_build/itk/CMakeLists.txt
trunk/cmake/epa_build/iwidgets/CMakeLists.txt
trunk/cmake/epa_build/libagg/CMakeLists.txt
trunk/cmake/epa_build/libqhull/CMakeLists.txt
trunk/cmake/epa_build/ndiff/CMakeLists.txt
trunk/cmake/epa_build/shapelib/CMakeLists.txt
trunk/cmake/epa_build/xmlcatalog-wrapper/CMakeLists.txt
Modified: trunk/cmake/epa_build/docbook-xml/CMakeLists.txt
===================================================================
--- trunk/cmake/epa_build/docbook-xml/CMakeLists.txt 2013-12-05 22:59:35 UTC (rev 12817)
+++ trunk/cmake/epa_build/docbook-xml/CMakeLists.txt 2013-12-06 00:12:13 UTC (rev 12818)
@@ -59,10 +59,10 @@
OUTPUT
${EPA_BASE}/Stamp/build_${PACKAGE}/build_${PACKAGE}-update
COMMAND ${CMAKE_COMMAND} -E copy
- ${CMAKE_SOURCE_DIR}/${PACKAGE}/${PACKAGE}_CMakeLists.txt
+ ${CMAKE_CURRENT_SOURCE_DIR}/${PACKAGE}_CMakeLists.txt
${EPA_BASE}/Source/build_${PACKAGE}/CMakeLists.txt
COMMENT "Custom updating of ${PACKAGE}"
DEPENDS
- ${CMAKE_SOURCE_DIR}/${PACKAGE}/${PACKAGE}_CMakeLists.txt
+ ${CMAKE_CURRENT_SOURCE_DIR}/${PACKAGE}_CMakeLists.txt
APPEND
)
Modified: trunk/cmake/epa_build/docbook-xsl/CMakeLists.txt
===================================================================
--- trunk/cmake/epa_build/docbook-xsl/CMakeLists.txt 2013-12-05 22:59:35 UTC (rev 12817)
+++ trunk/cmake/epa_build/docbook-xsl/CMakeLists.txt 2013-12-06 00:12:13 UTC (rev 12818)
@@ -58,10 +58,10 @@
OUTPUT
${EPA_BASE}/Stamp/build_${PACKAGE}/build_${PACKAGE}-update
COMMAND ${CMAKE_COMMAND} -E copy
- ${CMAKE_SOURCE_DIR}/${PACKAGE}/${PACKAGE}_CMakeLists.txt
+ ${CMAKE_CURRENT_SOURCE_DIR}/${PACKAGE}_CMakeLists.txt
${EPA_BASE}/Source/build_${PACKAGE}/CMakeLists.txt
COMMENT "Custom updating of ${PACKAGE}"
DEPENDS
- ${CMAKE_SOURCE_DIR}/${PACKAGE}/${PACKAGE}_CMakeLists.txt
+ ${CMAKE_CURRENT_SOURCE_DIR}/${PACKAGE}_CMakeLists.txt
APPEND
)
Modified: trunk/cmake/epa_build/itk/CMakeLists.txt
===================================================================
--- trunk/cmake/epa_build/itk/CMakeLists.txt 2013-12-05 22:59:35 UTC (rev 12817)
+++ trunk/cmake/epa_build/itk/CMakeLists.txt 2013-12-06 00:12:13 UTC (rev 12818)
@@ -73,11 +73,11 @@
COMMAND ${CMAKE_COMMAND} -E echo
"Provide an exactly equivalent \"Itk\" and \"itk\" form of the package name to follow what is implemented for itcl version 4."
# This patch has been publicly distributed at https://sourceforge.net/p/incrtcl/patches/52/
- COMMAND ${PATCH_EXECUTABLE} --directory=${EPA_BASE}/Source/build_${PACKAGE} -p1 < ${CMAKE_SOURCE_DIR}/${PACKAGE}/itk4_case.patch
+ COMMAND ${PATCH_EXECUTABLE} --directory=${EPA_BASE}/Source/build_${PACKAGE} -p1 < ${CMAKE_CURRENT_SOURCE_DIR}/itk4_case.patch
COMMAND ${CMAKE_COMMAND} -E echo
"Add generic/itkDecls.h to the list of itk headers that must be installed."
# This patch has been publicly distributed at https://sourceforge.net/p/incrtcl/patches/53/
- COMMAND ${PATCH_EXECUTABLE} --directory=${EPA_BASE}/Source/build_${PACKAGE} -p1 < ${CMAKE_SOURCE_DIR}/${PACKAGE}/itk4_header_list.patch
+ COMMAND ${PATCH_EXECUTABLE} --directory=${EPA_BASE}/Source/build_${PACKAGE} -p1 < ${CMAKE_CURRENT_SOURCE_DIR}/itk4_header_list.patch
APPEND
)
Modified: trunk/cmake/epa_build/iwidgets/CMakeLists.txt
===================================================================
--- trunk/cmake/epa_build/iwidgets/CMakeLists.txt 2013-12-05 22:59:35 UTC (rev 12817)
+++ trunk/cmake/epa_build/iwidgets/CMakeLists.txt 2013-12-06 00:12:13 UTC (rev 12818)
@@ -79,9 +79,9 @@
OUTPUT
${EPA_BASE}/Stamp/build_${PACKAGE}/build_${PACKAGE}-patch
COMMAND echo "Apply iwidgets4.1 source code patch"
- COMMAND ${PATCH_EXECUTABLE} --directory=${EPA_BASE}/Source/build_${PACKAGE} -p1 < ${CMAKE_SOURCE_DIR}/${PACKAGE}/${PACKAGE}4.1.patch
+ COMMAND ${PATCH_EXECUTABLE} --directory=${EPA_BASE}/Source/build_${PACKAGE} -p1 < ${CMAKE_CURRENT_SOURCE_DIR}/${PACKAGE}4.1.patch
COMMAND echo "Apply patch to support both iwidgets and Iwidgets package names"
- COMMAND ${PATCH_EXECUTABLE} --directory=${EPA_BASE}/Source/build_${PACKAGE} -p1 < ${CMAKE_SOURCE_DIR}/${PACKAGE}/${PACKAGE}4_case.patch
+ COMMAND ${PATCH_EXECUTABLE} --directory=${EPA_BASE}/Source/build_${PACKAGE} -p1 < ${CMAKE_CURRENT_SOURCE_DIR}/${PACKAGE}4_case.patch
APPEND
)
@@ -90,7 +90,7 @@
${EPA_BASE}/Stamp/build_${PACKAGE}/build_${PACKAGE}-patch
COMMAND echo "Add CMake-based build system"
COMMAND ${CMAKE_COMMAND} -E copy_if_different
- ${CMAKE_SOURCE_DIR}/${PACKAGE}/${PACKAGE}_CMakeLists.txt
+ ${CMAKE_CURRENT_SOURCE_DIR}/${PACKAGE}_CMakeLists.txt
${EPA_BASE}/Source/build_${PACKAGE}/CMakeLists.txt
APPEND
)
Modified: trunk/cmake/epa_build/libagg/CMakeLists.txt
===================================================================
--- trunk/cmake/epa_build/libagg/CMakeLists.txt 2013-12-05 22:59:35 UTC (rev 12817)
+++ trunk/cmake/epa_build/libagg/CMakeLists.txt 2013-12-06 00:12:13 UTC (rev 12818)
@@ -65,10 +65,10 @@
OUTPUT
${EPA_BASE}/Stamp/build_${PACKAGE}/build_${PACKAGE}-update
COMMAND ${CMAKE_COMMAND} -E copy
- ${CMAKE_SOURCE_DIR}/${PACKAGE}/${PACKAGE}_CMakeLists.txt
+ ${CMAKE_CURRENT_SOURCE_DIR}/${PACKAGE}_CMakeLists.txt
${EPA_BASE}/Source/build_${PACKAGE}/CMakeLists.txt
COMMENT "Custom updating of ${PACKAGE}"
DEPENDS
- ${CMAKE_SOURCE_DIR}/${PACKAGE}/${PACKAGE}_CMakeLists.txt
+ ${CMAKE_CURRENT_SOURCE_DIR}/${PACKAGE}_CMakeLists.txt
APPEND
)
Modified: trunk/cmake/epa_build/libqhull/CMakeLists.txt
===================================================================
--- trunk/cmake/epa_build/libqhull/CMakeLists.txt 2013-12-05 22:59:35 UTC (rev 12817)
+++ trunk/cmake/epa_build/libqhull/CMakeLists.txt 2013-12-06 00:12:13 UTC (rev 12818)
@@ -57,26 +57,26 @@
OUTPUT
${EPA_BASE}/Stamp/build_${PACKAGE}/build_${PACKAGE}-update
COMMAND ${CMAKE_COMMAND} -E copy
- ${CMAKE_SOURCE_DIR}/${PACKAGE}/${PACKAGE}_CMakeLists.txt
+ ${CMAKE_CURRENT_SOURCE_DIR}/${PACKAGE}_CMakeLists.txt
${EPA_BASE}/Source/build_${PACKAGE}/CMakeLists.txt
COMMAND ${CMAKE_COMMAND} -E copy
- ${CMAKE_SOURCE_DIR}/${PACKAGE}/src/CMakeLists.txt
+ ${CMAKE_CURRENT_SOURCE_DIR}/src/CMakeLists.txt
${EPA_BASE}/Source/build_${PACKAGE}/src/CMakeLists.txt
COMMAND ${CMAKE_COMMAND} -E copy
- ${CMAKE_SOURCE_DIR}/${PACKAGE}/src/${PACKAGE}.h
+ ${CMAKE_CURRENT_SOURCE_DIR}/src/${PACKAGE}.h
${EPA_BASE}/Source/build_${PACKAGE}/src/${PACKAGE}.h
COMMAND ${CMAKE_COMMAND} -E copy
- ${CMAKE_SOURCE_DIR}/${PACKAGE}/src/mem.h
+ ${CMAKE_CURRENT_SOURCE_DIR}/src/mem.h
${EPA_BASE}/Source/build_${PACKAGE}/src/mem.h
COMMAND ${CMAKE_COMMAND} -E copy
- ${CMAKE_SOURCE_DIR}/${PACKAGE}/src/unix.c
+ ${CMAKE_CURRENT_SOURCE_DIR}/src/unix.c
${EPA_BASE}/Source/build_${PACKAGE}/src/unix.c
COMMENT "Custom updating of ${PACKAGE}"
DEPENDS
- ${CMAKE_SOURCE_DIR}/${PACKAGE}/${PACKAGE}_CMakeLists.txt
- ${CMAKE_SOURCE_DIR}/${PACKAGE}/src/CMakeLists.txt
- ${CMAKE_SOURCE_DIR}/${PACKAGE}/src/${PACKAGE}.h
- ${CMAKE_SOURCE_DIR}/${PACKAGE}/src/mem.h
- ${CMAKE_SOURCE_DIR}/${PACKAGE}/src/unix.c
+ ${CMAKE_CURRENT_SOURCE_DIR}/${PACKAGE}_CMakeLists.txt
+ ${CMAKE_CURRENT_SOURCE_DIR}/src/CMakeLists.txt
+ ${CMAKE_CURRENT_SOURCE_DIR}/src/${PACKAGE}.h
+ ${CMAKE_CURRENT_SOURCE_DIR}/src/mem.h
+ ${CMAKE_CURRENT_SOURCE_DIR}/src/unix.c
APPEND
)
Modified: trunk/cmake/epa_build/ndiff/CMakeLists.txt
===================================================================
--- trunk/cmake/epa_build/ndiff/CMakeLists.txt 2013-12-05 22:59:35 UTC (rev 12817)
+++ trunk/cmake/epa_build/ndiff/CMakeLists.txt 2013-12-06 00:12:13 UTC (rev 12818)
@@ -63,14 +63,14 @@
OUTPUT
${EPA_BASE}/Stamp/build_${PACKAGE}/build_${PACKAGE}-update
COMMAND ${CMAKE_COMMAND} -E copy
- ${CMAKE_SOURCE_DIR}/${PACKAGE}/${PACKAGE}_CMakeLists.txt
+ ${CMAKE_CURRENT_SOURCE_DIR}/${PACKAGE}_CMakeLists.txt
${EPA_BASE}/Source/build_${PACKAGE}/CMakeLists.txt
COMMAND ${CMAKE_COMMAND} -E copy
- ${CMAKE_SOURCE_DIR}/${PACKAGE}/config.h.cmake
+ ${CMAKE_CURRENT_SOURCE_DIR}/config.h.cmake
${EPA_BASE}/Source/build_${PACKAGE}/config.h.cmake
COMMENT "Custom updating of ${PACKAGE}"
DEPENDS
- ${CMAKE_SOURCE_DIR}/${PACKAGE}/${PACKAGE}_CMakeLists.txt
- ${CMAKE_SOURCE_DIR}/${PACKAGE}/config.h.cmake
+ ${CMAKE_CURRENT_SOURCE_DIR}/${PACKAGE}_CMakeLists.txt
+ ${CMAKE_CURRENT_SOURCE_DIR}/config.h.cmake
APPEND
)
Modified: trunk/cmake/epa_build/shapelib/CMakeLists.txt
===================================================================
--- trunk/cmake/epa_build/shapelib/CMakeLists.txt 2013-12-05 22:59:35 UTC (rev 12817)
+++ trunk/cmake/epa_build/shapelib/CMakeLists.txt 2013-12-06 00:12:13 UTC (rev 12818)
@@ -76,14 +76,14 @@
OUTPUT
${EPA_BASE}/Stamp/build_${PACKAGE}/build_${PACKAGE}-update
COMMAND ${CMAKE_COMMAND} -E copy
- ${CMAKE_SOURCE_DIR}/${PACKAGE}/${PACKAGE}_CMakeLists.txt
+ ${CMAKE_CURRENT_SOURCE_DIR}/${PACKAGE}_CMakeLists.txt
${EPA_BASE}/Source/build_${PACKAGE}/CMakeLists.txt
COMMAND ${CMAKE_COMMAND} -DURL:STRING=${shape_eg_data_URL} -DFILE:FILEPATH=${EPA_BASE}/Download/build_${PACKAGE}/shape_eg_data.zip -DMD5:STRING=${shape_eg_data_URL_MD5} -P ${CMAKE_SOURCE_DIR}/download_check.cmake
COMMAND ${CMAKE_COMMAND} -E remove_directory ${EPA_BASE}/Source/build_${PACKAGE}/eg_data
COMMAND ${UNZIP_EXECUTABLE} -q ${EPA_BASE}/Download/build_${PACKAGE}/shape_eg_data.zip -d ${EPA_BASE}/Source/build_${PACKAGE}/eg_data
COMMENT "Custom updating of ${PACKAGE}"
DEPENDS
- ${CMAKE_SOURCE_DIR}/${PACKAGE}/${PACKAGE}_CMakeLists.txt
+ ${CMAKE_CURRENT_SOURCE_DIR}/${PACKAGE}_CMakeLists.txt
${CMAKE_SOURCE_DIR}/download_check.cmake
# N.B. no file dependencies are worthwhile for the eg_data
# chain above since it all starts with a download.
Modified: trunk/cmake/epa_build/xmlcatalog-wrapper/CMakeLists.txt
===================================================================
--- trunk/cmake/epa_build/xmlcatalog-wrapper/CMakeLists.txt 2013-12-05 22:59:35 UTC (rev 12817)
+++ trunk/cmake/epa_build/xmlcatalog-wrapper/CMakeLists.txt 2013-12-06 00:12:13 UTC (rev 12818)
@@ -46,7 +46,7 @@
build_${PACKAGE}
DEPENDS ${dependencies_targets}
# The entire source code is just one CMakeLists.txt file.
- DOWNLOAD_COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_SOURCE_DIR}/${PACKAGE}/${PACKAGE}_CMakeLists.txt ${EPA_BASE}/Source/build_${PACKAGE}/CMakeLists.txt
+ DOWNLOAD_COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_CURRENT_SOURCE_DIR}/${PACKAGE}_CMakeLists.txt ${EPA_BASE}/Source/build_${PACKAGE}/CMakeLists.txt
CONFIGURE_COMMAND ${ENV_EXECUTABLE} PATH=${EPA_PATH} ${EPA_CMAKE_COMMAND} ${EP_BASE}/Source/build_${PACKAGE}
BUILD_COMMAND ${ENV_EXECUTABLE} PATH=${EPA_PATH} ${EPA_PARALLEL_BUILD_COMMAND}
BUILD_IN_SOURCE OFF
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <ai...@us...> - 2013-12-11 08:37:46
|
Revision: 12847
http://sourceforge.net/p/plplot/code/12847
Author: airwin
Date: 2013-12-11 08:37:43 +0000 (Wed, 11 Dec 2013)
Log Message:
-----------
Add a qt4_lite epa_build configuration.
Tested by Alan W. Irwin <ai...@us...> on Linux
for epa_build with the build_epa_lite target which took ~15 minutes
to complete on my ordinary PC. Since that build I have done
extensive comprehensive testing of PLplot for the qt case using
these qt4_lite install results, and no issues were found at all.
Modified Paths:
--------------
trunk/cmake/epa_build/CMakeLists.txt
trunk/cmake/epa_build/plplot/CMakeLists.txt
Added Paths:
-----------
trunk/cmake/epa_build/qt4_lite/
trunk/cmake/epa_build/qt4_lite/CMakeLists.txt
Modified: trunk/cmake/epa_build/CMakeLists.txt
===================================================================
--- trunk/cmake/epa_build/CMakeLists.txt 2013-12-11 07:49:35 UTC (rev 12846)
+++ trunk/cmake/epa_build/CMakeLists.txt 2013-12-11 08:37:43 UTC (rev 12847)
@@ -397,6 +397,7 @@
plplot_lite
wxwidgets
pango
+ qt4_lite
)
endif(BUILD_THE_BUILDTOOLS)
Modified: trunk/cmake/epa_build/plplot/CMakeLists.txt
===================================================================
--- trunk/cmake/epa_build/plplot/CMakeLists.txt 2013-12-11 07:49:35 UTC (rev 12846)
+++ trunk/cmake/epa_build/plplot/CMakeLists.txt 2013-12-11 08:37:43 UTC (rev 12847)
@@ -31,6 +31,7 @@
shapelib
wxwidgets
pango
+ qt4_lite
)
# Do boilerplate tasks that must be done for each different project
Added: trunk/cmake/epa_build/qt4_lite/CMakeLists.txt
===================================================================
--- trunk/cmake/epa_build/qt4_lite/CMakeLists.txt (rev 0)
+++ trunk/cmake/epa_build/qt4_lite/CMakeLists.txt 2013-12-11 08:37:43 UTC (rev 12847)
@@ -0,0 +1,207 @@
+# qt4_lite/CMakeLists.txt
+
+# Configure the build of qt4_lite.
+
+# N.B. this file is generated so if you edit it you will lose all your
+# changes the next time it is generated (typically by running
+# either/both the update_added_packages.sh or update_pango_packages.sh
+# scripts). If those scripts do not provide good results, then
+# consider changing their source files (e.g., by editing the files
+# used in those scripts) or add a patch to be run by those scripts.
+
+# 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
+
+# Many of the details of this epa_build configuration were derived from
+# <http://www.linuxfromscratch.org/blfs/view/svn/x/qt4.html>.
+
+set(PACKAGE qt4_lite)
+
+# List of dependencies (most of which are build tools) which should be
+# ignored.
+set(ignored_dependencies_LIST ${extra_ignored_dependencies_list})
+
+# The assumption here is that for Windows platforms Qt4 is self-contained
+# and therefore does not rely on external libraries (at least if you configure
+# the in-house version of those). For Linux platforms the dependencies will
+# just have to be resolved by system versions rather than building a lot
+# of additional packages.
+set(dependencies_LIST)
+
+# Do boilerplate tasks that must be done for each different project
+# that is configured as part of epa_build.
+epa_boilerplate(
+ ignored_dependencies_LIST
+ PACKAGE
+ dependencies_LIST
+ dependencies_targets
+ EPA_PATH
+ source_PATH
+ )
+
+set(CFLAGS "$ENV{CFLAGS}")
+set(CXXFLAGS "$ENV{CXXFLAGS}")
+
+# Drop -fvisibility=hidden since that option may not work for Qt4.
+# (May test this later if I get everything to work.)
+string(REGEX REPLACE "-fvisibility=hidden" "" CFLAGS "${CFLAGS}")
+string(REGEX REPLACE "-fvisibility=hidden" "" CXXFLAGS "${CXXFLAGS}")
+
+# Data that is related to downloads.
+set(URL http://download.qt-project.org/official_releases/qt/4.8/4.8.5/qt-everywhere-opensource-src-4.8.5.tar.gz)
+# Temporary to save download bandwidth/time while debugging this.
+set(URL /home/software/build_qt4/qt-everywhere-opensource-src-4.8.5.tar.gz)
+set(DOWNLOAD_HASH_TYPE MD5)
+set(DOWNLOAD_HASH 1864987bdbb2f58f8ae8b350dfdbe133)
+
+# Many of these are recommended by BLFS, but I have tried to use
+# a consistent install prefix and I have also turned off as
+# much as possible for this "lite" version.
+set(config_arguments
+
+ # Installation options:
+ -sysconfdir ${EPA_CMAKE_INSTALL_PREFIX}/etc/xdg
+
+ # Configure options:
+ -release
+ -confirm-license
+ -opensource
+ # Need to be consistent with system versions of PyQt4/QtGui.so which need
+ # a libQtGui.so library which contains QWidget::accessibleName() const
+ # and QWidget::accessibleDescription() const.
+ -accessibility
+
+ # Try to get rid of everything to do with sql by eliminating all possible
+ # drivers.
+ -no-sql-db2
+ -no-sql-ibase
+ -no-sql-mysql
+ -no-sql-oci
+ -no-sql-odbc
+ -no-sql-psql
+ -no-sql-sqlite
+ -no-sql-sqlite2
+ -no-sql-sqlite_symbian
+ -no-sql-symsql
+ -no-sql-tds
+
+ -no-qt3support
+ -no-xmlpatterns
+ -no-multimedia
+ -no-audio-backend
+ -no-phonon
+ -no-phonon-backend
+
+ # Need svg
+ -svg
+
+ -no-webkit
+ -no-javascript-jit
+ -no-script
+ -no-scripttools
+ -no-declarative
+ -no-declarative-debug
+ # Third party libraries (drop if possible but if needed by PLplot, use
+ # in-house Qt4 versions of these to reduce dependencies):
+ -qt-zlib
+ -no-gif
+ -qt-libtiff
+ -qt-libpng
+ -no-libmng
+ -qt-libjpeg
+ -no-openssl
+ # Additional options:
+
+ # Drop all components other than libs
+ -nomake tools
+ -nomake examples
+ -nomake demos
+ -nomake docs
+ -nomake translations
+
+ -optimized-qmake
+
+ # Need gui which happens by default (there is no -gui option)
+ # if you do not specify -no-gui
+
+ -no-nis
+ -no-cups
+ -no-iconv
+ -no-dbus
+
+ # Qt/X11 only: (leave everything default)
+ )
+
+# Note QTDIR= below. Setting that environment variable is recommended by method 2 of BLFS.
+
+ExternalProject_Add(
+ build_qt4_lite
+ DEPENDS ${dependencies_targets}
+ URL ${URL}
+ URL_HASH ${DOWNLOAD_HASH_TYPE}=${DOWNLOAD_HASH}
+ CONFIGURE_COMMAND ${ENV_EXECUTABLE} PATH=${EPA_PATH} QTDIR=${EPA_CMAKE_INSTALL_PREFIX} "CFLAGS=${CFLAGS}" "CXXFLAGS=${CXXFLAGS}" ${source_PATH}/${EPA_CONFIGURE_COMMAND} ${config_arguments}
+ BUILD_COMMAND ${ENV_EXECUTABLE} PATH=${EPA_PATH} QTDIR=${EPA_CMAKE_INSTALL_PREFIX} ${EPA_PARALLEL_MAKE_COMMAND}
+ BUILD_IN_SOURCE 0
+ INSTALL_COMMAND ${ENV_EXECUTABLE} PATH=${EPA_PATH} QTDIR=${EPA_CMAKE_INSTALL_PREFIX} ${EPA_PARALLEL_MAKE_COMMAND} install
+ #STEP_TARGETS update configure build install test
+ )
+
+add_custom_command(
+ OUTPUT
+ ${EPA_BASE}/Stamp/build_${PACKAGE}/build_${PACKAGE}-update
+ COMMAND ${CMAKE_COMMAND} -E echo "make two code fixups recommended by BLFS."
+ COMMAND ${SED_EXECUTABLE} -i -e "/#if/d" -e "/#error/d" -e "/#endif/d" ${EPA_BASE}/Source/build_${PACKAGE}/config.tests/unix/libmng/libmng.cpp
+ COMMAND ${SED_EXECUTABLE} -i "/CONFIG -/ a\\isEmpty(OUTPUT_DIR): OUTPUT_DIR = ../.." ${EPA_BASE}/Source/build_${PACKAGE}/src/3rdparty/webkit/Source/WebKit2/DerivedSources.pro
+ APPEND
+ )
+
+file(WRITE ${CMAKE_CURRENT_BINARY_DIR}/install_png.sh
+"install -v -Dm644 ${EPA_BASE}/Source/build_${PACKAGE}/src/gui/dialogs/images/qtlogo-64.png ${EPA_CMAKE_INSTALL_PREFIX}/usr/share/pixmaps/qt4logo.png
+install -v -Dm644 ${EPA_BASE}/Source/build_${PACKAGE}/tools/assistant/tools/assistant/images/assistant-128.png ${EPA_CMAKE_INSTALL_PREFIX}/usr/share/pixmaps/assistant-qt4.png
+install -v -Dm644 ${EPA_BASE}/Source/build_${PACKAGE}/tools/designer/src/designer/images/designer.png ${EPA_CMAKE_INSTALL_PREFIX}/usr/share/pixmaps/designer-qt4.png
+install -v -Dm644 ${EPA_BASE}/Source/build_${PACKAGE}/tools/linguist/linguist/images/icons/linguist-128-32.png ${EPA_CMAKE_INSTALL_PREFIX}/usr/share/pixmaps/linguist-qt4.png
+install -v -Dm644 ${EPA_BASE}/Source/build_${PACKAGE}/tools/qdbus/qdbusviewer/images/qdbusviewer-128.png ${EPA_CMAKE_INSTALL_PREFIX}/usr/share/pixmaps/qdbusviewer-qt4.png
+"
+ )
+
+add_custom_command(
+ OUTPUT
+ ${EPA_BASE}/Stamp/build_${PACKAGE}/build_${PACKAGE}-install
+ COMMAND ${CMAKE_COMMAND} -E echo "install some addition png files recommended by BLFS."
+ COMMAND ${BASH_EXECUTABLE} ${CMAKE_CURRENT_BINARY_DIR}/install_png.sh
+ APPEND
+ )
+
+file(WRITE ${CMAKE_CURRENT_BINARY_DIR}/install_fixups.sh
+"for file in `basename -a -s .prl ${EPA_CMAKE_INSTALL_PREFIX}/lib/lib*.prl`; do
+ sed -i -e '/^QMAKE_PRL_BUILD_DIR/d;s/\(QMAKE_PRL_LIBS =\).*/\\1/' ${EPA_CMAKE_INSTALL_PREFIX}/lib/\${file}.prl
+ perl -pi -e \"s, -L\$PWD/?\\S+,,g\" ${EPA_CMAKE_INSTALL_PREFIX}/lib/pkgconfig/\${file##lib}.pc
+done
+
+unset file
+"
+ )
+
+add_custom_command(
+ OUTPUT
+ ${EPA_BASE}/Stamp/build_${PACKAGE}/build_${PACKAGE}-install
+ COMMAND ${CMAKE_COMMAND} -E echo "install fixups recommended by BLFS."
+ COMMAND ${BASH_EXECUTABLE} ${CMAKE_CURRENT_BINARY_DIR}/install_fixups.sh
+ APPEND
+ )
+
+# N.B. I have explicitly ignored all post-install Qt4 configuration recommended
+# by BLFS because I don't think that will be needed by PLplot.
Property changes on: trunk/cmake/epa_build/qt4_lite/CMakeLists.txt
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <ai...@us...> - 2013-12-16 00:14:38
|
Revision: 12868
http://sourceforge.net/p/plplot/code/12868
Author: airwin
Date: 2013-12-16 00:14:36 +0000 (Mon, 16 Dec 2013)
Log Message:
-----------
Add the ENABLE_COMPREHENSIVE_PLPLOT_TEST option to epa_build which
runs the PLplot comprehensive test script for the exact same build
environment (i.e., cmake options, environment variables, buildtools
that have been built, and dependencies that have been built) as used
for the epa_build of plplot and plplot_lite.
Modified Paths:
--------------
trunk/cmake/epa_build/CMakeLists.txt
trunk/cmake/epa_build/README
trunk/cmake/epa_build/plplot/CMakeLists.txt
trunk/cmake/epa_build/plplot_lite/CMakeLists.txt
Modified: trunk/cmake/epa_build/CMakeLists.txt
===================================================================
--- trunk/cmake/epa_build/CMakeLists.txt 2013-12-16 00:03:10 UTC (rev 12867)
+++ trunk/cmake/epa_build/CMakeLists.txt 2013-12-16 00:14:36 UTC (rev 12868)
@@ -307,6 +307,12 @@
list(APPEND EPA_MAKE_COMMAND V=1)
endif(CMAKE_VERBOSE_MAKEFILE)
+# This option runs the PLplot comprehensive test script for
+# the exact same build environment (i.e., cmake options, environment
+# variables, buildtools that have been built, and dependencies that
+# have been built) as used for the epa_build of plplot and
+# plplot_lite.
+option(ENABLE_COMPREHENSIVE_PLPLOT_TEST "Use comprehensive test for PLplot (which requires substantial CPU time and ~4GB of disk space)" OFF)
# The parallel versions are for software packages that
# do not have race conditions for parallel builds or tests.
Modified: trunk/cmake/epa_build/README
===================================================================
--- trunk/cmake/epa_build/README 2013-12-16 00:03:10 UTC (rev 12867)
+++ trunk/cmake/epa_build/README 2013-12-16 00:14:36 UTC (rev 12868)
@@ -155,6 +155,13 @@
# Check build_plplot.out for any errors
less build_plplot.out
+# N.B. add the option -DENABLE_COMPREHENSIVE_PLPLOT_TEST=ON to the
+# above cmake command to run a comprehensive test script just after
+# PLplot is built and installed for both the build_plplot and
+# build_plplot_lite targets. This test script (familiar to PLplot
+# developers) requires substantial extra CPU time and ~4GB of extra
+# disk space to run.
+
2. Windows platforms
Very similar to above, but I will fill in variations that I used
Modified: trunk/cmake/epa_build/plplot/CMakeLists.txt
===================================================================
--- trunk/cmake/epa_build/plplot/CMakeLists.txt 2013-12-16 00:03:10 UTC (rev 12867)
+++ trunk/cmake/epa_build/plplot/CMakeLists.txt 2013-12-16 00:14:36 UTC (rev 12868)
@@ -78,6 +78,14 @@
determine_msys_path(EPA_PATH "${EPA_PATH}")
endif(MSYS_PLATFORM)
+if(ENABLE_COMPREHENSIVE_PLPLOT_TEST)
+ string(REGEX REPLACE ";" " " blank_delimited_cmake_args "${cmake_args}")
+ file(WRITE ${CMAKE_CURRENT_BINARY_DIR}/comprehensive_test.sh
+ "echo yes | ${EPA_BASE}/Source/build_${PACKAGE}/scripts/comprehensive_test.sh --cmake_added_options \"${blank_delimited_cmake_args}\""
+ )
+ set(TEST_COMMAND TEST_COMMAND ${ENV_EXECUTABLE} PATH=${EPA_PATH} ${BASH_EXECUTABLE} ${CMAKE_CURRENT_BINARY_DIR}/comprehensive_test.sh)
+endif(ENABLE_COMPREHENSIVE_PLPLOT_TEST)
+
ExternalProject_Add(
build_${PACKAGE}
DEPENDS "${dependencies_targets}"
@@ -86,6 +94,6 @@
BUILD_COMMAND ${ENV_EXECUTABLE} PATH=${EPA_PATH} ${EPA_PARALLEL_BUILD_COMMAND}
INSTALL_COMMAND ${ENV_EXECUTABLE} PATH=${EPA_PATH} ${EPA_PARALLEL_BUILD_COMMAND} install
TEST_BEFORE_INSTALL OFF
- TEST_COMMAND ${ENV_EXECUTABLE} PATH=${EPA_PATH} ${EPA_PARALLEL_BUILD_COMMAND} test_noninteractive
+ ${TEST_COMMAND}
STEP_TARGETS configure build install test
)
Modified: trunk/cmake/epa_build/plplot_lite/CMakeLists.txt
===================================================================
--- trunk/cmake/epa_build/plplot_lite/CMakeLists.txt 2013-12-16 00:03:10 UTC (rev 12867)
+++ trunk/cmake/epa_build/plplot_lite/CMakeLists.txt 2013-12-16 00:14:36 UTC (rev 12868)
@@ -82,6 +82,14 @@
determine_msys_path(EPA_PATH "${EPA_PATH}")
endif(MSYS_PLATFORM)
+if(ENABLE_COMPREHENSIVE_PLPLOT_TEST)
+ string(REGEX REPLACE ";" " " blank_delimited_cmake_args "${cmake_args}")
+ file(WRITE ${CMAKE_CURRENT_BINARY_DIR}/comprehensive_test.sh
+ "echo yes | ${EPA_BASE}/Source/build_${PACKAGE}/scripts/comprehensive_test.sh --cmake_added_options \"${blank_delimited_cmake_args}\""
+ )
+ set(TEST_COMMAND TEST_COMMAND ${ENV_EXECUTABLE} PATH=${EPA_PATH} ${BASH_EXECUTABLE} ${CMAKE_CURRENT_BINARY_DIR}/comprehensive_test.sh)
+endif(ENABLE_COMPREHENSIVE_PLPLOT_TEST)
+
ExternalProject_Add(
build_${PACKAGE}
DEPENDS "${dependencies_targets}"
@@ -90,6 +98,6 @@
BUILD_COMMAND ${ENV_EXECUTABLE} PATH=${EPA_PATH} ${EPA_PARALLEL_BUILD_COMMAND}
INSTALL_COMMAND ${ENV_EXECUTABLE} PATH=${EPA_PATH} ${EPA_PARALLEL_BUILD_COMMAND} install
TEST_BEFORE_INSTALL OFF
- TEST_COMMAND ${ENV_EXECUTABLE} PATH=${EPA_PATH} ${EPA_PARALLEL_BUILD_COMMAND} test_noninteractive
+ ${TEST_COMMAND}
STEP_TARGETS configure build install test
)
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <ai...@us...> - 2013-12-19 01:40:07
|
Revision: 12884
http://sourceforge.net/p/plplot/code/12884
Author: airwin
Date: 2013-12-19 01:40:05 +0000 (Thu, 19 Dec 2013)
Log Message:
-----------
Temporarily drop wxwidgets from epa_build because it is not required
for the plplot_lite epa_build configuration on Windows and Unix, the
plplot epa_build configuration does not work yet on Windows (because
of issues building the full set of PLplot dependencies), and the
plplot epa_build configuration on Unix of wxwidgets requires a
complete epa_build of the entire stack of gtk libraries in order to
have access to a consistent set of those libraries.
Modified Paths:
--------------
trunk/cmake/epa_build/CMakeLists.txt
trunk/cmake/epa_build/plplot/CMakeLists.txt
trunk/cmake/epa_build/plplot_lite/CMakeLists.txt
Modified: trunk/cmake/epa_build/CMakeLists.txt
===================================================================
--- trunk/cmake/epa_build/CMakeLists.txt 2013-12-19 01:35:00 UTC (rev 12883)
+++ trunk/cmake/epa_build/CMakeLists.txt 2013-12-19 01:40:05 UTC (rev 12884)
@@ -401,7 +401,6 @@
ndiff
plplot
plplot_lite
- wxwidgets
pango
qt4_lite
)
Modified: trunk/cmake/epa_build/plplot/CMakeLists.txt
===================================================================
--- trunk/cmake/epa_build/plplot/CMakeLists.txt 2013-12-19 01:35:00 UTC (rev 12883)
+++ trunk/cmake/epa_build/plplot/CMakeLists.txt 2013-12-19 01:40:05 UTC (rev 12884)
@@ -29,7 +29,6 @@
libharu
libqhull
shapelib
- wxwidgets
pango
qt4_lite
)
@@ -50,7 +49,13 @@
set(FFLAGS "$ENV{FFLAGS}")
# Leave everything ON by default for plplot.
-set(cmake_args)
+# Except for turning off all wxwidgets dependencies temporarily because
+# of mixed linking issues until epa_build implements build configurations
+# for a consistent stack of libraries for all of gtk.
+set(cmake_args
+ -DPLD_wxwidgets=OFF
+ -DENABLE_wxwidgets=OFF
+ )
# Assumption that the top-level local PLplot source tree is two directories
# up from the present top-level directory for epa_build.
@@ -80,10 +85,15 @@
if(ENABLE_COMPREHENSIVE_PLPLOT_TEST)
string(REGEX REPLACE ";" " " blank_delimited_cmake_args "${cmake_args}")
- file(WRITE ${CMAKE_CURRENT_BINARY_DIR}/comprehensive_test.sh
- "echo yes | ${EPA_BASE}/Source/build_${PACKAGE}/scripts/comprehensive_test.sh --cmake_added_options \"${blank_delimited_cmake_args}\""
+
+ file(WRITE ${CMAKE_CURRENT_BINARY_DIR}/noninteractive_comprehensive_test.sh
+ "echo yes | ${EPA_BASE}/Source/build_${PACKAGE}/scripts/comprehensive_test.sh --cmake_added_options \"${blank_delimited_cmake_args}\" --do_test_interactive no"
)
- set(TEST_COMMAND TEST_COMMAND ${ENV_EXECUTABLE} PATH=${EPA_PATH} ${BASH_EXECUTABLE} ${CMAKE_CURRENT_BINARY_DIR}/comprehensive_test.sh)
+
+ file(WRITE ${CMAKE_CURRENT_BINARY_DIR}/interactive_comprehensive_test.sh
+ "echo yes | ${EPA_BASE}/Source/build_${PACKAGE}/scripts/comprehensive_test.sh --cmake_added_options \"${blank_delimited_cmake_args}\" --do_ctest no --do_test_noninteractive no"
+ )
+
endif(ENABLE_COMPREHENSIVE_PLPLOT_TEST)
ExternalProject_Add(
@@ -94,6 +104,25 @@
BUILD_COMMAND ${ENV_EXECUTABLE} PATH=${EPA_PATH} ${EPA_PARALLEL_BUILD_COMMAND}
INSTALL_COMMAND ${ENV_EXECUTABLE} PATH=${EPA_PATH} ${EPA_PARALLEL_BUILD_COMMAND} install
TEST_BEFORE_INSTALL OFF
- ${TEST_COMMAND}
+ TEST_COMMAND ""
STEP_TARGETS configure build install test
)
+
+if(ENABLE_COMPREHENSIVE_PLPLOT_TEST)
+ add_custom_command(
+ OUTPUT
+ ${EPA_BASE}/Stamp/build_${PACKAGE}/build_${PACKAGE}-test
+ COMMAND ${CMAKE_COMMAND} -E echo "comprehensive noninteractive tests"
+ COMMAND ${ENV_EXECUTABLE} PATH=${EPA_PATH} ${BASH_EXECUTABLE} ${CMAKE_CURRENT_BINARY_DIR}/noninteractive_comprehensive_test.sh
+ APPEND
+ )
+
+ add_custom_command(
+ OUTPUT
+ ${EPA_BASE}/Stamp/build_${PACKAGE}/build_${PACKAGE}-test
+ COMMAND ${CMAKE_COMMAND} -E echo "comprehensive interactive tests"
+ COMMAND ${ENV_EXECUTABLE} PATH=${EPA_PATH} ${BASH_EXECUTABLE} ${CMAKE_CURRENT_BINARY_DIR}/interactive_comprehensive_test.sh
+ APPEND
+ )
+
+endif(ENABLE_COMPREHENSIVE_PLPLOT_TEST)
Modified: trunk/cmake/epa_build/plplot_lite/CMakeLists.txt
===================================================================
--- trunk/cmake/epa_build/plplot_lite/CMakeLists.txt 2013-12-19 01:35:00 UTC (rev 12883)
+++ trunk/cmake/epa_build/plplot_lite/CMakeLists.txt 2013-12-19 01:40:05 UTC (rev 12884)
@@ -84,10 +84,15 @@
if(ENABLE_COMPREHENSIVE_PLPLOT_TEST)
string(REGEX REPLACE ";" " " blank_delimited_cmake_args "${cmake_args}")
- file(WRITE ${CMAKE_CURRENT_BINARY_DIR}/comprehensive_test.sh
- "echo yes | ${EPA_BASE}/Source/build_${PACKAGE}/scripts/comprehensive_test.sh --cmake_added_options \"${blank_delimited_cmake_args}\""
+
+ file(WRITE ${CMAKE_CURRENT_BINARY_DIR}/noninteractive_comprehensive_test.sh
+ "echo yes | ${EPA_BASE}/Source/build_${PACKAGE}/scripts/comprehensive_test.sh --cmake_added_options \"${blank_delimited_cmake_args}\" --do_test_interactive no"
)
- set(TEST_COMMAND TEST_COMMAND ${ENV_EXECUTABLE} PATH=${EPA_PATH} ${BASH_EXECUTABLE} ${CMAKE_CURRENT_BINARY_DIR}/comprehensive_test.sh)
+
+ file(WRITE ${CMAKE_CURRENT_BINARY_DIR}/interactive_comprehensive_test.sh
+ "echo yes | ${EPA_BASE}/Source/build_${PACKAGE}/scripts/comprehensive_test.sh --cmake_added_options \"${blank_delimited_cmake_args}\" --do_ctest no --do_test_noninteractive no"
+ )
+
endif(ENABLE_COMPREHENSIVE_PLPLOT_TEST)
ExternalProject_Add(
@@ -98,6 +103,25 @@
BUILD_COMMAND ${ENV_EXECUTABLE} PATH=${EPA_PATH} ${EPA_PARALLEL_BUILD_COMMAND}
INSTALL_COMMAND ${ENV_EXECUTABLE} PATH=${EPA_PATH} ${EPA_PARALLEL_BUILD_COMMAND} install
TEST_BEFORE_INSTALL OFF
- ${TEST_COMMAND}
+ TEST_COMMAND ""
STEP_TARGETS configure build install test
)
+
+if(ENABLE_COMPREHENSIVE_PLPLOT_TEST)
+ add_custom_command(
+ OUTPUT
+ ${EPA_BASE}/Stamp/build_${PACKAGE}/build_${PACKAGE}-test
+ COMMAND ${CMAKE_COMMAND} -E echo "comprehensive noninteractive tests"
+ COMMAND ${ENV_EXECUTABLE} PATH=${EPA_PATH} ${BASH_EXECUTABLE} ${CMAKE_CURRENT_BINARY_DIR}/noninteractive_comprehensive_test.sh
+ APPEND
+ )
+
+ add_custom_command(
+ OUTPUT
+ ${EPA_BASE}/Stamp/build_${PACKAGE}/build_${PACKAGE}-test
+ COMMAND ${CMAKE_COMMAND} -E echo "comprehensive interactive tests"
+ COMMAND ${ENV_EXECUTABLE} PATH=${EPA_PATH} ${BASH_EXECUTABLE} ${CMAKE_CURRENT_BINARY_DIR}/interactive_comprehensive_test.sh
+ APPEND
+ )
+
+endif(ENABLE_COMPREHENSIVE_PLPLOT_TEST)
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <ai...@us...> - 2013-12-20 19:06:49
|
Revision: 12897
http://sourceforge.net/p/plplot/code/12897
Author: airwin
Date: 2013-12-20 19:06:46 +0000 (Fri, 20 Dec 2013)
Log Message:
-----------
Properly escape the "\" character for MSYS_PLATFORM builds. That is,
\unix ==> \\unix
Modified Paths:
--------------
trunk/cmake/epa_build/tcl/CMakeLists.txt
trunk/cmake/epa_build/tk/CMakeLists.txt
Modified: trunk/cmake/epa_build/tcl/CMakeLists.txt
===================================================================
--- trunk/cmake/epa_build/tcl/CMakeLists.txt 2013-12-20 18:13:59 UTC (rev 12896)
+++ trunk/cmake/epa_build/tcl/CMakeLists.txt 2013-12-20 19:06:46 UTC (rev 12897)
@@ -48,7 +48,7 @@
# version of configure may be good enough for our needs for all
# platforms.
if(MSYS_PLATFORM)
- set(source_PATH ${source_PATH}\unix)
+ set(source_PATH ${source_PATH}\\unix)
else(MSYS_PLATFORM)
set(source_PATH ${source_PATH}/unix)
endif(MSYS_PLATFORM)
Modified: trunk/cmake/epa_build/tk/CMakeLists.txt
===================================================================
--- trunk/cmake/epa_build/tk/CMakeLists.txt 2013-12-20 18:13:59 UTC (rev 12896)
+++ trunk/cmake/epa_build/tk/CMakeLists.txt 2013-12-20 19:06:46 UTC (rev 12897)
@@ -48,7 +48,7 @@
# version of configure may be good enough for our needs for all
# platforms.
if(MSYS_PLATFORM)
- set(source_PATH ${source_PATH}\unix)
+ set(source_PATH ${source_PATH}\\unix)
else(MSYS_PLATFORM)
set(source_PATH ${source_PATH}/unix)
endif(MSYS_PLATFORM)
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <ai...@us...> - 2013-12-21 21:34:33
|
Revision: 12899
http://sourceforge.net/p/plplot/code/12899
Author: airwin
Date: 2013-12-21 21:34:30 +0000 (Sat, 21 Dec 2013)
Log Message:
-----------
Update instructions for the Windows case.
Modified Paths:
--------------
trunk/cmake/epa_build/README
Added Paths:
-----------
trunk/cmake/epa_build/setup/setup_mingw_msys_wine_toolchain
trunk/cmake/epa_build/setup/setup_msys_makefiles
Modified: trunk/cmake/epa_build/README
===================================================================
--- trunk/cmake/epa_build/README 2013-12-20 20:40:34 UTC (rev 12898)
+++ trunk/cmake/epa_build/README 2013-12-21 21:34:30 UTC (rev 12899)
@@ -15,10 +15,11 @@
Installing the Required Windows Toolchain:
N.B. There is a good possibility that epa_build will work with the
-Microsoft proprietary toolchain, and I would be happy to accept
-patches to make that so (including a patch for this file), but my only
-experience is with free software so until I receive such patches, the
-instructions below refer only to free software toolchains.
+Microsoft proprietary toolchain, and I (which refers to Alan W. Irwin
+throughout this file) would be happy to accept patches to make that so
+(including a patch for this file), but my only experience is with free
+software so until I receive such patches, the instructions below refer
+only to free software toolchains.
1. Install latest MinGW/MSYS using the automatic installer
@@ -50,7 +51,7 @@
4. Download a recent cmake.exe version from
http://www.cmake.org/files. I am currently using
-v2.8/cmake-2.8.10.2-win32-x86.zip. Unpack this using the unzip
+v2.8/cmake-2.8.12.1-win32-x86.zip. Unpack this using the unzip
command you just installed and put cmake.exe on your PATH.
5. [OPTIONAL] Copy the MinGW-4.7.2/msys/1.0/bin directory to
@@ -78,23 +79,73 @@
===============================================================================
Set up instructions for epa_build
-1. Linux or Mac OS X.
+I. Unix platforms:
+* Linux
+
Tailor the indicated values in setup/setup_linux for your own
system, then source that file, e.g.,
source <Top directory of PLplot source tree>/cmake/epa_build/setup/setup_linux
-2. Windows platforms
+* Mac OS X
-Similar instructions about tailoring and sourcing relevant files to be
-done later after I update and test the files in question.
+This has not been tried yet, but something similar to setup_linux should
+do the job.
+* Cygwin on Windows
+
+Some experiments with this have just been started with nothing written
+down with regards to setup. But ultimately it should be very similar
+to the Linux case.
+
+II. Non-Cygwin Windows platforms:
+
+* MinGW/MSYS for the Wine version of Windows
+
+Tailor the indicated values in setup_mingw_msys_wine_toolchain and
+setup/setup_msys_makefiles for your own system. Then execute something
+similar to the following from Linux to get into the bash.exe shell
+on Wine:
+
+wineserver -p
+nice -19 wineconsole --backend=curses MinGW-4.7.2/msys/1.0/bin/bash.exe
+
+Then from that bash.exe shell execute
+
+bash.exe-3.1$ pushd /z/home/software/plplot_svn/HEAD/plplot_allura/cmake/epa_build/setup;source setup_msys_makefiles;popd
+
+(You need to pushd or cd above to the setup directory because the the
+setup_msys_makefiles file that is sourced, automatically executes
+"source setup_mingw_msys_wine_toolchain", and that only works if it is
+done from the setup directory.)
+
+* MinGW/MSYS for the Microsoft version of Windows
+
+This has not been tried yet but the setup should work very similarly
+to the MinGW/MSYS/Wine case above.
+
+* Other non-Cygwin Windows platforms:
+
+Non-Cygwin windows epa_builds absolutely rely on MSYS tools such as
+bash.exe. But so long as Windows users download MSYS and put it on
+the PATH, then in theory epa_build should work. For example, I have
+tried epa_build on Wine with some success for the "MSYS Makefiles"
+CMake generator (those results are referred to above) as well as the
+"MinGW Makefiles", "Ninja", and "NMake Makefiles JOM" generators. All
+of these results were with the gcc compiler suite from the MinGW
+project. I see no reason why that success could not be extended to
+other command-line generators as well such as "NMake Makefiles" and
+other compilers such as MSVC/Ifort, but the epa_build project needs
+more volunteers to debug the platforms that interest them.
+
===============================================================================
Build directions for epa_build
-1. Linux
+I. Unix platforms
+* Linux
+
Note that setup_linux sets up all the important environment variables you
need including GENERATOR_STRING, INSTALL_PREFIX, and EPA_BUILD_SOURCE_PATH.
@@ -162,7 +213,46 @@
# developers) requires substantial extra CPU time and ~4GB of extra
# disk space to run.
-2. Windows platforms
+* Mac OS X and Cygwin
-Very similar to above, but I will fill in variations that I used
-on Wine when I get a chance to test them again.
+These epa_builds should be very similar to the Linux case. I suggest
+you use system versions of build tools (i.e., skip the
+-DBUILD_THE_BUILDTOOLS=ON case above) to start until you start having
+success with ordinary epa_builds. And I would start small there with,
+e.g., attempting to build shapelib, then plplot_lite before moving on
+to a full plplot build (including builds of all its dependencies).
+
+II. Non-Cygwin Windows platforms
+
+For the MinGW/MSYS/Wine case, I (AWI) essentially followed the same
+instructions as above for the Linux case. However, some of the
+buildtools (e.g., Tcl/Tk/Itcl/Itk/Iwidgets variants) don't yet build
+on Windows and although CMake builds fine on MinGW/MSYS, the result
+does not have the power (supplied only by a fully configured curl
+library and not by the internal curl alternative that the CMake build
+can use as a backup) to download from "https" archives which is
+essential for some of the epa_builds. The Linux and Cygwin platforms
+do give the required access to a full-featured Curl library for the
+cmake build to link to, but on MinGW/MSYS the only alternative is to
+build your own curl library, and the epa_build configuration for that
+has not been implemented yet although it is on my ToDo list. The net
+result of these considerations is I only built pkg-config and swig for
+the -DBUILD_THE_BUILDTOOLS=ON case which in turn implied I dropped
+everything that was Tcl related from the PLplot build and relied on
+the pre-built (and fully powered) binary version of CMake downloaded
+from Kitware (see above setup instructions). Also, for ordinary
+epa_builds (with -DBUILD_THE_BUILDTOOLS=OFF), I only had success with
+plplot_lite and not plplot. The reason was the extra pango and qt
+dependencies of plplot which had dependent packages of their own that
+could not yet be built on Windows.
+
+N.B. the tweaks required to make all epa_builds work on Windows should
+be few per project since many others have had success building all
+projects on Windows that are covered by epa_build. But there are a
+lot of such projects in, for example, the dependency list for pango,
+and often the Windows build tweaks are not well publicized. Thus,
+some substantial and sustained effort (but not an impossibly difficult
+effort) will be required to get all of the epa_build configurations to
+work for the Windows case, and the success I have achieved with a
+limited group of projects for the MinGW/MSYS/Wine case is a good
+start.
Added: trunk/cmake/epa_build/setup/setup_mingw_msys_wine_toolchain
===================================================================
--- trunk/cmake/epa_build/setup/setup_mingw_msys_wine_toolchain (rev 0)
+++ trunk/cmake/epa_build/setup/setup_mingw_msys_wine_toolchain 2013-12-21 21:34:30 UTC (rev 12899)
@@ -0,0 +1,58 @@
+# This script should be sourced from an MSYS bash environment. Its
+# purpose is to setup environment variables controlling the tool chain
+# that is used for MinGW/MSYS builds on a Wine platform.
+
+# Tailor these values to be appropriate for your local Windows platform.
+
+CMAKE_VERSION=2.8.12.1
+
+# This is the downloaded version we are testing rather than a bootstrapped
+# version.
+CMAKE_PATH=/z/home/wine/newstart/cmake-${CMAKE_VERSION}-win32-x86/bin
+
+MINGW_VERSION=4.7.2
+MINGW_PREFIX=/z/home/wine/newstart/MinGW-$MINGW_VERSION
+
+# MinGW gcc, g++, and gfortran flags you might want to tailor to
+# different values.
+export CFLAGS='-O3 -fvisibility=hidden -Wuninitialized'
+export CXXFLAGS='-O3 -fvisibility=hidden -Wuninitialized'
+export FFLAGS='-O3 -Wuninitialized'
+
+# Note $WINEVERSION propagates as an environment
+# variable from the Linux to Wine environment.
+BUILDTOOLS_PREFIX=/z/home/wine/newstart/build_script/install-${WINEVERSION}_buildtools
+
+# Directory where python.exe can be found
+PYTHON_PATH=/z/home/wine/newstart/python/python-2.7.5
+
+# Directory for top of source tree for epa_build
+export EPA_BUILD_SOURCE_PATH=/z/home/software/plplot_svn/HEAD/plplot_allura/cmake/epa_build
+
+# End of tailored values.
+
+# For MinGW on Wine, set up CMAKE_INCLUDE_PATH to find the
+# the MinGW, MSYS, and standard system headers.
+# N.B. $MINGW_PREFIX/msys/1.0/include is equivalent to /usr/include on bash.
+export CMAKE_INCLUDE_PATH=$MINGW_PREFIX/msys/1.0/include:$MINGW_PREFIX/include:$MINGW_PREFIX/lib/gcc/mingw32/$MINGW_VERSION/include:/z/home/wine/wine_build/install-$WINEVERSION/include/wine/msvcrt:/z/home/wine/wine_build/install-$WINEVERSION/include/wine/windows
+
+# For MinGW on Wine, no help is required to find mingw, msys, or wine libraries
+# because the appropriate dll's are on the PATH.
+export CMAKE_LIBRARY_PATH=
+
+# Help CMake find Python headers and library.
+CMAKE_INCLUDE_PATH=$PYTHON_PATH/include:$CMAKE_INCLUDE_PATH
+CMAKE_LIBRARY_PATH=$PYTHON_PATH/libs:$CMAKE_LIBRARY_PATH
+
+# Put CMake, Python, subversion and MinGW on the PATH.
+
+PATH=$CMAKE_PATH:$PATH
+PATH=$PYTHON_PATH:$PATH
+PATH=$CMAKE_PATH:$PATH
+PATH=$MINGW_PREFIX/bin/:$PATH
+
+# pkg-config setup.
+PATH=$BUILDTOOLS_PREFIX/bin:$PATH
+
+export PKG_CONFIG_PATH=/z/home/wine/newstart/MinGW-4.7.2/msys/1.0/lib/pkgconfig:$BUILDTOOLS_PREFIX/share/pkgconfig:$BUILDTOOLS_PREFIX/lib/pkgconfig
+
Added: trunk/cmake/epa_build/setup/setup_msys_makefiles
===================================================================
--- trunk/cmake/epa_build/setup/setup_msys_makefiles (rev 0)
+++ trunk/cmake/epa_build/setup/setup_msys_makefiles 2013-12-21 21:34:30 UTC (rev 12899)
@@ -0,0 +1,37 @@
+# This script should be sourced from an MSYS bash environment. Its
+# purpose is to setup environment variables needed to run any standard
+# cmake "MSYS Makefiles" build on a Windows platform.
+
+source setup_mingw_msys_wine_toolchain
+
+# Tailor this install location for "MSYS Makefiles" builds to your local needs:
+export INSTALL_PREFIX=/z/home/wine/newstart/build_script/install-$WINEVERSION
+
+# End of tailored values.
+
+# Put buildtools that have been built and installed by build_packages on PATH.
+PATH=${INSTALL_PREFIX}_buildtools/bin:$PATH
+
+# Put install directory on PATH (so that, e.g., the wxwidgets
+# configuration tool will be found.
+PATH=${INSTALL_PREFIX}/bin:$PATH
+
+# Put appropriate buildtools areas on these.
+CMAKE_INCLUDE_PATH=${INSTALL_PREFIX}_buildtools/include:$CMAKE_INCLUDE_PATH
+CMAKE_LIBRARY_PATH=${INSTALL_PREFIX}_buildtools/lib:$CMAKE_LIBRARY_PATH
+
+# Put version 3 of itcl and friends higher on CMAKE_INCLUDE_PATH then
+# the above default.
+CMAKE_INCLUDE_PATH=${INSTALL_PREFIX}_buildtools/include/itcl3.4:$CMAKE_INCLUDE_PATH
+
+# Put appropriate install areas on these.
+CMAKE_INCLUDE_PATH=${INSTALL_PREFIX}/include:$CMAKE_INCLUDE_PATH
+CMAKE_LIBRARY_PATH=${INSTALL_PREFIX}/lib:$CMAKE_LIBRARY_PATH
+
+# Put install-location pkg-config directories at top of PKG_CONFIG_PATH
+PKG_CONFIG_PATH=$INSTALL_PREFIX/share/pkgconfig:$INSTALL_PREFIX/lib/pkgconfig:$PKG_CONFIG_PATH
+
+# Put MSYS at the top of the PATH
+PATH=$MINGW_PREFIX/msys/1.0/bin/:$PATH
+
+export GENERATOR_STRING="MSYS Makefiles"
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <ai...@us...> - 2014-02-06 05:14:49
|
Revision: 12978
http://sourceforge.net/p/plplot/code/12978
Author: airwin
Date: 2014-02-06 05:14:46 +0000 (Thu, 06 Feb 2014)
Log Message:
-----------
Improve logic dealing with ENABLE_COMPREHENSIVE_PLPLOT_TEST choices.
This logic gives good test results (so far just the noninteractive
case has been tested) for the epa_build build_plplot_lite
target on Linux for -DENABLE_COMPREHENSIVE_PLPLOT_TEST=ON
A preliminary subset of those plplot_lite tests have been successfully
run on MinGW/MSYS/Wine, and a job with the same comprehensive test
conditions as above has been started on that platform.
Modified Paths:
--------------
trunk/cmake/epa_build/plplot/CMakeLists.txt
trunk/cmake/epa_build/plplot_lite/CMakeLists.txt
Modified: trunk/cmake/epa_build/plplot/CMakeLists.txt
===================================================================
--- trunk/cmake/epa_build/plplot/CMakeLists.txt 2014-02-06 05:06:07 UTC (rev 12977)
+++ trunk/cmake/epa_build/plplot/CMakeLists.txt 2014-02-06 05:14:46 UTC (rev 12978)
@@ -83,46 +83,71 @@
determine_msys_path(EPA_PATH "${EPA_PATH}")
endif(MSYS_PLATFORM)
-if(ENABLE_COMPREHENSIVE_PLPLOT_TEST)
- string(REGEX REPLACE ";" " " blank_delimited_cmake_args "${cmake_args}")
-
- file(WRITE ${CMAKE_CURRENT_BINARY_DIR}/noninteractive_comprehensive_test.sh
- "echo yes | ${EPA_BASE}/Source/build_${PACKAGE}/scripts/comprehensive_test.sh --cmake_added_options \"${blank_delimited_cmake_args}\" --do_test_interactive no"
- )
-
- file(WRITE ${CMAKE_CURRENT_BINARY_DIR}/interactive_comprehensive_test.sh
- "echo yes | ${EPA_BASE}/Source/build_${PACKAGE}/scripts/comprehensive_test.sh --cmake_added_options \"${blank_delimited_cmake_args}\" --do_ctest no --do_test_noninteractive no"
- )
-
-endif(ENABLE_COMPREHENSIVE_PLPLOT_TEST)
-
ExternalProject_Add(
build_${PACKAGE}
DEPENDS "${dependencies_targets}"
DOWNLOAD_COMMAND ${CMAKE_COMMAND} -E copy_directory ${PLPLOT_LOCAL_SOURCE_DIR} ${EPA_BASE}/Source/build_${PACKAGE}
- CONFIGURE_COMMAND ${ENV_EXECUTABLE} PATH=${EPA_PATH} "CFLAGS=${CFLAGS}" "CXXFLAGS=${CXXFLAGS}" "FFLAGS=${FFLAGS}" ${EPA_CMAKE_COMMAND} -DBUILD_TEST=ON ${cmake_args} ${EPA_BASE}/Source/build_${PACKAGE}
- BUILD_COMMAND ${ENV_EXECUTABLE} PATH=${EPA_PATH} ${EPA_PARALLEL_BUILD_COMMAND}
- INSTALL_COMMAND ${ENV_EXECUTABLE} PATH=${EPA_PATH} ${EPA_PARALLEL_BUILD_COMMAND} install
+ CONFIGURE_COMMAND ""
+ BUILD_COMMAND ""
+ INSTALL_COMMAND ""
TEST_BEFORE_INSTALL OFF
TEST_COMMAND ""
STEP_TARGETS configure build install test
)
if(ENABLE_COMPREHENSIVE_PLPLOT_TEST)
+ string(REGEX REPLACE ";" " " blank_delimited_cmake_args "${cmake_args}")
+
+ file(WRITE ${CMAKE_CURRENT_BINARY_DIR}/interactive_comprehensive_test.sh
+ "echo yes | ${EPA_BASE}/Source/build_${PACKAGE}/scripts/comprehensive_test.sh --generator_string \"${CMAKE_GENERATOR}\" --cmake_added_options \"${blank_delimited_cmake_args}\" --build_command \"${EPA_BUILD_COMMAND} -j${NUMBER_PARALLEL_JOBS}\" --ctest_command \"${CMAKE_CTEST_COMMAND} -j${NUMBER_PARALLEL_JOBS} --timeout 15000 \" --do_ctest no --do_test_noninteractive no"
+ )
+
+ file(WRITE ${CMAKE_CURRENT_BINARY_DIR}/noninteractive_comprehensive_test.sh
+ "echo yes | ${EPA_BASE}/Source/build_${PACKAGE}/scripts/comprehensive_test.sh --generator_string \"${CMAKE_GENERATOR}\" --cmake_added_options \"${blank_delimited_cmake_args}\" --build_command \"${EPA_BUILD_COMMAND} -j${NUMBER_PARALLEL_JOBS}\" --ctest_command \"${CMAKE_CTEST_COMMAND} -j${NUMBER_PARALLEL_JOBS} --timeout 15000 \" --do_test_interactive no"
+ )
+
add_custom_command(
OUTPUT
${EPA_BASE}/Stamp/build_${PACKAGE}/build_${PACKAGE}-test
+ COMMAND ${CMAKE_COMMAND} -E echo "comprehensive interactive tests"
+ COMMAND ${ENV_EXECUTABLE} PATH=${EPA_PATH} ${BASH_EXECUTABLE} ${CMAKE_CURRENT_BINARY_DIR}/interactive_comprehensive_test.sh
+ APPEND
+ )
+
+ add_custom_command(
+ OUTPUT
+ ${EPA_BASE}/Stamp/build_${PACKAGE}/build_${PACKAGE}-test
COMMAND ${CMAKE_COMMAND} -E echo "comprehensive noninteractive tests"
COMMAND ${ENV_EXECUTABLE} PATH=${EPA_PATH} ${BASH_EXECUTABLE} ${CMAKE_CURRENT_BINARY_DIR}/noninteractive_comprehensive_test.sh
APPEND
)
+else(ENABLE_COMPREHENSIVE_PLPLOT_TEST)
+ # If ENABLE_COMPREHENSIVE_PLPLOT_TEST is not true, then just
+ # configure a pure default case and build and install it.
+
add_custom_command(
OUTPUT
- ${EPA_BASE}/Stamp/build_${PACKAGE}/build_${PACKAGE}-test
- COMMAND ${CMAKE_COMMAND} -E echo "comprehensive interactive tests"
- COMMAND ${ENV_EXECUTABLE} PATH=${EPA_PATH} ${BASH_EXECUTABLE} ${CMAKE_CURRENT_BINARY_DIR}/interactive_comprehensive_test.sh
+ ${EPA_BASE}/Stamp/build_${PACKAGE}/build_${PACKAGE}-configure
+ COMMAND ${CMAKE_COMMAND} -E echo "configure"
+ COMMAND ${ENV_EXECUTABLE} PATH=${EPA_PATH} "CFLAGS=${CFLAGS}" "CXXFLAGS=${CXXFLAGS}" "FFLAGS=${FFLAGS}" ${EPA_CMAKE_COMMAND} -DBUILD_TEST=ON ${cmake_args} ${EPA_BASE}/Source/build_${PACKAGE}
APPEND
)
+ add_custom_command(
+ OUTPUT
+ ${EPA_BASE}/Stamp/build_${PACKAGE}/build_${PACKAGE}-build
+ COMMAND ${CMAKE_COMMAND} -E echo "build"
+ COMMAND ${ENV_EXECUTABLE} PATH=${EPA_PATH} ${EPA_PARALLEL_BUILD_COMMAND}
+ APPEND
+ )
+
+ add_custom_command(
+ OUTPUT
+ ${EPA_BASE}/Stamp/build_${PACKAGE}/build_${PACKAGE}-install
+ COMMAND ${CMAKE_COMMAND} -E echo "install"
+ COMMAND ${ENV_EXECUTABLE} PATH=${EPA_PATH} ${EPA_PARALLEL_BUILD_COMMAND} install
+ APPEND
+ )
+
endif(ENABLE_COMPREHENSIVE_PLPLOT_TEST)
Modified: trunk/cmake/epa_build/plplot_lite/CMakeLists.txt
===================================================================
--- trunk/cmake/epa_build/plplot_lite/CMakeLists.txt 2014-02-06 05:06:07 UTC (rev 12977)
+++ trunk/cmake/epa_build/plplot_lite/CMakeLists.txt 2014-02-06 05:14:46 UTC (rev 12978)
@@ -82,46 +82,71 @@
determine_msys_path(EPA_PATH "${EPA_PATH}")
endif(MSYS_PLATFORM)
-if(ENABLE_COMPREHENSIVE_PLPLOT_TEST)
- string(REGEX REPLACE ";" " " blank_delimited_cmake_args "${cmake_args}")
-
- file(WRITE ${CMAKE_CURRENT_BINARY_DIR}/noninteractive_comprehensive_test.sh
- "echo yes | ${EPA_BASE}/Source/build_${PACKAGE}/scripts/comprehensive_test.sh --cmake_added_options \"${blank_delimited_cmake_args}\" --do_test_interactive no"
- )
-
- file(WRITE ${CMAKE_CURRENT_BINARY_DIR}/interactive_comprehensive_test.sh
- "echo yes | ${EPA_BASE}/Source/build_${PACKAGE}/scripts/comprehensive_test.sh --cmake_added_options \"${blank_delimited_cmake_args}\" --do_ctest no --do_test_noninteractive no"
- )
-
-endif(ENABLE_COMPREHENSIVE_PLPLOT_TEST)
-
ExternalProject_Add(
build_${PACKAGE}
DEPENDS "${dependencies_targets}"
DOWNLOAD_COMMAND ${CMAKE_COMMAND} -E copy_directory ${PLPLOT_LOCAL_SOURCE_DIR} ${EPA_BASE}/Source/build_${PACKAGE}
- CONFIGURE_COMMAND ${ENV_EXECUTABLE} PATH=${EPA_PATH} "CFLAGS=${CFLAGS}" "CXXFLAGS=${CXXFLAGS}" "FFLAGS=${FFLAGS}" ${EPA_CMAKE_COMMAND} -DBUILD_TEST=ON ${cmake_args} ${EPA_BASE}/Source/build_${PACKAGE}
- BUILD_COMMAND ${ENV_EXECUTABLE} PATH=${EPA_PATH} ${EPA_PARALLEL_BUILD_COMMAND}
- INSTALL_COMMAND ${ENV_EXECUTABLE} PATH=${EPA_PATH} ${EPA_PARALLEL_BUILD_COMMAND} install
+ CONFIGURE_COMMAND ""
+ BUILD_COMMAND ""
+ INSTALL_COMMAND ""
TEST_BEFORE_INSTALL OFF
TEST_COMMAND ""
STEP_TARGETS configure build install test
)
if(ENABLE_COMPREHENSIVE_PLPLOT_TEST)
+ string(REGEX REPLACE ";" " " blank_delimited_cmake_args "${cmake_args}")
+
+ file(WRITE ${CMAKE_CURRENT_BINARY_DIR}/interactive_comprehensive_test.sh
+ "echo yes | ${EPA_BASE}/Source/build_${PACKAGE}/scripts/comprehensive_test.sh --generator_string \"${CMAKE_GENERATOR}\" --cmake_added_options \"${blank_delimited_cmake_args}\" --build_command \"${EPA_BUILD_COMMAND} -j${NUMBER_PARALLEL_JOBS}\" --ctest_command \"${CMAKE_CTEST_COMMAND} -j${NUMBER_PARALLEL_JOBS} --timeout 15000 \" --do_ctest no --do_test_noninteractive no"
+ )
+
+ file(WRITE ${CMAKE_CURRENT_BINARY_DIR}/noninteractive_comprehensive_test.sh
+ "echo yes | ${EPA_BASE}/Source/build_${PACKAGE}/scripts/comprehensive_test.sh --generator_string \"${CMAKE_GENERATOR}\" --cmake_added_options \"${blank_delimited_cmake_args}\" --build_command \"${EPA_BUILD_COMMAND} -j${NUMBER_PARALLEL_JOBS}\" --ctest_command \"${CMAKE_CTEST_COMMAND} -j${NUMBER_PARALLEL_JOBS} --timeout 15000 \" --do_test_interactive no"
+ )
+
add_custom_command(
OUTPUT
${EPA_BASE}/Stamp/build_${PACKAGE}/build_${PACKAGE}-test
+ COMMAND ${CMAKE_COMMAND} -E echo "comprehensive interactive tests"
+ COMMAND ${ENV_EXECUTABLE} PATH=${EPA_PATH} ${BASH_EXECUTABLE} ${CMAKE_CURRENT_BINARY_DIR}/interactive_comprehensive_test.sh
+ APPEND
+ )
+
+ add_custom_command(
+ OUTPUT
+ ${EPA_BASE}/Stamp/build_${PACKAGE}/build_${PACKAGE}-test
COMMAND ${CMAKE_COMMAND} -E echo "comprehensive noninteractive tests"
COMMAND ${ENV_EXECUTABLE} PATH=${EPA_PATH} ${BASH_EXECUTABLE} ${CMAKE_CURRENT_BINARY_DIR}/noninteractive_comprehensive_test.sh
APPEND
)
+else(ENABLE_COMPREHENSIVE_PLPLOT_TEST)
+ # If ENABLE_COMPREHENSIVE_PLPLOT_TEST is not true, then just
+ # configure a pure default case and build and install it.
+
add_custom_command(
OUTPUT
- ${EPA_BASE}/Stamp/build_${PACKAGE}/build_${PACKAGE}-test
- COMMAND ${CMAKE_COMMAND} -E echo "comprehensive interactive tests"
- COMMAND ${ENV_EXECUTABLE} PATH=${EPA_PATH} ${BASH_EXECUTABLE} ${CMAKE_CURRENT_BINARY_DIR}/interactive_comprehensive_test.sh
+ ${EPA_BASE}/Stamp/build_${PACKAGE}/build_${PACKAGE}-configure
+ COMMAND ${CMAKE_COMMAND} -E echo "configure"
+ COMMAND ${ENV_EXECUTABLE} PATH=${EPA_PATH} "CFLAGS=${CFLAGS}" "CXXFLAGS=${CXXFLAGS}" "FFLAGS=${FFLAGS}" ${EPA_CMAKE_COMMAND} -DBUILD_TEST=ON ${cmake_args} ${EPA_BASE}/Source/build_${PACKAGE}
APPEND
)
+ add_custom_command(
+ OUTPUT
+ ${EPA_BASE}/Stamp/build_${PACKAGE}/build_${PACKAGE}-build
+ COMMAND ${CMAKE_COMMAND} -E echo "build"
+ COMMAND ${ENV_EXECUTABLE} PATH=${EPA_PATH} ${EPA_PARALLEL_BUILD_COMMAND}
+ APPEND
+ )
+
+ add_custom_command(
+ OUTPUT
+ ${EPA_BASE}/Stamp/build_${PACKAGE}/build_${PACKAGE}-install
+ COMMAND ${CMAKE_COMMAND} -E echo "install"
+ COMMAND ${ENV_EXECUTABLE} PATH=${EPA_PATH} ${EPA_PARALLEL_BUILD_COMMAND} install
+ APPEND
+ )
+
endif(ENABLE_COMPREHENSIVE_PLPLOT_TEST)
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <ai...@us...> - 2014-02-08 19:43:26
|
Revision: 12985
http://sourceforge.net/p/plplot/code/12985
Author: airwin
Date: 2014-02-08 19:43:20 +0000 (Sat, 08 Feb 2014)
Log Message:
-----------
Set correct native line endings property for all the CMakeLists.txt
files of the epa_build project.
Modified Paths:
--------------
trunk/cmake/epa_build/cmake/CMakeLists.txt
trunk/cmake/epa_build/swig/CMakeLists.txt
Property Changed:
----------------
trunk/cmake/epa_build/cairo/CMakeLists.txt
trunk/cmake/epa_build/cmake/CMakeLists.txt
trunk/cmake/epa_build/docbook-xml/CMakeLists.txt
trunk/cmake/epa_build/docbook-xsl/CMakeLists.txt
trunk/cmake/epa_build/fontconfig/CMakeLists.txt
trunk/cmake/epa_build/glib/CMakeLists.txt
trunk/cmake/epa_build/gobject-introspection/CMakeLists.txt
trunk/cmake/epa_build/gperf/CMakeLists.txt
trunk/cmake/epa_build/gtk-doc/CMakeLists.txt
trunk/cmake/epa_build/harfbuzz/CMakeLists.txt
trunk/cmake/epa_build/intltool/CMakeLists.txt
trunk/cmake/epa_build/itcl3/CMakeLists.txt
trunk/cmake/epa_build/itk/CMakeLists.txt
trunk/cmake/epa_build/itk3/CMakeLists.txt
trunk/cmake/epa_build/itstool/CMakeLists.txt
trunk/cmake/epa_build/iwidgets/CMakeLists.txt
trunk/cmake/epa_build/libagg/CMakeLists.txt
trunk/cmake/epa_build/libffi/CMakeLists.txt
trunk/cmake/epa_build/libharu/CMakeLists.txt
trunk/cmake/epa_build/libpcre/CMakeLists.txt
trunk/cmake/epa_build/libqhull/CMakeLists.txt
trunk/cmake/epa_build/libxml2/CMakeLists.txt
trunk/cmake/epa_build/libxslt/CMakeLists.txt
trunk/cmake/epa_build/ndiff/CMakeLists.txt
trunk/cmake/epa_build/pango/CMakeLists.txt
trunk/cmake/epa_build/pixman/CMakeLists.txt
trunk/cmake/epa_build/pkg-config/CMakeLists.txt
trunk/cmake/epa_build/plplot/CMakeLists.txt
trunk/cmake/epa_build/ragel/CMakeLists.txt
trunk/cmake/epa_build/shapelib/CMakeLists.txt
trunk/cmake/epa_build/subversion/CMakeLists.txt
trunk/cmake/epa_build/swig/CMakeLists.txt
trunk/cmake/epa_build/tcl/CMakeLists.txt
trunk/cmake/epa_build/tk/CMakeLists.txt
trunk/cmake/epa_build/wxwidgets/CMakeLists.txt
trunk/cmake/epa_build/xmlcatalog-wrapper/CMakeLists.txt
trunk/cmake/epa_build/yelp-tools/CMakeLists.txt
trunk/cmake/epa_build/yelp-xsl/CMakeLists.txt
Index: trunk/cmake/epa_build/cairo/CMakeLists.txt
===================================================================
--- trunk/cmake/epa_build/cairo/CMakeLists.txt 2014-02-08 19:09:26 UTC (rev 12984)
+++ trunk/cmake/epa_build/cairo/CMakeLists.txt 2014-02-08 19:43:20 UTC (rev 12985)
Property changes on: trunk/cmake/epa_build/cairo/CMakeLists.txt
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Modified: trunk/cmake/epa_build/cmake/CMakeLists.txt
===================================================================
--- trunk/cmake/epa_build/cmake/CMakeLists.txt 2014-02-08 19:09:26 UTC (rev 12984)
+++ trunk/cmake/epa_build/cmake/CMakeLists.txt 2014-02-08 19:43:20 UTC (rev 12985)
@@ -1,76 +1,76 @@
-# cmake/CMakeLists.txt
-
-# Configure the build of cmake.
-
-# 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
-
-# An external curl library (see --system-curl option below) is
-# required to build cmake because the cmake internal version of curl
-# is quite lame (no openssl capability, for example). Also, we
-# haven't yet implemented a curl epa_build configuration because that
-# is going to be somewhat difficult due to the large number of
-# dependencies. See
-# http://www.linuxfromscratch.org/blfs/view/svn/basicnet/curl.html for
-# a list of those dependencies. There is some hope because
-# some of those are optional so I may tackle the curl epa_build configuration
-# sooner rather than later.
-
-# For now we are okay on Linux because we can just use the system curl
-# library for the cmake build, but on Windows it is unlikely curl is
-# installed so we will be unable to build a powerful cmake (until a
-# curl epa_build configuration is available). Note, if the Windows
-# build of cmake fails, then either install curl (if that is possible)
-# or use the workaround of downloading a binary download from kitware
-# that apparently does use a powerful Windows version of curl.
-
-set(PACKAGE cmake)
-
-# List of dependencies (most of which are build tools) which should be
-# ignored.
-set(ignored_dependencies_LIST curl ${extra_ignored_dependencies_list})
-
-set(dependencies_LIST curl)
-
-# Do boilerplate tasks that must be done for each different project
-# that is configured as part of epa_build.
-epa_boilerplate(
- ignored_dependencies_LIST
- PACKAGE
- dependencies_LIST
- dependencies_targets
- EPA_PATH
- source_PATH
- )
-
-set(CFLAGS "$ENV{CFLAGS}")
-set(CXXFLAGS "$ENV{CXXFLAGS}")
-
-# Data that is related to downloads.
-set(DIR v2.8)
-set(VERSION 2.8.12.2)
-set(URL http://www.cmake.org/files/${DIR}/cmake-${VERSION}.tar.gz)
-set(DOWNLOAD_HASH_TYPE MD5)
-set(DOWNLOAD_HASH 17c6513483d23590cbce6957ec6d1e66)
-
-ExternalProject_Add(
- build_${PACKAGE}
- URL ${URL}
- URL_HASH ${DOWNLOAD_HASH_TYPE}=${DOWNLOAD_HASH}
- CONFIGURE_COMMAND ${ENV_EXECUTABLE} PATH=${EPA_PATH} "CFLAGS=${CFLAGS}" "CXXFLAGS=${CXXFLAGS}" ${SH_EXECUTABLE} ${EPA_BASE}/Source/build_${PACKAGE}/bootstrap --prefix=${EPA_CMAKE_INSTALL_PREFIX} --parallel=8 --verbose --system-curl --no-qt-gui
- BUILD_COMMAND ${ENV_EXECUTABLE} PATH=${EPA_PATH} ${EPA_PARALLEL_BUILD_COMMAND}
- INSTALL_COMMAND ${ENV_EXECUTABLE} PATH=${EPA_PATH} ${EPA_PARALLEL_BUILD_COMMAND} install
- )
+# cmake/CMakeLists.txt
+
+# Configure the build of cmake.
+
+# 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
+
+# An external curl library (see --system-curl option below) is
+# required to build cmake because the cmake internal version of curl
+# is quite lame (no openssl capability, for example). Also, we
+# haven't yet implemented a curl epa_build configuration because that
+# is going to be somewhat difficult due to the large number of
+# dependencies. See
+# http://www.linuxfromscratch.org/blfs/view/svn/basicnet/curl.html for
+# a list of those dependencies. There is some hope because
+# some of those are optional so I may tackle the curl epa_build configuration
+# sooner rather than later.
+
+# For now we are okay on Linux because we can just use the system curl
+# library for the cmake build, but on Windows it is unlikely curl is
+# installed so we will be unable to build a powerful cmake (until a
+# curl epa_build configuration is available). Note, if the Windows
+# build of cmake fails, then either install curl (if that is possible)
+# or use the workaround of downloading a binary download from kitware
+# that apparently does use a powerful Windows version of curl.
+
+set(PACKAGE cmake)
+
+# List of dependencies (most of which are build tools) which should be
+# ignored.
+set(ignored_dependencies_LIST curl ${extra_ignored_dependencies_list})
+
+set(dependencies_LIST curl)
+
+# Do boilerplate tasks that must be done for each different project
+# that is configured as part of epa_build.
+epa_boilerplate(
+ ignored_dependencies_LIST
+ PACKAGE
+ dependencies_LIST
+ dependencies_targets
+ EPA_PATH
+ source_PATH
+ )
+
+set(CFLAGS "$ENV{CFLAGS}")
+set(CXXFLAGS "$ENV{CXXFLAGS}")
+
+# Data that is related to downloads.
+set(DIR v2.8)
+set(VERSION 2.8.12.2)
+set(URL http://www.cmake.org/files/${DIR}/cmake-${VERSION}.tar.gz)
+set(DOWNLOAD_HASH_TYPE MD5)
+set(DOWNLOAD_HASH 17c6513483d23590cbce6957ec6d1e66)
+
+ExternalProject_Add(
+ build_${PACKAGE}
+ URL ${URL}
+ URL_HASH ${DOWNLOAD_HASH_TYPE}=${DOWNLOAD_HASH}
+ CONFIGURE_COMMAND ${ENV_EXECUTABLE} PATH=${EPA_PATH} "CFLAGS=${CFLAGS}" "CXXFLAGS=${CXXFLAGS}" ${SH_EXECUTABLE} ${EPA_BASE}/Source/build_${PACKAGE}/bootstrap --prefix=${EPA_CMAKE_INSTALL_PREFIX} --parallel=8 --verbose --system-curl --no-qt-gui
+ BUILD_COMMAND ${ENV_EXECUTABLE} PATH=${EPA_PATH} ${EPA_PARALLEL_BUILD_COMMAND}
+ INSTALL_COMMAND ${ENV_EXECUTABLE} PATH=${EPA_PATH} ${EPA_PARALLEL_BUILD_COMMAND} install
+ )
Property changes on: trunk/cmake/epa_build/cmake/CMakeLists.txt
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Index: trunk/cmake/epa_build/docbook-xml/CMakeLists.txt
===================================================================
--- trunk/cmake/epa_build/docbook-xml/CMakeLists.txt 2014-02-08 19:09:26 UTC (rev 12984)
+++ trunk/cmake/epa_build/docbook-xml/CMakeLists.txt 2014-02-08 19:43:20 UTC (rev 12985)
Property changes on: trunk/cmake/epa_build/docbook-xml/CMakeLists.txt
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Index: trunk/cmake/epa_build/docbook-xsl/CMakeLists.txt
===================================================================
--- trunk/cmake/epa_build/docbook-xsl/CMakeLists.txt 2014-02-08 19:09:26 UTC (rev 12984)
+++ trunk/cmake/epa_build/docbook-xsl/CMakeLists.txt 2014-02-08 19:43:20 UTC (rev 12985)
Property changes on: trunk/cmake/epa_build/docbook-xsl/CMakeLists.txt
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Index: trunk/cmake/epa_build/fontconfig/CMakeLists.txt
===================================================================
--- trunk/cmake/epa_build/fontconfig/CMakeLists.txt 2014-02-08 19:09:26 UTC (rev 12984)
+++ trunk/cmake/epa_build/fontconfig/CMakeLists.txt 2014-02-08 19:43:20 UTC (rev 12985)
Property changes on: trunk/cmake/epa_build/fontconfig/CMakeLists.txt
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Index: trunk/cmake/epa_build/glib/CMakeLists.txt
===================================================================
--- trunk/cmake/epa_build/glib/CMakeLists.txt 2014-02-08 19:09:26 UTC (rev 12984)
+++ trunk/cmake/epa_build/glib/CMakeLists.txt 2014-02-08 19:43:20 UTC (rev 12985)
Property changes on: trunk/cmake/epa_build/glib/CMakeLists.txt
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Index: trunk/cmake/epa_build/gobject-introspection/CMakeLists.txt
===================================================================
--- trunk/cmake/epa_build/gobject-introspection/CMakeLists.txt 2014-02-08 19:09:26 UTC (rev 12984)
+++ trunk/cmake/epa_build/gobject-introspection/CMakeLists.txt 2014-02-08 19:43:20 UTC (rev 12985)
Property changes on: trunk/cmake/epa_build/gobject-introspection/CMakeLists.txt
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Index: trunk/cmake/epa_build/gperf/CMakeLists.txt
===================================================================
--- trunk/cmake/epa_build/gperf/CMakeLists.txt 2014-02-08 19:09:26 UTC (rev 12984)
+++ trunk/cmake/epa_build/gperf/CMakeLists.txt 2014-02-08 19:43:20 UTC (rev 12985)
Property changes on: trunk/cmake/epa_build/gperf/CMakeLists.txt
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Index: trunk/cmake/epa_build/gtk-doc/CMakeLists.txt
===================================================================
--- trunk/cmake/epa_build/gtk-doc/CMakeLists.txt 2014-02-08 19:09:26 UTC (rev 12984)
+++ trunk/cmake/epa_build/gtk-doc/CMakeLists.txt 2014-02-08 19:43:20 UTC (rev 12985)
Property changes on: trunk/cmake/epa_build/gtk-doc/CMakeLists.txt
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Index: trunk/cmake/epa_build/harfbuzz/CMakeLists.txt
===================================================================
--- trunk/cmake/epa_build/harfbuzz/CMakeLists.txt 2014-02-08 19:09:26 UTC (rev 12984)
+++ trunk/cmake/epa_build/harfbuzz/CMakeLists.txt 2014-02-08 19:43:20 UTC (rev 12985)
Property changes on: trunk/cmake/epa_build/harfbuzz/CMakeLists.txt
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Index: trunk/cmake/epa_build/intltool/CMakeLists.txt
===================================================================
--- trunk/cmake/epa_build/intltool/CMakeLists.txt 2014-02-08 19:09:26 UTC (rev 12984)
+++ trunk/cmake/epa_build/intltool/CMakeLists.txt 2014-02-08 19:43:20 UTC (rev 12985)
Property changes on: trunk/cmake/epa_build/intltool/CMakeLists.txt
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Index: trunk/cmake/epa_build/itcl3/CMakeLists.txt
===================================================================
--- trunk/cmake/epa_build/itcl3/CMakeLists.txt 2014-02-08 19:09:26 UTC (rev 12984)
+++ trunk/cmake/epa_build/itcl3/CMakeLists.txt 2014-02-08 19:43:20 UTC (rev 12985)
Property changes on: trunk/cmake/epa_build/itcl3/CMakeLists.txt
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Index: trunk/cmake/epa_build/itk/CMakeLists.txt
===================================================================
--- trunk/cmake/epa_build/itk/CMakeLists.txt 2014-02-08 19:09:26 UTC (rev 12984)
+++ trunk/cmake/epa_build/itk/CMakeLists.txt 2014-02-08 19:43:20 UTC (rev 12985)
Property changes on: trunk/cmake/epa_build/itk/CMakeLists.txt
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Index: trunk/cmake/epa_build/itk3/CMakeLists.txt
===================================================================
--- trunk/cmake/epa_build/itk3/CMakeLists.txt 2014-02-08 19:09:26 UTC (rev 12984)
+++ trunk/cmake/epa_build/itk3/CMakeLists.txt 2014-02-08 19:43:20 UTC (rev 12985)
Property changes on: trunk/cmake/epa_build/itk3/CMakeLists.txt
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Index: trunk/cmake/epa_build/itstool/CMakeLists.txt
===================================================================
--- trunk/cmake/epa_build/itstool/CMakeLists.txt 2014-02-08 19:09:26 UTC (rev 12984)
+++ trunk/cmake/epa_build/itstool/CMakeLists.txt 2014-02-08 19:43:20 UTC (rev 12985)
Property changes on: trunk/cmake/epa_build/itstool/CMakeLists.txt
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Index: trunk/cmake/epa_build/iwidgets/CMakeLists.txt
===================================================================
--- trunk/cmake/epa_build/iwidgets/CMakeLists.txt 2014-02-08 19:09:26 UTC (rev 12984)
+++ trunk/cmake/epa_build/iwidgets/CMakeLists.txt 2014-02-08 19:43:20 UTC (rev 12985)
Property changes on: trunk/cmake/epa_build/iwidgets/CMakeLists.txt
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Index: trunk/cmake/epa_build/libagg/CMakeLists.txt
===================================================================
--- trunk/cmake/epa_build/libagg/CMakeLists.txt 2014-02-08 19:09:26 UTC (rev 12984)
+++ trunk/cmake/epa_build/libagg/CMakeLists.txt 2014-02-08 19:43:20 UTC (rev 12985)
Property changes on: trunk/cmake/epa_build/libagg/CMakeLists.txt
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Index: trunk/cmake/epa_build/libffi/CMakeLists.txt
===================================================================
--- trunk/cmake/epa_build/libffi/CMakeLists.txt 2014-02-08 19:09:26 UTC (rev 12984)
+++ trunk/cmake/epa_build/libffi/CMakeLists.txt 2014-02-08 19:43:20 UTC (rev 12985)
Property changes on: trunk/cmake/epa_build/libffi/CMakeLists.txt
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Index: trunk/cmake/epa_build/libharu/CMakeLists.txt
===================================================================
--- trunk/cmake/epa_build/libharu/CMakeLists.txt 2014-02-08 19:09:26 UTC (rev 12984)
+++ trunk/cmake/epa_build/libharu/CMakeLists.txt 2014-02-08 19:43:20 UTC (rev 12985)
Property changes on: trunk/cmake/epa_build/libharu/CMakeLists.txt
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Index: trunk/cmake/epa_build/libpcre/CMakeLists.txt
===================================================================
--- trunk/cmake/epa_build/libpcre/CMakeLists.txt 2014-02-08 19:09:26 UTC (rev 12984)
+++ trunk/cmake/epa_build/libpcre/CMakeLists.txt 2014-02-08 19:43:20 UTC (rev 12985)
Property changes on: trunk/cmake/epa_build/libpcre/CMakeLists.txt
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Index: trunk/cmake/epa_build/libqhull/CMakeLists.txt
===================================================================
--- trunk/cmake/epa_build/libqhull/CMakeLists.txt 2014-02-08 19:09:26 UTC (rev 12984)
+++ trunk/cmake/epa_build/libqhull/CMakeLists.txt 2014-02-08 19:43:20 UTC (rev 12985)
Property changes on: trunk/cmake/epa_build/libqhull/CMakeLists.txt
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Index: trunk/cmake/epa_build/libxml2/CMakeLists.txt
===================================================================
--- trunk/cmake/epa_build/libxml2/CMakeLists.txt 2014-02-08 19:09:26 UTC (rev 12984)
+++ trunk/cmake/epa_build/libxml2/CMakeLists.txt 2014-02-08 19:43:20 UTC (rev 12985)
Property changes on: trunk/cmake/epa_build/libxml2/CMakeLists.txt
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Index: trunk/cmake/epa_build/libxslt/CMakeLists.txt
===================================================================
--- trunk/cmake/epa_build/libxslt/CMakeLists.txt 2014-02-08 19:09:26 UTC (rev 12984)
+++ trunk/cmake/epa_build/libxslt/CMakeLists.txt 2014-02-08 19:43:20 UTC (rev 12985)
Property changes on: trunk/cmake/epa_build/libxslt/CMakeLists.txt
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Index: trunk/cmake/epa_build/ndiff/CMakeLists.txt
===================================================================
--- trunk/cmake/epa_build/ndiff/CMakeLists.txt 2014-02-08 19:09:26 UTC (rev 12984)
+++ trunk/cmake/epa_build/ndiff/CMakeLists.txt 2014-02-08 19:43:20 UTC (rev 12985)
Property changes on: trunk/cmake/epa_build/ndiff/CMakeLists.txt
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Index: trunk/cmake/epa_build/pango/CMakeLists.txt
===================================================================
--- trunk/cmake/epa_build/pango/CMakeLists.txt 2014-02-08 19:09:26 UTC (rev 12984)
+++ trunk/cmake/epa_build/pango/CMakeLists.txt 2014-02-08 19:43:20 UTC (rev 12985)
Property changes on: trunk/cmake/epa_build/pango/CMakeLists.txt
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Index: trunk/cmake/epa_build/pixman/CMakeLists.txt
===================================================================
--- trunk/cmake/epa_build/pixman/CMakeLists.txt 2014-02-08 19:09:26 UTC (rev 12984)
+++ trunk/cmake/epa_build/pixman/CMakeLists.txt 2014-02-08 19:43:20 UTC (rev 12985)
Property changes on: trunk/cmake/epa_build/pixman/CMakeLists.txt
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Index: trunk/cmake/epa_build/pkg-config/CMakeLists.txt
===================================================================
--- trunk/cmake/epa_build/pkg-config/CMakeLists.txt 2014-02-08 19:09:26 UTC (rev 12984)
+++ trunk/cmake/epa_build/pkg-config/CMakeLists.txt 2014-02-08 19:43:20 UTC (rev 12985)
Property changes on: trunk/cmake/epa_build/pkg-config/CMakeLists.txt
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Index: trunk/cmake/epa_build/plplot/CMakeLists.txt
===================================================================
--- trunk/cmake/epa_build/plplot/CMakeLists.txt 2014-02-08 19:09:26 UTC (rev 12984)
+++ trunk/cmake/epa_build/plplot/CMakeLists.txt 2014-02-08 19:43:20 UTC (rev 12985)
Property changes on: trunk/cmake/epa_build/plplot/CMakeLists.txt
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Index: trunk/cmake/epa_build/ragel/CMakeLists.txt
===================================================================
--- trunk/cmake/epa_build/ragel/CMakeLists.txt 2014-02-08 19:09:26 UTC (rev 12984)
+++ trunk/cmake/epa_build/ragel/CMakeLists.txt 2014-02-08 19:43:20 UTC (rev 12985)
Property changes on: trunk/cmake/epa_build/ragel/CMakeLists.txt
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Index: trunk/cmake/epa_build/shapelib/CMakeLists.txt
===================================================================
--- trunk/cmake/epa_build/shapelib/CMakeLists.txt 2014-02-08 19:09:26 UTC (rev 12984)
+++ trunk/cmake/epa_build/shapelib/CMakeLists.txt 2014-02-08 19:43:20 UTC (rev 12985)
Property changes on: trunk/cmake/epa_build/shapelib/CMakeLists.txt
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Index: trunk/cmake/epa_build/subversion/CMakeLists.txt
===================================================================
--- trunk/cmake/epa_build/subversion/CMakeLists.txt 2014-02-08 19:09:26 UTC (rev 12984)
+++ trunk/cmake/epa_build/subversion/CMakeLists.txt 2014-02-08 19:43:20 UTC (rev 12985)
Property changes on: trunk/cmake/epa_build/subversion/CMakeLists.txt
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Modified: trunk/cmake/epa_build/swig/CMakeLists.txt
===================================================================
--- trunk/cmake/epa_build/swig/CMakeLists.txt 2014-02-08 19:09:26 UTC (rev 12984)
+++ trunk/cmake/epa_build/swig/CMakeLists.txt 2014-02-08 19:43:20 UTC (rev 12985)
@@ -1,87 +1,87 @@
-# swig/CMakeLists.txt
-
-# Configure the build of swig.
-
-# N.B. this file is generated so if you edit it you will lose all your
-# changes the next time it is generated (typically by running
-# either/both the update_added_packages.sh or update_pango_packages.sh
-# scripts). If those scripts do not provide good results, then
-# consider changing their source files (e.g., by editing the files
-# used in those scripts) or add a patch to be run by those scripts.
-
-# 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
-
-set(PACKAGE swig)
-
-# List of dependencies (most of which are build tools) which should be
-# ignored.
-set(ignored_dependencies_LIST pkg-config;bison;flex;python2-devel;libXft ${extra_ignored_dependencies_list})
-
-set(dependencies_LIST libpcre)
-
-# Do boilerplate tasks that must be done for each different project
-# that is configured as part of epa_build.
-epa_boilerplate(
- ignored_dependencies_LIST
- PACKAGE
- dependencies_LIST
- dependencies_targets
- EPA_PATH
- source_PATH
- )
-
-if(MSYS_PLATFORM)
- # Add two MSYS specific flags to avoid compile errors
- # It is unclear if they have any unexpected effects
- set(CFLAGS "-D__NO_MINGW_LFS -U__STRICT_ANSI__ $ENV{CFLAGS}")
-else(MSYS_PLATFORM)
- set(CFLAGS "$ENV{CFLAGS}")
-endif(MSYS_PLATFORM)
-
-set(CXXFLAGS "$ENV{CXXFLAGS}")
-
-# Drop -fvisibility=hidden since that option does not work for a
-# number of software packages that are configured automatically using
-# this template.
-string(REGEX REPLACE "-fvisibility=hidden" "" CFLAGS "${CFLAGS}")
-string(REGEX REPLACE "-fvisibility=hidden" "" CXXFLAGS "${CXXFLAGS}")
-
-# Data that is related to downloads.
-set(URL http://downloads.sourceforge.net/swig/swig/swig-2.0.11/swig-2.0.11.tar.gz)
-set(DOWNLOAD_HASH_TYPE SHA256)
-set(DOWNLOAD_HASH 63780bf29f53937ad399a1f68bccb3730c90f65746868c4cdfc25cafcd0a424e)
-
-ExternalProject_Add(
- build_${PACKAGE}
- DEPENDS ${dependencies_targets}
- URL ${URL}
- URL_HASH ${DOWNLOAD_HASH_TYPE}=${DOWNLOAD_HASH}
- PATCH_COMMAND ""
- CONFIGURE_COMMAND ${ENV_EXECUTABLE} PATH=${EPA_PATH} "CFLAGS=${CFLAGS}" "CXXFLAGS=${CXXFLAGS}" "LDFLAGS=-Wl,-rpath -Wl,${EPA_CMAKE_INSTALL_PREFIX}/lib" ${source_PATH}/${EPA_CONFIGURE_COMMAND} --with-pcre-prefix=${EPA_CMAKE_INSTALL_PREFIX}
- BUILD_COMMAND ${ENV_EXECUTABLE} PATH=${EPA_PATH} ${EPA_PARALLEL_MAKE_COMMAND}
- BUILD_IN_SOURCE OFF
- INSTALL_COMMAND ${ENV_EXECUTABLE} PATH=${EPA_PATH} ${EPA_PARALLEL_MAKE_COMMAND} install
- )
-
-add_custom_command(
- OUTPUT
- ${EPA_BASE}/Stamp/build_${PACKAGE}/build_${PACKAGE}-patch
- COMMAND ${CMAKE_COMMAND} -E echo
- "Provide swig support for octave-3.8.0"
- COMMAND ${PATCH_EXECUTABLE} --directory=${EPA_BASE}/Source/build_${PACKAGE} -p1 < ${CMAKE_CURRENT_SOURCE_DIR}/octave-3.8.0.patch
- APPEND
- )
+# swig/CMakeLists.txt
+
+# Configure the build of swig.
+
+# N.B. this file is generated so if you edit it you will lose all your
+# changes the next time it is generated (typically by running
+# either/both the update_added_packages.sh or update_pango_packages.sh
+# scripts). If those scripts do not provide good results, then
+# consider changing their source files (e.g., by editing the files
+# used in those scripts) or add a patch to be run by those scripts.
+
+# 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
+
+set(PACKAGE swig)
+
+# List of dependencies (most of which are build tools) which should be
+# ignored.
+set(ignored_dependencies_LIST pkg-config;bison;flex;python2-devel;libXft ${extra_ignored_dependencies_list})
+
+set(dependencies_LIST libpcre)
+
+# Do boilerplate tasks that must be done for each different project
+# that is configured as part of epa_build.
+epa_boilerplate(
+ ignored_dependencies_LIST
+ PACKAGE
+ dependencies_LIST
+ dependencies_targets
+ EPA_PATH
+ source_PATH
+ )
+
+if(MSYS_PLATFORM)
+ # Add two MSYS specific flags to avoid compile errors
+ # It is unclear if they have any unexpected effects
+ set(CFLAGS "-D__NO_MINGW_LFS -U__STRICT_ANSI__ $ENV{CFLAGS}")
+else(MSYS_PLATFORM)
+ set(CFLAGS "$ENV{CFLAGS}")
+endif(MSYS_PLATFORM)
+
+set(CXXFLAGS "$ENV{CXXFLAGS}")
+
+# Drop -fvisibility=hidden since that option does not work for a
+# number of software packages that are configured automatically using
+# this template.
+string(REGEX REPLACE "-fvisibility=hidden" "" CFLAGS "${CFLAGS}")
+string(REGEX REPLAC...
[truncated message content] |
|
From: <ai...@us...> - 2014-02-09 05:21:52
|
Revision: 12987
http://sourceforge.net/p/plplot/code/12987
Author: airwin
Date: 2014-02-09 05:21:49 +0000 (Sun, 09 Feb 2014)
Log Message:
-----------
Set svn:eol-style property to native for all files under version
control in cmake_epa_build directory tree. This only affects a subset
of the files because most of them had this property set already.
Property Changed:
----------------
trunk/cmake/epa_build/ExternalProject.cmake
trunk/cmake/epa_build/README
trunk/cmake/epa_build/README.developers
trunk/cmake/epa_build/ToDo
trunk/cmake/epa_build/add_packages.xml
trunk/cmake/epa_build/configure_epa.cmake
trunk/cmake/epa_build/configured_pango.patch
trunk/cmake/epa_build/download_check.cmake
trunk/cmake/epa_build/epa_CMakeLists.txt.in
trunk/cmake/epa_build/itk/autoreconf.patch
trunk/cmake/epa_build/itk/itk4_case.patch
trunk/cmake/epa_build/itk/itk4_header_list.patch
trunk/cmake/epa_build/itk3/autotools_backport.patch
trunk/cmake/epa_build/itstool/itstool-1.2.0-python-location-fixes.patch
trunk/cmake/epa_build/iwidgets/iwidgets4.1.patch
trunk/cmake/epa_build/iwidgets/iwidgets4_case.patch
trunk/cmake/epa_build/libharu/cmake.patch
trunk/cmake/epa_build/libharu/large_font.patch
trunk/cmake/epa_build/libharu/remove_configured.patch
trunk/cmake/epa_build/libharu/visibility.patch
trunk/cmake/epa_build/ndiff/README.ndiff
trunk/cmake/epa_build/ndiff/config.h.cmake
trunk/cmake/epa_build/patch_gtk_packages.xml
trunk/cmake/epa_build/setup/setup_mingw_makefiles
trunk/cmake/epa_build/setup/setup_mingw_msys_wine_toolchain
trunk/cmake/epa_build/setup/setup_msys_makefiles
trunk/cmake/epa_build/shapelib/README
trunk/cmake/epa_build/swig/octave-3.8.0.patch
trunk/cmake/epa_build/wildcard_remove.cmake
trunk/cmake/epa_build/xmlcatalog-wrapper/filter_arguments.cmake
trunk/cmake/epa_build/xmlcatalog-wrapper/xmlcatalog-wrapper.sh.in
Index: trunk/cmake/epa_build/ExternalProject.cmake
===================================================================
--- trunk/cmake/epa_build/ExternalProject.cmake 2014-02-09 03:12:14 UTC (rev 12986)
+++ trunk/cmake/epa_build/ExternalProject.cmake 2014-02-09 05:21:49 UTC (rev 12987)
Property changes on: trunk/cmake/epa_build/ExternalProject.cmake
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Index: trunk/cmake/epa_build/README
===================================================================
--- trunk/cmake/epa_build/README 2014-02-09 03:12:14 UTC (rev 12986)
+++ trunk/cmake/epa_build/README 2014-02-09 05:21:49 UTC (rev 12987)
Property changes on: trunk/cmake/epa_build/README
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Index: trunk/cmake/epa_build/README.developers
===================================================================
--- trunk/cmake/epa_build/README.developers 2014-02-09 03:12:14 UTC (rev 12986)
+++ trunk/cmake/epa_build/README.developers 2014-02-09 05:21:49 UTC (rev 12987)
Property changes on: trunk/cmake/epa_build/README.developers
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Index: trunk/cmake/epa_build/ToDo
===================================================================
--- trunk/cmake/epa_build/ToDo 2014-02-09 03:12:14 UTC (rev 12986)
+++ trunk/cmake/epa_build/ToDo 2014-02-09 05:21:49 UTC (rev 12987)
Property changes on: trunk/cmake/epa_build/ToDo
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Index: trunk/cmake/epa_build/add_packages.xml
===================================================================
--- trunk/cmake/epa_build/add_packages.xml 2014-02-09 03:12:14 UTC (rev 12986)
+++ trunk/cmake/epa_build/add_packages.xml 2014-02-09 05:21:49 UTC (rev 12987)
Property changes on: trunk/cmake/epa_build/add_packages.xml
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Index: trunk/cmake/epa_build/configure_epa.cmake
===================================================================
--- trunk/cmake/epa_build/configure_epa.cmake 2014-02-09 03:12:14 UTC (rev 12986)
+++ trunk/cmake/epa_build/configure_epa.cmake 2014-02-09 05:21:49 UTC (rev 12987)
Property changes on: trunk/cmake/epa_build/configure_epa.cmake
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Index: trunk/cmake/epa_build/configured_pango.patch
===================================================================
--- trunk/cmake/epa_build/configured_pango.patch 2014-02-09 03:12:14 UTC (rev 12986)
+++ trunk/cmake/epa_build/configured_pango.patch 2014-02-09 05:21:49 UTC (rev 12987)
Property changes on: trunk/cmake/epa_build/configured_pango.patch
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Index: trunk/cmake/epa_build/download_check.cmake
===================================================================
--- trunk/cmake/epa_build/download_check.cmake 2014-02-09 03:12:14 UTC (rev 12986)
+++ trunk/cmake/epa_build/download_check.cmake 2014-02-09 05:21:49 UTC (rev 12987)
Property changes on: trunk/cmake/epa_build/download_check.cmake
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Index: trunk/cmake/epa_build/epa_CMakeLists.txt.in
===================================================================
--- trunk/cmake/epa_build/epa_CMakeLists.txt.in 2014-02-09 03:12:14 UTC (rev 12986)
+++ trunk/cmake/epa_build/epa_CMakeLists.txt.in 2014-02-09 05:21:49 UTC (rev 12987)
Property changes on: trunk/cmake/epa_build/epa_CMakeLists.txt.in
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Index: trunk/cmake/epa_build/itk/autoreconf.patch
===================================================================
--- trunk/cmake/epa_build/itk/autoreconf.patch 2014-02-09 03:12:14 UTC (rev 12986)
+++ trunk/cmake/epa_build/itk/autoreconf.patch 2014-02-09 05:21:49 UTC (rev 12987)
Property changes on: trunk/cmake/epa_build/itk/autoreconf.patch
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Index: trunk/cmake/epa_build/itk/itk4_case.patch
===================================================================
--- trunk/cmake/epa_build/itk/itk4_case.patch 2014-02-09 03:12:14 UTC (rev 12986)
+++ trunk/cmake/epa_build/itk/itk4_case.patch 2014-02-09 05:21:49 UTC (rev 12987)
Property changes on: trunk/cmake/epa_build/itk/itk4_case.patch
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Index: trunk/cmake/epa_build/itk/itk4_header_list.patch
===================================================================
--- trunk/cmake/epa_build/itk/itk4_header_list.patch 2014-02-09 03:12:14 UTC (rev 12986)
+++ trunk/cmake/epa_build/itk/itk4_header_list.patch 2014-02-09 05:21:49 UTC (rev 12987)
Property changes on: trunk/cmake/epa_build/itk/itk4_header_list.patch
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Index: trunk/cmake/epa_build/itk3/autotools_backport.patch
===================================================================
--- trunk/cmake/epa_build/itk3/autotools_backport.patch 2014-02-09 03:12:14 UTC (rev 12986)
+++ trunk/cmake/epa_build/itk3/autotools_backport.patch 2014-02-09 05:21:49 UTC (rev 12987)
Property changes on: trunk/cmake/epa_build/itk3/autotools_backport.patch
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Index: trunk/cmake/epa_build/itstool/itstool-1.2.0-python-location-fixes.patch
===================================================================
--- trunk/cmake/epa_build/itstool/itstool-1.2.0-python-location-fixes.patch 2014-02-09 03:12:14 UTC (rev 12986)
+++ trunk/cmake/epa_build/itstool/itstool-1.2.0-python-location-fixes.patch 2014-02-09 05:21:49 UTC (rev 12987)
Property changes on: trunk/cmake/epa_build/itstool/itstool-1.2.0-python-location-fixes.patch
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Index: trunk/cmake/epa_build/iwidgets/iwidgets4.1.patch
===================================================================
--- trunk/cmake/epa_build/iwidgets/iwidgets4.1.patch 2014-02-09 03:12:14 UTC (rev 12986)
+++ trunk/cmake/epa_build/iwidgets/iwidgets4.1.patch 2014-02-09 05:21:49 UTC (rev 12987)
Property changes on: trunk/cmake/epa_build/iwidgets/iwidgets4.1.patch
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Index: trunk/cmake/epa_build/iwidgets/iwidgets4_case.patch
===================================================================
--- trunk/cmake/epa_build/iwidgets/iwidgets4_case.patch 2014-02-09 03:12:14 UTC (rev 12986)
+++ trunk/cmake/epa_build/iwidgets/iwidgets4_case.patch 2014-02-09 05:21:49 UTC (rev 12987)
Property changes on: trunk/cmake/epa_build/iwidgets/iwidgets4_case.patch
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Index: trunk/cmake/epa_build/libharu/cmake.patch
===================================================================
--- trunk/cmake/epa_build/libharu/cmake.patch 2014-02-09 03:12:14 UTC (rev 12986)
+++ trunk/cmake/epa_build/libharu/cmake.patch 2014-02-09 05:21:49 UTC (rev 12987)
Property changes on: trunk/cmake/epa_build/libharu/cmake.patch
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Index: trunk/cmake/epa_build/libharu/large_font.patch
===================================================================
--- trunk/cmake/epa_build/libharu/large_font.patch 2014-02-09 03:12:14 UTC (rev 12986)
+++ trunk/cmake/epa_build/libharu/large_font.patch 2014-02-09 05:21:49 UTC (rev 12987)
Property changes on: trunk/cmake/epa_build/libharu/large_font.patch
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Index: trunk/cmake/epa_build/libharu/remove_configured.patch
===================================================================
--- trunk/cmake/epa_build/libharu/remove_configured.patch 2014-02-09 03:12:14 UTC (rev 12986)
+++ trunk/cmake/epa_build/libharu/remove_configured.patch 2014-02-09 05:21:49 UTC (rev 12987)
Property changes on: trunk/cmake/epa_build/libharu/remove_configured.patch
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Index: trunk/cmake/epa_build/libharu/visibility.patch
===================================================================
--- trunk/cmake/epa_build/libharu/visibility.patch 2014-02-09 03:12:14 UTC (rev 12986)
+++ trunk/cmake/epa_build/libharu/visibility.patch 2014-02-09 05:21:49 UTC (rev 12987)
Property changes on: trunk/cmake/epa_build/libharu/visibility.patch
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Index: trunk/cmake/epa_build/ndiff/README.ndiff
===================================================================
--- trunk/cmake/epa_build/ndiff/README.ndiff 2014-02-09 03:12:14 UTC (rev 12986)
+++ trunk/cmake/epa_build/ndiff/README.ndiff 2014-02-09 05:21:49 UTC (rev 12987)
Property changes on: trunk/cmake/epa_build/ndiff/README.ndiff
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Index: trunk/cmake/epa_build/ndiff/config.h.cmake
===================================================================
--- trunk/cmake/epa_build/ndiff/config.h.cmake 2014-02-09 03:12:14 UTC (rev 12986)
+++ trunk/cmake/epa_build/ndiff/config.h.cmake 2014-02-09 05:21:49 UTC (rev 12987)
Property changes on: trunk/cmake/epa_build/ndiff/config.h.cmake
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Index: trunk/cmake/epa_build/patch_gtk_packages.xml
===================================================================
--- trunk/cmake/epa_build/patch_gtk_packages.xml 2014-02-09 03:12:14 UTC (rev 12986)
+++ trunk/cmake/epa_build/patch_gtk_packages.xml 2014-02-09 05:21:49 UTC (rev 12987)
Property changes on: trunk/cmake/epa_build/patch_gtk_packages.xml
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Index: trunk/cmake/epa_build/setup/setup_mingw_makefiles
===================================================================
--- trunk/cmake/epa_build/setup/setup_mingw_makefiles 2014-02-09 03:12:14 UTC (rev 12986)
+++ trunk/cmake/epa_build/setup/setup_mingw_makefiles 2014-02-09 05:21:49 UTC (rev 12987)
Property changes on: trunk/cmake/epa_build/setup/setup_mingw_makefiles
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Index: trunk/cmake/epa_build/setup/setup_mingw_msys_wine_toolchain
===================================================================
--- trunk/cmake/epa_build/setup/setup_mingw_msys_wine_toolchain 2014-02-09 03:12:14 UTC (rev 12986)
+++ trunk/cmake/epa_build/setup/setup_mingw_msys_wine_toolchain 2014-02-09 05:21:49 UTC (rev 12987)
Property changes on: trunk/cmake/epa_build/setup/setup_mingw_msys_wine_toolchain
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Index: trunk/cmake/epa_build/setup/setup_msys_makefiles
===================================================================
--- trunk/cmake/epa_build/setup/setup_msys_makefiles 2014-02-09 03:12:14 UTC (rev 12986)
+++ trunk/cmake/epa_build/setup/setup_msys_makefiles 2014-02-09 05:21:49 UTC (rev 12987)
Property changes on: trunk/cmake/epa_build/setup/setup_msys_makefiles
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Index: trunk/cmake/epa_build/shapelib/README
===================================================================
--- trunk/cmake/epa_build/shapelib/README 2014-02-09 03:12:14 UTC (rev 12986)
+++ trunk/cmake/epa_build/shapelib/README 2014-02-09 05:21:49 UTC (rev 12987)
Property changes on: trunk/cmake/epa_build/shapelib/README
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Index: trunk/cmake/epa_build/swig/octave-3.8.0.patch
===================================================================
--- trunk/cmake/epa_build/swig/octave-3.8.0.patch 2014-02-09 03:12:14 UTC (rev 12986)
+++ trunk/cmake/epa_build/swig/octave-3.8.0.patch 2014-02-09 05:21:49 UTC (rev 12987)
Property changes on: trunk/cmake/epa_build/swig/octave-3.8.0.patch
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Index: trunk/cmake/epa_build/wildcard_remove.cmake
===================================================================
--- trunk/cmake/epa_build/wildcard_remove.cmake 2014-02-09 03:12:14 UTC (rev 12986)
+++ trunk/cmake/epa_build/wildcard_remove.cmake 2014-02-09 05:21:49 UTC (rev 12987)
Property changes on: trunk/cmake/epa_build/wildcard_remove.cmake
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Index: trunk/cmake/epa_build/xmlcatalog-wrapper/filter_arguments.cmake
===================================================================
--- trunk/cmake/epa_build/xmlcatalog-wrapper/filter_arguments.cmake 2014-02-09 03:12:14 UTC (rev 12986)
+++ trunk/cmake/epa_build/xmlcatalog-wrapper/filter_arguments.cmake 2014-02-09 05:21:49 UTC (rev 12987)
Property changes on: trunk/cmake/epa_build/xmlcatalog-wrapper/filter_arguments.cmake
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Index: trunk/cmake/epa_build/xmlcatalog-wrapper/xmlcatalog-wrapper.sh.in
===================================================================
--- trunk/cmake/epa_build/xmlcatalog-wrapper/xmlcatalog-wrapper.sh.in 2014-02-09 03:12:14 UTC (rev 12986)
+++ trunk/cmake/epa_build/xmlcatalog-wrapper/xmlcatalog-wrapper.sh.in 2014-02-09 05:21:49 UTC (rev 12987)
Property changes on: trunk/cmake/epa_build/xmlcatalog-wrapper/xmlcatalog-wrapper.sh.in
___________________________________________________________________
Deleted: svn:eol
## -1 +0,0 ##
-native
\ No newline at end of property
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <ai...@us...> - 2014-02-10 21:19:50
|
Revision: 12992
http://sourceforge.net/p/plplot/code/12992
Author: airwin
Date: 2014-02-10 21:19:43 +0000 (Mon, 10 Feb 2014)
Log Message:
-----------
Replace ENABLE_COMPREHENSIVE_PLPLOT_TEST option with the
COMPREHENSIVE_PLPLOT_TEST_INTERACTIVE and
COMPREHENSIVE_PLPLOT_TEST_NONINTERACTIVE options.
This allows much more convenient testing where you split
off the comprehensive interactive tests (which require
hands-on interaction from the user) with the comprehensive
noninteractive tests which can be run as a background job
with no interaction required from the user.
Modified Paths:
--------------
trunk/cmake/epa_build/CMakeLists.txt
trunk/cmake/epa_build/plplot/CMakeLists.txt
trunk/cmake/epa_build/plplot_lite/CMakeLists.txt
Modified: trunk/cmake/epa_build/CMakeLists.txt
===================================================================
--- trunk/cmake/epa_build/CMakeLists.txt 2014-02-10 21:15:26 UTC (rev 12991)
+++ trunk/cmake/epa_build/CMakeLists.txt 2014-02-10 21:19:43 UTC (rev 12992)
@@ -307,13 +307,16 @@
list(APPEND EPA_MAKE_COMMAND V=1)
endif(CMAKE_VERBOSE_MAKEFILE)
-# This option runs the PLplot comprehensive test script for
-# the exact same build environment (i.e., cmake options, environment
-# variables, buildtools that have been built, and dependencies that
-# have been built) as used for the epa_build of plplot and
-# plplot_lite.
-option(ENABLE_COMPREHENSIVE_PLPLOT_TEST "Use comprehensive test for PLplot (which requires substantial CPU time and ~4GB of disk space)" OFF)
+# These options run the PLplot comprehensive test script (for
+# either/both the noninteractive and interactive subsets of the tests)
+# for the exact same build environment (i.e., cmake options,
+# environment variables, buildtools that have been built, and
+# dependencies that have been built) as used for the epa_build of
+# plplot and plplot_lite.
+option(COMPREHENSIVE_PLPLOT_TEST_NONINTERACTIVE "Use comprehensive noninteractive test for PLplot (which requires no interaction by the user but does require substantial CPU time and ~4GB of disk space)" OFF)
+option(COMPREHENSIVE_PLPLOT_TEST_INTERACTIVE "Use comprehensive interactive test for PLplot (which requires interaction by the user to click through some of the tests)" OFF)
+
# The parallel versions are for software packages that
# do not have race conditions for parallel builds or tests.
Modified: trunk/cmake/epa_build/plplot/CMakeLists.txt
===================================================================
--- trunk/cmake/epa_build/plplot/CMakeLists.txt 2014-02-10 21:15:26 UTC (rev 12991)
+++ trunk/cmake/epa_build/plplot/CMakeLists.txt 2014-02-10 21:19:43 UTC (rev 12992)
@@ -95,33 +95,37 @@
STEP_TARGETS configure build install test
)
-if(ENABLE_COMPREHENSIVE_PLPLOT_TEST)
+if(COMPREHENSIVE_PLPLOT_TEST_INTERACTIVE OR COMPREHENSIVE_PLPLOT_TEST_NONINTERACTIVE)
string(REGEX REPLACE ";" " " blank_delimited_cmake_args "${cmake_args}")
- file(WRITE ${CMAKE_CURRENT_BINARY_DIR}/interactive_comprehensive_test.sh
- "echo yes | ${EPA_BASE}/Source/build_${PACKAGE}/scripts/comprehensive_test.sh --generator_string \"${CMAKE_GENERATOR}\" --cmake_added_options \"${blank_delimited_cmake_args}\" --build_command \"${EPA_BUILD_COMMAND} -j${NUMBER_PARALLEL_JOBS}\" --ctest_command \"${CMAKE_CTEST_COMMAND} -j${NUMBER_PARALLEL_JOBS} --timeout 15000 \" --do_ctest no --do_test_noninteractive no"
- )
+ if(COMPREHENSIVE_PLPLOT_TEST_INTERACTIVE)
+ file(WRITE ${CMAKE_CURRENT_BINARY_DIR}/interactive_comprehensive_test.sh
+ "echo yes | ${EPA_BASE}/Source/build_${PACKAGE}/scripts/comprehensive_test.sh --generator_string \"${CMAKE_GENERATOR}\" --cmake_added_options \"${blank_delimited_cmake_args}\" --build_command \"${EPA_BUILD_COMMAND} -j${NUMBER_PARALLEL_JOBS}\" --ctest_command \"${CMAKE_CTEST_COMMAND} -j${NUMBER_PARALLEL_JOBS} --timeout 15000 \" --do_ctest no --do_test_noninteractive no"
+ )
- file(WRITE ${CMAKE_CURRENT_BINARY_DIR}/noninteractive_comprehensive_test.sh
- "echo yes | ${EPA_BASE}/Source/build_${PACKAGE}/scripts/comprehensive_test.sh --generator_string \"${CMAKE_GENERATOR}\" --cmake_added_options \"${blank_delimited_cmake_args}\" --build_command \"${EPA_BUILD_COMMAND} -j${NUMBER_PARALLEL_JOBS}\" --ctest_command \"${CMAKE_CTEST_COMMAND} -j${NUMBER_PARALLEL_JOBS} --timeout 15000 \" --do_test_interactive no"
- )
+ add_custom_command(
+ OUTPUT
+ ${EPA_BASE}/Stamp/build_${PACKAGE}/build_${PACKAGE}-test
+ COMMAND ${CMAKE_COMMAND} -E echo "comprehensive interactive tests"
+ COMMAND ${ENV_EXECUTABLE} PATH=${EPA_PATH} ${BASH_EXECUTABLE} ${CMAKE_CURRENT_BINARY_DIR}/interactive_comprehensive_test.sh
+ APPEND
+ )
+ endif(COMPREHENSIVE_PLPLOT_TEST_INTERACTIVE)
- add_custom_command(
- OUTPUT
- ${EPA_BASE}/Stamp/build_${PACKAGE}/build_${PACKAGE}-test
- COMMAND ${CMAKE_COMMAND} -E echo "comprehensive interactive tests"
- COMMAND ${ENV_EXECUTABLE} PATH=${EPA_PATH} ${BASH_EXECUTABLE} ${CMAKE_CURRENT_BINARY_DIR}/interactive_comprehensive_test.sh
- APPEND
- )
+ if(COMPREHENSIVE_PLPLOT_TEST_NONINTERACTIVE)
+ file(WRITE ${CMAKE_CURRENT_BINARY_DIR}/noninteractive_comprehensive_test.sh
+ "echo yes | ${EPA_BASE}/Source/build_${PACKAGE}/scripts/comprehensive_test.sh --generator_string \"${CMAKE_GENERATOR}\" --cmake_added_options \"${blank_delimited_cmake_args}\" --build_command \"${EPA_BUILD_COMMAND} -j${NUMBER_PARALLEL_JOBS}\" --ctest_command \"${CMAKE_CTEST_COMMAND} -j${NUMBER_PARALLEL_JOBS} --timeout 15000 \" --do_test_interactive no"
+ )
- add_custom_command(
- OUTPUT
- ${EPA_BASE}/Stamp/build_${PACKAGE}/build_${PACKAGE}-test
- COMMAND ${CMAKE_COMMAND} -E echo "comprehensive noninteractive tests"
- COMMAND ${ENV_EXECUTABLE} PATH=${EPA_PATH} ${BASH_EXECUTABLE} ${CMAKE_CURRENT_BINARY_DIR}/noninteractive_comprehensive_test.sh
- APPEND
- )
-else(ENABLE_COMPREHENSIVE_PLPLOT_TEST)
+ add_custom_command(
+ OUTPUT
+ ${EPA_BASE}/Stamp/build_${PACKAGE}/build_${PACKAGE}-test
+ COMMAND ${CMAKE_COMMAND} -E echo "comprehensive noninteractive tests"
+ COMMAND ${ENV_EXECUTABLE} PATH=${EPA_PATH} ${BASH_EXECUTABLE} ${CMAKE_CURRENT_BINARY_DIR}/noninteractive_comprehensive_test.sh
+ APPEND
+ )
+ endif(COMPREHENSIVE_PLPLOT_TEST_NONINTERACTIVE)
+else(COMPREHENSIVE_PLPLOT_TEST_INTERACTIVE OR COMPREHENSIVE_PLPLOT_TEST_NONINTERACTIVE)
# If ENABLE_COMPREHENSIVE_PLPLOT_TEST is not true, then just
# configure a pure default case and build and install it.
@@ -150,4 +154,4 @@
APPEND
)
-endif(ENABLE_COMPREHENSIVE_PLPLOT_TEST)
+endif(COMPREHENSIVE_PLPLOT_TEST_INTERACTIVE OR COMPREHENSIVE_PLPLOT_TEST_NONINTERACTIVE)
Modified: trunk/cmake/epa_build/plplot_lite/CMakeLists.txt
===================================================================
--- trunk/cmake/epa_build/plplot_lite/CMakeLists.txt 2014-02-10 21:15:26 UTC (rev 12991)
+++ trunk/cmake/epa_build/plplot_lite/CMakeLists.txt 2014-02-10 21:19:43 UTC (rev 12992)
@@ -69,7 +69,7 @@
find_file(IS_PLPLOT_SOURCE_TREE plcore.c
HINTS ${PLPLOT_LOCAL_SOURCE_DIR}/src
NO_DEFAULT_PATH
-)
+ )
if(NOT IS_PLPLOT_SOURCE_TREE)
message(FATAL_ERROR "epa_build not located in cmake/epa_build in a PLplot source tree")
@@ -94,33 +94,37 @@
STEP_TARGETS configure build install test
)
-if(ENABLE_COMPREHENSIVE_PLPLOT_TEST)
+if(COMPREHENSIVE_PLPLOT_TEST_INTERACTIVE OR COMPREHENSIVE_PLPLOT_TEST_NONINTERACTIVE)
string(REGEX REPLACE ";" " " blank_delimited_cmake_args "${cmake_args}")
- file(WRITE ${CMAKE_CURRENT_BINARY_DIR}/interactive_comprehensive_test.sh
- "echo yes | ${EPA_BASE}/Source/build_${PACKAGE}/scripts/comprehensive_test.sh --generator_string \"${CMAKE_GENERATOR}\" --cmake_added_options \"${blank_delimited_cmake_args}\" --build_command \"${EPA_BUILD_COMMAND} -j${NUMBER_PARALLEL_JOBS}\" --ctest_command \"${CMAKE_CTEST_COMMAND} -j${NUMBER_PARALLEL_JOBS} --timeout 15000 \" --do_ctest no --do_test_noninteractive no"
- )
+ if(COMPREHENSIVE_PLPLOT_TEST_INTERACTIVE)
+ file(WRITE ${CMAKE_CURRENT_BINARY_DIR}/interactive_comprehensive_test.sh
+ "echo yes | ${EPA_BASE}/Source/build_${PACKAGE}/scripts/comprehensive_test.sh --generator_string \"${CMAKE_GENERATOR}\" --cmake_added_options \"${blank_delimited_cmake_args}\" --build_command \"${EPA_BUILD_COMMAND} -j${NUMBER_PARALLEL_JOBS}\" --ctest_command \"${CMAKE_CTEST_COMMAND} -j${NUMBER_PARALLEL_JOBS} --timeout 15000 \" --do_ctest no --do_test_noninteractive no"
+ )
- file(WRITE ${CMAKE_CURRENT_BINARY_DIR}/noninteractive_comprehensive_test.sh
- "echo yes | ${EPA_BASE}/Source/build_${PACKAGE}/scripts/comprehensive_test.sh --generator_string \"${CMAKE_GENERATOR}\" --cmake_added_options \"${blank_delimited_cmake_args}\" --build_command \"${EPA_BUILD_COMMAND} -j${NUMBER_PARALLEL_JOBS}\" --ctest_command \"${CMAKE_CTEST_COMMAND} -j${NUMBER_PARALLEL_JOBS} --timeout 15000 \" --do_test_interactive no"
- )
+ add_custom_command(
+ OUTPUT
+ ${EPA_BASE}/Stamp/build_${PACKAGE}/build_${PACKAGE}-test
+ COMMAND ${CMAKE_COMMAND} -E echo "comprehensive interactive tests"
+ COMMAND ${ENV_EXECUTABLE} PATH=${EPA_PATH} ${BASH_EXECUTABLE} ${CMAKE_CURRENT_BINARY_DIR}/interactive_comprehensive_test.sh
+ APPEND
+ )
+ endif(COMPREHENSIVE_PLPLOT_TEST_INTERACTIVE)
- add_custom_command(
- OUTPUT
- ${EPA_BASE}/Stamp/build_${PACKAGE}/build_${PACKAGE}-test
- COMMAND ${CMAKE_COMMAND} -E echo "comprehensive interactive tests"
- COMMAND ${ENV_EXECUTABLE} PATH=${EPA_PATH} ${BASH_EXECUTABLE} ${CMAKE_CURRENT_BINARY_DIR}/interactive_comprehensive_test.sh
- APPEND
- )
+ if(COMPREHENSIVE_PLPLOT_TEST_NONINTERACTIVE)
+ file(WRITE ${CMAKE_CURRENT_BINARY_DIR}/noninteractive_comprehensive_test.sh
+ "echo yes | ${EPA_BASE}/Source/build_${PACKAGE}/scripts/comprehensive_test.sh --generator_string \"${CMAKE_GENERATOR}\" --cmake_added_options \"${blank_delimited_cmake_args}\" --build_command \"${EPA_BUILD_COMMAND} -j${NUMBER_PARALLEL_JOBS}\" --ctest_command \"${CMAKE_CTEST_COMMAND} -j${NUMBER_PARALLEL_JOBS} --timeout 15000 \" --do_test_interactive no"
+ )
- add_custom_command(
- OUTPUT
- ${EPA_BASE}/Stamp/build_${PACKAGE}/build_${PACKAGE}-test
- COMMAND ${CMAKE_COMMAND} -E echo "comprehensive noninteractive tests"
- COMMAND ${ENV_EXECUTABLE} PATH=${EPA_PATH} ${BASH_EXECUTABLE} ${CMAKE_CURRENT_BINARY_DIR}/noninteractive_comprehensive_test.sh
- APPEND
- )
-else(ENABLE_COMPREHENSIVE_PLPLOT_TEST)
+ add_custom_command(
+ OUTPUT
+ ${EPA_BASE}/Stamp/build_${PACKAGE}/build_${PACKAGE}-test
+ COMMAND ${CMAKE_COMMAND} -E echo "comprehensive noninteractive tests"
+ COMMAND ${ENV_EXECUTABLE} PATH=${EPA_PATH} ${BASH_EXECUTABLE} ${CMAKE_CURRENT_BINARY_DIR}/noninteractive_comprehensive_test.sh
+ APPEND
+ )
+ endif(COMPREHENSIVE_PLPLOT_TEST_NONINTERACTIVE)
+else(COMPREHENSIVE_PLPLOT_TEST_INTERACTIVE OR COMPREHENSIVE_PLPLOT_TEST_NONINTERACTIVE)
# If ENABLE_COMPREHENSIVE_PLPLOT_TEST is not true, then just
# configure a pure default case and build and install it.
@@ -149,4 +153,4 @@
APPEND
)
-endif(ENABLE_COMPREHENSIVE_PLPLOT_TEST)
+endif(COMPREHENSIVE_PLPLOT_TEST_INTERACTIVE OR COMPREHENSIVE_PLPLOT_TEST_NONINTERACTIVE)
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|