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