|
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] |