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_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 This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
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 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. Deleted: trunk/cmake/epa_build/iwidgets/CMakeLists.txt =================================================================== --- trunk/cmake/epa_build/iwidgets/CMakeLists.txt 2013-12-01 08:27:41 UTC (rev 12792) +++ trunk/cmake/epa_build/iwidgets/CMakeLists.txt 2013-12-01 22:58:49 UTC (rev 12793) @@ -1,149 +0,0 @@ -# Top-level CMakeLists.txt for the CMake-based build and test system -# of the iwidgets 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 - -# The traditional autoconf build of iwidgets that was created in 2002 -# or earlier is completely broken and difficult to understand because -# lots of the install is done in a low-level way. -# Therefore, this is an attempt to replace that build system with a -# rational CMake-based build system that actually works. - -# N.B. This "build" system only installs files so -# no compiler is required for this project -project(iwidgets NONE) - -message(STATUS "CMake version = ${CMAKE_VERSION}") -message(STATUS "CMAKE_SYSTEM = ${CMAKE_SYSTEM}") -message(STATUS "CMAKE_GENERATOR = ${CMAKE_GENERATOR}") -message(STATUS "CMAKE_INSTALL_PREFIX = ${CMAKE_INSTALL_PREFIX}") - -cmake_minimum_required(VERSION 2.8.11.2 FATAL_ERROR) - -option(BUILD_IWIDGETS_4.1 "Build iwidgets 4.1" OFF) - -if(BUILD_IWIDGETS_4.1) - # install iwidgets 4.1 that is associated with version 4 of itcl and itk. - # Note the only difference between iwidgets 4.1 and 4.0 source code - # is a small patch. We assume that patch has been applied for this case. - set(ITCL_VERSION 4.0) - set(VERSION 4.1.0) -else(BUILD_IWIDGETS_4.1) - # install iwidgets 4.0 that is associated with version 3 of itcl and itk. - set(ITCL_VERSION 3.2) - set(VERSION 4.0.1) -endif(BUILD_IWIDGETS_4.1) - -set(PACKAGE iwidgets${VERSION}) - -# Set up install locations. -set( - CMAKE_INSTALL_SCRIPTS_DIR - ${CMAKE_INSTALL_PREFIX}/lib/${PACKAGE} - CACHE PATH "install location for iwidgets scripts." - ) - -set( - CMAKE_INSTALL_DOC_DIR - ${CMAKE_INSTALL_PREFIX}/share/doc/${PACKAGE} - CACHE PATH "install location for iwidgets scripts." - ) - -set( - CMAKE_INSTALL_MAN_DIR - ${CMAKE_INSTALL_PREFIX}/share/man - CACHE PATH "install location for man documentation" - ) - -# Install configured iwidgets.tcl and pkgIndex.tcl. -configure_file(iwidgets.tcl.in iwidgets.tcl @ONLY) -configure_file(pkgIndex.tcl.in pkgIndex.tcl @ONLY) -install( - FILES - ${CMAKE_CURRENT_BINARY_DIR}/iwidgets.tcl - ${CMAKE_CURRENT_BINARY_DIR}/pkgIndex.tcl - DESTINATION ${CMAKE_INSTALL_SCRIPTS_DIR} - ) - -# Install selected files from the generic subdirectory. - -file(GLOB generic_FILE_LIST RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} generic/*.itk generic/*.itcl generic/tclIndex generic/*.gif) -install( - FILES - ${generic_FILE_LIST} - DESTINATION ${CMAKE_INSTALL_SCRIPTS_DIR}/scripts - ) - -# Install some individual files to the documentation directory. -install( - FILES - CHANGES ChangeLog README license.terms - DESTINATION ${CMAKE_INSTALL_DOC_DIR} - ) - - -# Install demos, demos/images, and demos/html. - -file(GLOB demos_FILE_LIST RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} demos/*) -list(REMOVE_ITEM demos_FILE_LIST demos/images demos/html) -install( - FILES - ${demos_FILE_LIST} - DESTINATION ${CMAKE_INSTALL_DOC_DIR}/demos - ) - -file(GLOB demos_images_FILE_LIST RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} demos/images/*) -install( - FILES - ${demos_images_FILE_LIST} - DESTINATION ${CMAKE_INSTALL_DOC_DIR}/demos/images - ) -file(GLOB demos_html_FILE_LIST RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} demos/html/*) -install( - FILES - ${demos_html_FILE_LIST} - DESTINATION ${CMAKE_INSTALL_DOC_DIR}/demos/html - ) - -# Install transformed man pages using "iwidgets_" filename suffix. -# (All these changes copied exactly from the traditional build system -# except that I use default 644 permissions [which is consistent -# with the permissions of Debian man pages].) - -file(MAKE_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/doc) - -find_program(SED_EXECUTABLE sed) -if(NOT SED_EXECUTABLE) - message(FATAL_ERROR "sed required for build but not found") -endif(NOT SED_EXECUTABLE) - -file(GLOB man_FILE_LIST RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} doc/*.n) -foreach(manpage ${man_FILE_LIST}) - string(REGEX REPLACE "^doc/" "doc/iwidgets_" processed_manpage ${manpage}) - execute_process( - COMMAND - ${SED_EXECUTABLE} -e "/man\\.macros/r ${CMAKE_CURRENT_SOURCE_DIR}/doc/man.macros" -e "/man\\.macros/d" - INPUT_FILE ${CMAKE_CURRENT_SOURCE_DIR}/${manpage} - OUTPUT_FILE ${CMAKE_CURRENT_BINARY_DIR}/${processed_manpage} - ) -endforeach(manpage ${man_FILE_LIST}) - -file(GLOB man_FILE_LIST ${CMAKE_CURRENT_BINARY_DIR}/doc/*.n) -install( - FILES - ${man_FILE_LIST} - DESTINATION ${CMAKE_INSTALL_MAN_DIR}/mann - ) Modified: trunk/cmake/epa_build/iwidgets/bp.cmake =================================================================== --- trunk/cmake/epa_build/iwidgets/bp.cmake 2013-12-01 08:27:41 UTC (rev 12792) +++ trunk/cmake/epa_build/iwidgets/bp.cmake 2013-12-01 22:58:49 UTC (rev 12793) @@ -132,7 +132,7 @@ ${EP_BASE}/Stamp/build_${BP_PACKAGE}${tag}/build_${BP_PACKAGE}${tag}-patch COMMAND echo "Add CMake-based build system" COMMAND ${CMAKE_COMMAND} -E copy_if_different - ${CMAKE_SOURCE_DIR}/${BP_PACKAGE}/CMakeLists.txt + ${CMAKE_SOURCE_DIR}/${BP_PACKAGE}/${BP_PACKAGE}_CMakeLists.txt ${EP_BASE}/Source/build_${BP_PACKAGE}${tag}/CMakeLists.txt APPEND ) Copied: trunk/cmake/epa_build/iwidgets/iwidgets_CMakeLists.txt (from rev 12783, trunk/cmake/epa_build/iwidgets/CMakeLists.txt) =================================================================== --- trunk/cmake/epa_build/iwidgets/iwidgets_CMakeLists.txt (rev 0) +++ trunk/cmake/epa_build/iwidgets/iwidgets_CMakeLists.txt 2013-12-01 22:58:49 UTC (rev 12793) @@ -0,0 +1,149 @@ +# Top-level CMakeLists.txt for the CMake-based build and test system +# of the iwidgets 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 + +# The traditional autoconf build of iwidgets that was created in 2002 +# or earlier is completely broken and difficult to understand because +# lots of the install is done in a low-level way. +# Therefore, this is an attempt to replace that build system with a +# rational CMake-based build system that actually works. + +# N.B. This "build" system only installs files so +# no compiler is required for this project +project(iwidgets NONE) + +message(STATUS "CMake version = ${CMAKE_VERSION}") +message(STATUS "CMAKE_SYSTEM = ${CMAKE_SYSTEM}") +message(STATUS "CMAKE_GENERATOR = ${CMAKE_GENERATOR}") +message(STATUS "CMAKE_INSTALL_PREFIX = ${CMAKE_INSTALL_PREFIX}") + +cmake_minimum_required(VERSION 2.8.11.2 FATAL_ERROR) + +option(BUILD_IWIDGETS_4.1 "Build iwidgets 4.1" OFF) + +if(BUILD_IWIDGETS_4.1) + # install iwidgets 4.1 that is associated with version 4 of itcl and itk. + # Note the only difference between iwidgets 4.1 and 4.0 source code + # is a small patch. We assume that patch has been applied for this case. + set(ITCL_VERSION 4.0) + set(VERSION 4.1.0) +else(BUILD_IWIDGETS_4.1) + # install iwidgets 4.0 that is associated with version 3 of itcl and itk. + set(ITCL_VERSION 3.2) + set(VERSION 4.0.1) +endif(BUILD_IWIDGETS_4.1) + +set(PACKAGE iwidgets${VERSION}) + +# Set up install locations. +set( + CMAKE_INSTALL_SCRIPTS_DIR + ${CMAKE_INSTALL_PREFIX}/lib/${PACKAGE} + CACHE PATH "install location for iwidgets scripts." + ) + +set( + CMAKE_INSTALL_DOC_DIR + ${CMAKE_INSTALL_PREFIX}/share/doc/${PACKAGE} + CACHE PATH "install location for iwidgets scripts." + ) + +set( + CMAKE_INSTALL_MAN_DIR + ${CMAKE_INSTALL_PREFIX}/share/man + CACHE PATH "install location for man documentation" + ) + +# Install configured iwidgets.tcl and pkgIndex.tcl. +configure_file(iwidgets.tcl.in iwidgets.tcl @ONLY) +configure_file(pkgIndex.tcl.in pkgIndex.tcl @ONLY) +install( + FILES + ${CMAKE_CURRENT_BINARY_DIR}/iwidgets.tcl + ${CMAKE_CURRENT_BINARY_DIR}/pkgIndex.tcl + DESTINATION ${CMAKE_INSTALL_SCRIPTS_DIR} + ) + +# Install selected files from the generic subdirectory. + +file(GLOB generic_FILE_LIST RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} generic/*.itk generic/*.itcl generic/tclIndex generic/*.gif) +install( + FILES + ${generic_FILE_LIST} + DESTINATION ${CMAKE_INSTALL_SCRIPTS_DIR}/scripts + ) + +# Install some individual files to the documentation directory. +install( + FILES + CHANGES ChangeLog README license.terms + DESTINATION ${CMAKE_INSTALL_DOC_DIR} + ) + + +# Install demos, demos/images, and demos/html. + +file(GLOB demos_FILE_LIST RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} demos/*) +list(REMOVE_ITEM demos_FILE_LIST demos/images demos/html) +install( + FILES + ${demos_FILE_LIST} + DESTINATION ${CMAKE_INSTALL_DOC_DIR}/demos + ) + +file(GLOB demos_images_FILE_LIST RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} demos/images/*) +install( + FILES + ${demos_images_FILE_LIST} + DESTINATION ${CMAKE_INSTALL_DOC_DIR}/demos/images + ) +file(GLOB demos_html_FILE_LIST RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} demos/html/*) +install( + FILES + ${demos_html_FILE_LIST} + DESTINATION ${CMAKE_INSTALL_DOC_DIR}/demos/html + ) + +# Install transformed man pages using "iwidgets_" filename suffix. +# (All these changes copied exactly from the traditional build system +# except that I use default 644 permissions [which is consistent +# with the permissions of Debian man pages].) + +file(MAKE_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/doc) + +find_program(SED_EXECUTABLE sed) +if(NOT SED_EXECUTABLE) + message(FATAL_ERROR "sed required for build but not found") +endif(NOT SED_EXECUTABLE) + +file(GLOB man_FILE_LIST RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} doc/*.n) +foreach(manpage ${man_FILE_LIST}) + string(REGEX REPLACE "^doc/" "doc/iwidgets_" processed_manpage ${manpage}) + execute_process( + COMMAND + ${SED_EXECUTABLE} -e "/man\\.macros/r ${CMAKE_CURRENT_SOURCE_DIR}/doc/man.macros" -e "/man\\.macros/d" + INPUT_FILE ${CMAKE_CURRENT_SOURCE_DIR}/${manpage} + OUTPUT_FILE ${CMAKE_CURRENT_BINARY_DIR}/${processed_manpage} + ) +endforeach(manpage ${man_FILE_LIST}) + +file(GLOB man_FILE_LIST ${CMAKE_CURRENT_BINARY_DIR}/doc/*.n) +install( + FILES + ${man_FILE_LIST} + DESTINATION ${CMAKE_INSTALL_MAN_DIR}/mann + ) Deleted: trunk/cmake/epa_build/libagg/CMakeLists.txt =================================================================== --- trunk/cmake/epa_build/libagg/CMakeLists.txt 2013-12-01 08:27:41 UTC (rev 12792) +++ trunk/cmake/epa_build/libagg/CMakeLists.txt 2013-12-01 22:58:49 UTC (rev 12793) @@ -1,250 +0,0 @@ -# Top-level CMakeLists.txt for the CMake-based build and test system -# of the AGG (Anti-Grain Geometry) library. - -# Copyright (C) 2006 Werner Smekal -# 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 - -# CMakeLists.txt for the agg 2.5 library. (AWI has double-checked that -# the agg_LIB_SRCS and agg_LIB_HDRS lists below are consistent with that -# version of agg.) -# This build system currently -# only makes the agg library (static/shared) but no executables -# Put this file in the main directory, create and cd into a build directory, -# and run this cmake command: -# cmake -G "MinGW Makefiles" -DBUILD_SHARED_LIBS=OFF -DCMAKE_INSTALL_PREFIX=../local .. -# or similar. - -# It is a fatal error if no working C++ compiler is available to build -# the shapelib library and utilities -project(shapelib CXX) - -message(STATUS "CMake version = ${CMAKE_VERSION}") -message(STATUS "CMAKE_SYSTEM = ${CMAKE_SYSTEM}") -message(STATUS "CMAKE_INSTALL_PREFIX = ${CMAKE_INSTALL_PREFIX}") - -cmake_minimum_required(VERSION 2.8.10.2 FATAL_ERROR) - -# libraries are all shared by default. -option(BUILD_SHARED_LIBS "Build shared libraries" ON) - -set( - agg_LIB_SRCS - src/agg_arc.cpp - src/agg_arrowhead.cpp - src/agg_bezier_arc.cpp - src/agg_bspline.cpp - src/agg_curves.cpp - src/agg_vcgen_contour.cpp - src/agg_vcgen_dash.cpp - src/agg_vcgen_markers_term.cpp - src/agg_vcgen_smooth_poly1.cpp - src/agg_vcgen_stroke.cpp - src/agg_vcgen_bspline.cpp - src/agg_gsv_text.cpp - src/agg_image_filters.cpp - src/agg_line_aa_basics.cpp - src/agg_line_profile_aa.cpp - src/agg_rounded_rect.cpp - src/agg_sqrt_tables.cpp - src/agg_embedded_raster_fonts.cpp - src/agg_trans_affine.cpp - src/agg_trans_warp_magnifier.cpp - src/agg_trans_single_path.cpp - src/agg_trans_double_path.cpp - src/agg_vpgen_clip_polygon.cpp - src/agg_vpgen_clip_polyline.cpp - src/agg_vpgen_segmentator.cpp - src/ctrl/agg_cbox_ctrl.cpp - src/ctrl/agg_gamma_ctrl.cpp - src/ctrl/agg_gamma_spline.cpp - src/ctrl/agg_rbox_ctrl.cpp - src/ctrl/agg_slider_ctrl.cpp - src/ctrl/agg_spline_ctrl.cpp - src/ctrl/agg_scale_ctrl.cpp - src/ctrl/agg_polygon_ctrl.cpp - src/ctrl/agg_bezier_ctrl.cpp - gpc/gpc.c -) - -set( - agg_LIB_HDRS - include/agg_alpha_mask_u8.h - include/agg_arc.h - include/agg_array.h - include/agg_arrowhead.h - include/agg_basics.h - include/agg_bezier_arc.h - include/agg_bitset_iterator.h - include/agg_blur.h - include/agg_bounding_rect.h - include/agg_bspline.h - include/agg_clip_liang_barsky.h - include/agg_color_gray.h - include/agg_color_rgba.h - include/agg_config.h - include/agg_conv_adaptor_vcgen.h - include/agg_conv_adaptor_vpgen.h - include/agg_conv_bspline.h - include/agg_conv_clip_polygon.h - include/agg_conv_clip_polyline.h - include/agg_conv_close_polygon.h - include/agg_conv_concat.h - include/agg_conv_contour.h - include/agg_conv_curve.h - include/agg_conv_dash.h - include/agg_conv_gpc.h - include/agg_conv_marker.h - include/agg_conv_marker_adaptor.h - include/agg_conv_segmentator.h - include/agg_conv_shorten_path.h - include/agg_conv_smooth_poly1.h - include/agg_conv_stroke.h - include/agg_conv_transform.h - include/agg_conv_unclose_polygon.h - include/agg_curves.h - include/agg_dda_line.h - include/agg_ellipse.h - include/agg_ellipse_bresenham.h - include/agg_embedded_raster_fonts.h - include/agg_font_cache_manager.h - include/agg_gamma_functions.h - include/agg_gamma_lut.h - include/agg_glyph_raster_bin.h - include/agg_gradient_lut.h - include/agg_gsv_text.h - include/agg_image_accessors.h - include/agg_image_filters.h - include/agg_line_aa_basics.h - include/agg_math.h - include/agg_math_stroke.h - include/agg_path_length.h - include/agg_path_storage.h - include/agg_path_storage_integer.h - include/agg_pattern_filters_rgba.h - include/agg_pixfmt_amask_adaptor.h - include/agg_pixfmt_gray.h - include/agg_pixfmt_rgb.h - include/agg_pixfmt_rgb_packed.h - include/agg_pixfmt_rgba.h - include/agg_pixfmt_transposer.h - include/agg_rasterizer_cells_aa.h - include/agg_rasterizer_compound_aa.h - include/agg_rasterizer_outline.h - include/agg_rasterizer_outline_aa.h - include/agg_rasterizer_scanline_aa.h - include/agg_rasterizer_sl_clip.h - include/agg_renderer_base.h - include/agg_renderer_markers.h - include/agg_renderer_mclip.h - include/agg_renderer_outline_aa.h - include/agg_renderer_outline_image.h - include/agg_renderer_primitives.h - include/agg_renderer_raster_text.h - include/agg_renderer_scanline.h - include/agg_rendering_buffer.h - include/agg_rendering_buffer_dynarow.h - include/agg_rounded_rect.h - include/agg_scanline_bin.h - include/agg_scanline_boolean_algebra.h - include/agg_scanline_p.h - include/agg_scanline_storage_aa.h - include/agg_scanline_storage_bin.h - include/agg_scanline_u.h - include/agg_shorten_path.h - include/agg_simul_eq.h - include/agg_span_allocator.h - include/agg_span_converter.h - include/agg_span_gouraud.h - include/agg_span_gouraud_gray.h - include/agg_span_gouraud_rgba.h - include/agg_span_gradient.h - include/agg_span_gradient_alpha.h - include/agg_span_image_filter.h - include/agg_span_image_filter_gray.h - include/agg_span_image_filter_rgb.h - include/agg_span_image_filter_rgba.h - include/agg_span_interpolator_adaptor.h - include/agg_span_interpolator_linear.h - include/agg_span_interpolator_persp.h - include/agg_span_interpolator_trans.h - include/agg_span_pattern_gray.h - include/agg_span_pattern_rgb.h - include/agg_span_pattern_rgba.h - include/agg_span_solid.h - include/agg_span_subdiv_adaptor.h - include/agg_trans_affine.h - include/agg_trans_bilinear.h - include/agg_trans_double_path.h - include/agg_trans_perspective.h - include/agg_trans_single_path.h - include/agg_trans_viewport.h - include/agg_trans_warp_magnifier.h - include/agg_vcgen_bspline.h - include/agg_vcgen_contour.h - include/agg_vcgen_dash.h - include/agg_vcgen_markers_term.h - include/agg_vcgen_smooth_poly1.h - include/agg_vcgen_stroke.h - include/agg_vcgen_vertex_sequence.h - include/agg_vertex_sequence.h - include/agg_vpgen_clip_polygon.h - include/agg_vpgen_clip_polyline.h - include/agg_vpgen_segmentator.h - include/ctrl/agg_bezier_ctrl.h - include/ctrl/agg_cbox_ctrl.h - include/ctrl/agg_ctrl.h - include/ctrl/agg_gamma_ctrl.h - include/ctrl/agg_gamma_spline.h - include/ctrl/agg_polygon_ctrl.h - include/ctrl/agg_rbox_ctrl.h - include/ctrl/agg_scale_ctrl.h - include/ctrl/agg_slider_ctrl.h - include/ctrl/agg_spline_ctrl.h - include/util/agg_color_conv.h - include/util/agg_color_conv_rgb16.h - include/util/agg_color_conv_rgb8.h - include/platform/agg_platform_support.h - include/platform/mac/agg_mac_pmap.h - include/platform/win32/agg_win32_bmp.h -) - -INCLUDE_DIRECTORIES( - include -) - - -ADD_LIBRARY( - agg - ${agg_LIB_SRCS} -) - -INSTALL( - TARGETS - agg - ARCHIVE DESTINATION - lib - LIBRARY DESTINATION - lib - RUNTIME DESTINATION - bin -) - -INSTALL( - FILES - ${agg_LIB_HDRS} - DESTINATION - include/agg2 -) Modified: trunk/cmake/epa_build/libagg/bp.cmake =================================================================== --- trunk/cmake/epa_build/libagg/bp.cmake 2013-12-01 08:27:41 UTC (rev 12792) +++ trunk/cmake/epa_build/libagg/bp.cmake 2013-12-01 22:58:49 UTC (rev 12793) @@ -58,11 +58,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/libagg/libagg_CMakeLists.txt (from rev 12783, trunk/cmake/epa_build/libagg/CMakeLists.txt) =================================================================== --- trunk/cmake/epa_build/libagg/libagg_CMakeLists.txt (rev 0) +++ trunk/cmake/epa_build/libagg/libagg_CMakeLists.txt 2013-12-01 22:58:49 UTC (rev 12793) @@ -0,0 +1,250 @@ +# Top-level CMakeLists.txt for the CMake-based build and test system +# of the AGG (Anti-Grain Geometry) library. + +# Copyright (C) 2006 Werner Smekal +# 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 + +# CMakeLists.txt for the agg 2.5 library. (AWI has double-checked that +# the agg_LIB_SRCS and agg_LIB_HDRS lists below are consistent with that +# version of agg.) +# This build system currently +# only makes the agg library (static/shared) but no executables +# Put this file in the main directory, create and cd into a build directory, +# and run this cmake command: +# cmake -G "MinGW Makefiles" -DBUILD_SHARED_LIBS=OFF -DCMAKE_INSTALL_PREFIX=../local .. +# or similar. + +# It is a fatal error if no working C++ compiler is available to build +# the shapelib library and utilities +project(shapelib CXX) + +message(STATUS "CMake version = ${CMAKE_VERSION}") +message(STATUS "CMAKE_SYSTEM = ${CMAKE_SYSTEM}") +message(STATUS "CMAKE_INSTALL_PREFIX = ${CMAKE_INSTALL_PREFIX}") + +cmake_minimum_required(VERSION 2.8.10.2 FATAL_ERROR) + +# libraries are all shared by default. +option(BUILD_SHARED_LIBS "Build shared libraries" ON) + +set( + agg_LIB_SRCS + src/agg_arc.cpp + src/agg_arrowhead.cpp + src/agg_bezier_arc.cpp + src/agg_bspline.cpp + src/agg_curves.cpp + src/agg_vcgen_contour.cpp + src/agg_vcgen_dash.cpp + src/agg_vcgen_markers_term.cpp + src/agg_vcgen_smooth_poly1.cpp + src/agg_vcgen_stroke.cpp + src/agg_vcgen_bspline.cpp + src/agg_gsv_text.cpp + src/agg_image_filters.cpp + src/agg_line_aa_basics.cpp + src/agg_line_profile_aa.cpp + src/agg_rounded_rect.cpp + src/agg_sqrt_tables.cpp + src/agg_embedded_raster_fonts.cpp + src/agg_trans_affine.cpp + src/agg_trans_warp_magnifier.cpp + src/agg_trans_single_path.cpp + src/agg_trans_double_path.cpp + src/agg_vpgen_clip_polygon.cpp + src/agg_vpgen_clip_polyline.cpp + src/agg_vpgen_segmentator.cpp + src/ctrl/agg_cbox_ctrl.cpp + src/ctrl/agg_gamma_ctrl.cpp + src/ctrl/agg_gamma_spline.cpp + src/ctrl/agg_rbox_ctrl.cpp + src/ctrl/agg_slider_ctrl.cpp + src/ctrl/agg_spline_ctrl.cpp + src/ctrl/agg_scale_ctrl.cpp + src/ctrl/agg_polygon_ctrl.cpp + src/ctrl/agg_bezier_ctrl.cpp + gpc/gpc.c +) + +set( + agg_LIB_HDRS + include/agg_alpha_mask_u8.h + include/agg_arc.h + include/agg_array.h + include/agg_arrowhead.h + include/agg_basics.h + include/agg_bezier_arc.h + include/agg_bitset_iterator.h + include/agg_blur.h + include/agg_bounding_rect.h + include/agg_bspline.h + include/agg_clip_liang_barsky.h + include/agg_color_gray.h + include/agg_color_rgba.h + include/agg_config.h + include/agg_conv_adaptor_vcgen.h + include/agg_conv_adaptor_vpgen.h + include/agg_c... [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} ${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}") Copied: trunk/cmake/epa_build/docbook-xsl/CMakeLists.txt (from rev 12793, trunk/cmake/epa_build/docbook-xsl/bp.cmake) =================================================================== --- trunk/cmake/epa_build/docbook-xsl/CMakeLists.txt (rev 0) +++ trunk/cmake/epa_build/docbook-xsl/CMakeLists.txt 2013-12-02 00:16:47 UTC (rev 12794) @@ -0,0 +1,102 @@ +# docbook-xsl/bp.cmake +# This file should be included directly or indirectly from a top-level +# CMakeLists.txt file to configure the build of docbook-xsl. + +# 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-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(BP_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}) +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) + list(APPEND docbook-xsl_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-xsl has been installed another way.") + endif(EXISTS ${CMAKE_SOURCE_DIR}/${build_configuration}/bp.cmake) +endforeach(build_configuration ${docbook-xsl_dependences_LIST}) + +# This can be safely done only after above includes. +set(BP_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) + +# 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-xsl/bp.cmake =================================================================== --- trunk/cmake/epa_build/docbook-xsl/bp.cmake 2013-12-01 22:58:49 UTC (rev 12793) +++ trunk/cmake/epa_build/docbook-xsl/bp.cmake 2013-12-02 00:16:47 UTC (rev 12794) @@ -1,102 +0,0 @@ -# docbook-xsl/bp.cmake -# This file should be included directly or indirectly from a top-level -# CMakeLists.txt file to configure the build of docbook-xsl. - -# 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-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(BP_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}) -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) - list(APPEND docbook-xsl_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-xsl has been installed another way.") - endif(EXISTS ${CMAKE_SOURCE_DIR}/${build_configuration}/bp.cmake) -endforeach(build_configuration ${docbook-xsl_dependences_LIST}) - -# This can be safely done only after above includes. -set(BP_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) - -# 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}") Copied: trunk/cmake/epa_build/fontconfig/CMakeLists.txt (from rev 12790, trunk/cmake/epa_build/fontconfig/bp.cmake) =================================================================== --- trunk/cmake/epa_build/fontconfig/CMakeLists.txt (rev 0) +++ trunk/cmake/epa_build/fontconfig/CMakeLists.txt 2013-12-02 00:16:47 UTC (rev 12794) @@ -0,0 +1,104 @@ +# fontconfig/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 fontconfig. + +# 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(fontconfig_configured) + return() +endif(fontconfig_configured) +set(fontconfig_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(fontconfig_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) + +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}) + +# This can be safely done only after above includes. +set(BP_PACKAGE fontconfig) + +# Data that is related to downloads. +set(${BP_PACKAGE}_URL http://www.freedesktop.org/software/fontconfig/release/fontconfig-2.10.93.tar.bz2) +set(${BP_PACKAGE}_DOWNLOAD_HASH_TYPE SHA256) +set(${BP_PACKAGE}_DOWNLOAD_HASH ea901f278848829ed9937d76fb0ce63ad362d7d5b9e75aa6a6b78bfef42e529c) + +# 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} --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 + ) + +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/fontconfig/bp.cmake =================================================================== --- trunk/cmake/epa_build/fontconfig/bp.cmake 2013-12-01 22:58:49 UTC (rev 12793) +++ trunk/cmake/epa_build/fontconfig/bp.cmake 2013-12-02 00:16:47 UTC (rev 12794) @@ -1,104 +0,0 @@ -# fontconfig/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 fontconfig. - -# 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(fontconfig_configured) - return() -endif(fontconfig_configured) -set(fontconfig_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(fontconfig_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) - -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}) - -# This can be safely done only after above includes. -set(BP_PACKAGE fontconfig) - -# Data that is related to downloads. -set(${BP_PACKAGE}_URL http://www.freedesktop.org/software/fontconfig/release/fontconfig-2.10.93.tar.bz2) -set(${BP_PACKAGE}_DOWNLOAD_HASH_TYPE SHA256) -set(${BP_PACKAGE}_DOWNLOAD_HASH ea901f278848829ed9937d76fb0ce63ad362d7d5b9e75aa6a6b78bfef42e529c) - -# 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} --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 - ) - -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/glib/CMakeLists.txt (from rev 12790, trunk/cmake/epa_build/glib/bp.cmake) =================================================================== --- trunk/cmake/epa_build/glib/CMakeLists.txt (rev 0) +++ trunk/cmake/epa_build/glib/CMakeLists.txt 2013-12-02 00:16:47 UTC (rev 12794) @@ -0,0 +1,104 @@ +# glib/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 glib. + +# 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(glib_configured) + return() +endif(glib_configured) +set(glib_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(glib_dependencies_LIST gtk-doc;libffi) +# Remove dependencies that should be ignored. +if(glib_dependencies_LIST) + list(REMOVE_ITEM glib_dependencies_LIST ${BP_ignored_dependencies_LIST}) +endif(glib_dependencies_LIST) + +set(glib_dependencies_targets) +foreach(build_configuration ${glib_dependencies_LIST}) + if(EXISTS ${CMAKE_SOURCE_DIR}/${build_configuration}/bp.cmake) + include(${build_configuration}/bp.cmake) + list(APPEND glib_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 glib has been installed another way.") + endif(EXISTS ${CMAKE_SOURCE_DIR}/${build_configuration}/bp.cmake) +endforeach(build_configuration ${glib_dependences_LIST}) + +# This can be safely done only after above includes. +set(BP_PACKAGE glib) + +# Data that is related to downloads. +set(${BP_PACKAGE}_URL http://download.gnome.org/sources/glib/2.37/glib-2.37.4.tar.xz) +set(${BP_PACKAGE}_DOWNLOAD_HASH_TYPE SHA256) +set(${BP_PACKAGE}_DOWNLOAD_HASH 7e76a32e6ea0ced118aa64f87e46cdf5c3e90527f1f0eb93eabe42a03cebd1e7) + +# 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=-march=native $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-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 + ) + +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/glib/bp.cmake =================================================================== --- trunk/cmake/epa_build/glib/bp.cmake 2013-12-01 22:58:49 UTC (rev 12793) +++ trunk/cmake/epa_build/glib/bp.cmake 2013-12-02 00:16:47 UTC (rev 12794) @@ -1,104 +0,0 @@ -# glib/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 glib. - -# 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(glib_configured) - return() -endif(glib_configured) -set(glib_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(glib_dependencies_LIST gtk-doc;libffi) -# Remove dependencies that should be ignored. -if(glib_dependencies_LIST) - list(REMOVE_ITEM glib_dependencies_LIST ${BP_ignored_dependencies_LIST}) -endif(glib_dependencies_LIST) - -set(glib_dependencies_targets) -foreach(build_configuration ${glib_dependencies_LIST}) - if(EXISTS ${CMAKE_SOURCE_DIR}/${build_configuration}/bp.cmake) - include(${build_configuration}/bp.cmake) - list(APPEND glib_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 glib has been installed another way.") - endif(EXISTS ${CMAKE_SOURCE_DIR}/${build_configuration}/bp.cmake) -endforeach(build_con... [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} 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://www.freedesktop.org/software/fontconfig/release/fontconfig-2.10.93.tar.bz2) -set(${BP_PACKAGE}_DOWNLOAD_HASH_TYPE SHA256) -set(${BP_PACKAGE}_DOWNLOAD_HASH ea901f278848829ed9937d76fb0ce63ad362d7d5b9e75aa6a6b78bfef42e529c) +set(URL http://www.freedesktop.org/software/fontconfig/release/fontconfig-2.10.93.tar.bz2) +set(DOWNLOAD_HASH_TYPE SHA256) +set(DOWNLOAD_HASH ea901f278848829ed9937d76fb0ce63ad362d7d5b9e75aa6a6b78bfef42e529c) # 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} --disable-docs - 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} --disable-docs + 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/glib/CMakeLists.txt =================================================================== --- trunk/cmake/epa_build/glib/CMakeLists.txt 2013-12-02 01:48:01 UTC (rev 12799) +++ trunk/cmake/epa_build/glib/CMakeLists.txt 2013-12-02 07:19:58 UTC (rev 12800) @@ -1,12 +1,13 @@ -# glib/bp.cmake +# glib/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 glib. # 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(glib_configured) - return() -endif(glib_configured) -set(glib_configured ON) +set(PACKAGE glib) # 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(glib_dependencies_LIST gtk-doc;libffi) +set(dependencies_LIST gtk-doc;libffi) # Remove dependencies that should be ignored. -if(glib_dependencies_LIST) - list(REMOVE_ITEM glib_dependencies_LIST ${BP_ignored_dependencies_LIST}) -endif(glib_dependencies_LIST) +if(dependencies_LIST) + list(REMOVE_ITEM dependencies_LIST ${ignored_dependencies_LIST}) +endif(dependencies_LIST) -set(glib_dependencies_targets) -foreach(build_configuration ${glib_dependencies_LIST}) - if(EXISTS ${CMAKE_SOURCE_DIR}/${build_configuration}/bp.cmake) - include(${build_configuration}/bp.cmake) - list(APPEND glib_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 glib has been installed another way.") - endif(EXISTS ${CMAKE_SOURCE_DIR}/${build_configuration}/bp.cmake) -endforeach(build_configuration ${glib_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 glib) +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://download.gnome.org/sources/glib/2.37/glib-2.37.4.tar.xz) -set(${BP_PACKAGE}_DOWNLOAD_HASH_TYPE SHA256) -set(${BP_PACKAGE}_DOWNLOAD_HASH 7e76a32e6ea0ced118aa64f87e46cdf5c3e90527f1f0eb93eabe42a03cebd1e7) +set(URL http://download.gnome.org/sources/glib/2.37/glib-2.37.4.tar.xz) +set(DOWNLOAD_HASH_TYPE SHA256) +set(DOWNLOAD_HASH 7e76a32e6ea0ced118aa64f87e46cdf5c3e90527f1f0eb93eabe42a03cebd1e7) # 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=-march=native $ENV{CFLAGS}") + determine_msys_path(source_PATH "${EPA_BASE}/Source/build_${PACKAGE}") + set(SET_CFLAGS "CFLAGS=-march=native $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-installed-tests - 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-installed-tests + 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/gobject-introspection/CMakeLists.txt =================================================================== --- trunk/cmake/epa_build/gobject-introspection/CMakeLists.txt 2013-12-02 01:48:01 UTC (rev 12799) +++ trunk/cmake/epa_build/gobject-introspection/CMakeLists.txt 2013-12-02 07:19:58 UTC (rev 12800) @@ -1,12 +1,13 @@ -# gobject-introspection/bp.cmake +# gobject-introspection/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 gobject-introspection. # 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(gobject-introspection_configured) - return() -endif(gobject-introspection_configured) -set(gobject-introspection_configured ON) +set(PACKAGE gobject-introspection) # 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(gobject-introspection_dependencies_LIST bison;cairo;flex;glib;python2-devel) +set(dependencies_LIST bison;cairo;flex;glib;python2-devel) # Remove dependencies that should be ignored. -if(gobject-introspection_dependencies_LIST) - list(REMOVE_ITEM gobject-introspection_dependencies_LIST ${BP_ignored_dependencies_LIST}) -endif(gobject-introspection_dependencies_LIST) +if(dependencies_LIST) + list(REMOVE_ITEM dependencies_LIST ${ignored_dependencies_LIST}) +endif(dependencies_LIST) -set(gobject-introspection_dependencies_targets) -foreach(build_configuration ${gobject-introspection_dependencies_LIST}) - if(EXISTS ${CMAKE_SOURCE_DIR}/${build_configuration}/bp.cmake) - include(${build_configuration}/bp.cmake) - list(APPEND gobject-introspection_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 gobject-introspection has been installed another way.") - endif(EXISTS ${CMAKE_SOURCE_DIR}/${build_configuration}/bp.cmake) -endforeach(build_configuration ${gobject-introspection_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 gobject-introspection) +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://download.gnome.org/sources/gobject-introspection/1.37/gobject-introspection-1.37.4.tar.xz) -set(${BP_PACKAGE}_DOWNLOAD_HASH_TYPE SHA256) -set(${BP_PACKAGE}_DOWNLOAD_HASH 431dae811626d18f1f02ff3842f291cc21b3c5e4a47b24d52d46e25e93036591) +set(URL http://download.gnome.org/sources/gobject-introspection/1.37/gobject-introspection-1.37.4.tar.xz) +set(DOWNLOAD_HASH_TYPE SHA256) +set(DOWNLOAD_HASH 431dae811626d18f1f02ff3842f291cc21b3c5e4a47b24d52d46e25e93036591) # 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} - 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} + 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/gperf/CMakeLists.txt =================================================================== --- trunk/cmake/epa_build/gperf/CMakeLists.txt 2013-12-02 01:48:01 UTC (rev 12799) +++ trunk/cmake/epa_build/gperf/CMakeLists.txt 2013-12-02 07:19:58 UTC (rev 12800) @@ -1,12 +1,13 @@ -# gperf/bp.cmake +# gperf/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 gperf. # 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(gperf_configured) - return() -endif(gperf_configured) -set(gperf_configured ON) +set(PACKAGE gperf) # 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(gperf_dependencies_LIST ) +set(dependencies_LIST ) # Remove dependencies that should be ignored. -if(gperf_dependencies_LIST) - list(REMOVE_ITEM gperf_dependencies_LIST ${BP_ignored_dependencies_LIST}) -endif(gperf_dependencies_LIST) +if(dependencies_LIST) + list(REMOVE_ITEM dependencies_LIST ${ignored_dependencies_LIST}) +endif(dependencies_LIST) -set(gperf_dependencies_targets) -foreach(build_configuration ${gperf_dependencies_LIST}) - if(EXISTS ${CMAKE_SOURCE_DIR}/${build_configuration}/bp.cmake) - include(${build_configuration}/bp.cmake) - list(APPEND gperf_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 gperf has been installed another way.") - endif(EXISTS ${CMAKE_SOURCE_DIR}/${build_configuration}/bp.cmake) -endforeach(build_configuration ${gperf_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 gperf) +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://ftp.gnu.org/gnu/gperf/gperf-3.0.4.tar.gz) -set(${BP_PACKAGE}_DOWNLOAD_HASH_TYPE SHA256) -set(${BP_PACKAGE}_DOWNLOAD_HASH 767112a204407e62dbc3106647cf839ed544f3cf5d0f0523aaa2508623aad63e) +set(URL http://ftp.gnu.org/gnu/gperf/gperf-3.0.4.tar.gz) +set(DOWNLOAD_HASH_TYPE SHA256) +set(DOWNLOAD_HASH 767112a204407e62dbc3106647cf839ed544f3cf5d0f0523aaa2508623aad63e) # 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} - 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} + 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/gtk-doc/CMakeLists.txt =================================================================== --- trunk/cmake/epa_build/gtk-doc/CMakeLists.txt 2013-12-02 01:48:01 UTC (rev 12799) +++ trunk/cmake/epa_build/gtk-doc/CMakeLists.txt 2013-12-02 07:19:58 UTC (rev 12800) @@ -1,12 +1,13 @@ -# gtk-doc/bp.cmake +# gtk-doc/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 gtk-doc. # 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(gtk-doc_configured) - return() -endif(gtk-doc_configured) -set(gtk-doc_configured ON) +set(PACKAGE gtk-doc) # 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(gtk-doc_dependencies_LIST docbook-xml;docbook-xsl;libxslt;yelp-tools) +set(dependencies_LIST docbook-xml;docbook-xsl;libxslt;yelp-tools) # Remove dependencies that should be ignored. -if(gtk-doc_dependencies_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) 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} + build_${PACKAGE} + DEPENDS ${${PACKAGE}_dependencies_targets} + URL ${URL} + URL_HASH ${${PACKAGE}_DOWNLOAD_HASH_TYPE}=${${PACKAGE}_DOWNLOAD_HASH} PATCH_COMMAND "" - CONFIGURE_COMMAND ${ENV_EXECUTABLE} PATH=${BP_PATH} ${${BP_PACKAGE}_SET_CFLAGS} CPPFLAGS=-I${BP_CMAKE_INSTALL_PREFIX}/include ${source_PATH}/${BP_CONFIGURE_COMMAND} --mandir=${BP_CMAKE_INSTALL_PREFIX}/share/man ${ITK_ENABLE_64_BIT} --with-itcl=${BP_CMAKE_INSTALL_PREFIX}/lib/itcl${ITCL_ITK_LIBVERSION} - BUILD_COMMAND ${ENV_EXECUTABLE} PATH=${BP_PATH} ${BP_PARALLEL_MAKE_COMMAND} - INSTALL_COMMAND ${ENV_EXECUTABLE} PATH=${BP_PATH} ${BP_PARALLEL_MAKE_COMMAND} install + 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 ${ITK_ENABLE_64_BIT} --with-itcl=${EPA_CMAKE_INSTALL_PREFIX}/lib/itcl${ITCL_ITK_LIBVERSION} + 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}-patch + ${EPA_BASE}/Stamp/build_${PACKAGE}/build_${PACKAGE}-patch 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=${EP_BASE}/Source/build_${BP_PACKAGE} -p1 < ${CMAKE_SOURCE_DIR}/${BP_PACKAGE}/itk4_case.patch + COMMAND ${PATCH_EXECUTABLE} --directory=${EPA_BASE}/Source/build_${PACKAGE} -p1 < ${CMAKE_SOURCE_DIR}/${PACKAGE}/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=${EP_BASE}/Source/build_${BP_PACKAGE} -p1 < ${CMAKE_SOURCE_DIR}/${BP_PACKAGE}/itk4_header_list.patch + COMMAND ${PATCH_EXECUTABLE} --directory=${EPA_BASE}/Source/build_${PACKAGE} -p1 < ${CMAKE_SOURCE_DIR}/${PACKAGE}/itk4_header_list.patch APPEND ) 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} - -e "s@^\\(ITK_SRC_DIR='\\).*@\\1${BP_CMAKE_INSTALL_PREFIX}/include'@" + -e "s@^\\(ITK_SRC_DIR='\\).*@\\1${EPA_CMAKE_INSTALL_PREFIX}/include'@" # Comment out the next since itk build system does not configure any # of these variables so they are left in symbolic "@" form. - #-e "/ITK_B/s@='\\(-L\\)\\?.*build_itk@='\\1${BP_CMAKE_INSTALL_PREFIX}/lib@" + #-e "/ITK_B/s@='\\(-L\\)\\?.*build_itk@='\\1${EPA_CMAKE_INSTALL_PREFIX}/lib@" -i itkConfig.sh APPEND ) add_custom_command( OUTPUT - ${EP_BASE}/Stamp/build_${BP_PACKAGE}/build_${BP_PACKAGE}-install + ${EPA_BASE}/Stamp/build_${PACKAGE}/build_${PACKAGE}-install COMMAND echo "Install-tree fixups" - COMMAND ${CHMOD_EXECUTABLE} -v ${SO_NUMERICAL_PERMISSIONS} ${BP_CMAKE_INSTALL_PREFIX}/lib/itk${ITCL_ITK_LIBVERSION}/libitk${ITCL_ITK_LIBVERSION}.so + COMMAND ${CHMOD_EXECUTABLE} -v ${SO_NUMERICAL_PERMISSIONS} ${EPA_CMAKE_INSTALL_PREFIX}/lib/itk${ITCL_ITK_LIBVERSION}/libitk${ITCL_ITK_LIBVERSION}.so 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/itk3/CMakeLists.txt =================================================================== --- trunk/cmake/epa_build/itk3/CMakeLists.txt 2013-12-02 07:19:58 UTC (rev 12800) +++ trunk/cmake/epa_build/itk3/CMakeLists.txt 2013-12-02 07:25:56 UTC (rev 12801) @@ -1,4 +1,4 @@ -# itk3/bp.cmake +# itk3/CMakeLists.txt # CMakeLists.txt file to configure the build of itk3. # 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,70 +34,70 @@ # 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(itk3_dependencies_LIST itcl3 tk tcl) # Remove dependencies that should be ignored. if(itk3_dependencies_LIST) - list(REMOVE_ITEM itk3_dependencies_LIST ${BP_ignored_dependencies_LIST}) + list(REMOVE_ITEM itk3_dependencies_LIST ${EPA_ignored_dependencies_LIST}) endif(itk3_dependencies_LIST) set(itk3_dependencies_targets) foreach(build_configuration ${itk3_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 itk3_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 itk3 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 ${itk3_dependences_LIST}) # This can be safely done only after above includes. -set(BP_PACKAGE itk3) +set(PACKAGE itk3) # Data that is related to downloads. set(ITK3_VERSION 3.3) set(ITK3_LIBVERSION 3.3) -set(${BP_PACKAGE}_URL http://downloads.sourceforge.net/project/incrtcl/%5bIncr%20Tcl_Tk%5d-source/${ITK3_VERSION}-RC/itk${ITK3_VERSION}.tar.gz) -set(${BP_PACKAGE}_DOWNLOAD_HASH_TYPE MD5) -set(${BP_PACKAGE}_DOWNLOAD_HASH a97c17f3cfa5e377f43073c653c501b5) +set(URL http://downloads.sourceforge.net/project/incrtcl/%5bIncr%20Tcl_Tk%5d-source/${ITK3_VERSION}-RC/itk${ITK3_VERSION}.tar.gz) +set(${PACKAGE}_DOWNLOAD_HASH_TYPE MD5) +set(${PACKAGE}_DOWNLOAD_HASH a97c17f3cfa5e377f43073c653c501b5) # 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(ITK3_ENABLE_64_BIT --enable-64bit) -endif(BP_HAVE_64_BIT_OS) +endif(EPA_HAVE_64_BIT_OS) 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} + build_${PACKAGE} + DEPENDS ${${PACKAGE}_dependencies_targets} + URL ${URL} + URL_HASH ${${PACKAGE}_DOWNLOAD_HASH_TYPE}=${${PACKAGE}_DOWNLOAD_HASH} # Order of CPPFLAGS is important since want to access the version 3 # itcl header. - CONFIGURE_COMMAND ${ENV_EXECUTABLE} PATH=${BP_PATH} ${${BP_PACKAGE}_SET_CFLAGS} "CPPFLAGS=-I${INCRTCL3_PREFIX}/include/itcl${ITCL3_LIBVERSION} -I${BP_CMAKE_INSTALL_PREFIX}/include" ${source_PATH}/configure --prefix=${INCRTCL3_PREFIX} --exec-prefix=${INCRTCL3_PREFIX} --includedir=${INCRTCL3_PREFIX}/include/itcl${ITCL3_LIBVERSION} --mandir=${INCRTCL3_PREFIX}/share/man ${ITK3_ENABLE_64_BIT} --with-tcl=${BP_CMAKE_INSTALL_PREFIX}/lib --with-tk=${BP_CMAKE_INSTALL_PREFIX}/lib --with-itcl=${INCRTCL3_PREFIX}/lib/itcl${ITCL3_LIBVERSION} - BUILD_COMMAND ${ENV_EXECUTABLE} PATH=${BP_PATH} ${BP_PARALLEL_MAKE_COMMAND} - INSTALL_COMMAND ${ENV_EXECUTABLE} PATH=${BP_PATH} ${BP_PARALLEL_MAKE_COMMAND} install + CONFIGURE_COMMAND ${ENV_EXECUTABLE} PATH=${EPA_PATH} ${${PACKAGE}_SET_CFLAGS} "CPPFLAGS=-I${INCRTCL3_PREFIX}/include/itcl${ITCL3_LIBVERSION} -I${EPA_CMAKE_INSTALL_PREFIX}/include" ${source_PATH}/configure --prefix=${INCRTCL3_PREFIX} --exec-prefix=${INCRTCL3_PREFIX} --includedir=${INCRTCL3_PREFIX}/include/itcl${ITCL3_LIBVERSION} --mandir=${INCRTCL3_PREFIX}/share/man ${ITK3_ENABLE_64_BIT} --with-tcl=${EPA_CMAKE_INSTALL_PREFIX}/lib --with-tk=${EPA_CMAKE_INSTALL_PREFIX}/lib --with-itcl=${INCRTCL3_PREFIX}/lib/itcl${ITCL3_LIBVERSION} + 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. @@ -113,14 +113,14 @@ add_custom_command( OUTPUT - ${EP_BASE}/Stamp/build_${BP_PACKAGE}/build_${BP_PACKAGE}-install + ${EPA_BASE}/Stamp/build_${PACKAGE}/build_${PACKAGE}-install COMMAND echo "Install-tree fixups" COMMAND ${CHMOD_EXECUTABLE} -v ${SO_NUMERICAL_PERMISSIONS} ${INCRTCL3_PREFIX}/lib/itk${ITK3_LIBVERSION}/libitk${ITK3_LIBVERSION}.so 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/iwidgets/CMakeLists.txt =================================================================== --- trunk/cmake/epa_build/iwidgets/CMakeLists.txt 2013-12-02 07:19:58 UTC (rev 12800) +++ trunk/cmake/epa_build/iwidgets/CMakeLists.txt 2013-12-02 07:25:56 UTC (rev 12801) @@ -1,4 +1,4 @@ -# iwidgets/bp.cmake +# iwidgets/CMakeLists.txt # CMakeLists.txt file to configure the build of iwidgets4.0 and iwidgets # 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. @@ -31,7 +31,7 @@ # 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(iwidgets4.0_dependencies_LIST itk3 itcl3 tk tcl) set(iwidgets_dependencies_LIST itk tk tcl) @@ -40,61 +40,61 @@ foreach(tag IN LISTS tags) # Remove dependencies that should be ignored. if(iwidgets${tag}_dependencies_LIST) - list(REMOVE_ITEM iwidgets${tag}_dependencies_LIST ${BP_ignored_dependencies_LIST}) + list(REMOVE_ITEM iwidgets${tag}_dependencies_LIST ${EPA_ignored_dependencies_LIST}) endif(iwidgets${tag}_dependencies_LIST) set(iwidgets${tag}_dependencies_targets) foreach(build_configuration ${iwidgets${tag}_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 iwidgets${tag}_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 iwidgets${tag} 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 ${iwidgets${tag}_dependences_LIST}) endforeach(tag IN LISTS tags) # This can be safely done only after above includes. -set(BP_PACKAGE iwidgets) +set(PACKAGE iwidgets) -set(${BP_PACKAGE}4.0_VERSION 4.0.1) -set(${BP_PACKAGE}4.0_LIBVERSION 4.0) -set(${BP_PACKAGE}4.0_ITCL_VERSION 3.2) -set(${BP_PACKAGE}4.0_CMAKE_OPTION -DBUILD_IWIDGETS_4.1=OFF) +set(${PACKAGE}4.0_VERSION 4.0.1) +set(${PACKAGE}4.0_LIBVERSION 4.0) +set(${PACKAGE}4.0_ITCL_VERSION 3.2) +set(${PACKAGE}4.0_CMAKE_OPTION -DBUILD_IWIDGETS_4.1=OFF) -set(${BP_PACKAGE}_VERSION 4.1.0) -set(${BP_PACKAGE}_LIBVERSION 4.1) -set(${BP_PACKAGE}_ITCL_VERSION 4.0) -set(${BP_PACKAGE}_CMAKE_OPTION -DBUILD_IWIDGETS_4.1=ON) +set(${PACKAGE}_VERSION 4.1.0) +set(${PACKAGE}_LIBVERSION 4.1) +set(${PACKAGE}_ITCL_VERSION 4.0) +set(${PACKAGE}_CMAKE_OPTION -DBUILD_IWIDGETS_4.1=ON) foreach(tag IN LISTS tags) # Data that is related to downloads. - set(${BP_PACKAGE}${tag}_URL http://downloads.sourceforge.net/project/incrtcl/%5bIncr%20Widgets%5d/${${BP_PACKAGE}4.0_VERSION}/iwidgets${${BP_PACKAGE}4.0_VERSION}.tar.gz) - set(${BP_PACKAGE}${tag}_DOWNLOAD_HASH_TYPE MD5) - set(${BP_PACKAGE}${tag}_DOWNLOAD_HASH 0e9c140e81ea6015b56130127c7deb03) + set(${PACKAGE}${tag}_URL http://downloads.sourceforge.net/project/incrtcl/%5bIncr%20Widgets%5d/${${PACKAGE}4.0_VERSION}/iwidgets${${PACKAGE}4.0_VERSION}.tar.gz) + set(${PACKAGE}${tag}_DOWNLOAD_HASH_TYPE MD5) + set(${PACKAGE}${tag}_DOWNLOAD_HASH 0e9c140e81ea6015b56130127c7deb03) # 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}${tag}/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}${tag}/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}${tag}") + determine_msys_path(source_PATH "${EPA_BASE}/Source/build_${PACKAGE}${tag}") else(MSYS_PLATFORM) - set(source_PATH "${EP_BASE}/Source/build_${BP_PACKAGE}${tag}") + set(source_PATH "${EPA_BASE}/Source/build_${PACKAGE}${tag}") endif(MSYS_PLATFORM) - #message(STATUS "modified BP_PATH for ${BP_PACKAGE}${tag} = ${BP_PATH}") + #message(STATUS "modified EPA_PATH for ${PACKAGE}${tag} = ${EPA_PATH}") ExternalProject_Add( - build_${BP_PACKAGE}${tag} - DEPENDS ${${BP_PACKAGE}${tag}_dependencies_targets} - URL ${${BP_PACKAGE}${tag}_URL} - URL_HASH ${${BP_PACKAGE}${tag}_DOWNLOAD_HASH_TYPE}=${${BP_PACKAGE}${tag}_DOWNLOAD_HASH} + build_${PACKAGE}${tag} + DEPENDS ${${PACKAGE}${tag}_dependencies_targets} + URL ${${PACKAGE}${tag}_URL} + URL_HASH ${${PACKAGE}${tag}_DOWNLOAD_HASH_TYPE}=${${PACKAGE}${tag}_DOWNLOAD_HASH} PATCH_COMMAND "" - CONFIGURE_COMMAND ${ENV_EXECUTABLE} PATH=${BP_PATH} ${BP_CMAKE_COMMAND} ${${BP_PACKAGE}${tag}_CMAKE_OPTION} ${EP_BASE}/Source/build_${BP_PACKAGE}${tag} - BUILD_COMMAND ${ENV_EXECUTABLE} PATH=${BP_PATH} ${BP_PARALLEL_BUILD_COMMAND} - INSTALL_COMMAND ${ENV_EXECUTABLE} PATH=${BP_PATH} ${BP_PARALLEL_BUILD_COMMAND} install + CONFIGURE_COMMAND ${ENV_EXECUTABLE} PATH=${EPA_PATH} ${EPA_CMAKE_COMMAND} ${${PACKAGE}${tag}_CMAKE_OPTION} ${EPA_BASE}/Source/build_${PACKAGE}${tag} + BUILD_COMMAND ${ENV_EXECUTABLE} PATH=${EPA_PATH} ${EPA_PARALLEL_BUILD_COMMAND} + INSTALL_COMMAND ${ENV_EXECUTABLE} PATH=${EPA_PATH} ${EPA_PARALLEL_BUILD_COMMAND} install ) if(NOT "${tag}") # Note this logic block executed for iwidget4.1 which has an empty @@ -118,26 +118,26 @@ # anywhere on the net) rather than iwidgets-4.0.1. add_custom_command( OUTPUT - ${EP_BASE}/Stamp/build_${BP_PACKAGE}${tag}/build_${BP_PACKAGE}${tag}-patch + ${EPA_BASE}/Stamp/build_${PACKAGE}${tag}/build_${PACKAGE}${tag}-patch COMMAND echo "Apply iwidgets4.1 source code patch" - COMMAND ${PATCH_EXECUTABLE} --directory=${EP_BASE}/Source/build_${BP_PACKAGE}${tag} -p1 < ${CMAKE_SOURCE_DIR}/${BP_PACKAGE}/${BP_PACKAGE}4.1.patch + COMMAND ${PATCH_EXECUTABLE} --directory=${EPA_BASE}/Source/build_${PACKAGE}${tag} -p1 < ${CMAKE_SOURCE_DIR}/${PACKAGE}/${PACKAGE}4.1.patch COMMAND echo "Apply patch to support both iwidgets and Iwidgets package names" - COMMAND ${PATCH_EXECUTABLE} --directory=${EP_BASE}/Source/build_${BP_PACKAGE}${tag} -p1 < ${CMAKE_SOURCE_DIR}/${BP_PACKAGE}/${BP_PACKAGE}4_case.patch + COMMAND ${PATCH_EXECUTABLE} --directory=${EPA_BASE}/Source/build_${PACKAGE}${tag} -p1 < ${CMAKE_SOURCE_DIR}/${PACKAGE}/${PACKAGE}4_case.patch APPEND ) endif(NOT "${tag}") add_custom_command( OUTPUT - ${EP_BASE}/Stamp/build_${BP_PACKAGE}${tag}/build_${BP_PACKAGE}${tag}-patch + ${EPA_BASE}/Stamp/build_${PACKAGE}${tag}/build_${PACKAGE}${tag}-patch COMMAND echo "Add CMake-based build system" COMMAND ${CMAKE_COMMAND} -E copy_if_different - ${CMAKE_SOURCE_DIR}/${BP_PACKAGE}/${BP_PACKAGE}_CMakeLists.txt - ${EP_BASE}/Source/build_${BP_PACKAGE}${tag}/CMakeLists.txt + ${CMAKE_SOURCE_DIR}/${PACKAGE}/${PACKAGE}_CMakeLists.txt + ${EPA_BASE}/Source/build_${PACKAGE}${tag}/CMakeLists.txt APPEND ) - list(APPEND build_target_LIST build_${BP_PACKAGE}${tag}) - # Restore BP_PATH to original state. - set(BP_PATH "${BP_ORIGINAL_NATIVE_PATH}") - #message(STATUS "${BP_PACKAGE}${tag} restored original BP_PATH = ${BP_PATH}") + list(APPEND build_target_LIST build_${PACKAGE}${tag}) + # Restore EPA_PATH to original state. + set(EPA_PATH "${EPA_ORIGINAL_NATIVE_PATH}") + #message(STATUS "${PACKAGE}${tag} restored original EPA_PATH = ${EPA_PATH}") endforeach(tag IN LISTS tags) Modified: trunk/cmake/epa_build/libagg/CMakeLists.txt =================================================================== --- trunk/cmake/epa_build/libagg/CMakeLists.txt 2013-12-02 07:19:58 UTC (rev 12800) +++ trunk/cmake/epa_build/libagg/CMakeLists.txt 2013-12-02 07:25:56 UTC (rev 12801) @@ -1,4 +1,4 @@ -# libagg/bp.cmake +# libagg/CMakeLists.txt # This file should be included directly or indirectly from a top-level # CMakeLists.txt file to configure the build of libagg. @@ -19,54 +19,54 @@ # 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 libagg) +set(PACKAGE libagg) # 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_PACKAGE}_URL http://www.antigrain.com/agg-2.5.tar.gz) -set(${BP_PACKAGE}_URL_MD5 0229a488bc47be10a2fee6cf0b2febd6) +set(URL http://www.antigrain.com/agg-2.5.tar.gz) +set(URL_MD5 0229a488bc47be10a2fee6cf0b2febd6) # 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}") 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} ${BP_CMAKE_COMMAND} ${EP_BASE}/Source/build_${BP_PACKAGE} - 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} ${EPA_CMAKE_COMMAND} ${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 ) # 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/libharu/CMakeLists.txt =================================================================== --- trunk/cmake/epa_build/libharu/CMakeLists.txt 2013-12-02 07:19:58 UTC (rev 12800) +++ trunk/cmake/epa_build/libharu/CMakeLists.txt 2013-12-02 07:25:56 UTC (rev 12801) @@ -1,4 +1,4 @@ -# libharu/bp.cmake +# libharu/CMakeLists.txt # This file should be included directly or indirectly from a top-level # CMakeLists.txt file to configure the build of libharu. @@ -19,60 +19,60 @@ # 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 libharu) +set(PACKAGE libharu) # 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_PACKAGE}_URL http://${BP_PACKAGE}.org/files/${BP_PACKAGE}-2.2.1.tar.gz) -set(${BP_PACKAGE}_URL_MD5 63da8e087744f1d6cf16f9501b1cb766) +set(URL http://${PACKAGE}.org/files/${PACKAGE}-2.2.1.tar.gz) +set(URL_MD5 63da8e087744f1d6cf16f9501b1cb766) # 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}") 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} + build_${PACKAGE} + URL ${URL} + URL_MD5 ${URL_MD5} PATCH_COMMAND "" # Do not use -DLIBHARU_EXAMPLES=ON (which builds the demos, but does # not test them) because latest release does not include demos. - 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} - INSTALL_COMMAND ${ENV_EXECUTABLE} PATH=${BP_PATH} ${BP_PARALLEL_BUILD_COMMAND} install + 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} + INSTALL_COMMAND ${ENV_EXECUTABLE} PATH=${EPA_PATH} ${EPA_PARALLEL_BUILD_COMMAND} install ) add_custom_command( OUTPUT - ${EP_BASE}/Stamp/build_${BP_PACKAGE}/build_${BP_PACKAGE}-patch + ${EPA_BASE}/Stamp/build_${PACKAGE}/build_${PACKAGE}-patch COMMAND ${CMAKE_COMMAND} -E echo "Apply all patches" - COMMAND ${PATCH_EXECUTABLE} -p1 < ${CMAKE_CURRENT_SOURCE_DIR}/${BP_PACKAGE}/cmake.patch - COMMAND ${PATCH_EXECUTABLE} -p1 < ${CMAKE_CURRENT_SOURCE_DIR}/${BP_PACKAGE}/large_font.patch - COMMAND ${PATCH_EXECUTABLE} -p1 < ${CMAKE_CURRENT_SOURCE_DIR}/${BP_PACKAGE}/remove_configured.patch - COMMAND ${PATCH_EXECUTABLE} -p1 < ${CMAKE_CURRENT_SOURCE_DIR}/${BP_PACKAGE}/visibility.patch + COMMAND ${PATCH_EXECUTABLE} -p1 < ${CMAKE_CURRENT_SOURCE_DIR}/${PACKAGE}/cmake.patch + COMMAND ${PATCH_EXECUTABLE} -p1 < ${CMAKE_CURRENT_SOURCE_DIR}/${PACKAGE}/large_font.patch + COMMAND ${PATCH_EXECUTABLE} -p1 < ${CMAKE_CURRENT_SOURCE_DIR}/${PACKAGE}/remove_configured.patch + COMMAND ${PATCH_EXECUTABLE} -p1 < ${CMAKE_CURRENT_SOURCE_DIR}/${PACKAGE}/visibility.patch DEPENDS - ${CMAKE_CURRENT_SOURCE_DIR}/${BP_PACKAGE}/cmake.patch - ${CMAKE_CURRENT_SOURCE_DIR}/${BP_PACKAGE}/large_font.patch - ${CMAKE_CURRENT_SOURCE_DIR}/${BP_PACKAGE}/remove_configured.patch - ${CMAKE_CURRENT_SOURCE_DIR}/${BP_PACKAGE}/visibility.patch + ${CMAKE_CURRENT_SOURCE_DIR}/${PACKAGE}/cmake.patch + ${CMAKE_CURRENT_SOURCE_DIR}/${PACKAGE}/large_font.patch + ${CMAKE_CURRENT_SOURCE_DIR}/${PACKAGE}/remove_configured.patch + ${CMAKE_CURRENT_SOURCE_DIR}/${PACKAGE}/visibility.patch 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/libqhull/CMakeLists.txt =================================================================== --- trunk/cmake/epa_build/libqhull/CMakeLists.txt 2013-12-02 07:19:58 UTC (rev 12800) +++ trunk/cmake/epa_build/libqhull/CMakeLists.txt 2013-12-02 07:25:56 UTC (rev 12801) @@ -1,4 +1,4 @@ -# libqhull/bp.cmake +# libqhull/CMakeLists.txt # This file should be included directly or indirectly from a top-level # CMakeLists.txt file to configure the build of libqhull. @@ -19,70 +19,70 @@ # 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 libqhull) +set(PACKAGE libqhull) # Protect against configuring a build twice in one CMake call -if(${BP_PACKAG... [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" "" CFLAGS "${CFLAGS}") +string(REGEX REPLACE "-fvisibility=hidden" "" CXXFLAGS "${CXXFLAGS}") +# Data that is related to downloads. +set(URL @download_href@) +set(DOWNLOAD_HASH_TYPE @download_hash_type@) +set(DOWNLOAD_HASH @download_hash@) + 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} @config_arguments@ + CONFIGURE_COMMAND ${ENV_EXECUTABLE} PATH=${EPA_PATH} "CFLAGS=${CFLAGS}" "CXXFLAGS=${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=${EPA_PATH} ${@BUILD_COMMAND@} @make_arguments@ install Modified: trunk/cmake/epa_build/fontconfig/CMakeLists.txt =================================================================== --- trunk/cmake/epa_build/fontconfig/CMakeLists.txt 2013-12-05 09:20:44 UTC (rev 12811) +++ trunk/cmake/epa_build/fontconfig/CMakeLists.txt 2013-12-05 10:48:48 UTC (rev 12812) @@ -1,4 +1,7 @@ # fontconfig/CMakeLists.txt + +# Configure the build of fontconfig. + # 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 fontconfig. - # 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 fontconfig) # 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 gperf) -# 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://www.freedesktop.org/software/fontconfig/release/fontconfig-2.10.93.tar.bz2) -set(DOWNLOAD_HASH_TYPE SHA256) -set(DOWNLOAD_HASH ea901f278848829ed9937d76fb0ce63ad362d7d5b9e75aa6a6b78bfef42e529c) - -# 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://www.freedesktop.org/software/fontconfig/release/fontconfig-2.10.93.tar.bz2) +set(DOWNLOAD_HASH_TYPE SHA256) +set(DOWNLOAD_HASH ea901f278848829ed9937d76fb0ce63ad362d7d5b9e75aa6a6b78bfef42e529c) + 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} --disable-docs - 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} --disable-docs + 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/glib/CMakeLists.txt =================================================================== --- trunk/cmake/epa_build/glib/CMakeLists.txt 2013-12-05 09:20:44 UTC (rev 12811) +++ trunk/cmake/epa_build/glib/CMakeLists.txt 2013-12-05 10:48:48 UTC (rev 12812) @@ -1,4 +1,7 @@ # glib/CMakeLists.txt + +# Configure the build of glib. + # 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 glib. - # 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 glib) # 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 gtk-doc;libffi) -# 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://download.gnome.org/sources/glib/2.37/glib-2.37.4.tar.xz) -set(DOWNLOAD_HASH_TYPE SHA256) -set(DOWNLOAD_HASH 7e76a32e6ea0ced118aa64f87e46cdf5c3e90527f1f0eb93eabe42a03cebd1e7) - -# 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=-march=native $ENV{CFLAGS}") + set(CFLAGS "-march=native $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://download.gnome.org/sources/glib/2.37/glib-2.37.4.tar.xz) +set(DOWNLOAD_HASH_TYPE SHA256) +set(DOWNLOAD_HASH 7e76a32e6ea0ced118aa64f87e46cdf5c3e90527f1f0eb93eabe42a03cebd1e7) + 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-installed-tests - 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-installed-tests + 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/gobject-introspection/CMakeLists.txt =================================================================== --- trunk/cmake/epa_build/gobject-introspection/CMakeLists.txt 2013-12-05 09:20:44 UTC (rev 12811) +++ trunk/cmake/epa_build/gobject-introspection/CMakeLists.txt 2013-12-05 10:48:48 UTC (rev 12812) @@ -1,4 +1,7 @@ # gobject-introspection/CMakeLists.txt + +# Configure the build of gobject-introspection. + # 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 gobject-introspection. - # 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 gobject-introspection) # 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 bison;cairo;flex;glib;python2-devel) -# 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://download.gnome.org/sources/gobject-introspection/1.37/gobject-introspection-1.37.4.tar.xz) -set(DOWNLOAD_HASH_TYPE SHA256) -set(DOWNLOAD_HASH 431dae811626d18f1f02ff3842f291cc21b3c5e4a47b24d52d46e25e93036591) - -# 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://download.gnome.org/sources/gobject-introspection/1.37/gobject-introspection-1.37.4.tar.xz) +set(DOWNLOAD_HASH_TYPE SHA256) +set(DOWNLOAD_HASH 431dae811626d18f1f02ff3842f291cc21b3c5e4a47b24d52d46e25e93036591) + 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} - 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} + 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/gperf/CMakeLists.txt =================================================================== --- trunk/cmake/epa_build/gperf/CMakeLists.txt 2013-12-05 09:20:44 UTC (rev 12811) +++ trunk/cmake/epa_build/gperf/CMakeLists.txt 2013-12-05 10:48:48 UTC (rev 12812) @@ -1,4 +1,7 @@ # gperf/CMakeLists.txt + +# Configure the build of gperf. + # 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 gperf. - # 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 gperf) # 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 ) -# 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://ftp.gnu.org/gnu/gperf/gperf-3.0.4.tar.gz) -set(DOWNLOAD_HASH_TYPE SHA256) -set(DOWNLOAD_HASH 767112a204407e62dbc3106647cf839ed544f3cf5d0f0523aaa2508623aad63e) - -# 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://ftp.gnu.org/gnu/gperf/gperf-3.0.4.tar.gz) +set(DOWNLOAD_HASH_TYPE SHA256) +set(DOWNLOAD_HASH 767112a204407e62dbc3106647cf839ed544f3cf5d0f0523aaa2508623aad63e) + 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} - 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} + 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/gtk-doc/CMakeLists.txt =================================================================== --- trunk/cmake/epa_build/gtk-doc/CMakeLists.txt 2013-12-05 09:20:44 UTC (rev 12811) +++ trunk/cmake/epa_build/gtk-doc/CMakeLists.txt 2013-12-05 10:48:48 UTC (rev 12812) @@ -1,4 +1,7 @@ # gtk-doc/CMakeLists.txt + +# Configure the build of gtk-doc. + # 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 gtk-doc. - # 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 gtk-doc) # 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 docbook-xml;docbook-xsl;libxslt;yelp-tools) -# 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://download.gnome.org/sources/gtk-doc/1.19/gtk-doc-1.19.tar.xz) -set(DOWNLOAD_HASH_TYPE SHA256) -set(DOWNLOAD_HASH 27df247fa828433a9390368e2088cc22f954f2ce1f255ddbd12ab6e027b12e68) - -# 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://download.gnome.org/sources/gtk-doc/1.19/gtk-doc-1.19.tar.xz) +set(DOWNLOAD_HASH_TYPE SHA256) +set(DOWNLOAD_HASH 27df247fa828433a9390368e2088cc22f954f2ce1f255ddbd12ab6e027b12e68) + 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} --with-xml-catalog=${CMAKE_INSTALL_PREFIX}/etc/xml/catalog - 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} --with-xml-catalog=${CMAKE_INSTALL_PREFIX}/etc/xml/catalog + BUILD_COMMAND ${ENV_EXECUTABLE} PATH=${EPA_PATH} ${EPA_PARA... [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 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 + ) Property changes on: trunk/cmake/epa_build/swig/CMakeLists.txt ___________________________________________________________________ Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Index: trunk/cmake/epa_build/tcl/CMakeLists.txt =================================================================== --- trunk/cmake/epa_build/tcl/CMakeLists.txt 2014-02-08 19:09:26 UTC (rev 12984) +++ trunk/cmake/epa_build/tcl/CMakeLists.txt 2014-02-08 19:43:20 UTC (rev 12985) Property changes on: trunk/cmake/epa_build/tcl/CMakeLists.txt ___________________________________________________________________ Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Index: trunk/cmake/epa_build/tk/CMakeLists.txt =================================================================== --- trunk/cmake/epa_build/tk/CMakeLists.txt 2014-02-08 19:09:26 UTC (rev 12984) +++ trunk/cmake/epa_build/tk/CMakeLists.txt 2014-02-08 19:43:20 UTC (rev 12985) Property changes on: trunk/cmake/epa_build/tk/CMakeLists.txt ___________________________________________________________________ Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Index: trunk/cmake/epa_build/wxwidgets/CMakeLists.txt =================================================================== --- trunk/cmake/epa_build/wxwidgets/CMakeLists.txt 2014-02-08 19:09:26 UTC (rev 12984) +++ trunk/cmake/epa_build/wxwidgets/CMakeLists.txt 2014-02-08 19:43:20 UTC (rev 12985) Property changes on: trunk/cmake/epa_build/wxwidgets/CMakeLists.txt ___________________________________________________________________ Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Index: trunk/cmake/epa_build/xmlcatalog-wrapper/CMakeLists.txt =================================================================== --- trunk/cmake/epa_build/xmlcatalog-wrapper/CMakeLists.txt 2014-02-08 19:09:26 UTC (rev 12984) +++ trunk/cmake/epa_build/xmlcatalog-wrapper/CMakeLists.txt 2014-02-08 19:43:20 UTC (rev 12985) 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 Index: trunk/cmake/epa_build/yelp-tools/CMakeLists.txt =================================================================== --- trunk/cmake/epa_build/yelp-tools/CMakeLists.txt 2014-02-08 19:09:26 UTC (rev 12984) +++ trunk/cmake/epa_build/yelp-tools/CMakeLists.txt 2014-02-08 19:43:20 UTC (rev 12985) Property changes on: trunk/cmake/epa_build/yelp-tools/CMakeLists.txt ___________________________________________________________________ Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Index: trunk/cmake/epa_build/yelp-xsl/CMakeLists.txt =================================================================== --- trunk/cmake/epa_build/yelp-xsl/CMakeLists.txt 2014-02-08 19:09:26 UTC (rev 12984) +++ trunk/cmake/epa_build/yelp-xsl/CMakeLists.txt 2014-02-08 19:43:20 UTC (rev 12985) Property changes on: trunk/cmake/epa_build/yelp-xsl/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...> - 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. |