You can subscribe to this list here.
2000 |
Jan
|
Feb
|
Mar
|
Apr
|
May
(33) |
Jun
|
Jul
(30) |
Aug
(2) |
Sep
|
Oct
(30) |
Nov
(136) |
Dec
(59) |
---|---|---|---|---|---|---|---|---|---|---|---|---|
2001 |
Jan
(255) |
Feb
(169) |
Mar
(322) |
Apr
(185) |
May
(33) |
Jun
(89) |
Jul
(47) |
Aug
(59) |
Sep
(40) |
Oct
(31) |
Nov
(74) |
Dec
(84) |
2002 |
Jan
(163) |
Feb
(78) |
Mar
(23) |
Apr
(5) |
May
(22) |
Jun
(75) |
Jul
(143) |
Aug
(48) |
Sep
(111) |
Oct
(58) |
Nov
(124) |
Dec
(278) |
2003 |
Jan
(106) |
Feb
(276) |
Mar
(354) |
Apr
(97) |
May
(14) |
Jun
(3) |
Jul
(7) |
Aug
(21) |
Sep
(83) |
Oct
(110) |
Nov
(3) |
Dec
(119) |
2004 |
Jan
(318) |
Feb
(409) |
Mar
(68) |
Apr
(23) |
May
(105) |
Jun
(147) |
Jul
(69) |
Aug
(53) |
Sep
(23) |
Oct
(14) |
Nov
(15) |
Dec
(63) |
2005 |
Jan
(146) |
Feb
(69) |
Mar
(157) |
Apr
(127) |
May
(166) |
Jun
(8) |
Jul
(5) |
Aug
(3) |
Sep
(8) |
Oct
(17) |
Nov
(29) |
Dec
(34) |
2006 |
Jan
(3) |
Feb
(4) |
Mar
(1) |
Apr
(70) |
May
(241) |
Jun
(82) |
Jul
(344) |
Aug
(196) |
Sep
(87) |
Oct
(57) |
Nov
(121) |
Dec
(86) |
2007 |
Jan
(60) |
Feb
(67) |
Mar
(102) |
Apr
(28) |
May
(13) |
Jun
(29) |
Jul
(38) |
Aug
(56) |
Sep
(91) |
Oct
(89) |
Nov
(50) |
Dec
(68) |
2008 |
Jan
(87) |
Feb
(47) |
Mar
(100) |
Apr
(34) |
May
(65) |
Jun
(54) |
Jul
(98) |
Aug
(128) |
Sep
(109) |
Oct
(141) |
Nov
(40) |
Dec
(206) |
2009 |
Jan
(176) |
Feb
(226) |
Mar
(134) |
Apr
(84) |
May
(152) |
Jun
(85) |
Jul
(91) |
Aug
(153) |
Sep
(141) |
Oct
(59) |
Nov
(87) |
Dec
(75) |
2010 |
Jan
(58) |
Feb
(41) |
Mar
(51) |
Apr
(74) |
May
(81) |
Jun
(39) |
Jul
(30) |
Aug
(43) |
Sep
(76) |
Oct
(59) |
Nov
(62) |
Dec
(52) |
2011 |
Jan
(125) |
Feb
(41) |
Mar
(96) |
Apr
(53) |
May
(21) |
Jun
(23) |
Jul
(48) |
Aug
(71) |
Sep
(37) |
Oct
(81) |
Nov
(60) |
Dec
(32) |
2012 |
Jan
(51) |
Feb
(23) |
Mar
|
Apr
(8) |
May
(2) |
Jun
|
Jul
(8) |
Aug
(25) |
Sep
(4) |
Oct
(32) |
Nov
(17) |
Dec
(2) |
2013 |
Jan
(8) |
Feb
(2) |
Mar
(9) |
Apr
(9) |
May
(37) |
Jun
(48) |
Jul
(63) |
Aug
(42) |
Sep
(59) |
Oct
(83) |
Nov
(141) |
Dec
(133) |
2014 |
Jan
(57) |
Feb
(58) |
Mar
(58) |
Apr
(25) |
May
(14) |
Jun
(3) |
Jul
(6) |
Aug
(1) |
Sep
|
Oct
|
Nov
|
Dec
|
From: <ai...@us...> - 2013-12-05 22:46:16
|
Revision: 12814 http://sourceforge.net/p/plplot/code/12814 Author: airwin Date: 2013-12-05 22:46:13 +0000 (Thu, 05 Dec 2013) Log Message: ----------- Replace incorrect ${CMAKE_CURRENT_SOURCE_DIR}/${PACKAGE} with the correct ${CMAKE_CURRENT_SOURCE_DIR}. Modified Paths: -------------- trunk/cmake/epa_build/libharu/CMakeLists.txt Modified: trunk/cmake/epa_build/libharu/CMakeLists.txt =================================================================== --- trunk/cmake/epa_build/libharu/CMakeLists.txt 2013-12-05 20:53:04 UTC (rev 12813) +++ trunk/cmake/epa_build/libharu/CMakeLists.txt 2013-12-05 22:46:13 UTC (rev 12814) @@ -59,14 +59,14 @@ OUTPUT ${EPA_BASE}/Stamp/build_${PACKAGE}/build_${PACKAGE}-patch COMMAND ${CMAKE_COMMAND} -E echo "Apply all patches" - COMMAND ${PATCH_EXECUTABLE} -p1 < ${CMAKE_CURRENT_SOURCE_DIR}/${PACKAGE}/cmake.patch - COMMAND ${PATCH_EXECUTABLE} -p1 < ${CMAKE_CURRENT_SOURCE_DIR}/${PACKAGE}/large_font.patch - COMMAND ${PATCH_EXECUTABLE} -p1 < ${CMAKE_CURRENT_SOURCE_DIR}/${PACKAGE}/remove_configured.patch - COMMAND ${PATCH_EXECUTABLE} -p1 < ${CMAKE_CURRENT_SOURCE_DIR}/${PACKAGE}/visibility.patch + COMMAND ${PATCH_EXECUTABLE} -p1 < ${CMAKE_CURRENT_SOURCE_DIR}/cmake.patch + COMMAND ${PATCH_EXECUTABLE} -p1 < ${CMAKE_CURRENT_SOURCE_DIR}/large_font.patch + COMMAND ${PATCH_EXECUTABLE} -p1 < ${CMAKE_CURRENT_SOURCE_DIR}/remove_configured.patch + COMMAND ${PATCH_EXECUTABLE} -p1 < ${CMAKE_CURRENT_SOURCE_DIR}/visibility.patch DEPENDS - ${CMAKE_CURRENT_SOURCE_DIR}/${PACKAGE}/cmake.patch - ${CMAKE_CURRENT_SOURCE_DIR}/${PACKAGE}/large_font.patch - ${CMAKE_CURRENT_SOURCE_DIR}/${PACKAGE}/remove_configured.patch - ${CMAKE_CURRENT_SOURCE_DIR}/${PACKAGE}/visibility.patch + ${CMAKE_CURRENT_SOURCE_DIR}/cmake.patch + ${CMAKE_CURRENT_SOURCE_DIR}/large_font.patch + ${CMAKE_CURRENT_SOURCE_DIR}/remove_configured.patch + ${CMAKE_CURRENT_SOURCE_DIR}/visibility.patch APPEND ) This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ai...@us...> - 2013-12-05 20:53:08
|
Revision: 12813 http://sourceforge.net/p/plplot/code/12813 Author: airwin Date: 2013-12-05 20:53:04 +0000 (Thu, 05 Dec 2013) Log Message: ----------- Fix cut and paste error where I inadvertently created a tcl dependency that does not exist. Modified Paths: -------------- trunk/cmake/epa_build/libagg/CMakeLists.txt trunk/cmake/epa_build/libharu/CMakeLists.txt Modified: trunk/cmake/epa_build/libagg/CMakeLists.txt =================================================================== --- trunk/cmake/epa_build/libagg/CMakeLists.txt 2013-12-05 10:48:48 UTC (rev 12812) +++ trunk/cmake/epa_build/libagg/CMakeLists.txt 2013-12-05 20:53:04 UTC (rev 12813) @@ -24,7 +24,7 @@ # ignored. set(ignored_dependencies_LIST ${extra_ignored_dependencies_list}) -set(dependencies_LIST tcl) +set(dependencies_LIST) # Do boilerplate tasks that must be done for each different project # that is configured as part of epa_build. Modified: trunk/cmake/epa_build/libharu/CMakeLists.txt =================================================================== --- trunk/cmake/epa_build/libharu/CMakeLists.txt 2013-12-05 10:48:48 UTC (rev 12812) +++ trunk/cmake/epa_build/libharu/CMakeLists.txt 2013-12-05 20:53:04 UTC (rev 12813) @@ -24,7 +24,7 @@ # ignored. set(ignored_dependencies_LIST ${extra_ignored_dependencies_list}) -set(dependencies_LIST tcl) +set(dependencies_LIST) # Do boilerplate tasks that must be done for each different project # that is configured as part of epa_build. This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ai...@us...> - 2013-12-05 10:48:53
|
Revision: 12812 http://sourceforge.net/p/plplot/code/12812 Author: airwin Date: 2013-12-05 10:48:48 +0000 (Thu, 05 Dec 2013) Log Message: ----------- Commit the changes to move to the new "add_subdirectory" paradigm for epa_build. Tested by Alan W. Irwin <ai...@us...> on Linux using the epa_build -DBUILD_THE_BUILDTOOLS=ON cmake option and the build_all target (which built and installed cmake, pkg-config, swig, libpcre, tk(8.6), tcl(8.6), itk(4.0), iwidgets(4.1.0), itcl3(3.4), itk3(3.3), and iwidgets4.0(4.0.1) without issues in just 11.5 minutes. N.B. the more normal epa_build with -DBUILD_THE_BUILDTOOLS=OFF (which builds PLplot and its normal dependencies using the above build tools) has not been tested yet, and there are presumably a few minor issues still to straighten out for that case. Modified Paths: -------------- trunk/cmake/epa_build/CMakeLists.txt trunk/cmake/epa_build/cairo/CMakeLists.txt trunk/cmake/epa_build/cmake/CMakeLists.txt trunk/cmake/epa_build/docbook-xml/CMakeLists.txt trunk/cmake/epa_build/docbook-xsl/CMakeLists.txt trunk/cmake/epa_build/epa_CMakeLists.txt.in trunk/cmake/epa_build/fontconfig/CMakeLists.txt trunk/cmake/epa_build/glib/CMakeLists.txt trunk/cmake/epa_build/gobject-introspection/CMakeLists.txt trunk/cmake/epa_build/gperf/CMakeLists.txt trunk/cmake/epa_build/gtk-doc/CMakeLists.txt trunk/cmake/epa_build/harfbuzz/CMakeLists.txt trunk/cmake/epa_build/intltool/CMakeLists.txt trunk/cmake/epa_build/itcl3/CMakeLists.txt trunk/cmake/epa_build/itk/CMakeLists.txt trunk/cmake/epa_build/itk3/CMakeLists.txt trunk/cmake/epa_build/itstool/CMakeLists.txt trunk/cmake/epa_build/iwidgets/CMakeLists.txt trunk/cmake/epa_build/libagg/CMakeLists.txt trunk/cmake/epa_build/libffi/CMakeLists.txt trunk/cmake/epa_build/libharu/CMakeLists.txt trunk/cmake/epa_build/libpcre/CMakeLists.txt trunk/cmake/epa_build/libqhull/CMakeLists.txt trunk/cmake/epa_build/libxml2/CMakeLists.txt trunk/cmake/epa_build/libxslt/CMakeLists.txt trunk/cmake/epa_build/ndiff/CMakeLists.txt trunk/cmake/epa_build/pango/CMakeLists.txt trunk/cmake/epa_build/pixman/CMakeLists.txt trunk/cmake/epa_build/pkg-config/CMakeLists.txt trunk/cmake/epa_build/plplot/CMakeLists.txt trunk/cmake/epa_build/ragel/CMakeLists.txt trunk/cmake/epa_build/shapelib/CMakeLists.txt trunk/cmake/epa_build/subversion/CMakeLists.txt trunk/cmake/epa_build/swig/CMakeLists.txt trunk/cmake/epa_build/tcl/CMakeLists.txt trunk/cmake/epa_build/wxwidgets/CMakeLists.txt trunk/cmake/epa_build/xmlcatalog-wrapper/CMakeLists.txt trunk/cmake/epa_build/yelp-tools/CMakeLists.txt trunk/cmake/epa_build/yelp-xsl/CMakeLists.txt Added Paths: ----------- trunk/cmake/epa_build/iwidgets4.0/ trunk/cmake/epa_build/iwidgets4.0/CMakeLists.txt trunk/cmake/epa_build/plplot_lite/ trunk/cmake/epa_build/plplot_lite/CMakeLists.txt Modified: trunk/cmake/epa_build/CMakeLists.txt =================================================================== --- trunk/cmake/epa_build/CMakeLists.txt 2013-12-05 09:20:44 UTC (rev 12811) +++ trunk/cmake/epa_build/CMakeLists.txt 2013-12-05 10:48:48 UTC (rev 12812) @@ -351,21 +351,22 @@ endforeach(executable ${executables_LIST}) set(subdirectories_LIST - ##cmake - #pkg-config + cmake + pkg-config ##subversion - #swig + swig tk # itcl version 4 is integrated into tcl # itk version 4 is not integrated into tk (or tcl). - #itk + itk + # iwidgets (version 4.1.0) + iwidgets # itcl version 3 is an independent project - #itcl3 + itcl3 # itk version 3 is an independent project - #itk3 - # iwidgets subdirectory contains build configurations for both - # iwidgets (version 4.1) and iwidgets4.0 (version 4.0). - #iwidgets + itk3 + # iwidgets (version 4.0.1) + iwidgets4.0 ) else(BUILD_THE_BUILDTOOLS) # List of all configurations. Order doesn't matter because multiple @@ -373,6 +374,7 @@ set(subdirectories_LIST ndiff #plplot + #plplot_lite #wxwidgets #pango ) @@ -384,11 +386,17 @@ message(STATUS "DEBUG: subdirectories_LIST = ${subdirectories_LIST}") -# Use while loop because each add_subdirectory command can generate others +# Using a while loop seems obvious here +# because each add_subdirectory command can generate others # so that several elements of the subdirectories list could be knocked -# off per loop iteration. +# off per loop iteration. However, that is not a good idea in +# practice because it turns out that fatal CMake errors don't stop the +# loop (which I presume is a bug) so it just continues indefinitely. Ugh! +# So use foreach RANGE loop instead with maximum number of loop +# interations equal to LENGTH_subdirectories_LIST and break out of it +# early if necessary if the subdirectories_LIST has become exhausted. list(LENGTH subdirectories_LIST LENGTH_subdirectories_LIST) -while(LENGTH_subdirectories_LIST GREATER 0) +foreach(idummy RANGE ${LENGTH_subdirectories_LIST}) list(GET subdirectories_LIST 0 subdirectory) # This uses EPA_started_subdirectories_LIST internally to check for # circular dependencies, and updates EPA_finished_subdirectories_LIST @@ -399,7 +407,10 @@ message(STATUS "DEBUG: visited ${subdirectory}") message(STATUS "DEBUG: subdirectories_LIST = ${subdirectories_LIST}") list(LENGTH subdirectories_LIST LENGTH_subdirectories_LIST) -endwhile(LENGTH_subdirectories_LIST GREATER 0) + if(LENGTH_subdirectories_LIST EQUAL 0) + break() + endif(LENGTH_subdirectories_LIST EQUAL 0) +endforeach(idummy RANGE ${LENGTH_subdirectories_LIST}) add_custom_target(build_all) get_property(build_targets_LIST GLOBAL PROPERTY EPA_build_targets_LIST) Modified: trunk/cmake/epa_build/cairo/CMakeLists.txt =================================================================== --- trunk/cmake/epa_build/cairo/CMakeLists.txt 2013-12-05 09:20:44 UTC (rev 12811) +++ trunk/cmake/epa_build/cairo/CMakeLists.txt 2013-12-05 10:48:48 UTC (rev 12812) @@ -1,4 +1,7 @@ # cairo/CMakeLists.txt + +# Configure the build of cairo. + # N.B. this file is generated so if you edit it you will lose all your # changes the next time it is generated (typically by running # either/both the update_added_packages.sh or update_pango_packages.sh @@ -6,10 +9,6 @@ # consider changing their source files (e.g., by editing the files # used in those scripts) or add a patch to be run by those scripts. -# The CMake logic in this file should be exercised by the -# add_subdirectory command that is exercised in the top-level -# CMakeLists.txt file to configure the build of cairo. - # Copyright (C) 2013 Alan W. Irwin # This file is free software; you can redistribute it and/or @@ -26,12 +25,6 @@ # License along with this file; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA -# The top-level CMakeLists.txt file that adds this subdirectory should -# have run "include(ExternalProject)" and set the EPA_BASE variable (and -# corresponding directory property) as well as various EPA variables -# used below that configure how the External_Project functions -# operate. - set(PACKAGE cairo) # List of dependencies (most of which are build tools) which should be @@ -39,66 +32,44 @@ set(ignored_dependencies_LIST pkg-config;bison;flex;python2-devel;libXft ${extra_ignored_dependencies_list}) set(dependencies_LIST fontconfig;gtk-doc;pixman;pkg-config) -# Remove dependencies that should be ignored. -if(dependencies_LIST) - list(REMOVE_ITEM dependencies_LIST ${ignored_dependencies_LIST}) -endif(dependencies_LIST) -# Add this subdirectory to the list of subdirectories that have -# already been processed by the top-level CMakeLists.txt logic. -list(APPEND EPA_processed_subdirectories_LIST ${PACKAGE}) +# Do boilerplate tasks that must be done for each different project +# that is configured as part of epa_build. +epa_boilerplate( + ignored_dependencies_LIST + PACKAGE + dependencies_LIST + dependencies_targets + EPA_PATH + source_PATH + ) -set(dependencies_targets) -foreach(build_configuration ${dependencies_LIST}) - if(EXISTS ${CMAKE_SOURCE_DIR}/${build_configuration}/CMakeLists.txt) - # Add to the list of subdirectories that must be processed by the - # top-level CMakeLists.txt logic. - list(APPEND EPA_needed_subdirectories_LIST ${build_configuration}) - list(APPEND dependencies_targets build_${build_configuration}) - else(EXISTS ${CMAKE_SOURCE_DIR}/${build_configuration}/CMakeLists.txt) - message(STATUS "Warning: A build_configuration for ${build_configuration} does not exist so it is assumed this dependency of ${PACKAGE} has been installed on your platform by means other than epa_build.") - endif(EXISTS ${CMAKE_SOURCE_DIR}/${build_configuration}/CMakeLists.txt) -endforeach(build_configuration ${dependences_LIST}) - -list(APPEND EPA_build_target_LIST build_${PACKAGE}) - -# Propagate list changes to parent scope. -set(EPA_build_target_LIST ${EPA_build_target_LIST} PARENT_SCOPE) -set(EPA_processed_subdirectories_LIST ${EPA_processed_subdirectories_LIST} PARENT_SCOPE) -set(EPA_needed_subdirectories_LIST ${EPA_needed_subdirectories_LIST} PARENT_SCOPE) - -# Data that is related to downloads. -set(URL http://cairographics.org/releases/cairo-1.12.14.tar.xz) -set(DOWNLOAD_HASH_TYPE SHA256) -set(DOWNLOAD_HASH 96d0d1e3f9b74d2ca3469ff187c5e5f25649b1ad35cf06f4f3a83847dff4ac13) - -# Data that is related to the PATH that must be used. if(MSYS_PLATFORM) - determine_msys_path(EPA_PATH "${EPA_PATH}") - # Must have all elements of env command in MSYS platform form - determine_msys_path(source_PATH "${EPA_BASE}/Source/build_${PACKAGE}") - set(SET_CFLAGS "CFLAGS=$ENV{CFLAGS}") + set(CFLAGS "$ENV{CFLAGS}") else(MSYS_PLATFORM) - set(source_PATH "${EPA_BASE}/Source/build_${PACKAGE}") - set(SET_CFLAGS "CFLAGS=$ENV{CFLAGS}") + set(CFLAGS "$ENV{CFLAGS}") endif(MSYS_PLATFORM) -#message(STATUS "modified EPA_PATH for ${PACKAGE} = ${EPA_PATH}") -set(SET_CXXFLAGS "CXXFLAGS=$ENV{CXXFLAGS}") +set(CXXFLAGS "$ENV{CXXFLAGS}") # Drop -fvisibility=hidden since that option does not work for a # number of software packages that are configured automatically using # this template. -string(REGEX REPLACE "-fvisibility=hidden" "" SET_CFLAGS "${SET_CFLAGS}") -string(REGEX REPLACE "-fvisibility=hidden" "" SET_CXXFLAGS "${SET_CXXFLAGS}") +string(REGEX REPLACE "-fvisibility=hidden" "" CFLAGS "${CFLAGS}") +string(REGEX REPLACE "-fvisibility=hidden" "" CXXFLAGS "${CXXFLAGS}") +# Data that is related to downloads. +set(URL http://cairographics.org/releases/cairo-1.12.14.tar.xz) +set(DOWNLOAD_HASH_TYPE SHA256) +set(DOWNLOAD_HASH 96d0d1e3f9b74d2ca3469ff187c5e5f25649b1ad35cf06f4f3a83847dff4ac13) + ExternalProject_Add( build_${PACKAGE} DEPENDS ${dependencies_targets} URL ${URL} URL_HASH ${DOWNLOAD_HASH_TYPE}=${DOWNLOAD_HASH} - CONFIGURE_COMMAND ${ENV_EXECUTABLE} PATH=${EPA_PATH} ${SET_CFLAGS} ${SET_CXXFLAGS} ${source_PATH}/${EPA_CONFIGURE_COMMAND} --enable-xlib - BUILD_COMMAND ${ENV_EXECUTABLE} PATH=${EPA_PATH} ${BP_PARALLEL_MAKE_COMMAND} + CONFIGURE_COMMAND ${ENV_EXECUTABLE} PATH=${EPA_PATH} "CFLAGS=${CFLAGS}" "CXXFLAGS=${CXXFLAGS}" ${source_PATH}/${EPA_CONFIGURE_COMMAND} --enable-xlib + BUILD_COMMAND ${ENV_EXECUTABLE} PATH=${EPA_PATH} ${EPA_PARALLEL_MAKE_COMMAND} BUILD_IN_SOURCE OFF - INSTALL_COMMAND ${ENV_EXECUTABLE} PATH=${EPA_PATH} ${BP_PARALLEL_MAKE_COMMAND} install + INSTALL_COMMAND ${ENV_EXECUTABLE} PATH=${EPA_PATH} ${EPA_PARALLEL_MAKE_COMMAND} install ) Modified: trunk/cmake/epa_build/cmake/CMakeLists.txt =================================================================== --- trunk/cmake/epa_build/cmake/CMakeLists.txt 2013-12-05 09:20:44 UTC (rev 12811) +++ trunk/cmake/epa_build/cmake/CMakeLists.txt 2013-12-05 10:48:48 UTC (rev 12812) @@ -1,7 +1,7 @@ # cmake/CMakeLists.txt -# This file should be included directly or indirectly from a top-level -# CMakeLists.txt file to configure the build of cmake. +# Configure the build of cmake. + # Copyright (C) 2013 Alan W. Irwin # This file is free software; you can redistribute it and/or @@ -18,47 +18,59 @@ # License along with this file; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA -# The top-level CMakeLists.txt file that includes this file should -# have run "include(ExternalProject)" and set EPA_BASE variable (and -# corresponding directory property) as well as various EPA variables -# used below that configure how the External_Project functions -# operate. +# An external curl library (see --system-curl option below) is +# required to build cmake because the cmake internal version of curl +# is quite lame (no openssl capability, for example). Also, we +# haven't yet implemented a curl epa_build configuration because that +# is going to be somewhat difficult due to the large number of +# dependencies. See +# http://www.linuxfromscratch.org/blfs/view/svn/basicnet/curl.html for +# a list of those dependencies. There is some hope because +# some of those are optional so I may tackle the curl epa_build configuration +# sooner rather than later. +# For now we are okay on Linux because we can just use the system curl +# library for the cmake build, but on Windows it is unlikely curl is +# installed so we will be unable to build a powerful cmake (until a +# curl epa_build configuration is available). Note, if the Windows +# build of cmake fails, then either install curl (if that is possible) +# or use the workaround of downloading a binary download from kitware +# that apparently does use a powerful Windows version of curl. + set(PACKAGE cmake) -# Protect against configuring a build twice in one CMake call -if(configured) - return() -endif(configured) -set(configured ON) +# List of dependencies (most of which are build tools) which should be +# ignored. +set(ignored_dependencies_LIST curl ${extra_ignored_dependencies_list}) +set(dependencies_LIST curl) + +# Do boilerplate tasks that must be done for each different project +# that is configured as part of epa_build. +epa_boilerplate( + ignored_dependencies_LIST + PACKAGE + dependencies_LIST + dependencies_targets + EPA_PATH + source_PATH + ) + +set(CFLAGS "$ENV{CFLAGS}") +set(CXXFLAGS "$ENV{CXXFLAGS}") + # Data that is related to downloads. -set(EPA_CMAKE_DIR v2.8) -set(EPA_CMAKE_VERSION 2.8.11.1) -set(URL http://www.cmake.org/files/${EPA_CMAKE_DIR}/cmake-${EPA_CMAKE_VERSION}.tar.gz) -set(URL_MD5 df5324a3b203373a9e0a04b924281a43) +set(DIR v2.8) +set(VERSION 2.8.12.1) +set(URL http://www.cmake.org/files/${DIR}/cmake-${VERSION}.tar.gz) +set(DOWNLOAD_HASH_TYPE MD5) +set(DOWNLOAD_HASH 9d38cd4e2c94c3cea97d0e2924814acc) -# Data that is related to the PATH that must be used. -if(MSYS_PLATFORM) - set(EPA_PATH_NODLL "${EPA_PATH}") - set(EPA_PATH "${EPA_BASE}/Build/build_${PACKAGE}/dll;${EPA_PATH_NODLL}") - determine_msys_path(EPA_PATH "${EPA_PATH}") - determine_msys_path(${PACKAGE}_INSTALL_PREFIX "${CMAKE_INSTALL_PREFIX}") -else(MSYS_PLATFORM) - set(${PACKAGE}_INSTALL_PREFIX "${CMAKE_INSTALL_PREFIX}") -endif(MSYS_PLATFORM) -#message(STATUS "modified EPA_PATH for ${PACKAGE} = ${EPA_PATH}") - ExternalProject_Add( build_${PACKAGE} URL ${URL} - URL_MD5 ${URL_MD5} - CONFIGURE_COMMAND ${ENV_EXECUTABLE} PATH=${EPA_PATH} CFLAGS=-O3 CXXFLAGS=-O3 ${SH_EXECUTABLE} ${EPA_BASE}/Source/build_${PACKAGE}/bootstrap --prefix=${${PACKAGE}_INSTALL_PREFIX} --parallel=8 + URL_HASH ${DOWNLOAD_HASH_TYPE}=${DOWNLOAD_HASH} + CONFIGURE_COMMAND ${ENV_EXECUTABLE} PATH=${EPA_PATH} "CFLAGS=${CFLAGS}" "CXXFLAGS=${CXXFLAGS}" ${SH_EXECUTABLE} ${EPA_BASE}/Source/build_${PACKAGE}/bootstrap --prefix=${EPA_CMAKE_INSTALL_PREFIX} --parallel=8 --verbose --system-curl --no-qt-gui BUILD_COMMAND ${ENV_EXECUTABLE} PATH=${EPA_PATH} ${EPA_PARALLEL_BUILD_COMMAND} INSTALL_COMMAND ${ENV_EXECUTABLE} PATH=${EPA_PATH} ${EPA_PARALLEL_BUILD_COMMAND} install ) - -list(APPEND build_target_LIST build_${PACKAGE}) -# Restore EPA_PATH to original state. -set(EPA_PATH "${EPA_ORIGINAL_NATIVE_PATH}") -#message(STATUS "${PACKAGE} restored original EPA_PATH = ${EPA_PATH}") Modified: trunk/cmake/epa_build/docbook-xml/CMakeLists.txt =================================================================== --- trunk/cmake/epa_build/docbook-xml/CMakeLists.txt 2013-12-05 09:20:44 UTC (rev 12811) +++ trunk/cmake/epa_build/docbook-xml/CMakeLists.txt 2013-12-05 10:48:48 UTC (rev 12812) @@ -1,7 +1,7 @@ # docbook-xml/CMakeLists.txt -# This file should be included directly or indirectly from a top-level -# CMakeLists.txt file to configure the build of docbook-xml. +# Configure the build of docbook-xml. + # Copyright (C) 2013 Alan W. Irwin # This file is free software; you can redistribute it and/or @@ -18,65 +18,36 @@ # License along with this file; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA -# The top-level CMakeLists.txt file that includes this file should -# have run "include(ExternalProject)" and set EPA_BASE variable (and -# corresponding directory property) as well as various EPA variables -# used below that configure how the External_Project functions -# operate. -# Protect against configuring a build twice in one CMake call -if(docbook-xml_configured) - return() -endif(docbook-xml_configured) -set(docbook-xml_configured ON) +set(PACKAGE docbook-xml) # List of dependencies (most of which are build tools) which should be # ignored. -set(EPA_ignored_dependencies_LIST pkg-config;bison;flex;python2-devel;libXft ${extra_ignored_dependencies_list}) +set(ignored_dependencies_LIST ${extra_ignored_dependencies_list}) -set(docbook-xml_dependencies_LIST libxml2) -# Remove dependencies that should be ignored. -if(docbook-xml_dependencies_LIST) - list(REMOVE_ITEM docbook-xml_dependencies_LIST ${EPA_ignored_dependencies_LIST}) -endif(docbook-xml_dependencies_LIST) +set(dependencies_LIST libxml2) -set(docbook-xml_dependencies_targets) -foreach(build_configuration ${docbook-xml_dependencies_LIST}) - if(EXISTS ${CMAKE_SOURCE_DIR}/${build_configuration}/CMakeLists.txt) - include(${build_configuration}/CMakeLists.txt) - list(APPEND docbook-xml_dependencies_targets build_${build_configuration}) - else(EXISTS ${CMAKE_SOURCE_DIR}/${build_configuration}/CMakeLists.txt) - message(STATUS "Warning: A build_configuration for ${build_configuration} does not exist so it is assumed this dependency of docbook-xml has been installed another way.") - endif(EXISTS ${CMAKE_SOURCE_DIR}/${build_configuration}/CMakeLists.txt) -endforeach(build_configuration ${docbook-xml_dependences_LIST}) +# Do boilerplate tasks that must be done for each different project +# that is configured as part of epa_build. +epa_boilerplate( + ignored_dependencies_LIST + PACKAGE + dependencies_LIST + dependencies_targets + EPA_PATH + source_PATH + ) -# This can be safely done only after above includes. -set(PACKAGE docbook-xml) - # Data that is related to downloads. set(URL http://www.docbook.org/xml/4.5/docbook-xml-4.5.zip) -set(${PACKAGE}_DOWNLOAD_HASH_TYPE MD5) -set(${PACKAGE}_DOWNLOAD_HASH 03083e288e87a7e829e437358da7ef9e) +set(DOWNLOAD_HASH_TYPE MD5) +set(DOWNLOAD_HASH 03083e288e87a7e829e437358da7ef9e) -# Data that is related to the PATH that must be used. -if(MSYS_PLATFORM) - #set(EPA_PATH_NODLL "${EPA_PATH}") - #set(EPA_PATH "${EPA_BASE}/Build/build_${PACKAGE}/dll;${EPA_PATH_NODLL}") - determine_msys_path(EPA_PATH "${EPA_PATH}") - # Must have all elements of env command in MSYS platform form - determine_msys_path(source_PATH "${EPA_BASE}/Source/build_${PACKAGE}") - set(${PACKAGE}_SET_CFLAGS "CFLAGS=$ENV{CFLAGS}") -else(MSYS_PLATFORM) - set(source_PATH "${EPA_BASE}/Source/build_${PACKAGE}") - set(${PACKAGE}_SET_CFLAGS "CFLAGS=$ENV{CFLAGS}") -endif(MSYS_PLATFORM) -#message(STATUS "modified EPA_PATH for ${PACKAGE} = ${EPA_PATH}") - ExternalProject_Add( build_${PACKAGE} - DEPENDS ${${PACKAGE}_dependencies_targets} + DEPENDS ${dependencies_targets} URL ${URL} - URL_HASH ${${PACKAGE}_DOWNLOAD_HASH_TYPE}=${${PACKAGE}_DOWNLOAD_HASH} + URL_HASH ${DOWNLOAD_HASH_TYPE}=${DOWNLOAD_HASH} CONFIGURE_COMMAND ${ENV_EXECUTABLE} PATH=${EPA_PATH} ${EPA_CMAKE_COMMAND} ${EPA_BASE}/Source/build_${PACKAGE} BUILD_COMMAND ${ENV_EXECUTABLE} PATH=${EPA_PATH} ${EPA_PARALLEL_BUILD_COMMAND} BUILD_IN_SOURCE OFF @@ -95,8 +66,3 @@ ${CMAKE_SOURCE_DIR}/${PACKAGE}/${PACKAGE}_CMakeLists.txt APPEND ) - -list(APPEND build_target_LIST build_${PACKAGE}) -# Restore EPA_PATH to original state. -set(EPA_PATH "${EPA_ORIGINAL_NATIVE_PATH}") -#message(STATUS "${PACKAGE} restored original EPA_PATH = ${EPA_PATH}") Modified: trunk/cmake/epa_build/docbook-xsl/CMakeLists.txt =================================================================== --- trunk/cmake/epa_build/docbook-xsl/CMakeLists.txt 2013-12-05 09:20:44 UTC (rev 12811) +++ trunk/cmake/epa_build/docbook-xsl/CMakeLists.txt 2013-12-05 10:48:48 UTC (rev 12812) @@ -1,7 +1,7 @@ # docbook-xsl/CMakeLists.txt -# This file should be included directly or indirectly from a top-level -# CMakeLists.txt file to configure the build of docbook-xsl. +# Configure the build of docbook-xsl. + # Copyright (C) 2013 Alan W. Irwin # This file is free software; you can redistribute it and/or @@ -18,65 +18,35 @@ # License along with this file; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA -# The top-level CMakeLists.txt file that includes this file should -# have run "include(ExternalProject)" and set EPA_BASE variable (and -# corresponding directory property) as well as various EPA variables -# used below that configure how the External_Project functions -# operate. +set(PACKAGE docbook-xsl) -# Protect against configuring a build twice in one CMake call -if(docbook-xsl_configured) - return() -endif(docbook-xsl_configured) -set(docbook-xsl_configured ON) - # List of dependencies (most of which are build tools) which should be # ignored. -set(EPA_ignored_dependencies_LIST pkg-config;bison;flex;python2-devel;libXft ${extra_ignored_dependencies_list}) +set(ignored_dependencies_LIST ${extra_ignored_dependencies_list}) -set(docbook-xsl_dependencies_LIST libxml2) -# Remove dependencies that should be ignored. -if(docbook-xsl_dependencies_LIST) - list(REMOVE_ITEM docbook-xsl_dependencies_LIST ${EPA_ignored_dependencies_LIST}) -endif(docbook-xsl_dependencies_LIST) +set(dependencies_LIST libxml2) -set(docbook-xsl_dependencies_targets) -foreach(build_configuration ${docbook-xsl_dependencies_LIST}) - if(EXISTS ${CMAKE_SOURCE_DIR}/${build_configuration}/CMakeLists.txt) - include(${build_configuration}/CMakeLists.txt) - list(APPEND docbook-xsl_dependencies_targets build_${build_configuration}) - else(EXISTS ${CMAKE_SOURCE_DIR}/${build_configuration}/CMakeLists.txt) - message(STATUS "Warning: A build_configuration for ${build_configuration} does not exist so it is assumed this dependency of docbook-xsl has been installed another way.") - endif(EXISTS ${CMAKE_SOURCE_DIR}/${build_configuration}/CMakeLists.txt) -endforeach(build_configuration ${docbook-xsl_dependences_LIST}) +# Do boilerplate tasks that must be done for each different project +# that is configured as part of epa_build. +epa_boilerplate( + ignored_dependencies_LIST + PACKAGE + dependencies_LIST + dependencies_targets + EPA_PATH + source_PATH + ) -# This can be safely done only after above includes. -set(PACKAGE docbook-xsl) - # Data that is related to downloads. -set(URL http://downloads.sourceforge.net/docbook/docbook-xsl-1.78.1.tar.bz2) -set(${PACKAGE}_DOWNLOAD_HASH_TYPE MD5) -set(${PACKAGE}_DOWNLOAD_HASH 6dd0f89131cc35bf4f2ed105a1c17771) +set(URL http://downloads.sourceforge.net/docbook/docbook-xsl-1.78.1.tar.bz2) +set(DOWNLOAD_HASH_TYPE MD5) +set(DOWNLOAD_HASH 6dd0f89131cc35bf4f2ed105a1c17771) -# Data that is related to the PATH that must be used. -if(MSYS_PLATFORM) - #set(EPA_PATH_NODLL "${EPA_PATH}") - #set(EPA_PATH "${EPA_BASE}/Build/build_${PACKAGE}/dll;${EPA_PATH_NODLL}") - determine_msys_path(EPA_PATH "${EPA_PATH}") - # Must have all elements of env command in MSYS platform form - determine_msys_path(source_PATH "${EPA_BASE}/Source/build_${PACKAGE}") - set(${PACKAGE}_SET_CFLAGS "CFLAGS=$ENV{CFLAGS}") -else(MSYS_PLATFORM) - set(source_PATH "${EPA_BASE}/Source/build_${PACKAGE}") - set(${PACKAGE}_SET_CFLAGS "CFLAGS=$ENV{CFLAGS}") -endif(MSYS_PLATFORM) -#message(STATUS "modified EPA_PATH for ${PACKAGE} = ${EPA_PATH}") - ExternalProject_Add( build_${PACKAGE} - DEPENDS ${${PACKAGE}_dependencies_targets} + DEPENDS ${dependencies_targets} URL ${URL} - URL_HASH ${${PACKAGE}_DOWNLOAD_HASH_TYPE}=${${PACKAGE}_DOWNLOAD_HASH} + URL_HASH ${DOWNLOAD_HASH_TYPE}=${DOWNLOAD_HASH} CONFIGURE_COMMAND ${ENV_EXECUTABLE} PATH=${EPA_PATH} ${EPA_CMAKE_COMMAND} ${EPA_BASE}/Source/build_${PACKAGE} BUILD_COMMAND ${ENV_EXECUTABLE} PATH=${EPA_PATH} ${EPA_PARALLEL_BUILD_COMMAND} BUILD_IN_SOURCE OFF @@ -95,8 +65,3 @@ ${CMAKE_SOURCE_DIR}/${PACKAGE}/${PACKAGE}_CMakeLists.txt APPEND ) - -list(APPEND build_target_LIST build_${PACKAGE}) -# Restore EPA_PATH to original state. -set(EPA_PATH "${EPA_ORIGINAL_NATIVE_PATH}") -#message(STATUS "${PACKAGE} restored original EPA_PATH = ${EPA_PATH}") Modified: trunk/cmake/epa_build/epa_CMakeLists.txt.in =================================================================== --- trunk/cmake/epa_build/epa_CMakeLists.txt.in 2013-12-05 09:20:44 UTC (rev 12811) +++ trunk/cmake/epa_build/epa_CMakeLists.txt.in 2013-12-05 10:48:48 UTC (rev 12812) @@ -1,4 +1,7 @@ # @package@/CMakeLists.txt + +# Configure the build of @package@. + # N.B. this file is generated so if you edit it you will lose all your # changes the next time it is generated (typically by running # either/both the update_added_packages.sh or update_pango_packages.sh @@ -6,10 +9,6 @@ # consider changing their source files (e.g., by editing the files # used in those scripts) or add a patch to be run by those scripts. -# The CMake logic in this file should be exercised by the -# add_subdirectory command that is exercised in the top-level -# CMakeLists.txt file to configure the build of @package@. - # Copyright (C) 2013 Alan W. Irwin # This file is free software; you can redistribute it and/or @@ -26,12 +25,6 @@ # License along with this file; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA -# The top-level CMakeLists.txt file that adds this subdirectory should -# have run "include(ExternalProject)" and set the EPA_BASE variable (and -# corresponding directory property) as well as various EPA variables -# used below that configure how the External_Project functions -# operate. - set(PACKAGE @package@) # List of dependencies (most of which are build tools) which should be @@ -39,65 +32,43 @@ set(ignored_dependencies_LIST @ignored_dependencies_LIST@ ${extra_ignored_dependencies_list}) set(dependencies_LIST @dependencies@) -# Remove dependencies that should be ignored. -if(dependencies_LIST) - list(REMOVE_ITEM dependencies_LIST ${ignored_dependencies_LIST}) -endif(dependencies_LIST) -# Add this subdirectory to the list of subdirectories that have -# already been processed by the top-level CMakeLists.txt logic. -list(APPEND EPA_processed_subdirectories_LIST ${PACKAGE}) +# Do boilerplate tasks that must be done for each different project +# that is configured as part of epa_build. +epa_boilerplate( + ignored_dependencies_LIST + PACKAGE + dependencies_LIST + dependencies_targets + EPA_PATH + source_PATH + ) -set(dependencies_targets) -foreach(build_configuration ${dependencies_LIST}) - if(EXISTS ${CMAKE_SOURCE_DIR}/${build_configuration}/CMakeLists.txt) - # Add to the list of subdirectories that must be processed by the - # top-level CMakeLists.txt logic. - list(APPEND EPA_needed_subdirectories_LIST ${build_configuration}) - list(APPEND dependencies_targets build_${build_configuration}) - else(EXISTS ${CMAKE_SOURCE_DIR}/${build_configuration}/CMakeLists.txt) - message(STATUS "Warning: A build_configuration for ${build_configuration} does not exist so it is assumed this dependency of ${PACKAGE} has been installed on your platform by means other than epa_build.") - endif(EXISTS ${CMAKE_SOURCE_DIR}/${build_configuration}/CMakeLists.txt) -endforeach(build_configuration ${dependences_LIST}) - -list(APPEND EPA_build_target_LIST build_${PACKAGE}) - -# Propagate list changes to parent scope. -set(EPA_build_target_LIST ${EPA_build_target_LIST} PARENT_SCOPE) -set(EPA_processed_subdirectories_LIST ${EPA_processed_subdirectories_LIST} PARENT_SCOPE) -set(EPA_needed_subdirectories_LIST ${EPA_needed_subdirectories_LIST} PARENT_SCOPE) - -# Data that is related to downloads. -set(URL @download_href@) -set(DOWNLOAD_HASH_TYPE @download_hash_type@) -set(DOWNLOAD_HASH @download_hash@) - -# Data that is related to the PATH that must be used. if(MSYS_PLATFORM) - determine_msys_path(EPA_PATH "${EPA_PATH}") - # Must have all elements of env command in MSYS platform form - determine_msys_path(source_PATH "${EPA_BASE}/Source/build_${PACKAGE}") - set(SET_CFLAGS "CFLAGS=@MSYS_EXTRA_CFLAGS@$ENV{CFLAGS}") + set(CFLAGS "@MSYS_EXTRA_CFLAGS@$ENV{CFLAGS}") else(MSYS_PLATFORM) - set(source_PATH "${EPA_BASE}/Source/build_${PACKAGE}") - set(SET_CFLAGS "CFLAGS=@UNIX_EXTRA_CFLAGS@$ENV{CFLAGS}") + set(CFLAGS "@UNIX_EXTRA_CFLAGS@$ENV{CFLAGS}") endif(MSYS_PLATFORM) -#message(STATUS "modified EPA_PATH for ${PACKAGE} = ${EPA_PATH}") -set(SET_CXXFLAGS "CXXFLAGS=$ENV{CXXFLAGS}") +set(CXXFLAGS "$ENV{CXXFLAGS}") # Drop -fvisibility=hidden since that option does not work for a # number of software packages that are configured automatically using # this template. -string(REGEX REPLACE "-fvisibility=hidden" "" SET_CFLAGS "${SET_CFLAGS}") -string(REGEX REPLACE "-fvisibility=hidden" "" SET_CXXFLAGS "${SET_CXXFLAGS}") +string(REGEX REPLACE "-fvisibility=hidden" "" CFLAGS "${CFLAGS}") +string(REGEX REPLACE "-fvisibility=hidden" "" CXXFLAGS "${CXXFLAGS}") +# Data that is related to downloads. +set(URL @download_href@) +set(DOWNLOAD_HASH_TYPE @download_hash_type@) +set(DOWNLOAD_HASH @download_hash@) + ExternalProject_Add( build_${PACKAGE} DEPENDS ${dependencies_targets} URL ${URL} URL_HASH ${DOWNLOAD_HASH_TYPE}=${DOWNLOAD_HASH} - CONFIGURE_COMMAND ${ENV_EXECUTABLE} PATH=${EPA_PATH} ${SET_CFLAGS} ${SET_CXXFLAGS} ${source_PATH}/${EPA_CONFIGURE_COMMAND} @config_arguments@ + CONFIGURE_COMMAND ${ENV_EXECUTABLE} PATH=${EPA_PATH} "CFLAGS=${CFLAGS}" "CXXFLAGS=${CXXFLAGS}" ${source_PATH}/${EPA_CONFIGURE_COMMAND} @config_arguments@ BUILD_COMMAND ${ENV_EXECUTABLE} PATH=${EPA_PATH} ${@BUILD_COMMAND@} @make_arguments@ BUILD_IN_SOURCE @BUILD_IN_SOURCE@ INSTALL_COMMAND ${ENV_EXECUTABLE} PATH=${EPA_PATH} ${@BUILD_COMMAND@} @make_arguments@ install Modified: trunk/cmake/epa_build/fontconfig/CMakeLists.txt =================================================================== --- trunk/cmake/epa_build/fontconfig/CMakeLists.txt 2013-12-05 09:20:44 UTC (rev 12811) +++ trunk/cmake/epa_build/fontconfig/CMakeLists.txt 2013-12-05 10:48:48 UTC (rev 12812) @@ -1,4 +1,7 @@ # fontconfig/CMakeLists.txt + +# Configure the build of fontconfig. + # N.B. this file is generated so if you edit it you will lose all your # changes the next time it is generated (typically by running # either/both the update_added_packages.sh or update_pango_packages.sh @@ -6,10 +9,6 @@ # consider changing their source files (e.g., by editing the files # used in those scripts) or add a patch to be run by those scripts. -# The CMake logic in this file should be exercised by the -# add_subdirectory command that is exercised in the top-level -# CMakeLists.txt file to configure the build of fontconfig. - # Copyright (C) 2013 Alan W. Irwin # This file is free software; you can redistribute it and/or @@ -26,12 +25,6 @@ # License along with this file; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA -# The top-level CMakeLists.txt file that adds this subdirectory should -# have run "include(ExternalProject)" and set the EPA_BASE variable (and -# corresponding directory property) as well as various EPA variables -# used below that configure how the External_Project functions -# operate. - set(PACKAGE fontconfig) # List of dependencies (most of which are build tools) which should be @@ -39,66 +32,44 @@ set(ignored_dependencies_LIST pkg-config;bison;flex;python2-devel;libXft ${extra_ignored_dependencies_list}) set(dependencies_LIST gperf) -# Remove dependencies that should be ignored. -if(dependencies_LIST) - list(REMOVE_ITEM dependencies_LIST ${ignored_dependencies_LIST}) -endif(dependencies_LIST) -# Add this subdirectory to the list of subdirectories that have -# already been processed by the top-level CMakeLists.txt logic. -list(APPEND EPA_processed_subdirectories_LIST ${PACKAGE}) +# Do boilerplate tasks that must be done for each different project +# that is configured as part of epa_build. +epa_boilerplate( + ignored_dependencies_LIST + PACKAGE + dependencies_LIST + dependencies_targets + EPA_PATH + source_PATH + ) -set(dependencies_targets) -foreach(build_configuration ${dependencies_LIST}) - if(EXISTS ${CMAKE_SOURCE_DIR}/${build_configuration}/CMakeLists.txt) - # Add to the list of subdirectories that must be processed by the - # top-level CMakeLists.txt logic. - list(APPEND EPA_needed_subdirectories_LIST ${build_configuration}) - list(APPEND dependencies_targets build_${build_configuration}) - else(EXISTS ${CMAKE_SOURCE_DIR}/${build_configuration}/CMakeLists.txt) - message(STATUS "Warning: A build_configuration for ${build_configuration} does not exist so it is assumed this dependency of ${PACKAGE} has been installed on your platform by means other than epa_build.") - endif(EXISTS ${CMAKE_SOURCE_DIR}/${build_configuration}/CMakeLists.txt) -endforeach(build_configuration ${dependences_LIST}) - -list(APPEND EPA_build_target_LIST build_${PACKAGE}) - -# Propagate list changes to parent scope. -set(EPA_build_target_LIST ${EPA_build_target_LIST} PARENT_SCOPE) -set(EPA_processed_subdirectories_LIST ${EPA_processed_subdirectories_LIST} PARENT_SCOPE) -set(EPA_needed_subdirectories_LIST ${EPA_needed_subdirectories_LIST} PARENT_SCOPE) - -# Data that is related to downloads. -set(URL http://www.freedesktop.org/software/fontconfig/release/fontconfig-2.10.93.tar.bz2) -set(DOWNLOAD_HASH_TYPE SHA256) -set(DOWNLOAD_HASH ea901f278848829ed9937d76fb0ce63ad362d7d5b9e75aa6a6b78bfef42e529c) - -# Data that is related to the PATH that must be used. if(MSYS_PLATFORM) - determine_msys_path(EPA_PATH "${EPA_PATH}") - # Must have all elements of env command in MSYS platform form - determine_msys_path(source_PATH "${EPA_BASE}/Source/build_${PACKAGE}") - set(SET_CFLAGS "CFLAGS=$ENV{CFLAGS}") + set(CFLAGS "$ENV{CFLAGS}") else(MSYS_PLATFORM) - set(source_PATH "${EPA_BASE}/Source/build_${PACKAGE}") - set(SET_CFLAGS "CFLAGS=$ENV{CFLAGS}") + set(CFLAGS "$ENV{CFLAGS}") endif(MSYS_PLATFORM) -#message(STATUS "modified EPA_PATH for ${PACKAGE} = ${EPA_PATH}") -set(SET_CXXFLAGS "CXXFLAGS=$ENV{CXXFLAGS}") +set(CXXFLAGS "$ENV{CXXFLAGS}") # Drop -fvisibility=hidden since that option does not work for a # number of software packages that are configured automatically using # this template. -string(REGEX REPLACE "-fvisibility=hidden" "" SET_CFLAGS "${SET_CFLAGS}") -string(REGEX REPLACE "-fvisibility=hidden" "" SET_CXXFLAGS "${SET_CXXFLAGS}") +string(REGEX REPLACE "-fvisibility=hidden" "" CFLAGS "${CFLAGS}") +string(REGEX REPLACE "-fvisibility=hidden" "" CXXFLAGS "${CXXFLAGS}") +# Data that is related to downloads. +set(URL http://www.freedesktop.org/software/fontconfig/release/fontconfig-2.10.93.tar.bz2) +set(DOWNLOAD_HASH_TYPE SHA256) +set(DOWNLOAD_HASH ea901f278848829ed9937d76fb0ce63ad362d7d5b9e75aa6a6b78bfef42e529c) + ExternalProject_Add( build_${PACKAGE} DEPENDS ${dependencies_targets} URL ${URL} URL_HASH ${DOWNLOAD_HASH_TYPE}=${DOWNLOAD_HASH} - CONFIGURE_COMMAND ${ENV_EXECUTABLE} PATH=${EPA_PATH} ${SET_CFLAGS} ${SET_CXXFLAGS} ${source_PATH}/${EPA_CONFIGURE_COMMAND} --disable-docs - BUILD_COMMAND ${ENV_EXECUTABLE} PATH=${EPA_PATH} ${BP_PARALLEL_MAKE_COMMAND} + CONFIGURE_COMMAND ${ENV_EXECUTABLE} PATH=${EPA_PATH} "CFLAGS=${CFLAGS}" "CXXFLAGS=${CXXFLAGS}" ${source_PATH}/${EPA_CONFIGURE_COMMAND} --disable-docs + BUILD_COMMAND ${ENV_EXECUTABLE} PATH=${EPA_PATH} ${EPA_PARALLEL_MAKE_COMMAND} BUILD_IN_SOURCE OFF - INSTALL_COMMAND ${ENV_EXECUTABLE} PATH=${EPA_PATH} ${BP_PARALLEL_MAKE_COMMAND} install + INSTALL_COMMAND ${ENV_EXECUTABLE} PATH=${EPA_PATH} ${EPA_PARALLEL_MAKE_COMMAND} install ) Modified: trunk/cmake/epa_build/glib/CMakeLists.txt =================================================================== --- trunk/cmake/epa_build/glib/CMakeLists.txt 2013-12-05 09:20:44 UTC (rev 12811) +++ trunk/cmake/epa_build/glib/CMakeLists.txt 2013-12-05 10:48:48 UTC (rev 12812) @@ -1,4 +1,7 @@ # glib/CMakeLists.txt + +# Configure the build of glib. + # N.B. this file is generated so if you edit it you will lose all your # changes the next time it is generated (typically by running # either/both the update_added_packages.sh or update_pango_packages.sh @@ -6,10 +9,6 @@ # consider changing their source files (e.g., by editing the files # used in those scripts) or add a patch to be run by those scripts. -# The CMake logic in this file should be exercised by the -# add_subdirectory command that is exercised in the top-level -# CMakeLists.txt file to configure the build of glib. - # Copyright (C) 2013 Alan W. Irwin # This file is free software; you can redistribute it and/or @@ -26,12 +25,6 @@ # License along with this file; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA -# The top-level CMakeLists.txt file that adds this subdirectory should -# have run "include(ExternalProject)" and set the EPA_BASE variable (and -# corresponding directory property) as well as various EPA variables -# used below that configure how the External_Project functions -# operate. - set(PACKAGE glib) # List of dependencies (most of which are build tools) which should be @@ -39,66 +32,44 @@ set(ignored_dependencies_LIST pkg-config;bison;flex;python2-devel;libXft ${extra_ignored_dependencies_list}) set(dependencies_LIST gtk-doc;libffi) -# Remove dependencies that should be ignored. -if(dependencies_LIST) - list(REMOVE_ITEM dependencies_LIST ${ignored_dependencies_LIST}) -endif(dependencies_LIST) -# Add this subdirectory to the list of subdirectories that have -# already been processed by the top-level CMakeLists.txt logic. -list(APPEND EPA_processed_subdirectories_LIST ${PACKAGE}) +# Do boilerplate tasks that must be done for each different project +# that is configured as part of epa_build. +epa_boilerplate( + ignored_dependencies_LIST + PACKAGE + dependencies_LIST + dependencies_targets + EPA_PATH + source_PATH + ) -set(dependencies_targets) -foreach(build_configuration ${dependencies_LIST}) - if(EXISTS ${CMAKE_SOURCE_DIR}/${build_configuration}/CMakeLists.txt) - # Add to the list of subdirectories that must be processed by the - # top-level CMakeLists.txt logic. - list(APPEND EPA_needed_subdirectories_LIST ${build_configuration}) - list(APPEND dependencies_targets build_${build_configuration}) - else(EXISTS ${CMAKE_SOURCE_DIR}/${build_configuration}/CMakeLists.txt) - message(STATUS "Warning: A build_configuration for ${build_configuration} does not exist so it is assumed this dependency of ${PACKAGE} has been installed on your platform by means other than epa_build.") - endif(EXISTS ${CMAKE_SOURCE_DIR}/${build_configuration}/CMakeLists.txt) -endforeach(build_configuration ${dependences_LIST}) - -list(APPEND EPA_build_target_LIST build_${PACKAGE}) - -# Propagate list changes to parent scope. -set(EPA_build_target_LIST ${EPA_build_target_LIST} PARENT_SCOPE) -set(EPA_processed_subdirectories_LIST ${EPA_processed_subdirectories_LIST} PARENT_SCOPE) -set(EPA_needed_subdirectories_LIST ${EPA_needed_subdirectories_LIST} PARENT_SCOPE) - -# Data that is related to downloads. -set(URL http://download.gnome.org/sources/glib/2.37/glib-2.37.4.tar.xz) -set(DOWNLOAD_HASH_TYPE SHA256) -set(DOWNLOAD_HASH 7e76a32e6ea0ced118aa64f87e46cdf5c3e90527f1f0eb93eabe42a03cebd1e7) - -# Data that is related to the PATH that must be used. if(MSYS_PLATFORM) - determine_msys_path(EPA_PATH "${EPA_PATH}") - # Must have all elements of env command in MSYS platform form - determine_msys_path(source_PATH "${EPA_BASE}/Source/build_${PACKAGE}") - set(SET_CFLAGS "CFLAGS=-march=native $ENV{CFLAGS}") + set(CFLAGS "-march=native $ENV{CFLAGS}") else(MSYS_PLATFORM) - set(source_PATH "${EPA_BASE}/Source/build_${PACKAGE}") - set(SET_CFLAGS "CFLAGS=$ENV{CFLAGS}") + set(CFLAGS "$ENV{CFLAGS}") endif(MSYS_PLATFORM) -#message(STATUS "modified EPA_PATH for ${PACKAGE} = ${EPA_PATH}") -set(SET_CXXFLAGS "CXXFLAGS=$ENV{CXXFLAGS}") +set(CXXFLAGS "$ENV{CXXFLAGS}") # Drop -fvisibility=hidden since that option does not work for a # number of software packages that are configured automatically using # this template. -string(REGEX REPLACE "-fvisibility=hidden" "" SET_CFLAGS "${SET_CFLAGS}") -string(REGEX REPLACE "-fvisibility=hidden" "" SET_CXXFLAGS "${SET_CXXFLAGS}") +string(REGEX REPLACE "-fvisibility=hidden" "" CFLAGS "${CFLAGS}") +string(REGEX REPLACE "-fvisibility=hidden" "" CXXFLAGS "${CXXFLAGS}") +# Data that is related to downloads. +set(URL http://download.gnome.org/sources/glib/2.37/glib-2.37.4.tar.xz) +set(DOWNLOAD_HASH_TYPE SHA256) +set(DOWNLOAD_HASH 7e76a32e6ea0ced118aa64f87e46cdf5c3e90527f1f0eb93eabe42a03cebd1e7) + ExternalProject_Add( build_${PACKAGE} DEPENDS ${dependencies_targets} URL ${URL} URL_HASH ${DOWNLOAD_HASH_TYPE}=${DOWNLOAD_HASH} - CONFIGURE_COMMAND ${ENV_EXECUTABLE} PATH=${EPA_PATH} ${SET_CFLAGS} ${SET_CXXFLAGS} ${source_PATH}/${EPA_CONFIGURE_COMMAND} --enable-installed-tests - BUILD_COMMAND ${ENV_EXECUTABLE} PATH=${EPA_PATH} ${BP_PARALLEL_MAKE_COMMAND} + CONFIGURE_COMMAND ${ENV_EXECUTABLE} PATH=${EPA_PATH} "CFLAGS=${CFLAGS}" "CXXFLAGS=${CXXFLAGS}" ${source_PATH}/${EPA_CONFIGURE_COMMAND} --enable-installed-tests + BUILD_COMMAND ${ENV_EXECUTABLE} PATH=${EPA_PATH} ${EPA_PARALLEL_MAKE_COMMAND} BUILD_IN_SOURCE OFF - INSTALL_COMMAND ${ENV_EXECUTABLE} PATH=${EPA_PATH} ${BP_PARALLEL_MAKE_COMMAND} install + INSTALL_COMMAND ${ENV_EXECUTABLE} PATH=${EPA_PATH} ${EPA_PARALLEL_MAKE_COMMAND} install ) Modified: trunk/cmake/epa_build/gobject-introspection/CMakeLists.txt =================================================================== --- trunk/cmake/epa_build/gobject-introspection/CMakeLists.txt 2013-12-05 09:20:44 UTC (rev 12811) +++ trunk/cmake/epa_build/gobject-introspection/CMakeLists.txt 2013-12-05 10:48:48 UTC (rev 12812) @@ -1,4 +1,7 @@ # gobject-introspection/CMakeLists.txt + +# Configure the build of gobject-introspection. + # N.B. this file is generated so if you edit it you will lose all your # changes the next time it is generated (typically by running # either/both the update_added_packages.sh or update_pango_packages.sh @@ -6,10 +9,6 @@ # consider changing their source files (e.g., by editing the files # used in those scripts) or add a patch to be run by those scripts. -# The CMake logic in this file should be exercised by the -# add_subdirectory command that is exercised in the top-level -# CMakeLists.txt file to configure the build of gobject-introspection. - # Copyright (C) 2013 Alan W. Irwin # This file is free software; you can redistribute it and/or @@ -26,12 +25,6 @@ # License along with this file; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA -# The top-level CMakeLists.txt file that adds this subdirectory should -# have run "include(ExternalProject)" and set the EPA_BASE variable (and -# corresponding directory property) as well as various EPA variables -# used below that configure how the External_Project functions -# operate. - set(PACKAGE gobject-introspection) # List of dependencies (most of which are build tools) which should be @@ -39,66 +32,44 @@ set(ignored_dependencies_LIST pkg-config;bison;flex;python2-devel;libXft ${extra_ignored_dependencies_list}) set(dependencies_LIST bison;cairo;flex;glib;python2-devel) -# Remove dependencies that should be ignored. -if(dependencies_LIST) - list(REMOVE_ITEM dependencies_LIST ${ignored_dependencies_LIST}) -endif(dependencies_LIST) -# Add this subdirectory to the list of subdirectories that have -# already been processed by the top-level CMakeLists.txt logic. -list(APPEND EPA_processed_subdirectories_LIST ${PACKAGE}) +# Do boilerplate tasks that must be done for each different project +# that is configured as part of epa_build. +epa_boilerplate( + ignored_dependencies_LIST + PACKAGE + dependencies_LIST + dependencies_targets + EPA_PATH + source_PATH + ) -set(dependencies_targets) -foreach(build_configuration ${dependencies_LIST}) - if(EXISTS ${CMAKE_SOURCE_DIR}/${build_configuration}/CMakeLists.txt) - # Add to the list of subdirectories that must be processed by the - # top-level CMakeLists.txt logic. - list(APPEND EPA_needed_subdirectories_LIST ${build_configuration}) - list(APPEND dependencies_targets build_${build_configuration}) - else(EXISTS ${CMAKE_SOURCE_DIR}/${build_configuration}/CMakeLists.txt) - message(STATUS "Warning: A build_configuration for ${build_configuration} does not exist so it is assumed this dependency of ${PACKAGE} has been installed on your platform by means other than epa_build.") - endif(EXISTS ${CMAKE_SOURCE_DIR}/${build_configuration}/CMakeLists.txt) -endforeach(build_configuration ${dependences_LIST}) - -list(APPEND EPA_build_target_LIST build_${PACKAGE}) - -# Propagate list changes to parent scope. -set(EPA_build_target_LIST ${EPA_build_target_LIST} PARENT_SCOPE) -set(EPA_processed_subdirectories_LIST ${EPA_processed_subdirectories_LIST} PARENT_SCOPE) -set(EPA_needed_subdirectories_LIST ${EPA_needed_subdirectories_LIST} PARENT_SCOPE) - -# Data that is related to downloads. -set(URL http://download.gnome.org/sources/gobject-introspection/1.37/gobject-introspection-1.37.4.tar.xz) -set(DOWNLOAD_HASH_TYPE SHA256) -set(DOWNLOAD_HASH 431dae811626d18f1f02ff3842f291cc21b3c5e4a47b24d52d46e25e93036591) - -# Data that is related to the PATH that must be used. if(MSYS_PLATFORM) - determine_msys_path(EPA_PATH "${EPA_PATH}") - # Must have all elements of env command in MSYS platform form - determine_msys_path(source_PATH "${EPA_BASE}/Source/build_${PACKAGE}") - set(SET_CFLAGS "CFLAGS=$ENV{CFLAGS}") + set(CFLAGS "$ENV{CFLAGS}") else(MSYS_PLATFORM) - set(source_PATH "${EPA_BASE}/Source/build_${PACKAGE}") - set(SET_CFLAGS "CFLAGS=$ENV{CFLAGS}") + set(CFLAGS "$ENV{CFLAGS}") endif(MSYS_PLATFORM) -#message(STATUS "modified EPA_PATH for ${PACKAGE} = ${EPA_PATH}") -set(SET_CXXFLAGS "CXXFLAGS=$ENV{CXXFLAGS}") +set(CXXFLAGS "$ENV{CXXFLAGS}") # Drop -fvisibility=hidden since that option does not work for a # number of software packages that are configured automatically using # this template. -string(REGEX REPLACE "-fvisibility=hidden" "" SET_CFLAGS "${SET_CFLAGS}") -string(REGEX REPLACE "-fvisibility=hidden" "" SET_CXXFLAGS "${SET_CXXFLAGS}") +string(REGEX REPLACE "-fvisibility=hidden" "" CFLAGS "${CFLAGS}") +string(REGEX REPLACE "-fvisibility=hidden" "" CXXFLAGS "${CXXFLAGS}") +# Data that is related to downloads. +set(URL http://download.gnome.org/sources/gobject-introspection/1.37/gobject-introspection-1.37.4.tar.xz) +set(DOWNLOAD_HASH_TYPE SHA256) +set(DOWNLOAD_HASH 431dae811626d18f1f02ff3842f291cc21b3c5e4a47b24d52d46e25e93036591) + ExternalProject_Add( build_${PACKAGE} DEPENDS ${dependencies_targets} URL ${URL} URL_HASH ${DOWNLOAD_HASH_TYPE}=${DOWNLOAD_HASH} - CONFIGURE_COMMAND ${ENV_EXECUTABLE} PATH=${EPA_PATH} ${SET_CFLAGS} ${SET_CXXFLAGS} ${source_PATH}/${EPA_CONFIGURE_COMMAND} - BUILD_COMMAND ${ENV_EXECUTABLE} PATH=${EPA_PATH} ${BP_PARALLEL_MAKE_COMMAND} + CONFIGURE_COMMAND ${ENV_EXECUTABLE} PATH=${EPA_PATH} "CFLAGS=${CFLAGS}" "CXXFLAGS=${CXXFLAGS}" ${source_PATH}/${EPA_CONFIGURE_COMMAND} + BUILD_COMMAND ${ENV_EXECUTABLE} PATH=${EPA_PATH} ${EPA_PARALLEL_MAKE_COMMAND} BUILD_IN_SOURCE OFF - INSTALL_COMMAND ${ENV_EXECUTABLE} PATH=${EPA_PATH} ${BP_PARALLEL_MAKE_COMMAND} install + INSTALL_COMMAND ${ENV_EXECUTABLE} PATH=${EPA_PATH} ${EPA_PARALLEL_MAKE_COMMAND} install ) Modified: trunk/cmake/epa_build/gperf/CMakeLists.txt =================================================================== --- trunk/cmake/epa_build/gperf/CMakeLists.txt 2013-12-05 09:20:44 UTC (rev 12811) +++ trunk/cmake/epa_build/gperf/CMakeLists.txt 2013-12-05 10:48:48 UTC (rev 12812) @@ -1,4 +1,7 @@ # gperf/CMakeLists.txt + +# Configure the build of gperf. + # N.B. this file is generated so if you edit it you will lose all your # changes the next time it is generated (typically by running # either/both the update_added_packages.sh or update_pango_packages.sh @@ -6,10 +9,6 @@ # consider changing their source files (e.g., by editing the files # used in those scripts) or add a patch to be run by those scripts. -# The CMake logic in this file should be exercised by the -# add_subdirectory command that is exercised in the top-level -# CMakeLists.txt file to configure the build of gperf. - # Copyright (C) 2013 Alan W. Irwin # This file is free software; you can redistribute it and/or @@ -26,12 +25,6 @@ # License along with this file; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA -# The top-level CMakeLists.txt file that adds this subdirectory should -# have run "include(ExternalProject)" and set the EPA_BASE variable (and -# corresponding directory property) as well as various EPA variables -# used below that configure how the External_Project functions -# operate. - set(PACKAGE gperf) # List of dependencies (most of which are build tools) which should be @@ -39,66 +32,44 @@ set(ignored_dependencies_LIST pkg-config;bison;flex;python2-devel;libXft ${extra_ignored_dependencies_list}) set(dependencies_LIST ) -# Remove dependencies that should be ignored. -if(dependencies_LIST) - list(REMOVE_ITEM dependencies_LIST ${ignored_dependencies_LIST}) -endif(dependencies_LIST) -# Add this subdirectory to the list of subdirectories that have -# already been processed by the top-level CMakeLists.txt logic. -list(APPEND EPA_processed_subdirectories_LIST ${PACKAGE}) +# Do boilerplate tasks that must be done for each different project +# that is configured as part of epa_build. +epa_boilerplate( + ignored_dependencies_LIST + PACKAGE + dependencies_LIST + dependencies_targets + EPA_PATH + source_PATH + ) -set(dependencies_targets) -foreach(build_configuration ${dependencies_LIST}) - if(EXISTS ${CMAKE_SOURCE_DIR}/${build_configuration}/CMakeLists.txt) - # Add to the list of subdirectories that must be processed by the - # top-level CMakeLists.txt logic. - list(APPEND EPA_needed_subdirectories_LIST ${build_configuration}) - list(APPEND dependencies_targets build_${build_configuration}) - else(EXISTS ${CMAKE_SOURCE_DIR}/${build_configuration}/CMakeLists.txt) - message(STATUS "Warning: A build_configuration for ${build_configuration} does not exist so it is assumed this dependency of ${PACKAGE} has been installed on your platform by means other than epa_build.") - endif(EXISTS ${CMAKE_SOURCE_DIR}/${build_configuration}/CMakeLists.txt) -endforeach(build_configuration ${dependences_LIST}) - -list(APPEND EPA_build_target_LIST build_${PACKAGE}) - -# Propagate list changes to parent scope. -set(EPA_build_target_LIST ${EPA_build_target_LIST} PARENT_SCOPE) -set(EPA_processed_subdirectories_LIST ${EPA_processed_subdirectories_LIST} PARENT_SCOPE) -set(EPA_needed_subdirectories_LIST ${EPA_needed_subdirectories_LIST} PARENT_SCOPE) - -# Data that is related to downloads. -set(URL http://ftp.gnu.org/gnu/gperf/gperf-3.0.4.tar.gz) -set(DOWNLOAD_HASH_TYPE SHA256) -set(DOWNLOAD_HASH 767112a204407e62dbc3106647cf839ed544f3cf5d0f0523aaa2508623aad63e) - -# Data that is related to the PATH that must be used. if(MSYS_PLATFORM) - determine_msys_path(EPA_PATH "${EPA_PATH}") - # Must have all elements of env command in MSYS platform form - determine_msys_path(source_PATH "${EPA_BASE}/Source/build_${PACKAGE}") - set(SET_CFLAGS "CFLAGS=$ENV{CFLAGS}") + set(CFLAGS "$ENV{CFLAGS}") else(MSYS_PLATFORM) - set(source_PATH "${EPA_BASE}/Source/build_${PACKAGE}") - set(SET_CFLAGS "CFLAGS=$ENV{CFLAGS}") + set(CFLAGS "$ENV{CFLAGS}") endif(MSYS_PLATFORM) -#message(STATUS "modified EPA_PATH for ${PACKAGE} = ${EPA_PATH}") -set(SET_CXXFLAGS "CXXFLAGS=$ENV{CXXFLAGS}") +set(CXXFLAGS "$ENV{CXXFLAGS}") # Drop -fvisibility=hidden since that option does not work for a # number of software packages that are configured automatically using # this template. -string(REGEX REPLACE "-fvisibility=hidden" "" SET_CFLAGS "${SET_CFLAGS}") -string(REGEX REPLACE "-fvisibility=hidden" "" SET_CXXFLAGS "${SET_CXXFLAGS}") +string(REGEX REPLACE "-fvisibility=hidden" "" CFLAGS "${CFLAGS}") +string(REGEX REPLACE "-fvisibility=hidden" "" CXXFLAGS "${CXXFLAGS}") +# Data that is related to downloads. +set(URL http://ftp.gnu.org/gnu/gperf/gperf-3.0.4.tar.gz) +set(DOWNLOAD_HASH_TYPE SHA256) +set(DOWNLOAD_HASH 767112a204407e62dbc3106647cf839ed544f3cf5d0f0523aaa2508623aad63e) + ExternalProject_Add( build_${PACKAGE} DEPENDS ${dependencies_targets} URL ${URL} URL_HASH ${DOWNLOAD_HASH_TYPE}=${DOWNLOAD_HASH} - CONFIGURE_COMMAND ${ENV_EXECUTABLE} PATH=${EPA_PATH} ${SET_CFLAGS} ${SET_CXXFLAGS} ${source_PATH}/${EPA_CONFIGURE_COMMAND} - BUILD_COMMAND ${ENV_EXECUTABLE} PATH=${EPA_PATH} ${BP_PARALLEL_MAKE_COMMAND} + CONFIGURE_COMMAND ${ENV_EXECUTABLE} PATH=${EPA_PATH} "CFLAGS=${CFLAGS}" "CXXFLAGS=${CXXFLAGS}" ${source_PATH}/${EPA_CONFIGURE_COMMAND} + BUILD_COMMAND ${ENV_EXECUTABLE} PATH=${EPA_PATH} ${EPA_PARALLEL_MAKE_COMMAND} BUILD_IN_SOURCE OFF - INSTALL_COMMAND ${ENV_EXECUTABLE} PATH=${EPA_PATH} ${BP_PARALLEL_MAKE_COMMAND} install + INSTALL_COMMAND ${ENV_EXECUTABLE} PATH=${EPA_PATH} ${EPA_PARALLEL_MAKE_COMMAND} install ) Modified: trunk/cmake/epa_build/gtk-doc/CMakeLists.txt =================================================================== --- trunk/cmake/epa_build/gtk-doc/CMakeLists.txt 2013-12-05 09:20:44 UTC (rev 12811) +++ trunk/cmake/epa_build/gtk-doc/CMakeLists.txt 2013-12-05 10:48:48 UTC (rev 12812) @@ -1,4 +1,7 @@ # gtk-doc/CMakeLists.txt + +# Configure the build of gtk-doc. + # N.B. this file is generated so if you edit it you will lose all your # changes the next time it is generated (typically by running # either/both the update_added_packages.sh or update_pango_packages.sh @@ -6,10 +9,6 @@ # consider changing their source files (e.g., by editing the files # used in those scripts) or add a patch to be run by those scripts. -# The CMake logic in this file should be exercised by the -# add_subdirectory command that is exercised in the top-level -# CMakeLists.txt file to configure the build of gtk-doc. - # Copyright (C) 2013 Alan W. Irwin # This file is free software; you can redistribute it and/or @@ -26,12 +25,6 @@ # License along with this file; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA -# The top-level CMakeLists.txt file that adds this subdirectory should -# have run "include(ExternalProject)" and set the EPA_BASE variable (and -# corresponding directory property) as well as various EPA variables -# used below that configure how the External_Project functions -# operate. - set(PACKAGE gtk-doc) # List of dependencies (most of which are build tools) which should be @@ -39,66 +32,44 @@ set(ignored_dependencies_LIST pkg-config;bison;flex;python2-devel;libXft ${extra_ignored_dependencies_list}) set(dependencies_LIST docbook-xml;docbook-xsl;libxslt;yelp-tools) -# Remove dependencies that should be ignored. -if(dependencies_LIST) - list(REMOVE_ITEM dependencies_LIST ${ignored_dependencies_LIST}) -endif(dependencies_LIST) -# Add this subdirectory to the list of subdirectories that have -# already been processed by the top-level CMakeLists.txt logic. -list(APPEND EPA_processed_subdirectories_LIST ${PACKAGE}) +# Do boilerplate tasks that must be done for each different project +# that is configured as part of epa_build. +epa_boilerplate( + ignored_dependencies_LIST + PACKAGE + dependencies_LIST + dependencies_targets + EPA_PATH + source_PATH + ) -set(dependencies_targets) -foreach(build_configuration ${dependencies_LIST}) - if(EXISTS ${CMAKE_SOURCE_DIR}/${build_configuration}/CMakeLists.txt) - # Add to the list of subdirectories that must be processed by the - # top-level CMakeLists.txt logic. - list(APPEND EPA_needed_subdirectories_LIST ${build_configuration}) - list(APPEND dependencies_targets build_${build_configuration}) - else(EXISTS ${CMAKE_SOURCE_DIR}/${build_configuration}/CMakeLists.txt) - message(STATUS "Warning: A build_configuration for ${build_configuration} does not exist so it is assumed this dependency of ${PACKAGE} has been installed on your platform by means other than epa_build.") - endif(EXISTS ${CMAKE_SOURCE_DIR}/${build_configuration}/CMakeLists.txt) -endforeach(build_configuration ${dependences_LIST}) - -list(APPEND EPA_build_target_LIST build_${PACKAGE}) - -# Propagate list changes to parent scope. -set(EPA_build_target_LIST ${EPA_build_target_LIST} PARENT_SCOPE) -set(EPA_processed_subdirectories_LIST ${EPA_processed_subdirectories_LIST} PARENT_SCOPE) -set(EPA_needed_subdirectories_LIST ${EPA_needed_subdirectories_LIST} PARENT_SCOPE) - -# Data that is related to downloads. -set(URL http://download.gnome.org/sources/gtk-doc/1.19/gtk-doc-1.19.tar.xz) -set(DOWNLOAD_HASH_TYPE SHA256) -set(DOWNLOAD_HASH 27df247fa828433a9390368e2088cc22f954f2ce1f255ddbd12ab6e027b12e68) - -# Data that is related to the PATH that must be used. if(MSYS_PLATFORM) - determine_msys_path(EPA_PATH "${EPA_PATH}") - # Must have all elements of env command in MSYS platform form - determine_msys_path(source_PATH "${EPA_BASE}/Source/build_${PACKAGE}") - set(SET_CFLAGS "CFLAGS=$ENV{CFLAGS}") + set(CFLAGS "$ENV{CFLAGS}") else(MSYS_PLATFORM) - set(source_PATH "${EPA_BASE}/Source/build_${PACKAGE}") - set(SET_CFLAGS "CFLAGS=$ENV{CFLAGS}") + set(CFLAGS "$ENV{CFLAGS}") endif(MSYS_PLATFORM) -#message(STATUS "modified EPA_PATH for ${PACKAGE} = ${EPA_PATH}") -set(SET_CXXFLAGS "CXXFLAGS=$ENV{CXXFLAGS}") +set(CXXFLAGS "$ENV{CXXFLAGS}") # Drop -fvisibility=hidden since that option does not work for a # number of software packages that are configured automatically using # this template. -string(REGEX REPLACE "-fvisibility=hidden" "" SET_CFLAGS "${SET_CFLAGS}") -string(REGEX REPLACE "-fvisibility=hidden" "" SET_CXXFLAGS "${SET_CXXFLAGS}") +string(REGEX REPLACE "-fvisibility=hidden" "" CFLAGS "${CFLAGS}") +string(REGEX REPLACE "-fvisibility=hidden" "" CXXFLAGS "${CXXFLAGS}") +# Data that is related to downloads. +set(URL http://download.gnome.org/sources/gtk-doc/1.19/gtk-doc-1.19.tar.xz) +set(DOWNLOAD_HASH_TYPE SHA256) +set(DOWNLOAD_HASH 27df247fa828433a9390368e2088cc22f954f2ce1f255ddbd12ab6e027b12e68) + ExternalProject_Add( build_${PACKAGE} DEPENDS ${dependencies_targets} URL ${URL} URL_HASH ${DOWNLOAD_HASH_TYPE}=${DOWNLOAD_HASH} - CONFIGURE_COMMAND ${ENV_EXECUTABLE} PATH=${EPA_PATH} ${SET_CFLAGS} ${SET_CXXFLAGS} ${source_PATH}/${EPA_CONFIGURE_COMMAND} --with-xml-catalog=${CMAKE_INSTALL_PREFIX}/etc/xml/catalog - BUILD_COMMAND ${ENV_EXECUTABLE} PATH=${EPA_PATH} ${BP_PARALLEL_MAKE_COMMAND} + CONFIGURE_COMMAND ${ENV_EXECUTABLE} PATH=${EPA_PATH} "CFLAGS=${CFLAGS}" "CXXFLAGS=${CXXFLAGS}" ${source_PATH}/${EPA_CONFIGURE_COMMAND} --with-xml-catalog=${CMAKE_INSTALL_PREFIX}/etc/xml/catalog + BUILD_COMMAND ${ENV_EXECUTABLE} PATH=${EPA_PATH} ${EPA_PARA... [truncated message content] |
From: <ai...@us...> - 2013-12-05 09:20:47
|
Revision: 12811 http://sourceforge.net/p/plplot/code/12811 Author: airwin Date: 2013-12-05 09:20:44 +0000 (Thu, 05 Dec 2013) Log Message: ----------- BP_ ==> EPA_ This fix has a very large effect since it affects all epa_build configurations that are automatically generated. Modified Paths: -------------- trunk/cmake/epa_build/configure_epa.cmake Modified: trunk/cmake/epa_build/configure_epa.cmake =================================================================== --- trunk/cmake/epa_build/configure_epa.cmake 2013-12-05 00:12:52 UTC (rev 12810) +++ trunk/cmake/epa_build/configure_epa.cmake 2013-12-05 09:20:44 UTC (rev 12811) @@ -44,9 +44,9 @@ endif(supports_non_srcdir_builds) if(supports_parallel_builds) - set(BUILD_COMMAND BP_PARALLEL_MAKE_COMMAND) + set(BUILD_COMMAND EPA_PARALLEL_MAKE_COMMAND) else(supports_parallel_builds) - set(BUILD_COMMAND BP_MAKE_COMMAND) + set(BUILD_COMMAND EPA_MAKE_COMMAND) endif(supports_parallel_builds) # Extra CFLAGS fixups for individual packages. This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <and...@us...> - 2013-12-05 00:12:59
|
Revision: 12810 http://sourceforge.net/p/plplot/code/12810 Author: andrewross Date: 2013-12-05 00:12:52 +0000 (Thu, 05 Dec 2013) Log Message: ----------- Partial update to the ocaml version of example 22. Still needs more work (and some changes to the ocaml bindings). Modified Paths: -------------- trunk/examples/ocaml/x22.ml Modified: trunk/examples/ocaml/x22.ml =================================================================== --- trunk/examples/ocaml/x22.ml 2013-12-04 19:04:27 UTC (rev 12809) +++ trunk/examples/ocaml/x22.ml 2013-12-05 00:12:52 UTC (rev 12810) @@ -82,7 +82,7 @@ (* * Vector plot of flow through a constricted pipe *) -let constriction () = +let constriction astyle = let nx = 20 in let ny = 20 in let dx = 1.0 in @@ -107,7 +107,7 @@ yg.(i).(j) <- y; let b = ymax /. 4.0 *. (3.0 -. cos (pi *. x /. xmax)) in if abs_float y < b then ( - let dbdx = ymax /. 4.0 *. sin (pi *. x /. xmax) *. y /. b in + let dbdx = ymax /. 4.0 *. sin (pi *. x /. xmax) *. pi /. xmax *. y /. b in u.(i).(j) <- q *. ymax /. b; v.(i).(j) <- dbdx *. u.(i).(j); ) @@ -119,10 +119,11 @@ done; plenv xmin xmax ymin ymax 0 0; - pllab "(x)" "(y)" "#frPLplot Example 22 - constriction"; + let title =Printf.sprintf "%s%d%s" "#frPLplot Example 22 - constriction (arrow style " astyle ")" in + pllab "(x)" "(y)" title; plcol0 2; plset_pltr (pltr2 xg yg); - plvect u v (-0.5); + plvect u v (-1.0); plcol0 1; () @@ -246,14 +247,18 @@ (* Set arrow style using arrow_x and arrow_y then plot using these arrows. *) plsvect arrow_x arrow_y fill; - constriction (); + constriction ( 1 ); (* Set arrow style using arrow2_x and arrow2_y then plot using these filled arrows. *) let fill = true in plsvect arrow2_x arrow2_y fill; - constriction (); + constriction ( 2 ); + (* Need to be able to pass NULL arguments to plsvect to reset arrow style to default + Currently this doesn't work *) + (* plsvect [||] [||] fill; *) + potential (); plend (); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ai...@us...> - 2013-12-04 19:04:31
|
Revision: 12809 http://sourceforge.net/p/plplot/code/12809 Author: airwin Date: 2013-12-04 19:04:27 +0000 (Wed, 04 Dec 2013) Log Message: ----------- Substantially simplify (using GLOBAL properties) and clean up the CMake logic for the dependency processing for epa_build. Tested by: Alan W. Irwin <ai...@us...> on Linux using the epa_build -DBUILD_THE_BUILDTOOLS=ON cmake option and the build_tk target (which depends on build_tcl). I also tried some local variations with (1) tk depending on tk and (2) tk depending on tcl depending on tk to verify that the circular dependency checking code is working. N.B. The tcl and tk build configurations are the only ones so far that have been completely converted to the new add_subdirectory paradigm. However, now that that paradigm has been finalized, it should be straightforward to complete the conversion for all other build configurations. Modified Paths: -------------- trunk/cmake/epa_build/CMakeLists.txt trunk/cmake/epa_build/tcl/CMakeLists.txt trunk/cmake/epa_build/tk/CMakeLists.txt Modified: trunk/cmake/epa_build/CMakeLists.txt =================================================================== --- trunk/cmake/epa_build/CMakeLists.txt 2013-12-04 06:43:38 UTC (rev 12808) +++ trunk/cmake/epa_build/CMakeLists.txt 2013-12-04 19:04:27 UTC (rev 12809) @@ -163,27 +163,14 @@ _PACKAGE _dependencies_LIST _dependencies_targets - _EPA_visited_subdirectories_LIST - _EPA_processed_subdirectories_LIST - _EPA_needed_subdirectories_LIST - _EPA_build_targets_LIST _EPA_PATH _source_PATH - _IF_RETURN ) - #message(STATUS "DEBUG: ${_ignored_dependencies_LIST} = ${${_ignored_dependencies_LIST}}") - #message(STATUS "DEBUG: ${_PACKAGE} = ${${_PACKAGE}}") - #message(STATUS "DEBUG: ${_dependencies_LIST} = ${${_dependencies_LIST}}") - #message(STATUS "DEBUG: ${_dependencies_targets} = ${${_dependencies_targets}}") - #message(STATUS "DEBUG: ${_EPA_visited_subdirectories_LIST} = ${${_EPA_visited_subdirectories_LIST}}") - #message(STATUS "DEBUG: ${_EPA_processed_subdirectories_LIST} = ${${_EPA_processed_subdirectories_LIST}}") - #message(STATUS "DEBUG: ${_EPA_needed_subdirectories_LIST} = ${${_EPA_needed_subdirectories_LIST}}") - #message(STATUS "DEBUG: ${_EPA_build_targets_LIST} = ${${_EPA_build_targets_LIST}}") - #message(STATUS "DEBUG: ${_EPA_PATH} = ${${_EPA_PATH}}") - #message(STATUS "DEBUG: ${_source_PATH} = ${${_source_PATH}}") - #message(STATUS "DEBUG: ${_IF_RETURN} = ${${_IF_RETURN}}") - + message(STATUS "DEBUG: entering ${_PACKAGE} = ${${_PACKAGE}}") + get_property(saved_started_subdirectories_LIST GLOBAL PROPERTY EPA_started_subdirectories_LIST) + set_property(GLOBAL APPEND PROPERTY EPA_started_subdirectories_LIST ${${_PACKAGE}}) + get_property(started_subdirectories_LIST GLOBAL PROPERTY EPA_started_subdirectories_LIST) # Remove dependencies that should be ignored. if(${_dependencies_LIST} AND ${_ignored_dependencies_LIST}) list(REMOVE_ITEM ${_dependencies_LIST} ${${_ignored_dependencies_LIST}}) @@ -197,56 +184,32 @@ endif(NOT EXISTS ${CMAKE_SOURCE_DIR}/${build_configuration}/CMakeLists.txt) endforeach(build_configuration ${${_dependences_LIST}}) - # remaining_dependencies_LIST are the dependencies left over from the above - # removals that have not already been processed. + # remaining_dependencies_LIST contains the dependencies left over + # from the above removals that have not already been finished. set(remaining_dependencies_LIST ${${_dependencies_LIST}}) - if(remaining_dependencies_LIST AND ${_EPA_processed_subdirectories_LIST}) - list(REMOVE_ITEM remaining_dependencies_LIST ${${_EPA_processed_subdirectories_LIST}}) - endif(remaining_dependencies_LIST AND ${_EPA_processed_subdirectories_LIST}) + get_property(finished_subdirectories_LIST GLOBAL PROPERTY EPA_finished_subdirectories_LIST) + if(remaining_dependencies_LIST AND finished_subdirectories_LIST) + list(REMOVE_ITEM remaining_dependencies_LIST ${finished_subdirectories_LIST}) + endif(remaining_dependencies_LIST AND finished_subdirectories_LIST) - if(0 AND remaining_dependencies_LIST) - list(FIND ${_EPA_visited_subdirectories_LIST} ${${_PACKAGE}} index) + foreach(build_configuration ${remaining_dependencies_LIST}) + list(FIND started_subdirectories_LIST ${build_configuration} index) if(index GREATER -1) - message(FATAL_ERROR "Circular dependency: ${_PACKAGE} = ${${_PACKAGE}} has been visited before without subsequently resolving all dependencies.") + message(FATAL_ERROR "Circular dependency: package ${build_configuration} depends on package ${${_PACKAGE}} which depends on package ${build_configuration}.") endif(index GREATER -1) - - # Mark this subdirectory as being visited so that the above circular - # dependency check will work if the next visit still has remaining - # dependencies. - list(APPEND ${_EPA_visited_subdirectories_LIST} ${${_PACKAGE}}) - - # Put the remaining dependencies at the top of the list so they - # will be processed before the current subdirectory. - list(APPEND ${_EPA_needed_subdirectories_LIST} ${remaining_dependencies_LIST}) - # Propagate changed output arguments to parent scope of function. - # There is no need to propagate ${_dependencies_LIST} for this case because - # there will be an immediate return from the calling subdirectory to - # the top-level directory where ${_dependencies_LIST} does not propagate. - set(${_EPA_visited_subdirectories_LIST} ${${_EPA_visited_subdirectories_LIST}} PARENT_SCOPE) - set(${_EPA_needed_subdirectories_LIST} ${${_EPA_needed_subdirectories_LIST}} PARENT_SCOPE) - # parent subdirectory should make immediate return to top-level directory. - set(${_IF_RETURN} ON PARENT_SCOPE) - return() - endif(0 AND remaining_dependencies_LIST) - - foreach(build_configuration ${remaining_dependencies_LIST}) add_subdirectory( ${CMAKE_SOURCE_DIR}/${build_configuration} ${CMAKE_BINARY_DIR}/${build_configuration} ) endforeach(build_configuration ${remaining_dependencies_LIST}) - # Add this subdirectory to the list of subdirectories that have - # already been processed by the top-level CMakeLists.txt logic. - list(APPEND ${_EPA_processed_subdirectories_LIST} ${${_PACKAGE}}) + set_property(GLOBAL PROPERTY EPA_started_subdirectories_LIST ${saved_started_subdirectories_LIST}) set(${_dependencies_targets}) foreach(build_configuration ${${_dependencies_LIST}}) list(APPEND ${_dependencies_targets} build_${build_configuration}) endforeach(build_configuration ${${_dependences_LIST}}) - list(APPEND ${_EPA_build_targets_LIST} build_${${_PACKAGE}}) - # Data that is related to the PATH that must be used. if(MSYS_PLATFORM) determine_msys_path(${_EPA_PATH} "${${_EPA_PATH}}") @@ -257,24 +220,15 @@ endif(MSYS_PLATFORM) #message(STATUS "DEBUG: (modified for ${${_PACKAGE}}) ${_EPA_PATH} = ${${_EPA_PATH}}") - # Mark this subdirectory as visited for no logical purpose other - # than to be less confusing for debugging. - list(APPEND ${_EPA_visited_subdirectories_LIST} ${${_PACKAGE}}) + set_property(GLOBAL APPEND PROPERTY EPA_build_targets_LIST build_${${_PACKAGE}}) + set_property(GLOBAL APPEND PROPERTY EPA_finished_subdirectories_LIST ${${_PACKAGE}}) # Propagate changed output arguments to parent scope of function. set(${_dependencies_LIST} ${${_dependencies_LIST}} PARENT_SCOPE) set(${_dependencies_targets} ${${_dependencies_targets}} PARENT_SCOPE) - set(${_EPA_visited_subdirectories_LIST} ${${_EPA_visited_subdirectories_LIST}} PARENT_SCOPE) - set(${_EPA_processed_subdirectories_LIST} ${${_EPA_processed_subdirectories_LIST}} PARENT_SCOPE) - set(${_EPA_needed_subdirectories_LIST} ${${_EPA_needed_subdirectories_LIST}} PARENT_SCOPE) - set(${_EPA_build_targets_LIST} ${${_EPA_build_targets_LIST}} PARENT_SCOPE) set(${_EPA_PATH} ${${_EPA_PATH}} PARENT_SCOPE) set(${_source_PATH} ${${_source_PATH}} PARENT_SCOPE) - # Parent subdirectory should continue processing rather than immediately - # returning to top-level directory. - set(${_IF_RETURN} OFF PARENT_SCOPE) - message(STATUS "Processed ${${_PACKAGE}}") - + message(STATUS "DEBUG: leaving ${_PACKAGE} = ${${_PACKAGE}}") endfunction(epa_boilerplate) # This gives the full pathname of the associated build tool for at @@ -396,7 +350,7 @@ endif(NOT ${EXECUTABLE}_EXECUTABLE) endforeach(executable ${executables_LIST}) - set(EPA_needed_subdirectories_LIST + set(subdirectories_LIST ##cmake #pkg-config ##subversion @@ -416,7 +370,7 @@ else(BUILD_THE_BUILDTOOLS) # List of all configurations. Order doesn't matter because multiple # attempts to include the same configuration (via dependencies) are ignored. - set(EPA_needed_subdirectories_LIST + set(subdirectories_LIST ndiff #plplot #wxwidgets @@ -424,33 +378,29 @@ ) endif(BUILD_THE_BUILDTOOLS) -set(EPA_visited_subdirectories_LIST) -set(EPA_processed_subdirectories_LIST) -set(EPA_build_targets_LIST) +set_property(GLOBAL PROPERTY EPA_started_subdirectories_LIST) +set_property(GLOBAL PROPERTY EPA_finished_subdirectories_LIST) +set_property(GLOBAL PROPERTY EPA_build_targets_LIST) -message(STATUS "DEBUG: EPA_needed_subdirectories_LIST = ${EPA_needed_subdirectories_LIST}") -message(STATUS "DEBUG: EPA_visited_subdirectories_LIST = ${EPA_visited_subdirectories_LIST}") -message(STATUS "DEBUG: EPA_processed_subdirectories_LIST = ${EPA_processed_subdirectories_LIST}") -message(STATUS "DEBUG: EPA_build_targets_LIST = ${EPA_build_targets_LIST}") -# Use add_subdirectory on all directories in EPA_needed_subdirectories_LIST, -# but the subdirectories have the potential to add to that list so use -# a while loop to check on the length of that list. -list(LENGTH EPA_needed_subdirectories_LIST LENGTH_EPA_needed_subdirectories_LIST) -while(LENGTH_EPA_needed_subdirectories_LIST GREATER 0) - list(GET EPA_needed_subdirectories_LIST 0 subdirectory) - # This updates EPA_needed_subdirectories_LIST, - # EPA_processed_subdirectories_LIST, and EPA_build_targets_LIST. +message(STATUS "DEBUG: subdirectories_LIST = ${subdirectories_LIST}") + +# Use while loop because each add_subdirectory command can generate others +# so that several elements of the subdirectories list could be knocked +# off per loop iteration. +list(LENGTH subdirectories_LIST LENGTH_subdirectories_LIST) +while(LENGTH_subdirectories_LIST GREATER 0) + list(GET subdirectories_LIST 0 subdirectory) + # This uses EPA_started_subdirectories_LIST internally to check for + # circular dependencies, and updates EPA_finished_subdirectories_LIST + # and EPA_build_targets_LIST that are used here. add_subdirectory(${subdirectory}) - if(EPA_processed_subdirectories_LIST) - list(REMOVE_ITEM EPA_needed_subdirectories_LIST ${EPA_processed_subdirectories_LIST}) - endif(EPA_processed_subdirectories_LIST) + get_property(finished_subdirectories_LIST GLOBAL PROPERTY EPA_finished_subdirectories_LIST) + list(REMOVE_ITEM subdirectories_LIST ${finished_subdirectories_LIST}) message(STATUS "DEBUG: visited ${subdirectory}") - message(STATUS "DEBUG: EPA_needed_subdirectories_LIST = ${EPA_needed_subdirectories_LIST}") - message(STATUS "DEBUG: EPA_visited_subdirectories_LIST = ${EPA_visited_subdirectories_LIST}") - message(STATUS "DEBUG: EPA_processed_subdirectories_LIST = ${EPA_processed_subdirectories_LIST}") - message(STATUS "DEBUG: EPA_build_targets_LIST = ${EPA_build_targets_LIST}") - list(LENGTH EPA_needed_subdirectories_LIST LENGTH_EPA_needed_subdirectories_LIST) -endwhile(LENGTH_EPA_needed_subdirectories_LIST GREATER 0) + message(STATUS "DEBUG: subdirectories_LIST = ${subdirectories_LIST}") + list(LENGTH subdirectories_LIST LENGTH_subdirectories_LIST) +endwhile(LENGTH_subdirectories_LIST GREATER 0) add_custom_target(build_all) -add_dependencies(build_all ${EPA_build_targets_LIST}) +get_property(build_targets_LIST GLOBAL PROPERTY EPA_build_targets_LIST) +add_dependencies(build_all ${build_targets_LIST}) Modified: trunk/cmake/epa_build/tcl/CMakeLists.txt =================================================================== --- trunk/cmake/epa_build/tcl/CMakeLists.txt 2013-12-04 06:43:38 UTC (rev 12808) +++ trunk/cmake/epa_build/tcl/CMakeLists.txt 2013-12-04 19:04:27 UTC (rev 12809) @@ -36,25 +36,10 @@ PACKAGE dependencies_LIST dependencies_targets - EPA_visited_subdirectories_LIST - EPA_processed_subdirectories_LIST - EPA_needed_subdirectories_LIST - EPA_build_targets_LIST EPA_PATH source_PATH - IF_RETURN ) -# Propagate list changes to parent scope. -set(EPA_visited_subdirectories_LIST ${EPA_visited_subdirectories_LIST} PARENT_SCOPE) -set(EPA_processed_subdirectories_LIST ${EPA_processed_subdirectories_LIST} PARENT_SCOPE) -set(EPA_needed_subdirectories_LIST ${EPA_needed_subdirectories_LIST} PARENT_SCOPE) -set(EPA_build_targets_LIST ${EPA_build_targets_LIST} PARENT_SCOPE) - -if(IF_RETURN) - return() -endif(IF_RETURN) - # Data that is related to the PATH that must be used. # N.B. note below that we always use the unix subdirectory of the # source tree to find the configure script. Note, there is a macosx Modified: trunk/cmake/epa_build/tk/CMakeLists.txt =================================================================== --- trunk/cmake/epa_build/tk/CMakeLists.txt 2013-12-04 06:43:38 UTC (rev 12808) +++ trunk/cmake/epa_build/tk/CMakeLists.txt 2013-12-04 19:04:27 UTC (rev 12809) @@ -36,25 +36,10 @@ PACKAGE dependencies_LIST dependencies_targets - EPA_visited_subdirectories_LIST - EPA_processed_subdirectories_LIST - EPA_needed_subdirectories_LIST - EPA_build_targets_LIST EPA_PATH source_PATH - IF_RETURN ) -# Propagate list changes to parent scope. -set(EPA_visited_subdirectories_LIST ${EPA_visited_subdirectories_LIST} PARENT_SCOPE) -set(EPA_processed_subdirectories_LIST ${EPA_processed_subdirectories_LIST} PARENT_SCOPE) -set(EPA_needed_subdirectories_LIST ${EPA_needed_subdirectories_LIST} PARENT_SCOPE) -set(EPA_build_targets_LIST ${EPA_build_targets_LIST} PARENT_SCOPE) - -if(IF_RETURN) - return() -endif(IF_RETURN) - # Data that is related to the PATH that must be used. # N.B. note below that we always use the unix subdirectory of the # source tree to find the configure script. Note, there is a macosx This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ai...@us...> - 2013-12-04 06:43:42
|
Revision: 12808 http://sourceforge.net/p/plplot/code/12808 Author: airwin Date: 2013-12-04 06:43:38 +0000 (Wed, 04 Dec 2013) Log Message: ----------- Implement CMake logic to handle dependencies correctly for the new epa_build add_subdirectory paradigm. Tested by: Alan W. Irwin <ai...@us...> on Linux using epa_build with -DBUILD_THE_BUILD_TOOLS=ON cmake option and the build_tk target with the build_tk dependency on build_tcl correctly taken care of. N.B. This is a good start showing the dependent build case works, but there is still a lot of editing to do to get build configurations other than Tcl and Tk compatible with the new paradigm. Modified Paths: -------------- trunk/cmake/epa_build/CMakeLists.txt trunk/cmake/epa_build/tk/CMakeLists.txt Modified: trunk/cmake/epa_build/CMakeLists.txt =================================================================== --- trunk/cmake/epa_build/CMakeLists.txt 2013-12-03 23:56:24 UTC (rev 12807) +++ trunk/cmake/epa_build/CMakeLists.txt 2013-12-04 06:43:38 UTC (rev 12808) @@ -166,7 +166,7 @@ _EPA_visited_subdirectories_LIST _EPA_processed_subdirectories_LIST _EPA_needed_subdirectories_LIST - _EPA_build_target_LIST + _EPA_build_targets_LIST _EPA_PATH _source_PATH _IF_RETURN @@ -179,11 +179,10 @@ #message(STATUS "DEBUG: ${_EPA_visited_subdirectories_LIST} = ${${_EPA_visited_subdirectories_LIST}}") #message(STATUS "DEBUG: ${_EPA_processed_subdirectories_LIST} = ${${_EPA_processed_subdirectories_LIST}}") #message(STATUS "DEBUG: ${_EPA_needed_subdirectories_LIST} = ${${_EPA_needed_subdirectories_LIST}}") - #message(STATUS "DEBUG: ${_EPA_build_target_LIST} = ${${_EPA_build_target_LIST}}") + #message(STATUS "DEBUG: ${_EPA_build_targets_LIST} = ${${_EPA_build_targets_LIST}}") #message(STATUS "DEBUG: ${_EPA_PATH} = ${${_EPA_PATH}}") #message(STATUS "DEBUG: ${_source_PATH} = ${${_source_PATH}}") #message(STATUS "DEBUG: ${_IF_RETURN} = ${${_IF_RETURN}}") - list(APPEND ${_EPA_visited_subdirectories_LIST} ${${_PACKAGE}}) # Remove dependencies that should be ignored. if(${_dependencies_LIST} AND ${_ignored_dependencies_LIST}) @@ -205,11 +204,17 @@ list(REMOVE_ITEM remaining_dependencies_LIST ${${_EPA_processed_subdirectories_LIST}}) endif(remaining_dependencies_LIST AND ${_EPA_processed_subdirectories_LIST}) - if(remaining_dependencies_LIST) + if(0 AND remaining_dependencies_LIST) list(FIND ${_EPA_visited_subdirectories_LIST} ${${_PACKAGE}} index) if(index GREATER -1) message(FATAL_ERROR "Circular dependency: ${_PACKAGE} = ${${_PACKAGE}} has been visited before without subsequently resolving all dependencies.") endif(index GREATER -1) + + # Mark this subdirectory as being visited so that the above circular + # dependency check will work if the next visit still has remaining + # dependencies. + list(APPEND ${_EPA_visited_subdirectories_LIST} ${${_PACKAGE}}) + # Put the remaining dependencies at the top of the list so they # will be processed before the current subdirectory. list(APPEND ${_EPA_needed_subdirectories_LIST} ${remaining_dependencies_LIST}) @@ -222,8 +227,15 @@ # parent subdirectory should make immediate return to top-level directory. set(${_IF_RETURN} ON PARENT_SCOPE) return() - endif(remaining_dependencies_LIST) + endif(0 AND remaining_dependencies_LIST) + foreach(build_configuration ${remaining_dependencies_LIST}) + add_subdirectory( + ${CMAKE_SOURCE_DIR}/${build_configuration} + ${CMAKE_BINARY_DIR}/${build_configuration} + ) + endforeach(build_configuration ${remaining_dependencies_LIST}) + # Add this subdirectory to the list of subdirectories that have # already been processed by the top-level CMakeLists.txt logic. list(APPEND ${_EPA_processed_subdirectories_LIST} ${${_PACKAGE}}) @@ -233,7 +245,7 @@ list(APPEND ${_dependencies_targets} build_${build_configuration}) endforeach(build_configuration ${${_dependences_LIST}}) - list(APPEND ${_EPA_build_target_LIST} build_${${_PACKAGE}}) + list(APPEND ${_EPA_build_targets_LIST} build_${${_PACKAGE}}) # Data that is related to the PATH that must be used. if(MSYS_PLATFORM) @@ -245,13 +257,17 @@ endif(MSYS_PLATFORM) #message(STATUS "DEBUG: (modified for ${${_PACKAGE}}) ${_EPA_PATH} = ${${_EPA_PATH}}") + # Mark this subdirectory as visited for no logical purpose other + # than to be less confusing for debugging. + list(APPEND ${_EPA_visited_subdirectories_LIST} ${${_PACKAGE}}) + # Propagate changed output arguments to parent scope of function. set(${_dependencies_LIST} ${${_dependencies_LIST}} PARENT_SCOPE) set(${_dependencies_targets} ${${_dependencies_targets}} PARENT_SCOPE) set(${_EPA_visited_subdirectories_LIST} ${${_EPA_visited_subdirectories_LIST}} PARENT_SCOPE) set(${_EPA_processed_subdirectories_LIST} ${${_EPA_processed_subdirectories_LIST}} PARENT_SCOPE) set(${_EPA_needed_subdirectories_LIST} ${${_EPA_needed_subdirectories_LIST}} PARENT_SCOPE) - set(${_EPA_build_target_LIST} ${${_EPA_build_target_LIST}} PARENT_SCOPE) + set(${_EPA_build_targets_LIST} ${${_EPA_build_targets_LIST}} PARENT_SCOPE) set(${_EPA_PATH} ${${_EPA_PATH}} PARENT_SCOPE) set(${_source_PATH} ${${_source_PATH}} PARENT_SCOPE) # Parent subdirectory should continue processing rather than immediately @@ -385,7 +401,7 @@ #pkg-config ##subversion #swig - tcl + tk # itcl version 4 is integrated into tcl # itk version 4 is not integrated into tk (or tcl). #itk @@ -425,7 +441,9 @@ # This updates EPA_needed_subdirectories_LIST, # EPA_processed_subdirectories_LIST, and EPA_build_targets_LIST. add_subdirectory(${subdirectory}) - list(REMOVE_ITEM EPA_needed_subdirectories_LIST ${EPA_processed_subdirectories_LIST}) + if(EPA_processed_subdirectories_LIST) + list(REMOVE_ITEM EPA_needed_subdirectories_LIST ${EPA_processed_subdirectories_LIST}) + endif(EPA_processed_subdirectories_LIST) message(STATUS "DEBUG: visited ${subdirectory}") message(STATUS "DEBUG: EPA_needed_subdirectories_LIST = ${EPA_needed_subdirectories_LIST}") message(STATUS "DEBUG: EPA_visited_subdirectories_LIST = ${EPA_visited_subdirectories_LIST}") Modified: trunk/cmake/epa_build/tk/CMakeLists.txt =================================================================== --- trunk/cmake/epa_build/tk/CMakeLists.txt 2013-12-03 23:56:24 UTC (rev 12807) +++ trunk/cmake/epa_build/tk/CMakeLists.txt 2013-12-04 06:43:38 UTC (rev 12808) @@ -1,6 +1,7 @@ # tk/CMakeLists.txt -# CMakeLists.txt file to configure the build of tk. +# Configure the build of tk. + # Copyright (C) 2013 Alan W. Irwin # This file is free software; you can redistribute it and/or @@ -17,50 +18,42 @@ # License along with this file; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA -# The top-level CMakeLists.txt file that includes this file should -# have run "include(ExternalProject)" and set EPA_BASE variable (and -# corresponding directory property) as well as various EPA variables -# used below that configure how the External_Project functions -# operate. - # These build configuration details for Tk adapted from information in # <http://www.linuxfromscratch.org/blfs/view/svn/general/tk.html>. -# Protect against configuring a build twice in one CMake call -if(tk_configured) - return() -endif(tk_configured) -set(tk_configured ON) +set(PACKAGE tk) # List of dependencies (most of which are build tools) which should be # ignored. -set(EPA_ignored_dependencies_LIST ${extra_ignored_dependencies_list}) +set(ignored_dependencies_LIST ${extra_ignored_dependencies_list}) -set(tk_dependencies_LIST tcl) -# Remove dependencies that should be ignored. -if(tk_dependencies_LIST) - list(REMOVE_ITEM tk_dependencies_LIST ${EPA_ignored_dependencies_LIST}) -endif(tk_dependencies_LIST) +set(dependencies_LIST tcl) -set(tk_dependencies_targets) -foreach(build_configuration ${tk_dependencies_LIST}) - if(EXISTS ${CMAKE_SOURCE_DIR}/${build_configuration}/CMakeLists.txt) - include(${build_configuration}/CMakeLists.txt) - list(APPEND tk_dependencies_targets build_${build_configuration}) - else(EXISTS ${CMAKE_SOURCE_DIR}/${build_configuration}/CMakeLists.txt) - message(STATUS "Warning: A build_configuration for ${build_configuration} does not exist so it is assumed this dependency of tk has been installed another way.") - endif(EXISTS ${CMAKE_SOURCE_DIR}/${build_configuration}/CMakeLists.txt) -endforeach(build_configuration ${tk_dependences_LIST}) +# Do boilerplate tasks that must be done for each different project +# that is configured as part of epa_build. +epa_boilerplate( + ignored_dependencies_LIST + PACKAGE + dependencies_LIST + dependencies_targets + EPA_visited_subdirectories_LIST + EPA_processed_subdirectories_LIST + EPA_needed_subdirectories_LIST + EPA_build_targets_LIST + EPA_PATH + source_PATH + IF_RETURN + ) -# This can be safely done only after above includes. -set(PACKAGE tk) +# Propagate list changes to parent scope. +set(EPA_visited_subdirectories_LIST ${EPA_visited_subdirectories_LIST} PARENT_SCOPE) +set(EPA_processed_subdirectories_LIST ${EPA_processed_subdirectories_LIST} PARENT_SCOPE) +set(EPA_needed_subdirectories_LIST ${EPA_needed_subdirectories_LIST} PARENT_SCOPE) +set(EPA_build_targets_LIST ${EPA_build_targets_LIST} PARENT_SCOPE) -# Data that is related to downloads. -# Note that TCL_TK_VERSION and TCL_TK_LIBVERSION variables supplied -# by tcl/CMakeLists.txt which is included above. -set(URL http://downloads.sourceforge.net/project/tcl/Tcl/${TCL_TK_VERSION}/tk${TCL_TK_VERSION}-src.tar.gz) -set(${PACKAGE}_DOWNLOAD_HASH_TYPE MD5) -set(${PACKAGE}_DOWNLOAD_HASH 63f21c3a0e0cefbd854b4eb29b129ac6) +if(IF_RETURN) + return() +endif(IF_RETURN) # Data that is related to the PATH that must be used. # N.B. note below that we always use the unix subdirectory of the @@ -70,28 +63,32 @@ # version of configure may be good enough for our needs for all # platforms. if(MSYS_PLATFORM) - #set(EPA_PATH_NODLL "${EPA_PATH}") - #set(EPA_PATH "${EPA_BASE}/Build/build_${PACKAGE}/dll;${EPA_PATH_NODLL}") - determine_msys_path(EPA_PATH "${EPA_PATH}") - # Must have all elements of env command in MSYS platform form - determine_msys_path(source_PATH "${EPA_BASE}/Source/build_${PACKAGE}/unix") - set(${PACKAGE}_SET_CFLAGS "CFLAGS=$ENV{CFLAGS}") + set(source_PATH ${source_PATH}\unix) else(MSYS_PLATFORM) - set(source_PATH "${EPA_BASE}/Source/build_${PACKAGE}/unix") - set(${PACKAGE}_SET_CFLAGS "CFLAGS=$ENV{CFLAGS}") + set(source_PATH ${source_PATH}/unix) endif(MSYS_PLATFORM) -#message(STATUS "modified EPA_PATH for ${PACKAGE} = ${EPA_PATH}") +set(CFLAGS "$ENV{CFLAGS}") +# Drop -fvisibility=hidden since that option may not work for this package. +string(REGEX REPLACE "-fvisibility=hidden" "" CFLAGS "${CFLAGS}") + +# Data that is related to downloads. +set(TCL_TK_VERSION 8.6.1) +string(REGEX REPLACE "\\.[0-9]$" "" TCL_TK_LIBVERSION ${TCL_TK_VERSION}) +set(URL http://downloads.sourceforge.net/project/tcl/Tcl/${TCL_TK_VERSION}/tk${TCL_TK_VERSION}-src.tar.gz) +set(DOWNLOAD_HASH_TYPE MD5) +set(DOWNLOAD_HASH 63f21c3a0e0cefbd854b4eb29b129ac6) + if(EPA_HAVE_64_BIT_OS) - set(TK_ENABLE_64_BIT --enable-64bit) + set(ENABLE_64_BIT --enable-64bit) endif(EPA_HAVE_64_BIT_OS) ExternalProject_Add( build_${PACKAGE} - DEPENDS ${${PACKAGE}_dependencies_targets} + DEPENDS ${dependencies_targets} URL ${URL} - URL_HASH ${${PACKAGE}_DOWNLOAD_HASH_TYPE}=${${PACKAGE}_DOWNLOAD_HASH} - CONFIGURE_COMMAND ${ENV_EXECUTABLE} PATH=${EPA_PATH} ${${PACKAGE}_SET_CFLAGS} CPPFLAGS=-I${EPA_CMAKE_INSTALL_PREFIX}/include ${source_PATH}/${EPA_CONFIGURE_COMMAND} --mandir=${EPA_CMAKE_INSTALL_PREFIX}/share/man ${TK_ENABLE_64_BIT} + URL_HASH ${DOWNLOAD_HASH_TYPE}=${DOWNLOAD_HASH} + CONFIGURE_COMMAND ${ENV_EXECUTABLE} PATH=${EPA_PATH} "CFLAGS=${CFLAGS}" CPPFLAGS=-I${EPA_CMAKE_INSTALL_PREFIX}/include ${source_PATH}/${EPA_CONFIGURE_COMMAND} --mandir=${EPA_CMAKE_INSTALL_PREFIX}/share/man ${ENABLE_64_BIT} BUILD_COMMAND ${ENV_EXECUTABLE} PATH=${EPA_PATH} ${EPA_PARALLEL_MAKE_COMMAND} INSTALL_COMMAND ${ENV_EXECUTABLE} PATH=${EPA_PATH} ${EPA_PARALLEL_MAKE_COMMAND} install ) @@ -116,8 +113,3 @@ COMMAND ${CHMOD_EXECUTABLE} -v ${SO_NUMERICAL_PERMISSIONS} ${EPA_CMAKE_INSTALL_PREFIX}/lib/libtk${TCL_TK_LIBVERSION}.so APPEND ) - -list(APPEND build_target_LIST build_${PACKAGE}) -# Restore EPA_PATH to original state. -set(EPA_PATH "${EPA_ORIGINAL_NATIVE_PATH}") -#message(STATUS "${PACKAGE} restored original EPA_PATH = ${EPA_PATH}") This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ai...@us...> - 2013-12-03 23:56:33
|
Revision: 12807 http://sourceforge.net/p/plplot/code/12807 Author: airwin Date: 2013-12-03 23:56:24 +0000 (Tue, 03 Dec 2013) Log Message: ----------- Create the first build configuration using the new add_subdirectory paradigm for epa_build. Tested by Alan W. Irwin <ai...@us...> on Linux using the -DBUILD_THE_BUILDTOOLS=ON configuration of epa_build and the build_tcl target. N.B. the tcl build configuration has no dependencies so the dependency processing was not tested by this test. Modified Paths: -------------- trunk/cmake/epa_build/CMakeLists.txt trunk/cmake/epa_build/tcl/CMakeLists.txt Modified: trunk/cmake/epa_build/CMakeLists.txt =================================================================== --- trunk/cmake/epa_build/CMakeLists.txt 2013-12-03 13:03:26 UTC (rev 12806) +++ trunk/cmake/epa_build/CMakeLists.txt 2013-12-03 23:56:24 UTC (rev 12807) @@ -1,6 +1,7 @@ -# Top-level CMakeLists.txt file for a project that simply builds -# and installs external projects using epa.cmake include fragments -# representing the build and test instructions for several different projects. +# Top-level CMakeLists.txt file for the epa_build project that simply builds +# and installs external projects configured in the subdirectories +# below this one using ExternalProject_Add commands configured with +# the appropriate build, test, and dependency information. # Copyright (C) 2013 Alan W. Irwin @@ -29,8 +30,12 @@ set(EPA_BASE ${CMAKE_BINARY_DIR}/epa_build) message(STATUS "EPA_BASE = ${EPA_BASE}") -set_directory_properties(PROPERTIES EPA_BASE ${EPA_BASE}) +# We keep the variable name as EPA_BASE (to be used in the subdirectories +# along with all the other variables with EPA_ suffix. But the property +# name must be EP_BASE in order for ExternalProject_Add to work correctly. +set_directory_properties(PROPERTIES EP_BASE ${EPA_BASE}) + # Set epa_build variables to control builds in general # Test whether there is access to the MSYS platform on the PATH. Note @@ -57,10 +62,6 @@ message(STATUS "MSYS_PLATFORM = ${MSYS_PLATFORM}") message(STATUS "CYGWIN = ${CYGWIN}") -if(CYGWIN) - message(FATAL_ERROR "epa_build does not work correctly on the Cygwin platform. Use the MinGW compiler and MSYS platform instead.") -endif(CYGWIN) - if(WIN32 AND NOT MSYS_PLATFORM) message(FATAL_ERROR "epa_build does not work correctly on Windows without the MSYS platform. Install the MSYS platform (perhaps without sh.exe depending on CMake generator) on Windows.") endif(WIN32 AND NOT MSYS_PLATFORM) @@ -157,6 +158,109 @@ endfunction(determine_msys_path) endif(MSYS_PLATFORM) +function(epa_boilerplate + _ignored_dependencies_LIST + _PACKAGE + _dependencies_LIST + _dependencies_targets + _EPA_visited_subdirectories_LIST + _EPA_processed_subdirectories_LIST + _EPA_needed_subdirectories_LIST + _EPA_build_target_LIST + _EPA_PATH + _source_PATH + _IF_RETURN + ) + + #message(STATUS "DEBUG: ${_ignored_dependencies_LIST} = ${${_ignored_dependencies_LIST}}") + #message(STATUS "DEBUG: ${_PACKAGE} = ${${_PACKAGE}}") + #message(STATUS "DEBUG: ${_dependencies_LIST} = ${${_dependencies_LIST}}") + #message(STATUS "DEBUG: ${_dependencies_targets} = ${${_dependencies_targets}}") + #message(STATUS "DEBUG: ${_EPA_visited_subdirectories_LIST} = ${${_EPA_visited_subdirectories_LIST}}") + #message(STATUS "DEBUG: ${_EPA_processed_subdirectories_LIST} = ${${_EPA_processed_subdirectories_LIST}}") + #message(STATUS "DEBUG: ${_EPA_needed_subdirectories_LIST} = ${${_EPA_needed_subdirectories_LIST}}") + #message(STATUS "DEBUG: ${_EPA_build_target_LIST} = ${${_EPA_build_target_LIST}}") + #message(STATUS "DEBUG: ${_EPA_PATH} = ${${_EPA_PATH}}") + #message(STATUS "DEBUG: ${_source_PATH} = ${${_source_PATH}}") + #message(STATUS "DEBUG: ${_IF_RETURN} = ${${_IF_RETURN}}") + list(APPEND ${_EPA_visited_subdirectories_LIST} ${${_PACKAGE}}) + + # Remove dependencies that should be ignored. + if(${_dependencies_LIST} AND ${_ignored_dependencies_LIST}) + list(REMOVE_ITEM ${_dependencies_LIST} ${${_ignored_dependencies_LIST}}) + endif(${_dependencies_LIST} AND ${_ignored_dependencies_LIST}) + +# Check for missing configurations and eliminate those from ${_dependencies_LIST}. + foreach(build_configuration ${${_dependencies_LIST}}) + if(NOT EXISTS ${CMAKE_SOURCE_DIR}/${build_configuration}/CMakeLists.txt) + message(STATUS "Warning: A build_configuration for ${build_configuration} does not exist so it is assumed this dependency of ${${_PACKAGE}} has been installed on your platform by means other than epa_build.") + list(REMOVE_ITEM ${_dependencies_LIST} ${build_configuration}) + endif(NOT EXISTS ${CMAKE_SOURCE_DIR}/${build_configuration}/CMakeLists.txt) + endforeach(build_configuration ${${_dependences_LIST}}) + + # remaining_dependencies_LIST are the dependencies left over from the above + # removals that have not already been processed. + set(remaining_dependencies_LIST ${${_dependencies_LIST}}) + if(remaining_dependencies_LIST AND ${_EPA_processed_subdirectories_LIST}) + list(REMOVE_ITEM remaining_dependencies_LIST ${${_EPA_processed_subdirectories_LIST}}) + endif(remaining_dependencies_LIST AND ${_EPA_processed_subdirectories_LIST}) + + if(remaining_dependencies_LIST) + list(FIND ${_EPA_visited_subdirectories_LIST} ${${_PACKAGE}} index) + if(index GREATER -1) + message(FATAL_ERROR "Circular dependency: ${_PACKAGE} = ${${_PACKAGE}} has been visited before without subsequently resolving all dependencies.") + endif(index GREATER -1) + # Put the remaining dependencies at the top of the list so they + # will be processed before the current subdirectory. + list(APPEND ${_EPA_needed_subdirectories_LIST} ${remaining_dependencies_LIST}) + # Propagate changed output arguments to parent scope of function. + # There is no need to propagate ${_dependencies_LIST} for this case because + # there will be an immediate return from the calling subdirectory to + # the top-level directory where ${_dependencies_LIST} does not propagate. + set(${_EPA_visited_subdirectories_LIST} ${${_EPA_visited_subdirectories_LIST}} PARENT_SCOPE) + set(${_EPA_needed_subdirectories_LIST} ${${_EPA_needed_subdirectories_LIST}} PARENT_SCOPE) + # parent subdirectory should make immediate return to top-level directory. + set(${_IF_RETURN} ON PARENT_SCOPE) + return() + endif(remaining_dependencies_LIST) + + # Add this subdirectory to the list of subdirectories that have + # already been processed by the top-level CMakeLists.txt logic. + list(APPEND ${_EPA_processed_subdirectories_LIST} ${${_PACKAGE}}) + + set(${_dependencies_targets}) + foreach(build_configuration ${${_dependencies_LIST}}) + list(APPEND ${_dependencies_targets} build_${build_configuration}) + endforeach(build_configuration ${${_dependences_LIST}}) + + list(APPEND ${_EPA_build_target_LIST} build_${${_PACKAGE}}) + + # Data that is related to the PATH that must be used. + if(MSYS_PLATFORM) + determine_msys_path(${_EPA_PATH} "${${_EPA_PATH}}") + # Must have all elements of env command in MSYS platform form + determine_msys_path(${_source_PATH} "${EPA_BASE}/Source/build_${${_PACKAGE}}") + else(MSYS_PLATFORM) + set(${_source_PATH} "${EPA_BASE}/Source/build_${${_PACKAGE}}") + endif(MSYS_PLATFORM) + #message(STATUS "DEBUG: (modified for ${${_PACKAGE}}) ${_EPA_PATH} = ${${_EPA_PATH}}") + + # Propagate changed output arguments to parent scope of function. + set(${_dependencies_LIST} ${${_dependencies_LIST}} PARENT_SCOPE) + set(${_dependencies_targets} ${${_dependencies_targets}} PARENT_SCOPE) + set(${_EPA_visited_subdirectories_LIST} ${${_EPA_visited_subdirectories_LIST}} PARENT_SCOPE) + set(${_EPA_processed_subdirectories_LIST} ${${_EPA_processed_subdirectories_LIST}} PARENT_SCOPE) + set(${_EPA_needed_subdirectories_LIST} ${${_EPA_needed_subdirectories_LIST}} PARENT_SCOPE) + set(${_EPA_build_target_LIST} ${${_EPA_build_target_LIST}} PARENT_SCOPE) + set(${_EPA_PATH} ${${_EPA_PATH}} PARENT_SCOPE) + set(${_source_PATH} ${${_source_PATH}} PARENT_SCOPE) + # Parent subdirectory should continue processing rather than immediately + # returning to top-level directory. + set(${_IF_RETURN} OFF PARENT_SCOPE) + message(STATUS "Processed ${${_PACKAGE}}") + +endfunction(epa_boilerplate) + # This gives the full pathname of the associated build tool for at # least the "Unix Makefiles", "Ninja", "MSYS Makefiles", "MinGW # Makefiles", and "NMake Makefiles JOM" CMake generators. @@ -259,12 +363,6 @@ # Now include the build configurations for certain targets and their # dependencies. -# Each (directly or indirectly) included build configuration -# that is judged to be working should append its target to build_target_LIST -# so that in the logic below we can creat a "build_all" target that depends -# on those individual build targets -set(build_target_LIST) - option(BUILD_THE_BUILDTOOLS "Build the buildtools (such as cmake) used for the rest of the builds" OFF) if(BUILD_THE_BUILDTOOLS) @@ -282,39 +380,59 @@ endif(NOT ${EXECUTABLE}_EXECUTABLE) endforeach(executable ${executables_LIST}) - set(build_configuration_LIST - #cmake - pkg-config - #subversion - swig + set(EPA_needed_subdirectories_LIST + ##cmake + #pkg-config + ##subversion + #swig tcl - tk # itcl version 4 is integrated into tcl # itk version 4 is not integrated into tk (or tcl). - itk + #itk # itcl version 3 is an independent project - itcl3 + #itcl3 # itk version 3 is an independent project - itk3 + #itk3 # iwidgets subdirectory contains build configurations for both # iwidgets (version 4.1) and iwidgets4.0 (version 4.0). - iwidgets + #iwidgets ) else(BUILD_THE_BUILDTOOLS) # List of all configurations. Order doesn't matter because multiple # attempts to include the same configuration (via dependencies) are ignored. - set(build_configuration_LIST + set(EPA_needed_subdirectories_LIST ndiff - plplot - wxwidgets - glib - pango + #plplot + #wxwidgets + #pango ) endif(BUILD_THE_BUILDTOOLS) -foreach(build_configuration ${build_configuration_LIST}) - include(${build_configuration}/CMakeLists.txt) -endforeach(build_configuration ${build_configuration_LIST}) +set(EPA_visited_subdirectories_LIST) +set(EPA_processed_subdirectories_LIST) +set(EPA_build_targets_LIST) +message(STATUS "DEBUG: EPA_needed_subdirectories_LIST = ${EPA_needed_subdirectories_LIST}") +message(STATUS "DEBUG: EPA_visited_subdirectories_LIST = ${EPA_visited_subdirectories_LIST}") +message(STATUS "DEBUG: EPA_processed_subdirectories_LIST = ${EPA_processed_subdirectories_LIST}") +message(STATUS "DEBUG: EPA_build_targets_LIST = ${EPA_build_targets_LIST}") +# Use add_subdirectory on all directories in EPA_needed_subdirectories_LIST, +# but the subdirectories have the potential to add to that list so use +# a while loop to check on the length of that list. +list(LENGTH EPA_needed_subdirectories_LIST LENGTH_EPA_needed_subdirectories_LIST) +while(LENGTH_EPA_needed_subdirectories_LIST GREATER 0) + list(GET EPA_needed_subdirectories_LIST 0 subdirectory) + # This updates EPA_needed_subdirectories_LIST, + # EPA_processed_subdirectories_LIST, and EPA_build_targets_LIST. + add_subdirectory(${subdirectory}) + list(REMOVE_ITEM EPA_needed_subdirectories_LIST ${EPA_processed_subdirectories_LIST}) + message(STATUS "DEBUG: visited ${subdirectory}") + message(STATUS "DEBUG: EPA_needed_subdirectories_LIST = ${EPA_needed_subdirectories_LIST}") + message(STATUS "DEBUG: EPA_visited_subdirectories_LIST = ${EPA_visited_subdirectories_LIST}") + message(STATUS "DEBUG: EPA_processed_subdirectories_LIST = ${EPA_processed_subdirectories_LIST}") + message(STATUS "DEBUG: EPA_build_targets_LIST = ${EPA_build_targets_LIST}") + list(LENGTH EPA_needed_subdirectories_LIST LENGTH_EPA_needed_subdirectories_LIST) +endwhile(LENGTH_EPA_needed_subdirectories_LIST GREATER 0) + add_custom_target(build_all) -add_dependencies(build_all ${build_target_LIST}) +add_dependencies(build_all ${EPA_build_targets_LIST}) Modified: trunk/cmake/epa_build/tcl/CMakeLists.txt =================================================================== --- trunk/cmake/epa_build/tcl/CMakeLists.txt 2013-12-03 13:03:26 UTC (rev 12806) +++ trunk/cmake/epa_build/tcl/CMakeLists.txt 2013-12-03 23:56:24 UTC (rev 12807) @@ -1,6 +1,7 @@ # tcl/CMakeLists.txt -# CMakeLists.txt file to configure the build of tcl. +# Configure the build of tcl. + # Copyright (C) 2013 Alan W. Irwin # This file is free software; you can redistribute it and/or @@ -17,54 +18,43 @@ # License along with this file; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA -# The top-level CMakeLists.txt file that includes this file should -# have run "include(ExternalProject)" and set EPA_BASE variable (and -# corresponding directory property) as well as various EPA variables -# used below that configure how the External_Project functions -# operate. - # These build configuration details for Tcl adapted from information in # <http://www.linuxfromscratch.org/blfs/view/svn/general/tcl.html>. -# Protect against configuring a build twice in one CMake call -if(tcl_configured) - return() -endif(tcl_configured) -set(tcl_configured ON) +set(PACKAGE tcl) # List of dependencies (most of which are build tools) which should be # ignored. set(EPA_ignored_dependencies_LIST ${extra_ignored_dependencies_list}) -set(tcl_dependencies_LIST) -# Remove dependencies that should be ignored. -if(tcl_dependencies_LIST) - list(REMOVE_ITEM tcl_dependencies_LIST ${EPA_ignored_dependencies_LIST}) -endif(tcl_dependencies_LIST) +set(dependencies_LIST) -set(tcl_dependencies_targets) -foreach(build_configuration ${tcl_dependencies_LIST}) - if(EXISTS ${CMAKE_SOURCE_DIR}/${build_configuration}/CMakeLists.txt) - include(${build_configuration}/CMakeLists.txt) - list(APPEND tcl_dependencies_targets build_${build_configuration}) - else(EXISTS ${CMAKE_SOURCE_DIR}/${build_configuration}/CMakeLists.txt) - message(STATUS "Warning: A build_configuration for ${build_configuration} does not exist so it is assumed this dependency of tcl has been installed another way.") - endif(EXISTS ${CMAKE_SOURCE_DIR}/${build_configuration}/CMakeLists.txt) -endforeach(build_configuration ${tcl_dependences_LIST}) +# Do boilerplate tasks that must be done for each different project +# that is configured as part of epa_build. +epa_boilerplate( + ignored_dependencies_LIST + PACKAGE + dependencies_LIST + dependencies_targets + EPA_visited_subdirectories_LIST + EPA_processed_subdirectories_LIST + EPA_needed_subdirectories_LIST + EPA_build_targets_LIST + EPA_PATH + source_PATH + IF_RETURN + ) -# This can be safely done only after above includes. -set(PACKAGE tcl) +# Propagate list changes to parent scope. +set(EPA_visited_subdirectories_LIST ${EPA_visited_subdirectories_LIST} PARENT_SCOPE) +set(EPA_processed_subdirectories_LIST ${EPA_processed_subdirectories_LIST} PARENT_SCOPE) +set(EPA_needed_subdirectories_LIST ${EPA_needed_subdirectories_LIST} PARENT_SCOPE) +set(EPA_build_targets_LIST ${EPA_build_targets_LIST} PARENT_SCOPE) -# These variables are also used by tk (and accessible to that -# build configuration because it depends on this one). -set(TCL_TK_VERSION 8.6.1) -string(REGEX REPLACE "\\.[0-9]$" "" TCL_TK_LIBVERSION ${TCL_TK_VERSION}) +if(IF_RETURN) + return() +endif(IF_RETURN) -# Data that is related to downloads. -set(URL http://downloads.sourceforge.net/project/tcl/Tcl/${TCL_TK_VERSION}/tcl${TCL_TK_VERSION}-src.tar.gz) -set(${PACKAGE}_DOWNLOAD_HASH_TYPE MD5) -set(${PACKAGE}_DOWNLOAD_HASH aae4b701ee527c6e4e1a6f9c7399882e) - # Data that is related to the PATH that must be used. # N.B. note below that we always use the unix subdirectory of the # source tree to find the configure script. Note, there is a macosx @@ -73,28 +63,36 @@ # version of configure may be good enough for our needs for all # platforms. if(MSYS_PLATFORM) - #set(EPA_PATH_NODLL "${EPA_PATH}") - #set(EPA_PATH "${EPA_BASE}/Build/build_${PACKAGE}/dll;${EPA_PATH_NODLL}") - determine_msys_path(EPA_PATH "${EPA_PATH}") - # Must have all elements of env command in MSYS platform form - determine_msys_path(source_PATH "${EPA_BASE}/Source/build_${PACKAGE}/unix") - set(${PACKAGE}_SET_CFLAGS "CFLAGS=$ENV{CFLAGS}") + set(source_PATH ${source_PATH}\unix) else(MSYS_PLATFORM) - set(source_PATH "${EPA_BASE}/Source/build_${PACKAGE}/unix") - set(${PACKAGE}_SET_CFLAGS "CFLAGS=$ENV{CFLAGS}") + set(source_PATH ${source_PATH}/unix) endif(MSYS_PLATFORM) -#message(STATUS "modified EPA_PATH for ${PACKAGE} = ${EPA_PATH}") +set(CFLAGS "$ENV{CFLAGS}") +set(CXXFLAGS "-I${EPA_CMAKE_INSTALL_PREFIX}/include $ENV{CXXFLAGS}") + +# Drop -fvisibility=hidden since that option may not work for this package. +string(REGEX REPLACE "-fvisibility=hidden" "" CFLAGS "${CFLAGS}") +string(REGEX REPLACE "-fvisibility=hidden" "" CXXFLAGS "${CXXFLAGS}") + +set(TCL_TK_VERSION 8.6.1) +string(REGEX REPLACE "\\.[0-9]$" "" TCL_TK_LIBVERSION ${TCL_TK_VERSION}) + +# Data that is related to downloads. +set(URL http://downloads.sourceforge.net/project/tcl/Tcl/${TCL_TK_VERSION}/tcl${TCL_TK_VERSION}-src.tar.gz) +set(DOWNLOAD_HASH_TYPE MD5) +set(DOWNLOAD_HASH aae4b701ee527c6e4e1a6f9c7399882e) + if(EPA_HAVE_64_BIT_OS) - set(TCL_ENABLE_64_BIT --enable-64bit) + set(ENABLE_64_BIT --enable-64bit) endif(EPA_HAVE_64_BIT_OS) ExternalProject_Add( build_${PACKAGE} - DEPENDS ${${PACKAGE}_dependencies_targets} + DEPENDS ${dependencies_targets} URL ${URL} - URL_HASH ${${PACKAGE}_DOWNLOAD_HASH_TYPE}=${${PACKAGE}_DOWNLOAD_HASH} - CONFIGURE_COMMAND ${ENV_EXECUTABLE} PATH=${EPA_PATH} ${${PACKAGE}_SET_CFLAGS} ${source_PATH}/${EPA_CONFIGURE_COMMAND} --mandir=${EPA_CMAKE_INSTALL_PREFIX}/share/man ${TCL_ENABLE_64_BIT} + URL_HASH ${DOWNLOAD_HASH_TYPE}=${DOWNLOAD_HASH} + CONFIGURE_COMMAND ${ENV_EXECUTABLE} PATH=${EPA_PATH} "CFLAGS=${CFLAGS}" "CXXFLAGS=${CXXFLAGS}" ${source_PATH}/${EPA_CONFIGURE_COMMAND} --mandir=${EPA_CMAKE_INSTALL_PREFIX}/share/man ${ENABLE_64_BIT} BUILD_COMMAND ${ENV_EXECUTABLE} PATH=${EPA_PATH} ${EPA_PARALLEL_MAKE_COMMAND} INSTALL_COMMAND ${ENV_EXECUTABLE} PATH=${EPA_PATH} ${EPA_PARALLEL_MAKE_COMMAND} install ) @@ -119,8 +117,3 @@ COMMAND ${CHMOD_EXECUTABLE} -v ${SO_NUMERICAL_PERMISSIONS} ${EPA_CMAKE_INSTALL_PREFIX}/lib/libtcl${TCL_TK_LIBVERSION}.so APPEND ) - -list(APPEND build_target_LIST build_${PACKAGE}) -# Restore EPA_PATH to original state. -set(EPA_PATH "${EPA_ORIGINAL_NATIVE_PATH}") -#message(STATUS "${PACKAGE} restored original EPA_PATH = ${EPA_PATH}") This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <and...@us...> - 2013-12-03 13:03:30
|
Revision: 12806 http://sourceforge.net/p/plplot/code/12806 Author: andrewross Date: 2013-12-03 13:03:26 +0000 (Tue, 03 Dec 2013) Log Message: ----------- Update tcl version of example 22 consistent with C version. Modified Paths: -------------- trunk/examples/tcl/x22.tcl Modified: trunk/examples/tcl/x22.tcl =================================================================== --- trunk/examples/tcl/x22.tcl 2013-12-03 13:02:59 UTC (rev 12805) +++ trunk/examples/tcl/x22.tcl 2013-12-03 13:03:26 UTC (rev 12806) @@ -15,13 +15,17 @@ set narr 6 set fill 0 - $w cmd plsvect arrow_x arrow_y $narr $fill - constriction $w + $w cmd plsvect arrow_x arrow_y $fill + constriction $w 1 set fill 1 - $w cmd plsvect arrow2_x arrow2_y $narr $fill - constriction $w + $w cmd plsvect arrow2_x arrow2_y $fill + constriction $w 2 + constriction2 $w + + $w cmd plsvect NULL NULL 0 + potential $w } @@ -65,7 +69,7 @@ } # Vector plot of flow through a constricted pipe -proc constriction {w} { +proc constriction {w astyle} { set nx 20 set ny 20 @@ -93,7 +97,7 @@ yg $i $j = $y set b [expr {$ymax/4.0*(3.0-cos($::PLPLOT::PL_PI*$x/$xmax))}] if {abs($y) < $b} { - set dbdx [expr {$ymax/4.0*sin($::PLPLOT::PL_PI*$x/$xmax)*$y/$b}] + set dbdx [expr {$ymax/4.0*sin($::PLPLOT::PL_PI*$x/$xmax)*$::PLPLOT::PL_PI/$xmax*$y/$b}] u $i $j = [expr {$Q*$ymax/$b}] v $i $j = [expr {$Q*$ymax/$b*$dbdx}] } else { @@ -105,13 +109,85 @@ # Plot vectors with default arrows $w cmd plenv $xmin $xmax $ymin $ymax 0 0 - $w cmd pllab "(x)" "(y)" "#frPLplot Example 22 - constriction" + $w cmd pllab "(x)" "(y)" [format "#frPLplot Example 22 - constriction (arrow style %d)" $astyle] $w cmd plcol0 2 - $w cmd plvect u v -0.5 "pltr2" xg yg + $w cmd plvect u v -1.0 "pltr2" xg yg $w cmd plcol0 1 } +proc transform { x y } { + + global xmax + + return [list \ + [expr {$x}] \ + [expr {$y / 4.0 * (3.0 - cos($::PLPLOT::PL_PI * $x / $xmax) ) }]] +} + +# Vector plot of flow through a constricted pipe +# with a coordinate transform +proc constriction2 {w} { + + set nx 20 + set ny 20 + set nc 11 + set nseg 20 + + set dx 1.0 + set dy 1.0 + + global xmax + + set xmin [expr {-$nx/2*$dx}] + set xmax [expr {$nx/2*$dx}] + set ymin [expr {-$ny/2*$dy}] + set ymax [expr {$ny/2*$dy}] + + $w cmd plstransform transform + + matrix xg f $nx $ny + matrix yg f $nx $ny + matrix u f $nx $ny + matrix v f $nx $ny + + set Q 2.0 + # Create data - circulation around the origin. + for {set i 0} {$i < $nx} {incr i} { + set x [expr {($i-$nx/2+0.5)*$dx} ] + for {set j 0} {$j < $ny} {incr j} { + set y [expr {($j-$ny/2+0.5)*$dy}] + xg $i $j = $x + yg $i $j = $y + set b [expr {$ymax/4.0*(3.0-cos($::PLPLOT::PL_PI*$x/$xmax))}] + u $i $j = [expr {$Q*$ymax/$b}] + v $i $j = 0.0 + } + } + + matrix clev f $nc + for {set i 0} {$i < $nc} {incr i} { + clev $i = [expr {$Q + $i * $Q / ($nc - 1)}] + } + + # Plot vectors with default arrows + $w cmd plenv $xmin $xmax $ymin $ymax 0 0 + $w cmd pllab "(x)" "(y)" "#frPLplot Example 22 - constriction with plstransform" + $w cmd plcol0 2 + $w cmd plshades u [expr {$xmin + $dx/2}] [expr {$xmax - $dx/2}] \ + [expr {$ymin + $dy/2}] [expr {$ymax - $dy/2}] \ + clev 0.0 1 1.0 0 NULL + $w cmd plvect u v -1.0 "pltr2" xg yg + $w cmd plpath $nseg $xmin $ymax $xmax $ymax + $w cmd plpath $nseg $xmin $ymin $xmax $ymin + $w cmd plcol0 1 + + $w cmd plstransform NULL + +} + + + # Vector plot of the gradient of a shielded potential (see example 9) proc potential {w} { This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <and...@us...> - 2013-12-03 13:03:05
|
Revision: 12805 http://sourceforge.net/p/plplot/code/12805 Author: andrewross Date: 2013-12-03 13:02:59 +0000 (Tue, 03 Dec 2013) Log Message: ----------- Update tcl bindings to plsvect will accept NULL arguments. Modified Paths: -------------- trunk/bindings/tcl/plapi.tpl trunk/bindings/tcl/tclAPI.c Modified: trunk/bindings/tcl/plapi.tpl =================================================================== --- trunk/bindings/tcl/plapi.tpl 2013-12-03 11:49:15 UTC (rev 12804) +++ trunk/bindings/tcl/plapi.tpl 2013-12-03 13:02:59 UTC (rev 12805) @@ -983,14 +983,6 @@ mark PLINT * space PLINT * -# Set the vector arrow style - -pltclcmd plsvect void -arrowx PLFLT * -arrowy PLFLT * -npts PLINT -fill PLINT - # Sets the edges of the viewport to the specified absolute coordinates. pltclcmd plsvpa void Modified: trunk/bindings/tcl/tclAPI.c =================================================================== --- trunk/bindings/tcl/tclAPI.c 2013-12-03 11:49:15 UTC (rev 12804) +++ trunk/bindings/tcl/tclAPI.c 2013-12-03 13:02:59 UTC (rev 12805) @@ -64,6 +64,7 @@ static int plmapCmd( ClientData, Tcl_Interp *, int, const char ** ); static int plmeridiansCmd( ClientData, Tcl_Interp *, int, const char ** ); static int plstransformCmd( ClientData, Tcl_Interp *, int, const char ** ); +static int plsvectCmd( ClientData, Tcl_Interp *, int, const char ** ); static int plvectCmd( ClientData, Tcl_Interp *, int, const char ** ); static int plranddCmd( ClientData, Tcl_Interp *, int, const char ** ); static int plgriddataCmd( ClientData, Tcl_Interp *, int, const char ** ); @@ -115,6 +116,7 @@ { "plsetopt", plsetoptCmd }, { "plshade", plshadeCmd }, { "plshades", plshadesCmd }, + { "plsvect", plsvectCmd }, { "plvect", plvectCmd }, { "plrandd", plranddCmd }, { "plgriddata", plgriddataCmd }, @@ -1228,6 +1230,69 @@ } //-------------------------------------------------------------------------- +// plsvect +// +// Implement Tcl-side setting of arrow style. +//-------------------------------------------------------------------------- + +static int +plsvectCmd( ClientData PL_UNUSED( clientData ), Tcl_Interp *interp, + int argc, const char *argv[] ) +{ + tclMatrix *matx, *maty; + PLINT npts; + PLBOOL fill; + + if ( argc == 1 + || (strcmp( argv[1], "NULL" ) == 0 ) && ( strcmp( argv[2], "NULL" ) == 0 ) ) + { + // The user has requested to clear the transform setting. + plsvect( NULL, NULL, 0, 0 ); + return TCL_OK; + } + else if (argc != 4) + { + Tcl_AppendResult( interp, "wrong # args: see documentation for ", + argv[0], (char *) NULL ); + return TCL_ERROR; + } + + matx = Tcl_GetMatrixPtr( interp, argv[1] ); + if ( matx == NULL ) + return TCL_ERROR; + + if ( matx->dim != 1 ) + { + Tcl_SetResult( interp, "plsvect: Must use 1-d data.", TCL_STATIC ); + return TCL_ERROR; + } + npts = matx->n[0]; + + maty = Tcl_GetMatrixPtr( interp, argv[2] ); + if ( maty == NULL ) + return TCL_ERROR; + + if ( maty->dim != 1 ) + { + Tcl_SetResult( interp, "plsvect: Must use 1-d data.", TCL_STATIC ); + return TCL_ERROR; + } + + if ( maty->n[0] != npts ) + { + Tcl_SetResult( interp, "plsvect: Arrays must be of equal length", TCL_STATIC ); + return TCL_ERROR; + } + + fill = (PLBOOL) atoi(argv[3]); + + plsvect( matx->fdata, maty->fdata, npts, fill ); + + return TCL_OK; +} + + +//-------------------------------------------------------------------------- // plvect implementation (based on plcont above) //-------------------------------------------------------------------------- static int This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <arj...@us...> - 2013-12-03 11:49:18
|
Revision: 12804 http://sourceforge.net/p/plplot/code/12804 Author: arjenmarkus Date: 2013-12-03 11:49:15 +0000 (Tue, 03 Dec 2013) Log Message: ----------- Grey out several examples in the full set. These either do not work or have not been propagated yet. The variable greyedOut holds the list of these examples. Modified Paths: -------------- trunk/examples/tk/runAllDemos.tcl Modified: trunk/examples/tk/runAllDemos.tcl =================================================================== --- trunk/examples/tk/runAllDemos.tcl 2013-12-02 07:43:42 UTC (rev 12803) +++ trunk/examples/tk/runAllDemos.tcl 2013-12-03 11:49:15 UTC (rev 12804) @@ -7,6 +7,13 @@ # #---------------------------------------------------------------------------- +# +# Set of disabled examples: +# examples 14 and 31 do not work properly +# example 32 has deliberately (not yet) been propagated to all languages +# +set greyedOut {14 31 32} + if {[catch {file readlink [info script]} path]} { set path [info script] } @@ -54,8 +61,14 @@ if {$tcl_platform(platform) != "unix"} { button .cshell -text "Shell" -command "console show" } -button .creload -text "Reload" -command reload +# +# The reload button is probably not very useful to most users +# as it reloads the set of demos and commands. So disable it +# at least the time being +# +button .creload -text "Reload" -command reload -state disabled + set buttons [concat [info commands .c*] .bnextpage] proc reload {} { @@ -83,8 +96,13 @@ } proc setButtonState {state} { + global greyedOut foreach b [info commands .b*] { - $b configure -state $state + if { [lsearch $greyedOut [string range $b 2 end]] < 0 } { + $b configure -state $state + } else { + $b configure -state disabled + } } } @@ -99,6 +117,10 @@ } } +foreach i $greyedOut { + .b$i configure -state disabled +} + if {[llength $buttons]} { eval grid $buttons -sticky ew } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ai...@us...> - 2013-12-02 07:43:45
|
Revision: 12803 http://sourceforge.net/p/plplot/code/12803 Author: airwin Date: 2013-12-02 07:43:42 +0000 (Mon, 02 Dec 2013) Log Message: ----------- Update patch to be consistent with other recent changes. Modified Paths: -------------- trunk/cmake/epa_build/configured_pango.patch Modified: trunk/cmake/epa_build/configured_pango.patch =================================================================== --- trunk/cmake/epa_build/configured_pango.patch 2013-12-02 07:39:09 UTC (rev 12802) +++ trunk/cmake/epa_build/configured_pango.patch 2013-12-02 07:43:42 UTC (rev 12803) @@ -18,3 +18,41 @@ CONFIGURE_COMMAND ${ENV_EXECUTABLE} PATH=${BP_PATH} ${${BP_PACKAGE}_SET_CFLAGS} ${${BP_PACKAGE}_SET_CXXFLAGS} ${source_PATH}/${BP_CONFIGURE_COMMAND} BUILD_COMMAND ${ENV_EXECUTABLE} PATH=${BP_PATH} ${BP_PARALLEL_MAKE_COMMAND} BUILD_IN_SOURCE OFF +Index: configured_pango.patch +=================================================================== +--- configured_pango.patch (revision 12800) ++++ configured_pango.patch (working copy) +@@ -1,20 +1,20 @@ + Index: itstool/CMakeLists.txt + =================================================================== +---- itstool/CMakeLists.txt (revision 12790) ++--- itstool/CMakeLists.txt (revision 12802) + +++ itstool/CMakeLists.txt (working copy) +-@@ -64,7 +64,6 @@ +- set(${BP_PACKAGE}_URL http://files.itstool.org/itstool/itstool-1.2.0.tar.bz2) +- set(${BP_PACKAGE}_DOWNLOAD_HASH_TYPE SHA256) +- set(${BP_PACKAGE}_DOWNLOAD_HASH 46fed63fb89c72dbfc03097b4477084ff05ad6f171212d8f1f1546ea543978aa) +--set(${BP_PACKAGE}_PATCH itstool-1.2.0-python-location-fixes.patch) ++@@ -71,7 +71,6 @@ ++ set(URL http://files.itstool.org/itstool/itstool-1.2.0.tar.bz2) ++ set(DOWNLOAD_HASH_TYPE SHA256) ++ set(DOWNLOAD_HASH 46fed63fb89c72dbfc03097b4477084ff05ad6f171212d8f1f1546ea543978aa) ++-set(PATCH itstool-1.2.0-python-location-fixes.patch) + + # Data that is related to the PATH that must be used. + if(MSYS_PLATFORM) +-@@ -93,7 +92,6 @@ +- DEPENDS ${${BP_PACKAGE}_dependencies_targets} +- URL ${${BP_PACKAGE}_URL} +- URL_HASH ${${BP_PACKAGE}_DOWNLOAD_HASH_TYPE}=${${BP_PACKAGE}_DOWNLOAD_HASH} +-- PATCH_COMMAND ${PATCH_EXECUTABLE} -p1 < ${CMAKE_SOURCE_DIR}/itstool/${${BP_PACKAGE}_PATCH} +- CONFIGURE_COMMAND ${ENV_EXECUTABLE} PATH=${BP_PATH} ${${BP_PACKAGE}_SET_CFLAGS} ${${BP_PACKAGE}_SET_CXXFLAGS} ${source_PATH}/${BP_CONFIGURE_COMMAND} +- BUILD_COMMAND ${ENV_EXECUTABLE} PATH=${BP_PATH} ${BP_PARALLEL_MAKE_COMMAND} ++@@ -98,7 +97,6 @@ ++ DEPENDS ${dependencies_targets} ++ URL ${URL} ++ URL_HASH ${DOWNLOAD_HASH_TYPE}=${DOWNLOAD_HASH} ++- PATCH_COMMAND ${PATCH_EXECUTABLE} -p1 < ${CMAKE_SOURCE_DIR}/itstool/${PATCH} ++ 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 This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ai...@us...> - 2013-12-02 07:39:13
|
Revision: 12802 http://sourceforge.net/p/plplot/code/12802 Author: airwin Date: 2013-12-02 07:39:09 +0000 (Mon, 02 Dec 2013) Log Message: ----------- Add itstool-1.2.0-python-location-fixes.patch which is normally done automatically after itstool/CMakeLists.txt is automatically configured, but the changes were so large that this process had to be done by hand editing this time. Modified Paths: -------------- trunk/cmake/epa_build/itstool/CMakeLists.txt Modified: trunk/cmake/epa_build/itstool/CMakeLists.txt =================================================================== --- trunk/cmake/epa_build/itstool/CMakeLists.txt 2013-12-02 07:25:56 UTC (rev 12801) +++ trunk/cmake/epa_build/itstool/CMakeLists.txt 2013-12-02 07:39:09 UTC (rev 12802) @@ -71,6 +71,7 @@ set(URL http://files.itstool.org/itstool/itstool-1.2.0.tar.bz2) set(DOWNLOAD_HASH_TYPE SHA256) set(DOWNLOAD_HASH 46fed63fb89c72dbfc03097b4477084ff05ad6f171212d8f1f1546ea543978aa) +set(PATCH itstool-1.2.0-python-location-fixes.patch) # Data that is related to the PATH that must be used. if(MSYS_PLATFORM) @@ -97,6 +98,7 @@ DEPENDS ${dependencies_targets} URL ${URL} URL_HASH ${DOWNLOAD_HASH_TYPE}=${DOWNLOAD_HASH} + PATCH_COMMAND ${PATCH_EXECUTABLE} -p1 < ${CMAKE_SOURCE_DIR}/itstool/${PATCH} 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 This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ai...@us...> - 2013-12-02 07:26:02
|
Revision: 12801 http://sourceforge.net/p/plplot/code/12801 Author: airwin Date: 2013-12-02 07:25:56 +0000 (Mon, 02 Dec 2013) Log Message: ----------- Update automatically configured builds to new add_subdirectory method while replacing all "BP_" variables by the "EPA_" equivalents if those are set in the top-level CMakeLists.txt file, or else dropping the ${BP_PROJECT}_ prefix altogether when warranted since the variable scope issues are much reduced with the add_subdirectory method we are still in the process of implementing. Modified Paths: -------------- trunk/cmake/epa_build/cmake/CMakeLists.txt trunk/cmake/epa_build/docbook-xml/CMakeLists.txt trunk/cmake/epa_build/docbook-xsl/CMakeLists.txt trunk/cmake/epa_build/itcl3/CMakeLists.txt trunk/cmake/epa_build/itk/CMakeLists.txt trunk/cmake/epa_build/itk3/CMakeLists.txt trunk/cmake/epa_build/iwidgets/CMakeLists.txt trunk/cmake/epa_build/libagg/CMakeLists.txt trunk/cmake/epa_build/libharu/CMakeLists.txt trunk/cmake/epa_build/libqhull/CMakeLists.txt trunk/cmake/epa_build/ndiff/CMakeLists.txt trunk/cmake/epa_build/pkg-config/CMakeLists.txt trunk/cmake/epa_build/plplot/CMakeLists.txt trunk/cmake/epa_build/shapelib/CMakeLists.txt trunk/cmake/epa_build/subversion/CMakeLists.txt trunk/cmake/epa_build/tcl/CMakeLists.txt trunk/cmake/epa_build/tk/CMakeLists.txt trunk/cmake/epa_build/wxwidgets/CMakeLists.txt trunk/cmake/epa_build/xmlcatalog-wrapper/CMakeLists.txt Modified: trunk/cmake/epa_build/cmake/CMakeLists.txt =================================================================== --- trunk/cmake/epa_build/cmake/CMakeLists.txt 2013-12-02 07:19:58 UTC (rev 12800) +++ trunk/cmake/epa_build/cmake/CMakeLists.txt 2013-12-02 07:25:56 UTC (rev 12801) @@ -1,4 +1,4 @@ -# cmake/bp.cmake +# cmake/CMakeLists.txt # This file should be included directly or indirectly from a top-level # CMakeLists.txt file to configure the build of cmake. @@ -19,46 +19,46 @@ # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA # The top-level CMakeLists.txt file that includes this file should -# have run "include(ExternalProject)" and set EP_BASE variable (and -# corresponding directory property) as well as various BP variables +# have run "include(ExternalProject)" and set EPA_BASE variable (and +# corresponding directory property) as well as various EPA variables # used below that configure how the External_Project functions # operate. -set(BP_PACKAGE cmake) +set(PACKAGE cmake) # Protect against configuring a build twice in one CMake call -if(${BP_PACKAGE}_configured) +if(configured) return() -endif(${BP_PACKAGE}_configured) -set(${BP_PACKAGE}_configured ON) +endif(configured) +set(configured ON) # Data that is related to downloads. -set(BP_CMAKE_DIR v2.8) -set(BP_CMAKE_VERSION 2.8.11.1) -set(${BP_PACKAGE}_URL http://www.cmake.org/files/${BP_CMAKE_DIR}/cmake-${BP_CMAKE_VERSION}.tar.gz) -set(${BP_PACKAGE}_URL_MD5 df5324a3b203373a9e0a04b924281a43) +set(EPA_CMAKE_DIR v2.8) +set(EPA_CMAKE_VERSION 2.8.11.1) +set(URL http://www.cmake.org/files/${EPA_CMAKE_DIR}/cmake-${EPA_CMAKE_VERSION}.tar.gz) +set(URL_MD5 df5324a3b203373a9e0a04b924281a43) # Data that is related to the PATH that must be used. if(MSYS_PLATFORM) - set(BP_PATH_NODLL "${BP_PATH}") - set(BP_PATH "${EP_BASE}/Build/build_${BP_PACKAGE}/dll;${BP_PATH_NODLL}") - determine_msys_path(BP_PATH "${BP_PATH}") - determine_msys_path(${BP_PACKAGE}_INSTALL_PREFIX "${CMAKE_INSTALL_PREFIX}") + set(EPA_PATH_NODLL "${EPA_PATH}") + set(EPA_PATH "${EPA_BASE}/Build/build_${PACKAGE}/dll;${EPA_PATH_NODLL}") + determine_msys_path(EPA_PATH "${EPA_PATH}") + determine_msys_path(${PACKAGE}_INSTALL_PREFIX "${CMAKE_INSTALL_PREFIX}") else(MSYS_PLATFORM) - set(${BP_PACKAGE}_INSTALL_PREFIX "${CMAKE_INSTALL_PREFIX}") + set(${PACKAGE}_INSTALL_PREFIX "${CMAKE_INSTALL_PREFIX}") endif(MSYS_PLATFORM) -#message(STATUS "modified BP_PATH for ${BP_PACKAGE} = ${BP_PATH}") +#message(STATUS "modified EPA_PATH for ${PACKAGE} = ${EPA_PATH}") ExternalProject_Add( - build_${BP_PACKAGE} - URL ${${BP_PACKAGE}_URL} - URL_MD5 ${${BP_PACKAGE}_URL_MD5} - CONFIGURE_COMMAND ${ENV_EXECUTABLE} PATH=${BP_PATH} CFLAGS=-O3 CXXFLAGS=-O3 ${SH_EXECUTABLE} ${EP_BASE}/Source/build_${BP_PACKAGE}/bootstrap --prefix=${${BP_PACKAGE}_INSTALL_PREFIX} --parallel=8 - BUILD_COMMAND ${ENV_EXECUTABLE} PATH=${BP_PATH} ${BP_PARALLEL_BUILD_COMMAND} - INSTALL_COMMAND ${ENV_EXECUTABLE} PATH=${BP_PATH} ${BP_PARALLEL_BUILD_COMMAND} install + build_${PACKAGE} + URL ${URL} + URL_MD5 ${URL_MD5} + CONFIGURE_COMMAND ${ENV_EXECUTABLE} PATH=${EPA_PATH} CFLAGS=-O3 CXXFLAGS=-O3 ${SH_EXECUTABLE} ${EPA_BASE}/Source/build_${PACKAGE}/bootstrap --prefix=${${PACKAGE}_INSTALL_PREFIX} --parallel=8 + BUILD_COMMAND ${ENV_EXECUTABLE} PATH=${EPA_PATH} ${EPA_PARALLEL_BUILD_COMMAND} + INSTALL_COMMAND ${ENV_EXECUTABLE} PATH=${EPA_PATH} ${EPA_PARALLEL_BUILD_COMMAND} install ) -list(APPEND build_target_LIST build_${BP_PACKAGE}) -# Restore BP_PATH to original state. -set(BP_PATH "${BP_ORIGINAL_NATIVE_PATH}") -#message(STATUS "${BP_PACKAGE} restored original BP_PATH = ${BP_PATH}") +list(APPEND build_target_LIST build_${PACKAGE}) +# Restore EPA_PATH to original state. +set(EPA_PATH "${EPA_ORIGINAL_NATIVE_PATH}") +#message(STATUS "${PACKAGE} restored original EPA_PATH = ${EPA_PATH}") Modified: trunk/cmake/epa_build/docbook-xml/CMakeLists.txt =================================================================== --- trunk/cmake/epa_build/docbook-xml/CMakeLists.txt 2013-12-02 07:19:58 UTC (rev 12800) +++ trunk/cmake/epa_build/docbook-xml/CMakeLists.txt 2013-12-02 07:25:56 UTC (rev 12801) @@ -1,4 +1,4 @@ -# docbook-xml/bp.cmake +# docbook-xml/CMakeLists.txt # This file should be included directly or indirectly from a top-level # CMakeLists.txt file to configure the build of docbook-xml. @@ -19,8 +19,8 @@ # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA # The top-level CMakeLists.txt file that includes this file should -# have run "include(ExternalProject)" and set EP_BASE variable (and -# corresponding directory property) as well as various BP variables +# have run "include(ExternalProject)" and set EPA_BASE variable (and +# corresponding directory property) as well as various EPA variables # used below that configure how the External_Project functions # operate. @@ -32,71 +32,71 @@ # List of dependencies (most of which are build tools) which should be # ignored. -set(BP_ignored_dependencies_LIST pkg-config;bison;flex;python2-devel;libXft ${extra_ignored_dependencies_list}) +set(EPA_ignored_dependencies_LIST pkg-config;bison;flex;python2-devel;libXft ${extra_ignored_dependencies_list}) set(docbook-xml_dependencies_LIST libxml2) # Remove dependencies that should be ignored. if(docbook-xml_dependencies_LIST) - list(REMOVE_ITEM docbook-xml_dependencies_LIST ${BP_ignored_dependencies_LIST}) + list(REMOVE_ITEM docbook-xml_dependencies_LIST ${EPA_ignored_dependencies_LIST}) endif(docbook-xml_dependencies_LIST) set(docbook-xml_dependencies_targets) foreach(build_configuration ${docbook-xml_dependencies_LIST}) - if(EXISTS ${CMAKE_SOURCE_DIR}/${build_configuration}/bp.cmake) - include(${build_configuration}/bp.cmake) + if(EXISTS ${CMAKE_SOURCE_DIR}/${build_configuration}/CMakeLists.txt) + include(${build_configuration}/CMakeLists.txt) list(APPEND docbook-xml_dependencies_targets build_${build_configuration}) - else(EXISTS ${CMAKE_SOURCE_DIR}/${build_configuration}/bp.cmake) + else(EXISTS ${CMAKE_SOURCE_DIR}/${build_configuration}/CMakeLists.txt) message(STATUS "Warning: A build_configuration for ${build_configuration} does not exist so it is assumed this dependency of docbook-xml has been installed another way.") - endif(EXISTS ${CMAKE_SOURCE_DIR}/${build_configuration}/bp.cmake) + endif(EXISTS ${CMAKE_SOURCE_DIR}/${build_configuration}/CMakeLists.txt) endforeach(build_configuration ${docbook-xml_dependences_LIST}) # This can be safely done only after above includes. -set(BP_PACKAGE docbook-xml) +set(PACKAGE docbook-xml) # Data that is related to downloads. -set(${BP_PACKAGE}_URL http://www.docbook.org/xml/4.5/docbook-xml-4.5.zip) -set(${BP_PACKAGE}_DOWNLOAD_HASH_TYPE MD5) -set(${BP_PACKAGE}_DOWNLOAD_HASH 03083e288e87a7e829e437358da7ef9e) +set(URL http://www.docbook.org/xml/4.5/docbook-xml-4.5.zip) +set(${PACKAGE}_DOWNLOAD_HASH_TYPE MD5) +set(${PACKAGE}_DOWNLOAD_HASH 03083e288e87a7e829e437358da7ef9e) # Data that is related to the PATH that must be used. if(MSYS_PLATFORM) - #set(BP_PATH_NODLL "${BP_PATH}") - #set(BP_PATH "${EP_BASE}/Build/build_${BP_PACKAGE}/dll;${BP_PATH_NODLL}") - determine_msys_path(BP_PATH "${BP_PATH}") + #set(EPA_PATH_NODLL "${EPA_PATH}") + #set(EPA_PATH "${EPA_BASE}/Build/build_${PACKAGE}/dll;${EPA_PATH_NODLL}") + determine_msys_path(EPA_PATH "${EPA_PATH}") # Must have all elements of env command in MSYS platform form - determine_msys_path(source_PATH "${EP_BASE}/Source/build_${BP_PACKAGE}") - set(${BP_PACKAGE}_SET_CFLAGS "CFLAGS=$ENV{CFLAGS}") + determine_msys_path(source_PATH "${EPA_BASE}/Source/build_${PACKAGE}") + set(${PACKAGE}_SET_CFLAGS "CFLAGS=$ENV{CFLAGS}") else(MSYS_PLATFORM) - set(source_PATH "${EP_BASE}/Source/build_${BP_PACKAGE}") - set(${BP_PACKAGE}_SET_CFLAGS "CFLAGS=$ENV{CFLAGS}") + set(source_PATH "${EPA_BASE}/Source/build_${PACKAGE}") + set(${PACKAGE}_SET_CFLAGS "CFLAGS=$ENV{CFLAGS}") endif(MSYS_PLATFORM) -#message(STATUS "modified BP_PATH for ${BP_PACKAGE} = ${BP_PATH}") +#message(STATUS "modified EPA_PATH for ${PACKAGE} = ${EPA_PATH}") ExternalProject_Add( - build_${BP_PACKAGE} - DEPENDS ${${BP_PACKAGE}_dependencies_targets} - URL ${${BP_PACKAGE}_URL} - URL_HASH ${${BP_PACKAGE}_DOWNLOAD_HASH_TYPE}=${${BP_PACKAGE}_DOWNLOAD_HASH} - CONFIGURE_COMMAND ${ENV_EXECUTABLE} PATH=${BP_PATH} ${BP_CMAKE_COMMAND} ${EP_BASE}/Source/build_${BP_PACKAGE} - BUILD_COMMAND ${ENV_EXECUTABLE} PATH=${BP_PATH} ${BP_PARALLEL_BUILD_COMMAND} + build_${PACKAGE} + DEPENDS ${${PACKAGE}_dependencies_targets} + URL ${URL} + URL_HASH ${${PACKAGE}_DOWNLOAD_HASH_TYPE}=${${PACKAGE}_DOWNLOAD_HASH} + CONFIGURE_COMMAND ${ENV_EXECUTABLE} PATH=${EPA_PATH} ${EPA_CMAKE_COMMAND} ${EPA_BASE}/Source/build_${PACKAGE} + BUILD_COMMAND ${ENV_EXECUTABLE} PATH=${EPA_PATH} ${EPA_PARALLEL_BUILD_COMMAND} BUILD_IN_SOURCE OFF - INSTALL_COMMAND ${ENV_EXECUTABLE} PATH=${BP_PATH} ${BP_PARALLEL_BUILD_COMMAND} install + INSTALL_COMMAND ${ENV_EXECUTABLE} PATH=${EPA_PATH} ${EPA_PARALLEL_BUILD_COMMAND} install ) # Add custom commands to the current no-command update step. add_custom_command( OUTPUT - ${EP_BASE}/Stamp/build_${BP_PACKAGE}/build_${BP_PACKAGE}-update + ${EPA_BASE}/Stamp/build_${PACKAGE}/build_${PACKAGE}-update COMMAND ${CMAKE_COMMAND} -E copy - ${CMAKE_SOURCE_DIR}/${BP_PACKAGE}/${BP_PACKAGE}_CMakeLists.txt - ${EP_BASE}/Source/build_${BP_PACKAGE}/CMakeLists.txt - COMMENT "Custom updating of ${BP_PACKAGE}" + ${CMAKE_SOURCE_DIR}/${PACKAGE}/${PACKAGE}_CMakeLists.txt + ${EPA_BASE}/Source/build_${PACKAGE}/CMakeLists.txt + COMMENT "Custom updating of ${PACKAGE}" DEPENDS - ${CMAKE_SOURCE_DIR}/${BP_PACKAGE}/${BP_PACKAGE}_CMakeLists.txt + ${CMAKE_SOURCE_DIR}/${PACKAGE}/${PACKAGE}_CMakeLists.txt APPEND ) -list(APPEND build_target_LIST build_${BP_PACKAGE}) -# Restore BP_PATH to original state. -set(BP_PATH "${BP_ORIGINAL_NATIVE_PATH}") -#message(STATUS "${BP_PACKAGE} restored original BP_PATH = ${BP_PATH}") +list(APPEND build_target_LIST build_${PACKAGE}) +# Restore EPA_PATH to original state. +set(EPA_PATH "${EPA_ORIGINAL_NATIVE_PATH}") +#message(STATUS "${PACKAGE} restored original EPA_PATH = ${EPA_PATH}") Modified: trunk/cmake/epa_build/docbook-xsl/CMakeLists.txt =================================================================== --- trunk/cmake/epa_build/docbook-xsl/CMakeLists.txt 2013-12-02 07:19:58 UTC (rev 12800) +++ trunk/cmake/epa_build/docbook-xsl/CMakeLists.txt 2013-12-02 07:25:56 UTC (rev 12801) @@ -1,4 +1,4 @@ -# docbook-xsl/bp.cmake +# docbook-xsl/CMakeLists.txt # This file should be included directly or indirectly from a top-level # CMakeLists.txt file to configure the build of docbook-xsl. @@ -19,8 +19,8 @@ # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA # The top-level CMakeLists.txt file that includes this file should -# have run "include(ExternalProject)" and set EP_BASE variable (and -# corresponding directory property) as well as various BP variables +# have run "include(ExternalProject)" and set EPA_BASE variable (and +# corresponding directory property) as well as various EPA variables # used below that configure how the External_Project functions # operate. @@ -32,71 +32,71 @@ # List of dependencies (most of which are build tools) which should be # ignored. -set(BP_ignored_dependencies_LIST pkg-config;bison;flex;python2-devel;libXft ${extra_ignored_dependencies_list}) +set(EPA_ignored_dependencies_LIST pkg-config;bison;flex;python2-devel;libXft ${extra_ignored_dependencies_list}) set(docbook-xsl_dependencies_LIST libxml2) # Remove dependencies that should be ignored. if(docbook-xsl_dependencies_LIST) - list(REMOVE_ITEM docbook-xsl_dependencies_LIST ${BP_ignored_dependencies_LIST}) + list(REMOVE_ITEM docbook-xsl_dependencies_LIST ${EPA_ignored_dependencies_LIST}) endif(docbook-xsl_dependencies_LIST) set(docbook-xsl_dependencies_targets) foreach(build_configuration ${docbook-xsl_dependencies_LIST}) - if(EXISTS ${CMAKE_SOURCE_DIR}/${build_configuration}/bp.cmake) - include(${build_configuration}/bp.cmake) + if(EXISTS ${CMAKE_SOURCE_DIR}/${build_configuration}/CMakeLists.txt) + include(${build_configuration}/CMakeLists.txt) list(APPEND docbook-xsl_dependencies_targets build_${build_configuration}) - else(EXISTS ${CMAKE_SOURCE_DIR}/${build_configuration}/bp.cmake) + else(EXISTS ${CMAKE_SOURCE_DIR}/${build_configuration}/CMakeLists.txt) message(STATUS "Warning: A build_configuration for ${build_configuration} does not exist so it is assumed this dependency of docbook-xsl has been installed another way.") - endif(EXISTS ${CMAKE_SOURCE_DIR}/${build_configuration}/bp.cmake) + endif(EXISTS ${CMAKE_SOURCE_DIR}/${build_configuration}/CMakeLists.txt) endforeach(build_configuration ${docbook-xsl_dependences_LIST}) # This can be safely done only after above includes. -set(BP_PACKAGE docbook-xsl) +set(PACKAGE docbook-xsl) # Data that is related to downloads. -set(${BP_PACKAGE}_URL http://downloads.sourceforge.net/docbook/docbook-xsl-1.78.1.tar.bz2) -set(${BP_PACKAGE}_DOWNLOAD_HASH_TYPE MD5) -set(${BP_PACKAGE}_DOWNLOAD_HASH 6dd0f89131cc35bf4f2ed105a1c17771) +set(URL http://downloads.sourceforge.net/docbook/docbook-xsl-1.78.1.tar.bz2) +set(${PACKAGE}_DOWNLOAD_HASH_TYPE MD5) +set(${PACKAGE}_DOWNLOAD_HASH 6dd0f89131cc35bf4f2ed105a1c17771) # Data that is related to the PATH that must be used. if(MSYS_PLATFORM) - #set(BP_PATH_NODLL "${BP_PATH}") - #set(BP_PATH "${EP_BASE}/Build/build_${BP_PACKAGE}/dll;${BP_PATH_NODLL}") - determine_msys_path(BP_PATH "${BP_PATH}") + #set(EPA_PATH_NODLL "${EPA_PATH}") + #set(EPA_PATH "${EPA_BASE}/Build/build_${PACKAGE}/dll;${EPA_PATH_NODLL}") + determine_msys_path(EPA_PATH "${EPA_PATH}") # Must have all elements of env command in MSYS platform form - determine_msys_path(source_PATH "${EP_BASE}/Source/build_${BP_PACKAGE}") - set(${BP_PACKAGE}_SET_CFLAGS "CFLAGS=$ENV{CFLAGS}") + determine_msys_path(source_PATH "${EPA_BASE}/Source/build_${PACKAGE}") + set(${PACKAGE}_SET_CFLAGS "CFLAGS=$ENV{CFLAGS}") else(MSYS_PLATFORM) - set(source_PATH "${EP_BASE}/Source/build_${BP_PACKAGE}") - set(${BP_PACKAGE}_SET_CFLAGS "CFLAGS=$ENV{CFLAGS}") + set(source_PATH "${EPA_BASE}/Source/build_${PACKAGE}") + set(${PACKAGE}_SET_CFLAGS "CFLAGS=$ENV{CFLAGS}") endif(MSYS_PLATFORM) -#message(STATUS "modified BP_PATH for ${BP_PACKAGE} = ${BP_PATH}") +#message(STATUS "modified EPA_PATH for ${PACKAGE} = ${EPA_PATH}") ExternalProject_Add( - build_${BP_PACKAGE} - DEPENDS ${${BP_PACKAGE}_dependencies_targets} - URL ${${BP_PACKAGE}_URL} - URL_HASH ${${BP_PACKAGE}_DOWNLOAD_HASH_TYPE}=${${BP_PACKAGE}_DOWNLOAD_HASH} - CONFIGURE_COMMAND ${ENV_EXECUTABLE} PATH=${BP_PATH} ${BP_CMAKE_COMMAND} ${EP_BASE}/Source/build_${BP_PACKAGE} - BUILD_COMMAND ${ENV_EXECUTABLE} PATH=${BP_PATH} ${BP_PARALLEL_BUILD_COMMAND} + build_${PACKAGE} + DEPENDS ${${PACKAGE}_dependencies_targets} + URL ${URL} + URL_HASH ${${PACKAGE}_DOWNLOAD_HASH_TYPE}=${${PACKAGE}_DOWNLOAD_HASH} + CONFIGURE_COMMAND ${ENV_EXECUTABLE} PATH=${EPA_PATH} ${EPA_CMAKE_COMMAND} ${EPA_BASE}/Source/build_${PACKAGE} + BUILD_COMMAND ${ENV_EXECUTABLE} PATH=${EPA_PATH} ${EPA_PARALLEL_BUILD_COMMAND} BUILD_IN_SOURCE OFF - INSTALL_COMMAND ${ENV_EXECUTABLE} PATH=${BP_PATH} ${BP_PARALLEL_BUILD_COMMAND} install + INSTALL_COMMAND ${ENV_EXECUTABLE} PATH=${EPA_PATH} ${EPA_PARALLEL_BUILD_COMMAND} install ) # Add custom commands to the current no-command update step. add_custom_command( OUTPUT - ${EP_BASE}/Stamp/build_${BP_PACKAGE}/build_${BP_PACKAGE}-update + ${EPA_BASE}/Stamp/build_${PACKAGE}/build_${PACKAGE}-update COMMAND ${CMAKE_COMMAND} -E copy - ${CMAKE_SOURCE_DIR}/${BP_PACKAGE}/${BP_PACKAGE}_CMakeLists.txt - ${EP_BASE}/Source/build_${BP_PACKAGE}/CMakeLists.txt - COMMENT "Custom updating of ${BP_PACKAGE}" + ${CMAKE_SOURCE_DIR}/${PACKAGE}/${PACKAGE}_CMakeLists.txt + ${EPA_BASE}/Source/build_${PACKAGE}/CMakeLists.txt + COMMENT "Custom updating of ${PACKAGE}" DEPENDS - ${CMAKE_SOURCE_DIR}/${BP_PACKAGE}/${BP_PACKAGE}_CMakeLists.txt + ${CMAKE_SOURCE_DIR}/${PACKAGE}/${PACKAGE}_CMakeLists.txt APPEND ) -list(APPEND build_target_LIST build_${BP_PACKAGE}) -# Restore BP_PATH to original state. -set(BP_PATH "${BP_ORIGINAL_NATIVE_PATH}") -#message(STATUS "${BP_PACKAGE} restored original BP_PATH = ${BP_PATH}") +list(APPEND build_target_LIST build_${PACKAGE}) +# Restore EPA_PATH to original state. +set(EPA_PATH "${EPA_ORIGINAL_NATIVE_PATH}") +#message(STATUS "${PACKAGE} restored original EPA_PATH = ${EPA_PATH}") Modified: trunk/cmake/epa_build/itcl3/CMakeLists.txt =================================================================== --- trunk/cmake/epa_build/itcl3/CMakeLists.txt 2013-12-02 07:19:58 UTC (rev 12800) +++ trunk/cmake/epa_build/itcl3/CMakeLists.txt 2013-12-02 07:25:56 UTC (rev 12801) @@ -1,4 +1,4 @@ -# itcl3/bp.cmake +# itcl3/CMakeLists.txt # CMakeLists.txt file to configure the build of itcl3. # Copyright (C) 2013 Alan W. Irwin @@ -18,8 +18,8 @@ # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA # The top-level CMakeLists.txt file that includes this file should -# have run "include(ExternalProject)" and set EP_BASE variable (and -# corresponding directory property) as well as various BP variables +# have run "include(ExternalProject)" and set EPA_BASE variable (and +# corresponding directory property) as well as various EPA variables # used below that configure how the External_Project functions # operate. @@ -34,74 +34,74 @@ # List of dependencies (most of which are build tools) which should be # ignored. -set(BP_ignored_dependencies_LIST ${extra_ignored_dependencies_list}) +set(EPA_ignored_dependencies_LIST ${extra_ignored_dependencies_list}) set(itcl3_dependencies_LIST tk tcl) # Remove dependencies that should be ignored. if(itcl3_dependencies_LIST) - list(REMOVE_ITEM itcl3_dependencies_LIST ${BP_ignored_dependencies_LIST}) + list(REMOVE_ITEM itcl3_dependencies_LIST ${EPA_ignored_dependencies_LIST}) endif(itcl3_dependencies_LIST) set(itcl3_dependencies_targets) foreach(build_configuration ${itcl3_dependencies_LIST}) - if(EXISTS ${CMAKE_SOURCE_DIR}/${build_configuration}/bp.cmake) - include(${build_configuration}/bp.cmake) + if(EXISTS ${CMAKE_SOURCE_DIR}/${build_configuration}/CMakeLists.txt) + include(${build_configuration}/CMakeLists.txt) list(APPEND itcl3_dependencies_targets build_${build_configuration}) - else(EXISTS ${CMAKE_SOURCE_DIR}/${build_configuration}/bp.cmake) + else(EXISTS ${CMAKE_SOURCE_DIR}/${build_configuration}/CMakeLists.txt) message(STATUS "Warning: A build_configuration for ${build_configuration} does not exist so it is assumed this dependency of itcl3 has been installed another way.") - endif(EXISTS ${CMAKE_SOURCE_DIR}/${build_configuration}/bp.cmake) + endif(EXISTS ${CMAKE_SOURCE_DIR}/${build_configuration}/CMakeLists.txt) endforeach(build_configuration ${itcl3_dependences_LIST}) # This can be safely done only after above includes. -set(BP_PACKAGE itcl3) +set(PACKAGE itcl3) # Data that is related to downloads. set(ITCL3_VERSION 3.4.1) set(ITCL3_LIBVERSION 3.4) -set(${BP_PACKAGE}_URL http://downloads.sourceforge.net/project/incrtcl/%5bIncr%20Tcl_Tk%5d-source/${ITCL3_VERSION}/itcl${ITCL3_VERSION}.tar.gz) -set(${BP_PACKAGE}_DOWNLOAD_HASH_TYPE MD5) -set(${BP_PACKAGE}_DOWNLOAD_HASH e7c98e0f69df1a675073ddd3344f0b7f) +set(URL http://downloads.sourceforge.net/project/incrtcl/%5bIncr%20Tcl_Tk%5d-source/${ITCL3_VERSION}/itcl${ITCL3_VERSION}.tar.gz) +set(${PACKAGE}_DOWNLOAD_HASH_TYPE MD5) +set(${PACKAGE}_DOWNLOAD_HASH e7c98e0f69df1a675073ddd3344f0b7f) # Data that is related to the PATH that must be used. if(MSYS_PLATFORM) - #set(BP_PATH_NODLL "${BP_PATH}") - #set(BP_PATH "${EP_BASE}/Build/build_${BP_PACKAGE}/dll;${BP_PATH_NODLL}") - determine_msys_path(BP_PATH "${BP_PATH}") + #set(EPA_PATH_NODLL "${EPA_PATH}") + #set(EPA_PATH "${EPA_BASE}/Build/build_${PACKAGE}/dll;${EPA_PATH_NODLL}") + determine_msys_path(EPA_PATH "${EPA_PATH}") # Must have all elements of env command in MSYS platform form - determine_msys_path(source_PATH "${EP_BASE}/Source/build_${BP_PACKAGE}") - set(${BP_PACKAGE}_SET_CFLAGS "CFLAGS=$ENV{CFLAGS}") + determine_msys_path(source_PATH "${EPA_BASE}/Source/build_${PACKAGE}") + set(${PACKAGE}_SET_CFLAGS "CFLAGS=$ENV{CFLAGS}") else(MSYS_PLATFORM) - set(source_PATH "${EP_BASE}/Source/build_${BP_PACKAGE}") - set(${BP_PACKAGE}_SET_CFLAGS "CFLAGS=$ENV{CFLAGS}") + set(source_PATH "${EPA_BASE}/Source/build_${PACKAGE}") + set(${PACKAGE}_SET_CFLAGS "CFLAGS=$ENV{CFLAGS}") endif(MSYS_PLATFORM) -#message(STATUS "modified BP_PATH for ${BP_PACKAGE} = ${BP_PATH}") +#message(STATUS "modified EPA_PATH for ${PACKAGE} = ${EPA_PATH}") # Eliminate this option which gives bad results for this package. -string(REGEX REPLACE "-fvisibility=hidden" "" ${BP_PACKAGE}_SET_CFLAGS "${${BP_PACKAGE}_SET_CFLAGS}") +string(REGEX REPLACE "-fvisibility=hidden" "" ${PACKAGE}_SET_CFLAGS "${${PACKAGE}_SET_CFLAGS}") -if(BP_HAVE_64_BIT_OS) +if(EPA_HAVE_64_BIT_OS) set(ITCL3_ENABLE_64_BIT --enable-64bit) -endif(BP_HAVE_64_BIT_OS) +endif(EPA_HAVE_64_BIT_OS) # This variable provides the opportunity to set an alternative install # prefix to distinguish what files are installed by version 3 of itcl # and friends from what is installed by version 4 of itcl and friends. # But currently just use the ordinary install location. -set(INCRTCL3_PREFIX ${BP_CMAKE_INSTALL_PREFIX}) +set(INCRTCL3_PREFIX ${EPA_CMAKE_INSTALL_PREFIX}) ExternalProject_Add( - build_${BP_PACKAGE} - DEPENDS ${${BP_PACKAGE}_dependencies_targets} - URL ${${BP_PACKAGE}_URL} - URL_HASH ${${BP_PACKAGE}_DOWNLOAD_HASH_TYPE}=${${BP_PACKAGE}_DOWNLOAD_HASH} - CONFIGURE_COMMAND ${ENV_EXECUTABLE} PATH=${BP_PATH} ${${BP_PACKAGE}_SET_CFLAGS} ${source_PATH}/configure --prefix=${INCRTCL3_PREFIX} --exec-prefix=${INCRTCL3_PREFIX} --includedir=${INCRTCL3_PREFIX}/include/itcl${ITCL3_LIBVERSION} --mandir=${INCRTCL3_PREFIX}/share/man ${ITCL3_ENABLE_64_BIT} --with-tcl=${BP_CMAKE_INSTALL_PREFIX}/lib --with-tclinclude=${BP_CMAKE_INSTALL_PREFIX}/include - BUILD_COMMAND ${ENV_EXECUTABLE} PATH=${BP_PATH} ${BP_PARALLEL_MAKE_COMMAND} - INSTALL_COMMAND ${ENV_EXECUTABLE} PATH=${BP_PATH} ${BP_PARALLEL_MAKE_COMMAND} install + build_${PACKAGE} + DEPENDS ${${PACKAGE}_dependencies_targets} + URL ${URL} + URL_HASH ${${PACKAGE}_DOWNLOAD_HASH_TYPE}=${${PACKAGE}_DOWNLOAD_HASH} + CONFIGURE_COMMAND ${ENV_EXECUTABLE} PATH=${EPA_PATH} ${${PACKAGE}_SET_CFLAGS} ${source_PATH}/configure --prefix=${INCRTCL3_PREFIX} --exec-prefix=${INCRTCL3_PREFIX} --includedir=${INCRTCL3_PREFIX}/include/itcl${ITCL3_LIBVERSION} --mandir=${INCRTCL3_PREFIX}/share/man ${ITCL3_ENABLE_64_BIT} --with-tcl=${EPA_CMAKE_INSTALL_PREFIX}/lib --with-tclinclude=${EPA_CMAKE_INSTALL_PREFIX}/include + BUILD_COMMAND ${ENV_EXECUTABLE} PATH=${EPA_PATH} ${EPA_PARALLEL_MAKE_COMMAND} + INSTALL_COMMAND ${ENV_EXECUTABLE} PATH=${EPA_PATH} ${EPA_PARALLEL_MAKE_COMMAND} install ) add_custom_command( OUTPUT - ${EP_BASE}/Stamp/build_${BP_PACKAGE}/build_${BP_PACKAGE}-build + ${EPA_BASE}/Stamp/build_${PACKAGE}/build_${PACKAGE}-build COMMAND echo "Replace build-tree locations by install-tree locations" COMMAND ${SED_EXECUTABLE} # Cover two different patterns of uppercasing. @@ -117,14 +117,14 @@ add_custom_command( OUTPUT - ${EP_BASE}/Stamp/build_${BP_PACKAGE}/build_${BP_PACKAGE}-install + ${EPA_BASE}/Stamp/build_${PACKAGE}/build_${PACKAGE}-install COMMAND ${CMAKE_COMMAND} -E echo "Install-tree fixups" COMMAND ${CHMOD_EXECUTABLE} -v ${SO_NUMERICAL_PERMISSIONS} ${INCRTCL3_PREFIX}/lib/itcl${ITCL3_LIBVERSION}/libitcl${ITCL3_LIBVERSION}.so COMMAND ${CMAKE_COMMAND} -E rename ${INCRTCL3_PREFIX}/lib/itclConfig.sh ${INCRTCL3_PREFIX}/lib/itcl${ITCL3_LIBVERSION}/itclConfig.sh APPEND ) -list(APPEND build_target_LIST build_${BP_PACKAGE}) -# Restore BP_PATH to original state. -set(BP_PATH "${BP_ORIGINAL_NATIVE_PATH}") -#message(STATUS "${BP_PACKAGE} restored original BP_PATH = ${BP_PATH}") +list(APPEND build_target_LIST build_${PACKAGE}) +# Restore EPA_PATH to original state. +set(EPA_PATH "${EPA_ORIGINAL_NATIVE_PATH}") +#message(STATUS "${PACKAGE} restored original EPA_PATH = ${EPA_PATH}") Modified: trunk/cmake/epa_build/itk/CMakeLists.txt =================================================================== --- trunk/cmake/epa_build/itk/CMakeLists.txt 2013-12-02 07:19:58 UTC (rev 12800) +++ trunk/cmake/epa_build/itk/CMakeLists.txt 2013-12-02 07:25:56 UTC (rev 12801) @@ -1,4 +1,4 @@ -# itk/bp.cmake +# itk/CMakeLists.txt # CMakeLists.txt file to configure the build of itk. # Copyright (C) 2013 Alan W. Irwin @@ -18,8 +18,8 @@ # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA # The top-level CMakeLists.txt file that includes this file should -# have run "include(ExternalProject)" and set EP_BASE variable (and -# corresponding directory property) as well as various BP variables +# have run "include(ExternalProject)" and set EPA_BASE variable (and +# corresponding directory property) as well as various EPA variables # used below that configure how the External_Project functions # operate. @@ -34,99 +34,99 @@ # List of dependencies (most of which are build tools) which should be # ignored. -set(BP_ignored_dependencies_LIST ${extra_ignored_dependencies_list}) +set(EPA_ignored_dependencies_LIST ${extra_ignored_dependencies_list}) set(itk_dependencies_LIST tk tcl) # Remove dependencies that should be ignored. if(itk_dependencies_LIST) - list(REMOVE_ITEM itk_dependencies_LIST ${BP_ignored_dependencies_LIST}) + list(REMOVE_ITEM itk_dependencies_LIST ${EPA_ignored_dependencies_LIST}) endif(itk_dependencies_LIST) set(itk_dependencies_targets) foreach(build_configuration ${itk_dependencies_LIST}) - if(EXISTS ${CMAKE_SOURCE_DIR}/${build_configuration}/bp.cmake) - include(${build_configuration}/bp.cmake) + if(EXISTS ${CMAKE_SOURCE_DIR}/${build_configuration}/CMakeLists.txt) + include(${build_configuration}/CMakeLists.txt) list(APPEND itk_dependencies_targets build_${build_configuration}) - else(EXISTS ${CMAKE_SOURCE_DIR}/${build_configuration}/bp.cmake) + else(EXISTS ${CMAKE_SOURCE_DIR}/${build_configuration}/CMakeLists.txt) message(STATUS "Warning: A build_configuration for ${build_configuration} does not exist so it is assumed this dependency of itk has been installed another way.") - endif(EXISTS ${CMAKE_SOURCE_DIR}/${build_configuration}/bp.cmake) + endif(EXISTS ${CMAKE_SOURCE_DIR}/${build_configuration}/CMakeLists.txt) endforeach(build_configuration ${itk_dependences_LIST}) # This can be safely done only after above includes. -set(BP_PACKAGE itk) +set(PACKAGE itk) # Data that is related to downloads. set(ITCL_ITK_VERSION 4.0.0) set(ITCL_ITK_LIBVERSION ${ITCL_ITK_VERSION}) -set(${BP_PACKAGE}_URL http://downloads.sourceforge.net/project/incrtcl/%5bincr%20Tcl_Tk%5d-4-source/Itcl%20${ITCL_ITK_VERSION}/itk${ITCL_ITK_VERSION}.tar.gz) -set(${BP_PACKAGE}_DOWNLOAD_HASH_TYPE MD5) -set(${BP_PACKAGE}_DOWNLOAD_HASH e3600a9ad0fcdcbbc4138af5a4893b7e) +set(URL http://downloads.sourceforge.net/project/incrtcl/%5bincr%20Tcl_Tk%5d-4-source/Itcl%20${ITCL_ITK_VERSION}/itk${ITCL_ITK_VERSION}.tar.gz) +set(${PACKAGE}_DOWNLOAD_HASH_TYPE MD5) +set(${PACKAGE}_DOWNLOAD_HASH e3600a9ad0fcdcbbc4138af5a4893b7e) # Data that is related to the PATH that must be used. if(MSYS_PLATFORM) - #set(BP_PATH_NODLL "${BP_PATH}") - #set(BP_PATH "${EP_BASE}/Build/build_${BP_PACKAGE}/dll;${BP_PATH_NODLL}") - determine_msys_path(BP_PATH "${BP_PATH}") + #set(EPA_PATH_NODLL "${EPA_PATH}") + #set(EPA_PATH "${EPA_BASE}/Build/build_${PACKAGE}/dll;${EPA_PATH_NODLL}") + determine_msys_path(EPA_PATH "${EPA_PATH}") # Must have all elements of env command in MSYS platform form - determine_msys_path(source_PATH "${EP_BASE}/Source/build_${BP_PACKAGE}") - set(${BP_PACKAGE}_SET_CFLAGS "CFLAGS=$ENV{CFLAGS}") + determine_msys_path(source_PATH "${EPA_BASE}/Source/build_${PACKAGE}") + set(${PACKAGE}_SET_CFLAGS "CFLAGS=$ENV{CFLAGS}") else(MSYS_PLATFORM) - set(source_PATH "${EP_BASE}/Source/build_${BP_PACKAGE}") - set(${BP_PACKAGE}_SET_CFLAGS "CFLAGS=$ENV{CFLAGS}") + set(source_PATH "${EPA_BASE}/Source/build_${PACKAGE}") + set(${PACKAGE}_SET_CFLAGS "CFLAGS=$ENV{CFLAGS}") endif(MSYS_PLATFORM) -#message(STATUS "modified BP_PATH for ${BP_PACKAGE} = ${BP_PATH}") +#message(STATUS "modified EPA_PATH for ${PACKAGE} = ${EPA_PATH}") -if(BP_HAVE_64_BIT_OS) +if(EPA_HAVE_64_BIT_OS) set(ITK_ENABLE_64_BIT --enable-64bit) -endif(BP_HAVE_64_BIT_OS) +endif(EPA_HAVE_64_BIT_OS) ExternalProject_Add( - build_${BP_PACKAGE} - DEPENDS ${${BP_PACKAGE}_dependencies_targets} - URL ${${BP_PACKAGE}_URL} - URL_HASH ${${BP_PACKAGE}_DOWNLOAD_HASH_TYPE}=${${BP_PACKAGE}_DOWNLOAD_HASH} + build_${PACKAGE} + DEPENDS ${${PACKAGE}_dependencies_targets} + URL ${URL} + URL_HASH ${${PACKAGE}_DOWNLOAD_HASH_TYPE}=${${PACKAGE}_DOWNLOAD_HASH} PATCH_COMMAND "" - CONFIGURE_COMMAND ${ENV_EXECUTABLE} PATH=${BP_PATH} ${${BP_PACKAGE}_SET_CFLAGS} CPPFLAGS=-I${BP_CMAKE_INSTALL_PREFIX}/include ${source_PATH}/${BP_CONFIGURE_COMMAND} --mandir=${BP_CMAKE_INSTALL_PREFIX}/share/man ${ITK_ENABLE_64_BIT} --with-itcl=${BP_CMAKE_INSTALL_PREFIX}/lib/itcl${ITCL_ITK_LIBVERSION} - BUILD_COMMAND ${ENV_EXECUTABLE} PATH=${BP_PATH} ${BP_PARALLEL_MAKE_COMMAND} - INSTALL_COMMAND ${ENV_EXECUTABLE} PATH=${BP_PATH} ${BP_PARALLEL_MAKE_COMMAND} install + CONFIGURE_COMMAND ${ENV_EXECUTABLE} PATH=${EPA_PATH} ${${PACKAGE}_SET_CFLAGS} CPPFLAGS=-I${EPA_CMAKE_INSTALL_PREFIX}/include ${source_PATH}/${EPA_CONFIGURE_COMMAND} --mandir=${EPA_CMAKE_INSTALL_PREFIX}/share/man ${ITK_ENABLE_64_BIT} --with-itcl=${EPA_CMAKE_INSTALL_PREFIX}/lib/itcl${ITCL_ITK_LIBVERSION} + BUILD_COMMAND ${ENV_EXECUTABLE} PATH=${EPA_PATH} ${EPA_PARALLEL_MAKE_COMMAND} + INSTALL_COMMAND ${ENV_EXECUTABLE} PATH=${EPA_PATH} ${EPA_PARALLEL_MAKE_COMMAND} install ) add_custom_command( OUTPUT - ${EP_BASE}/Stamp/build_${BP_PACKAGE}/build_${BP_PACKAGE}-patch + ${EPA_BASE}/Stamp/build_${PACKAGE}/build_${PACKAGE}-patch COMMAND ${CMAKE_COMMAND} -E echo "Provide an exactly equivalent \"Itk\" and \"itk\" form of the package name to follow what is implemented for itcl version 4." # This patch has been publicly distributed at https://sourceforge.net/p/incrtcl/patches/52/ - COMMAND ${PATCH_EXECUTABLE} --directory=${EP_BASE}/Source/build_${BP_PACKAGE} -p1 < ${CMAKE_SOURCE_DIR}/${BP_PACKAGE}/itk4_case.patch + COMMAND ${PATCH_EXECUTABLE} --directory=${EPA_BASE}/Source/build_${PACKAGE} -p1 < ${CMAKE_SOURCE_DIR}/${PACKAGE}/itk4_case.patch COMMAND ${CMAKE_COMMAND} -E echo "Add generic/itkDecls.h to the list of itk headers that must be installed." # This patch has been publicly distributed at https://sourceforge.net/p/incrtcl/patches/53/ - COMMAND ${PATCH_EXECUTABLE} --directory=${EP_BASE}/Source/build_${BP_PACKAGE} -p1 < ${CMAKE_SOURCE_DIR}/${BP_PACKAGE}/itk4_header_list.patch + COMMAND ${PATCH_EXECUTABLE} --directory=${EPA_BASE}/Source/build_${PACKAGE} -p1 < ${CMAKE_SOURCE_DIR}/${PACKAGE}/itk4_header_list.patch APPEND ) add_custom_command( OUTPUT - ${EP_BASE}/Stamp/build_${BP_PACKAGE}/build_${BP_PACKAGE}-build + ${EPA_BASE}/Stamp/build_${PACKAGE}/build_${PACKAGE}-build COMMAND echo "Replace build-tree locations by install-tree locations" COMMAND ${SED_EXECUTABLE} - -e "s@^\\(ITK_SRC_DIR='\\).*@\\1${BP_CMAKE_INSTALL_PREFIX}/include'@" + -e "s@^\\(ITK_SRC_DIR='\\).*@\\1${EPA_CMAKE_INSTALL_PREFIX}/include'@" # Comment out the next since itk build system does not configure any # of these variables so they are left in symbolic "@" form. - #-e "/ITK_B/s@='\\(-L\\)\\?.*build_itk@='\\1${BP_CMAKE_INSTALL_PREFIX}/lib@" + #-e "/ITK_B/s@='\\(-L\\)\\?.*build_itk@='\\1${EPA_CMAKE_INSTALL_PREFIX}/lib@" -i itkConfig.sh APPEND ) add_custom_command( OUTPUT - ${EP_BASE}/Stamp/build_${BP_PACKAGE}/build_${BP_PACKAGE}-install + ${EPA_BASE}/Stamp/build_${PACKAGE}/build_${PACKAGE}-install COMMAND echo "Install-tree fixups" - COMMAND ${CHMOD_EXECUTABLE} -v ${SO_NUMERICAL_PERMISSIONS} ${BP_CMAKE_INSTALL_PREFIX}/lib/itk${ITCL_ITK_LIBVERSION}/libitk${ITCL_ITK_LIBVERSION}.so + COMMAND ${CHMOD_EXECUTABLE} -v ${SO_NUMERICAL_PERMISSIONS} ${EPA_CMAKE_INSTALL_PREFIX}/lib/itk${ITCL_ITK_LIBVERSION}/libitk${ITCL_ITK_LIBVERSION}.so APPEND ) -list(APPEND build_target_LIST build_${BP_PACKAGE}) -# Restore BP_PATH to original state. -set(BP_PATH "${BP_ORIGINAL_NATIVE_PATH}") -#message(STATUS "${BP_PACKAGE} restored original BP_PATH = ${BP_PATH}") +list(APPEND build_target_LIST build_${PACKAGE}) +# Restore EPA_PATH to original state. +set(EPA_PATH "${EPA_ORIGINAL_NATIVE_PATH}") +#message(STATUS "${PACKAGE} restored original EPA_PATH = ${EPA_PATH}") Modified: trunk/cmake/epa_build/itk3/CMakeLists.txt =================================================================== --- trunk/cmake/epa_build/itk3/CMakeLists.txt 2013-12-02 07:19:58 UTC (rev 12800) +++ trunk/cmake/epa_build/itk3/CMakeLists.txt 2013-12-02 07:25:56 UTC (rev 12801) @@ -1,4 +1,4 @@ -# itk3/bp.cmake +# itk3/CMakeLists.txt # CMakeLists.txt file to configure the build of itk3. # Copyright (C) 2013 Alan W. Irwin @@ -18,8 +18,8 @@ # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA # The top-level CMakeLists.txt file that includes this file should -# have run "include(ExternalProject)" and set EP_BASE variable (and -# corresponding directory property) as well as various BP variables +# have run "include(ExternalProject)" and set EPA_BASE variable (and +# corresponding directory property) as well as various EPA variables # used below that configure how the External_Project functions # operate. @@ -34,70 +34,70 @@ # List of dependencies (most of which are build tools) which should be # ignored. -set(BP_ignored_dependencies_LIST ${extra_ignored_dependencies_list}) +set(EPA_ignored_dependencies_LIST ${extra_ignored_dependencies_list}) set(itk3_dependencies_LIST itcl3 tk tcl) # Remove dependencies that should be ignored. if(itk3_dependencies_LIST) - list(REMOVE_ITEM itk3_dependencies_LIST ${BP_ignored_dependencies_LIST}) + list(REMOVE_ITEM itk3_dependencies_LIST ${EPA_ignored_dependencies_LIST}) endif(itk3_dependencies_LIST) set(itk3_dependencies_targets) foreach(build_configuration ${itk3_dependencies_LIST}) - if(EXISTS ${CMAKE_SOURCE_DIR}/${build_configuration}/bp.cmake) - include(${build_configuration}/bp.cmake) + if(EXISTS ${CMAKE_SOURCE_DIR}/${build_configuration}/CMakeLists.txt) + include(${build_configuration}/CMakeLists.txt) list(APPEND itk3_dependencies_targets build_${build_configuration}) - else(EXISTS ${CMAKE_SOURCE_DIR}/${build_configuration}/bp.cmake) + else(EXISTS ${CMAKE_SOURCE_DIR}/${build_configuration}/CMakeLists.txt) message(STATUS "Warning: A build_configuration for ${build_configuration} does not exist so it is assumed this dependency of itk3 has been installed another way.") - endif(EXISTS ${CMAKE_SOURCE_DIR}/${build_configuration}/bp.cmake) + endif(EXISTS ${CMAKE_SOURCE_DIR}/${build_configuration}/CMakeLists.txt) endforeach(build_configuration ${itk3_dependences_LIST}) # This can be safely done only after above includes. -set(BP_PACKAGE itk3) +set(PACKAGE itk3) # Data that is related to downloads. set(ITK3_VERSION 3.3) set(ITK3_LIBVERSION 3.3) -set(${BP_PACKAGE}_URL http://downloads.sourceforge.net/project/incrtcl/%5bIncr%20Tcl_Tk%5d-source/${ITK3_VERSION}-RC/itk${ITK3_VERSION}.tar.gz) -set(${BP_PACKAGE}_DOWNLOAD_HASH_TYPE MD5) -set(${BP_PACKAGE}_DOWNLOAD_HASH a97c17f3cfa5e377f43073c653c501b5) +set(URL http://downloads.sourceforge.net/project/incrtcl/%5bIncr%20Tcl_Tk%5d-source/${ITK3_VERSION}-RC/itk${ITK3_VERSION}.tar.gz) +set(${PACKAGE}_DOWNLOAD_HASH_TYPE MD5) +set(${PACKAGE}_DOWNLOAD_HASH a97c17f3cfa5e377f43073c653c501b5) # Data that is related to the PATH that must be used. if(MSYS_PLATFORM) - #set(BP_PATH_NODLL "${BP_PATH}") - #set(BP_PATH "${EP_BASE}/Build/build_${BP_PACKAGE}/dll;${BP_PATH_NODLL}") - determine_msys_path(BP_PATH "${BP_PATH}") + #set(EPA_PATH_NODLL "${EPA_PATH}") + #set(EPA_PATH "${EPA_BASE}/Build/build_${PACKAGE}/dll;${EPA_PATH_NODLL}") + determine_msys_path(EPA_PATH "${EPA_PATH}") # Must have all elements of env command in MSYS platform form - determine_msys_path(source_PATH "${EP_BASE}/Source/build_${BP_PACKAGE}") - set(${BP_PACKAGE}_SET_CFLAGS "CFLAGS=$ENV{CFLAGS}") + determine_msys_path(source_PATH "${EPA_BASE}/Source/build_${PACKAGE}") + set(${PACKAGE}_SET_CFLAGS "CFLAGS=$ENV{CFLAGS}") else(MSYS_PLATFORM) - set(source_PATH "${EP_BASE}/Source/build_${BP_PACKAGE}") - set(${BP_PACKAGE}_SET_CFLAGS "CFLAGS=$ENV{CFLAGS}") + set(source_PATH "${EPA_BASE}/Source/build_${PACKAGE}") + set(${PACKAGE}_SET_CFLAGS "CFLAGS=$ENV{CFLAGS}") endif(MSYS_PLATFORM) -#message(STATUS "modified BP_PATH for ${BP_PACKAGE} = ${BP_PATH}") +#message(STATUS "modified EPA_PATH for ${PACKAGE} = ${EPA_PATH}") # Eliminate this option which gives bad results for this package. -string(REGEX REPLACE "-fvisibility=hidden" "" ${BP_PACKAGE}_SET_CFLAGS "${${BP_PACKAGE}_SET_CFLAGS}") +string(REGEX REPLACE "-fvisibility=hidden" "" ${PACKAGE}_SET_CFLAGS "${${PACKAGE}_SET_CFLAGS}") -if(BP_HAVE_64_BIT_OS) +if(EPA_HAVE_64_BIT_OS) set(ITK3_ENABLE_64_BIT --enable-64bit) -endif(BP_HAVE_64_BIT_OS) +endif(EPA_HAVE_64_BIT_OS) ExternalProject_Add( - build_${BP_PACKAGE} - DEPENDS ${${BP_PACKAGE}_dependencies_targets} - URL ${${BP_PACKAGE}_URL} - URL_HASH ${${BP_PACKAGE}_DOWNLOAD_HASH_TYPE}=${${BP_PACKAGE}_DOWNLOAD_HASH} + build_${PACKAGE} + DEPENDS ${${PACKAGE}_dependencies_targets} + URL ${URL} + URL_HASH ${${PACKAGE}_DOWNLOAD_HASH_TYPE}=${${PACKAGE}_DOWNLOAD_HASH} # Order of CPPFLAGS is important since want to access the version 3 # itcl header. - CONFIGURE_COMMAND ${ENV_EXECUTABLE} PATH=${BP_PATH} ${${BP_PACKAGE}_SET_CFLAGS} "CPPFLAGS=-I${INCRTCL3_PREFIX}/include/itcl${ITCL3_LIBVERSION} -I${BP_CMAKE_INSTALL_PREFIX}/include" ${source_PATH}/configure --prefix=${INCRTCL3_PREFIX} --exec-prefix=${INCRTCL3_PREFIX} --includedir=${INCRTCL3_PREFIX}/include/itcl${ITCL3_LIBVERSION} --mandir=${INCRTCL3_PREFIX}/share/man ${ITK3_ENABLE_64_BIT} --with-tcl=${BP_CMAKE_INSTALL_PREFIX}/lib --with-tk=${BP_CMAKE_INSTALL_PREFIX}/lib --with-itcl=${INCRTCL3_PREFIX}/lib/itcl${ITCL3_LIBVERSION} - BUILD_COMMAND ${ENV_EXECUTABLE} PATH=${BP_PATH} ${BP_PARALLEL_MAKE_COMMAND} - INSTALL_COMMAND ${ENV_EXECUTABLE} PATH=${BP_PATH} ${BP_PARALLEL_MAKE_COMMAND} install + CONFIGURE_COMMAND ${ENV_EXECUTABLE} PATH=${EPA_PATH} ${${PACKAGE}_SET_CFLAGS} "CPPFLAGS=-I${INCRTCL3_PREFIX}/include/itcl${ITCL3_LIBVERSION} -I${EPA_CMAKE_INSTALL_PREFIX}/include" ${source_PATH}/configure --prefix=${INCRTCL3_PREFIX} --exec-prefix=${INCRTCL3_PREFIX} --includedir=${INCRTCL3_PREFIX}/include/itcl${ITCL3_LIBVERSION} --mandir=${INCRTCL3_PREFIX}/share/man ${ITK3_ENABLE_64_BIT} --with-tcl=${EPA_CMAKE_INSTALL_PREFIX}/lib --with-tk=${EPA_CMAKE_INSTALL_PREFIX}/lib --with-itcl=${INCRTCL3_PREFIX}/lib/itcl${ITCL3_LIBVERSION} + BUILD_COMMAND ${ENV_EXECUTABLE} PATH=${EPA_PATH} ${EPA_PARALLEL_MAKE_COMMAND} + INSTALL_COMMAND ${ENV_EXECUTABLE} PATH=${EPA_PATH} ${EPA_PARALLEL_MAKE_COMMAND} install ) add_custom_command( OUTPUT - ${EP_BASE}/Stamp/build_${BP_PACKAGE}/build_${BP_PACKAGE}-build + ${EPA_BASE}/Stamp/build_${PACKAGE}/build_${PACKAGE}-build COMMAND echo "Replace build-tree locations by install-tree locations" COMMAND ${SED_EXECUTABLE} # Cover two different patterns of uppercasing. @@ -113,14 +113,14 @@ add_custom_command( OUTPUT - ${EP_BASE}/Stamp/build_${BP_PACKAGE}/build_${BP_PACKAGE}-install + ${EPA_BASE}/Stamp/build_${PACKAGE}/build_${PACKAGE}-install COMMAND echo "Install-tree fixups" COMMAND ${CHMOD_EXECUTABLE} -v ${SO_NUMERICAL_PERMISSIONS} ${INCRTCL3_PREFIX}/lib/itk${ITK3_LIBVERSION}/libitk${ITK3_LIBVERSION}.so APPEND ) -list(APPEND build_target_LIST build_${BP_PACKAGE}) -# Restore BP_PATH to original state. -set(BP_PATH "${BP_ORIGINAL_NATIVE_PATH}") -#message(STATUS "${BP_PACKAGE} restored original BP_PATH = ${BP_PATH}") +list(APPEND build_target_LIST build_${PACKAGE}) +# Restore EPA_PATH to original state. +set(EPA_PATH "${EPA_ORIGINAL_NATIVE_PATH}") +#message(STATUS "${PACKAGE} restored original EPA_PATH = ${EPA_PATH}") Modified: trunk/cmake/epa_build/iwidgets/CMakeLists.txt =================================================================== --- trunk/cmake/epa_build/iwidgets/CMakeLists.txt 2013-12-02 07:19:58 UTC (rev 12800) +++ trunk/cmake/epa_build/iwidgets/CMakeLists.txt 2013-12-02 07:25:56 UTC (rev 12801) @@ -1,4 +1,4 @@ -# iwidgets/bp.cmake +# iwidgets/CMakeLists.txt # CMakeLists.txt file to configure the build of iwidgets4.0 and iwidgets # Copyright (C) 2013 Alan W. Irwin @@ -18,8 +18,8 @@ # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA # The top-level CMakeLists.txt file that includes this file should -# have run "include(ExternalProject)" and set EP_BASE variable (and -# corresponding directory property) as well as various BP variables +# have run "include(ExternalProject)" and set EPA_BASE variable (and +# corresponding directory property) as well as various EPA variables # used below that configure how the External_Project functions # operate. @@ -31,7 +31,7 @@ # List of dependencies (most of which are build tools) which should be # ignored. -set(BP_ignored_dependencies_LIST ${extra_ignored_dependencies_list}) +set(EPA_ignored_dependencies_LIST ${extra_ignored_dependencies_list}) set(iwidgets4.0_dependencies_LIST itk3 itcl3 tk tcl) set(iwidgets_dependencies_LIST itk tk tcl) @@ -40,61 +40,61 @@ foreach(tag IN LISTS tags) # Remove dependencies that should be ignored. if(iwidgets${tag}_dependencies_LIST) - list(REMOVE_ITEM iwidgets${tag}_dependencies_LIST ${BP_ignored_dependencies_LIST}) + list(REMOVE_ITEM iwidgets${tag}_dependencies_LIST ${EPA_ignored_dependencies_LIST}) endif(iwidgets${tag}_dependencies_LIST) set(iwidgets${tag}_dependencies_targets) foreach(build_configuration ${iwidgets${tag}_dependencies_LIST}) - if(EXISTS ${CMAKE_SOURCE_DIR}/${build_configuration}/bp.cmake) - include(${build_configuration}/bp.cmake) + if(EXISTS ${CMAKE_SOURCE_DIR}/${build_configuration}/CMakeLists.txt) + include(${build_configuration}/CMakeLists.txt) list(APPEND iwidgets${tag}_dependencies_targets build_${build_configuration}) - else(EXISTS ${CMAKE_SOURCE_DIR}/${build_configuration}/bp.cmake) + else(EXISTS ${CMAKE_SOURCE_DIR}/${build_configuration}/CMakeLists.txt) message(STATUS "Warning: A build_configuration for ${build_configuration} does not exist so it is assumed this dependency of iwidgets${tag} has been installed another way.") - endif(EXISTS ${CMAKE_SOURCE_DIR}/${build_configuration}/bp.cmake) + endif(EXISTS ${CMAKE_SOURCE_DIR}/${build_configuration}/CMakeLists.txt) endforeach(build_configuration ${iwidgets${tag}_dependences_LIST}) endforeach(tag IN LISTS tags) # This can be safely done only after above includes. -set(BP_PACKAGE iwidgets) +set(PACKAGE iwidgets) -set(${BP_PACKAGE}4.0_VERSION 4.0.1) -set(${BP_PACKAGE}4.0_LIBVERSION 4.0) -set(${BP_PACKAGE}4.0_ITCL_VERSION 3.2) -set(${BP_PACKAGE}4.0_CMAKE_OPTION -DBUILD_IWIDGETS_4.1=OFF) +set(${PACKAGE}4.0_VERSION 4.0.1) +set(${PACKAGE}4.0_LIBVERSION 4.0) +set(${PACKAGE}4.0_ITCL_VERSION 3.2) +set(${PACKAGE}4.0_CMAKE_OPTION -DBUILD_IWIDGETS_4.1=OFF) -set(${BP_PACKAGE}_VERSION 4.1.0) -set(${BP_PACKAGE}_LIBVERSION 4.1) -set(${BP_PACKAGE}_ITCL_VERSION 4.0) -set(${BP_PACKAGE}_CMAKE_OPTION -DBUILD_IWIDGETS_4.1=ON) +set(${PACKAGE}_VERSION 4.1.0) +set(${PACKAGE}_LIBVERSION 4.1) +set(${PACKAGE}_ITCL_VERSION 4.0) +set(${PACKAGE}_CMAKE_OPTION -DBUILD_IWIDGETS_4.1=ON) foreach(tag IN LISTS tags) # Data that is related to downloads. - set(${BP_PACKAGE}${tag}_URL http://downloads.sourceforge.net/project/incrtcl/%5bIncr%20Widgets%5d/${${BP_PACKAGE}4.0_VERSION}/iwidgets${${BP_PACKAGE}4.0_VERSION}.tar.gz) - set(${BP_PACKAGE}${tag}_DOWNLOAD_HASH_TYPE MD5) - set(${BP_PACKAGE}${tag}_DOWNLOAD_HASH 0e9c140e81ea6015b56130127c7deb03) + set(${PACKAGE}${tag}_URL http://downloads.sourceforge.net/project/incrtcl/%5bIncr%20Widgets%5d/${${PACKAGE}4.0_VERSION}/iwidgets${${PACKAGE}4.0_VERSION}.tar.gz) + set(${PACKAGE}${tag}_DOWNLOAD_HASH_TYPE MD5) + set(${PACKAGE}${tag}_DOWNLOAD_HASH 0e9c140e81ea6015b56130127c7deb03) # Data that is related to the PATH that must be used. if(MSYS_PLATFORM) - #set(BP_PATH_NODLL "${BP_PATH}") - #set(BP_PATH "${EP_BASE}/Build/build_${BP_PACKAGE}${tag}/dll;${BP_PATH_NODLL}") - determine_msys_path(BP_PATH "${BP_PATH}") + #set(EPA_PATH_NODLL "${EPA_PATH}") + #set(EPA_PATH "${EPA_BASE}/Build/build_${PACKAGE}${tag}/dll;${EPA_PATH_NODLL}") + determine_msys_path(EPA_PATH "${EPA_PATH}") # Must have all elements of env command in MSYS platform form - determine_msys_path(source_PATH "${EP_BASE}/Source/build_${BP_PACKAGE}${tag}") + determine_msys_path(source_PATH "${EPA_BASE}/Source/build_${PACKAGE}${tag}") else(MSYS_PLATFORM) - set(source_PATH "${EP_BASE}/Source/build_${BP_PACKAGE}${tag}") + set(source_PATH "${EPA_BASE}/Source/build_${PACKAGE}${tag}") endif(MSYS_PLATFORM) - #message(STATUS "modified BP_PATH for ${BP_PACKAGE}${tag} = ${BP_PATH}") + #message(STATUS "modified EPA_PATH for ${PACKAGE}${tag} = ${EPA_PATH}") ExternalProject_Add( - build_${BP_PACKAGE}${tag} - DEPENDS ${${BP_PACKAGE}${tag}_dependencies_targets} - URL ${${BP_PACKAGE}${tag}_URL} - URL_HASH ${${BP_PACKAGE}${tag}_DOWNLOAD_HASH_TYPE}=${${BP_PACKAGE}${tag}_DOWNLOAD_HASH} + build_${PACKAGE}${tag} + DEPENDS ${${PACKAGE}${tag}_dependencies_targets} + URL ${${PACKAGE}${tag}_URL} + URL_HASH ${${PACKAGE}${tag}_DOWNLOAD_HASH_TYPE}=${${PACKAGE}${tag}_DOWNLOAD_HASH} PATCH_COMMAND "" - CONFIGURE_COMMAND ${ENV_EXECUTABLE} PATH=${BP_PATH} ${BP_CMAKE_COMMAND} ${${BP_PACKAGE}${tag}_CMAKE_OPTION} ${EP_BASE}/Source/build_${BP_PACKAGE}${tag} - BUILD_COMMAND ${ENV_EXECUTABLE} PATH=${BP_PATH} ${BP_PARALLEL_BUILD_COMMAND} - INSTALL_COMMAND ${ENV_EXECUTABLE} PATH=${BP_PATH} ${BP_PARALLEL_BUILD_COMMAND} install + CONFIGURE_COMMAND ${ENV_EXECUTABLE} PATH=${EPA_PATH} ${EPA_CMAKE_COMMAND} ${${PACKAGE}${tag}_CMAKE_OPTION} ${EPA_BASE}/Source/build_${PACKAGE}${tag} + BUILD_COMMAND ${ENV_EXECUTABLE} PATH=${EPA_PATH} ${EPA_PARALLEL_BUILD_COMMAND} + INSTALL_COMMAND ${ENV_EXECUTABLE} PATH=${EPA_PATH} ${EPA_PARALLEL_BUILD_COMMAND} install ) if(NOT "${tag}") # Note this logic block executed for iwidget4.1 which has an empty @@ -118,26 +118,26 @@ # anywhere on the net) rather than iwidgets-4.0.1. add_custom_command( OUTPUT - ${EP_BASE}/Stamp/build_${BP_PACKAGE}${tag}/build_${BP_PACKAGE}${tag}-patch + ${EPA_BASE}/Stamp/build_${PACKAGE}${tag}/build_${PACKAGE}${tag}-patch COMMAND echo "Apply iwidgets4.1 source code patch" - COMMAND ${PATCH_EXECUTABLE} --directory=${EP_BASE}/Source/build_${BP_PACKAGE}${tag} -p1 < ${CMAKE_SOURCE_DIR}/${BP_PACKAGE}/${BP_PACKAGE}4.1.patch + COMMAND ${PATCH_EXECUTABLE} --directory=${EPA_BASE}/Source/build_${PACKAGE}${tag} -p1 < ${CMAKE_SOURCE_DIR}/${PACKAGE}/${PACKAGE}4.1.patch COMMAND echo "Apply patch to support both iwidgets and Iwidgets package names" - COMMAND ${PATCH_EXECUTABLE} --directory=${EP_BASE}/Source/build_${BP_PACKAGE}${tag} -p1 < ${CMAKE_SOURCE_DIR}/${BP_PACKAGE}/${BP_PACKAGE}4_case.patch + COMMAND ${PATCH_EXECUTABLE} --directory=${EPA_BASE}/Source/build_${PACKAGE}${tag} -p1 < ${CMAKE_SOURCE_DIR}/${PACKAGE}/${PACKAGE}4_case.patch APPEND ) endif(NOT "${tag}") add_custom_command( OUTPUT - ${EP_BASE}/Stamp/build_${BP_PACKAGE}${tag}/build_${BP_PACKAGE}${tag}-patch + ${EPA_BASE}/Stamp/build_${PACKAGE}${tag}/build_${PACKAGE}${tag}-patch COMMAND echo "Add CMake-based build system" COMMAND ${CMAKE_COMMAND} -E copy_if_different - ${CMAKE_SOURCE_DIR}/${BP_PACKAGE}/${BP_PACKAGE}_CMakeLists.txt - ${EP_BASE}/Source/build_${BP_PACKAGE}${tag}/CMakeLists.txt + ${CMAKE_SOURCE_DIR}/${PACKAGE}/${PACKAGE}_CMakeLists.txt + ${EPA_BASE}/Source/build_${PACKAGE}${tag}/CMakeLists.txt APPEND ) - list(APPEND build_target_LIST build_${BP_PACKAGE}${tag}) - # Restore BP_PATH to original state. - set(BP_PATH "${BP_ORIGINAL_NATIVE_PATH}") - #message(STATUS "${BP_PACKAGE}${tag} restored original BP_PATH = ${BP_PATH}") + list(APPEND build_target_LIST build_${PACKAGE}${tag}) + # Restore EPA_PATH to original state. + set(EPA_PATH "${EPA_ORIGINAL_NATIVE_PATH}") + #message(STATUS "${PACKAGE}${tag} restored original EPA_PATH = ${EPA_PATH}") endforeach(tag IN LISTS tags) Modified: trunk/cmake/epa_build/libagg/CMakeLists.txt =================================================================== --- trunk/cmake/epa_build/libagg/CMakeLists.txt 2013-12-02 07:19:58 UTC (rev 12800) +++ trunk/cmake/epa_build/libagg/CMakeLists.txt 2013-12-02 07:25:56 UTC (rev 12801) @@ -1,4 +1,4 @@ -# libagg/bp.cmake +# libagg/CMakeLists.txt # This file should be included directly or indirectly from a top-level # CMakeLists.txt file to configure the build of libagg. @@ -19,54 +19,54 @@ # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA # The top-level CMakeLists.txt file that includes this file should -# have run "include(ExternalProject)" and set EP_BASE variable (and -# corresponding directory property) as well as various BP variables +# have run "include(ExternalProject)" and set EPA_BASE variable (and +# corresponding directory property) as well as various EPA variables # used below that configure how the External_Project functions # operate. -set(BP_PACKAGE libagg) +set(PACKAGE libagg) # Protect against configuring a build twice in one CMake call -if(${BP_PACKAGE}_configured) +if(configured) return() -endif(${BP_PACKAGE}_configured) -set(${BP_PACKAGE}_configured ON) +endif(configured) +set(configured ON) # Data that is related to downloads. -set(${BP_PACKAGE}_URL http://www.antigrain.com/agg-2.5.tar.gz) -set(${BP_PACKAGE}_URL_MD5 0229a488bc47be10a2fee6cf0b2febd6) +set(URL http://www.antigrain.com/agg-2.5.tar.gz) +set(URL_MD5 0229a488bc47be10a2fee6cf0b2febd6) # Data that is related to the PATH that must be used. if(MSYS_PLATFORM) - #set(BP_PATH_NODLL "${BP_PATH}") - #set(BP_PATH "${EP_BASE}/Build/build_${BP_PACKAGE}/dll;${BP_PATH_NODLL}") - determine_msys_path(BP_PATH "${BP_PATH}") + #set(EPA_PATH_NODLL "${EPA_PATH}") + #set(EPA_PATH "${EPA_BASE}/Build/build_${PACKAGE}/dll;${EPA_PATH_NODLL}") + determine_msys_path(EPA_PATH "${EPA_PATH}") endif(MSYS_PLATFORM) -#message(STATUS "modified BP_PATH for ${BP_PACKAGE} = ${BP_PATH}") +#message(STATUS "modified EPA_PATH for ${PACKAGE} = ${EPA_PATH}") ExternalProject_Add( - build_${BP_PACKAGE} - URL ${${BP_PACKAGE}_URL} - URL_MD5 ${${BP_PACKAGE}_URL_MD5} - CONFIGURE_COMMAND ${ENV_EXECUTABLE} PATH=${BP_PATH} ${BP_CMAKE_COMMAND} ${EP_BASE}/Source/build_${BP_PACKAGE} - BUILD_COMMAND ${ENV_EXECUTABLE} PATH=${BP_PATH} ${BP_PARALLEL_BUILD_COMMAND} - INSTALL_COMMAND ${ENV_EXECUTABLE} PATH=${BP_PATH} ${BP_PARALLEL_BUILD_COMMAND} install + build_${PACKAGE} + URL ${URL} + URL_MD5 ${URL_MD5} + CONFIGURE_COMMAND ${ENV_EXECUTABLE} PATH=${EPA_PATH} ${EPA_CMAKE_COMMAND} ${EPA_BASE}/Source/build_${PACKAGE} + BUILD_COMMAND ${ENV_EXECUTABLE} PATH=${EPA_PATH} ${EPA_PARALLEL_BUILD_COMMAND} + INSTALL_COMMAND ${ENV_EXECUTABLE} PATH=${EPA_PATH} ${EPA_PARALLEL_BUILD_COMMAND} install ) # Add custom commands to the current no-command update step. add_custom_command( OUTPUT - ${EP_BASE}/Stamp/build_${BP_PACKAGE}/build_${BP_PACKAGE}-update + ${EPA_BASE}/Stamp/build_${PACKAGE}/build_${PACKAGE}-update COMMAND ${CMAKE_COMMAND} -E copy - ${CMAKE_SOURCE_DIR}/${BP_PACKAGE}/${BP_PACKAGE}_CMakeLists.txt - ${EP_BASE}/Source/build_${BP_PACKAGE}/CMakeLists.txt - COMMENT "Custom updating of ${BP_PACKAGE}" + ${CMAKE_SOURCE_DIR}/${PACKAGE}/${PACKAGE}_CMakeLists.txt + ${EPA_BASE}/Source/build_${PACKAGE}/CMakeLists.txt + COMMENT "Custom updating of ${PACKAGE}" DEPENDS - ${CMAKE_SOURCE_DIR}/${BP_PACKAGE}/${BP_PACKAGE}_CMakeLists.txt + ${CMAKE_SOURCE_DIR}/${PACKAGE}/${PACKAGE}_CMakeLists.txt APPEND ) -list(APPEND build_target_LIST build_${BP_PACKAGE}) -# Restore BP_PATH to original state. -set(BP_PATH "${BP_ORIGINAL_NATIVE_PATH}") -#message(STATUS "${BP_PACKAGE} restored original BP_PATH = ${BP_PATH}") +list(APPEND build_target_LIST build_${PACKAGE}) +# Restore EPA_PATH to original state. +set(EPA_PATH "${EPA_ORIGINAL_NATIVE_PATH}") +#message(STATUS "${PACKAGE} restored original EPA_PATH = ${EPA_PATH}") Modified: trunk/cmake/epa_build/libharu/CMakeLists.txt =================================================================== --- trunk/cmake/epa_build/libharu/CMakeLists.txt 2013-12-02 07:19:58 UTC (rev 12800) +++ trunk/cmake/epa_build/libharu/CMakeLists.txt 2013-12-02 07:25:56 UTC (rev 12801) @@ -1,4 +1,4 @@ -# libharu/bp.cmake +# libharu/CMakeLists.txt # This file should be included directly or indirectly from a top-level # CMakeLists.txt file to configure the build of libharu. @@ -19,60 +19,60 @@ # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA # The top-level CMakeLists.txt file that includes this file should -# have run "include(ExternalProject)" and set EP_BASE variable (and -# corresponding directory property) as well as various BP variables +# have run "include(ExternalProject)" and set EPA_BASE variable (and +# corresponding directory property) as well as various EPA variables # used below that configure how the External_Project functions # operate. -set(BP_PACKAGE libharu) +set(PACKAGE libharu) # Protect against configuring a build twice in one CMake call -if(${BP_PACKAGE}_configured) +if(configured) return() -endif(${BP_PACKAGE}_configured) -set(${BP_PACKAGE}_configured ON) +endif(configured) +set(configured ON) # Data that is related to downloads. -set(${BP_PACKAGE}_URL http://${BP_PACKAGE}.org/files/${BP_PACKAGE}-2.2.1.tar.gz) -set(${BP_PACKAGE}_URL_MD5 63da8e087744f1d6cf16f9501b1cb766) +set(URL http://${PACKAGE}.org/files/${PACKAGE}-2.2.1.tar.gz) +set(URL_MD5 63da8e087744f1d6cf16f9501b1cb766) # Data that is related to the PATH that must be used. if(MSYS_PLATFORM) - #set(BP_PATH_NODLL "${BP_PATH}") - #set(BP_PATH "${EP_BASE}/Build/build_${BP_PACKAGE}/dll;${BP_PATH_NODLL}") - determine_msys_path(BP_PATH "${BP_PATH}") + #set(EPA_PATH_NODLL "${EPA_PATH}") + #set(EPA_PATH "${EPA_BASE}/Build/build_${PACKAGE}/dll;${EPA_PATH_NODLL}") + determine_msys_path(EPA_PATH "${EPA_PATH}") endif(MSYS_PLATFORM) -#message(STATUS "modified BP_PATH for ${BP_PACKAGE} = ${BP_PATH}") +#message(STATUS "modified EPA_PATH for ${PACKAGE} = ${EPA_PATH}") ExternalProject_Add( - build_${BP_PACKAGE} - URL ${${BP_PACKAGE}_URL} - URL_MD5 ${${BP_PACKAGE}_URL_MD5} + build_${PACKAGE} + URL ${URL} + URL_MD5 ${URL_MD5} PATCH_COMMAND "" # Do not use -DLIBHARU_EXAMPLES=ON (which builds the demos, but does # not test them) because latest release does not include demos. - CONFIGURE_COMMAND ${ENV_EXECUTABLE} PATH=${BP_PATH} ${BP_CMAKE_COMMAND} ${EP_BASE}/Source/build_${BP_PACKAGE} - BUILD_COMMAND ${ENV_EXECUTABLE} PATH=${BP_PATH} ${BP_PARALLEL_BUILD_COMMAND} - INSTALL_COMMAND ${ENV_EXECUTABLE} PATH=${BP_PATH} ${BP_PARALLEL_BUILD_COMMAND} install + CONFIGURE_COMMAND ${ENV_EXECUTABLE} PATH=${EPA_PATH} ${EPA_CMAKE_COMMAND} ${EPA_BASE}/Source/build_${PACKAGE} + BUILD_COMMAND ${ENV_EXECUTABLE} PATH=${EPA_PATH} ${EPA_PARALLEL_BUILD_COMMAND} + INSTALL_COMMAND ${ENV_EXECUTABLE} PATH=${EPA_PATH} ${EPA_PARALLEL_BUILD_COMMAND} install ) add_custom_command( OUTPUT - ${EP_BASE}/Stamp/build_${BP_PACKAGE}/build_${BP_PACKAGE}-patch + ${EPA_BASE}/Stamp/build_${PACKAGE}/build_${PACKAGE}-patch COMMAND ${CMAKE_COMMAND} -E echo "Apply all patches" - COMMAND ${PATCH_EXECUTABLE} -p1 < ${CMAKE_CURRENT_SOURCE_DIR}/${BP_PACKAGE}/cmake.patch - COMMAND ${PATCH_EXECUTABLE} -p1 < ${CMAKE_CURRENT_SOURCE_DIR}/${BP_PACKAGE}/large_font.patch - COMMAND ${PATCH_EXECUTABLE} -p1 < ${CMAKE_CURRENT_SOURCE_DIR}/${BP_PACKAGE}/remove_configured.patch - COMMAND ${PATCH_EXECUTABLE} -p1 < ${CMAKE_CURRENT_SOURCE_DIR}/${BP_PACKAGE}/visibility.patch + COMMAND ${PATCH_EXECUTABLE} -p1 < ${CMAKE_CURRENT_SOURCE_DIR}/${PACKAGE}/cmake.patch + COMMAND ${PATCH_EXECUTABLE} -p1 < ${CMAKE_CURRENT_SOURCE_DIR}/${PACKAGE}/large_font.patch + COMMAND ${PATCH_EXECUTABLE} -p1 < ${CMAKE_CURRENT_SOURCE_DIR}/${PACKAGE}/remove_configured.patch + COMMAND ${PATCH_EXECUTABLE} -p1 < ${CMAKE_CURRENT_SOURCE_DIR}/${PACKAGE}/visibility.patch DEPENDS - ${CMAKE_CURRENT_SOURCE_DIR}/${BP_PACKAGE}/cmake.patch - ${CMAKE_CURRENT_SOURCE_DIR}/${BP_PACKAGE}/large_font.patch - ${CMAKE_CURRENT_SOURCE_DIR}/${BP_PACKAGE}/remove_configured.patch - ${CMAKE_CURRENT_SOURCE_DIR}/${BP_PACKAGE}/visibility.patch + ${CMAKE_CURRENT_SOURCE_DIR}/${PACKAGE}/cmake.patch + ${CMAKE_CURRENT_SOURCE_DIR}/${PACKAGE}/large_font.patch + ${CMAKE_CURRENT_SOURCE_DIR}/${PACKAGE}/remove_configured.patch + ${CMAKE_CURRENT_SOURCE_DIR}/${PACKAGE}/visibility.patch APPEND ) -list(APPEND build_target_LIST build_${BP_PACKAGE}) -# Restore BP_PATH to original state. -set(BP_PATH "${BP_ORIGINAL_NATIVE_PATH}") -#message(STATUS "${BP_PACKAGE} restored original BP_PATH = ${BP_PATH}") +list(APPEND build_target_LIST build_${PACKAGE}) +# Restore EPA_PATH to original state. +set(EPA_PATH "${EPA_ORIGINAL_NATIVE_PATH}") +#message(STATUS "${PACKAGE} restored original EPA_PATH = ${EPA_PATH}") Modified: trunk/cmake/epa_build/libqhull/CMakeLists.txt =================================================================== --- trunk/cmake/epa_build/libqhull/CMakeLists.txt 2013-12-02 07:19:58 UTC (rev 12800) +++ trunk/cmake/epa_build/libqhull/CMakeLists.txt 2013-12-02 07:25:56 UTC (rev 12801) @@ -1,4 +1,4 @@ -# libqhull/bp.cmake +# libqhull/CMakeLists.txt # This file should be included directly or indirectly from a top-level # CMakeLists.txt file to configure the build of libqhull. @@ -19,70 +19,70 @@ # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA # The top-level CMakeLists.txt file that includes this file should -# have run "include(ExternalProject)" and set EP_BASE variable (and -# corresponding directory property) as well as various BP variables +# have run "include(ExternalProject)" and set EPA_BASE variable (and +# corresponding directory property) as well as various EPA variables # used below that configure how the External_Project functions # operate. -set(BP_PACKAGE libqhull) +set(PACKAGE libqhull) # Protect against configuring a build twice in one CMake call -if(${BP_PACKAG... [truncated message content] |
From: <ai...@us...> - 2013-12-02 07:20:06
|
Revision: 12800 http://sourceforge.net/p/plplot/code/12800 Author: airwin Date: 2013-12-02 07:19:58 +0000 (Mon, 02 Dec 2013) Log Message: ----------- Update automatically configured builds to new add_subdirectory method while replacing all "BP_" variables by the "EPA_" equivalents if those are set in the top-level CMakeLists.txt file, or else dropping the ${BP_PROJECT}_ prefix altogether when warranted since the variable scope issues are much reduced with the add_subdirectory method we are still in the process of implementing. Modified Paths: -------------- trunk/cmake/epa_build/CMakeLists.txt trunk/cmake/epa_build/cairo/CMakeLists.txt trunk/cmake/epa_build/epa_CMakeLists.txt.in trunk/cmake/epa_build/fontconfig/CMakeLists.txt trunk/cmake/epa_build/glib/CMakeLists.txt trunk/cmake/epa_build/gobject-introspection/CMakeLists.txt trunk/cmake/epa_build/gperf/CMakeLists.txt trunk/cmake/epa_build/gtk-doc/CMakeLists.txt trunk/cmake/epa_build/harfbuzz/CMakeLists.txt trunk/cmake/epa_build/intltool/CMakeLists.txt trunk/cmake/epa_build/itstool/CMakeLists.txt trunk/cmake/epa_build/libffi/CMakeLists.txt trunk/cmake/epa_build/libpcre/CMakeLists.txt trunk/cmake/epa_build/libxml2/CMakeLists.txt trunk/cmake/epa_build/libxslt/CMakeLists.txt trunk/cmake/epa_build/pango/CMakeLists.txt trunk/cmake/epa_build/pixman/CMakeLists.txt trunk/cmake/epa_build/ragel/CMakeLists.txt trunk/cmake/epa_build/swig/CMakeLists.txt trunk/cmake/epa_build/yelp-tools/CMakeLists.txt trunk/cmake/epa_build/yelp-xsl/CMakeLists.txt Modified: trunk/cmake/epa_build/CMakeLists.txt =================================================================== --- trunk/cmake/epa_build/CMakeLists.txt 2013-12-02 01:48:01 UTC (rev 12799) +++ trunk/cmake/epa_build/CMakeLists.txt 2013-12-02 07:19:58 UTC (rev 12800) @@ -27,9 +27,9 @@ cmake_minimum_required(VERSION 2.8.11.2 FATAL_ERROR) -set(EP_BASE ${CMAKE_BINARY_DIR}/epa_build) -message(STATUS "EP_BASE = ${EP_BASE}") -set_directory_properties(PROPERTIES EP_BASE ${EP_BASE}) +set(EPA_BASE ${CMAKE_BINARY_DIR}/epa_build) +message(STATUS "EPA_BASE = ${EPA_BASE}") +set_directory_properties(PROPERTIES EPA_BASE ${EPA_BASE}) # Set epa_build variables to control builds in general @@ -129,9 +129,9 @@ # Intel/AMD Linux hardware and also MinGW/MSYS on 32-bit Windows for # now. if(UNAME_MACHINE STREQUAL x86_64) - set(BP_HAVE_64_BIT_OS ON) + set(EPA_HAVE_64_BIT_OS ON) else(UNAME_MACHINE STREQUAL x86_64) - set(BP_HAVE_64_BIT_OS OFF) + set(EPA_HAVE_64_BIT_OS OFF) endif(UNAME_MACHINE STREQUAL x86_64) # Use modified version of the CMake 2.8.12 ExternalProject module @@ -160,47 +160,47 @@ # This gives the full pathname of the associated build tool for at # least the "Unix Makefiles", "Ninja", "MSYS Makefiles", "MinGW # Makefiles", and "NMake Makefiles JOM" CMake generators. -set(BP_BUILD_COMMAND "${CMAKE_MAKE_PROGRAM}") +set(EPA_BUILD_COMMAND "${CMAKE_MAKE_PROGRAM}") # Actual make programme used for autotools builds. -set(BP_MAKE_COMMAND ${MAKE_EXECUTABLE}) +set(EPA_MAKE_COMMAND ${MAKE_EXECUTABLE}) -set(BP_CTEST_COMMAND "${CMAKE_CTEST_COMMAND}") +set(EPA_CTEST_COMMAND "${CMAKE_CTEST_COMMAND}") if(MSYS_PLATFORM) # On the MSYS platform, the env command (used to set relevant - # environment variables for the commands below in the */bp.cmake + # environment variables for the commands below in the */CMakeLists.txt # scripts) requires all full paths be in the MSYS platform form. - determine_msys_path(BP_BUILD_COMMAND "${BP_BUILD_COMMAND}") - determine_msys_path(BP_MAKE_COMMAND "${BP_MAKE_COMMAND}") - determine_msys_path(BP_CTEST_COMMAND "${BP_CTEST_COMMAND}") - determine_msys_path(BP_CMAKE_INSTALL_PREFIX "${CMAKE_INSTALL_PREFIX}") + determine_msys_path(EPA_BUILD_COMMAND "${EPA_BUILD_COMMAND}") + determine_msys_path(EPA_MAKE_COMMAND "${EPA_MAKE_COMMAND}") + determine_msys_path(EPA_CTEST_COMMAND "${EPA_CTEST_COMMAND}") + determine_msys_path(EPA_CMAKE_INSTALL_PREFIX "${CMAKE_INSTALL_PREFIX}") determine_msys_path(MSYS_CMAKE_COMMAND "${CMAKE_COMMAND}") # Propagate the overall CMake generator and install prefix to all CMake-based # software project builds. - set(BP_CMAKE_COMMAND ${MSYS_CMAKE_COMMAND} "-G${CMAKE_GENERATOR}" -DCMAKE_INSTALL_PREFIX:PATH=${BP_CMAKE_INSTALL_PREFIX}) + set(EPA_CMAKE_COMMAND ${MSYS_CMAKE_COMMAND} "-G${CMAKE_GENERATOR}" -DCMAKE_INSTALL_PREFIX:PATH=${EPA_CMAKE_INSTALL_PREFIX}) # Propagate CMAKE_C_COMPILER, CMAKE_CXX_COMPILER, and # CMAKE_RC_COMPILER to all CMake-based software project builds. # (jom currently requires this as a workaround). if(CMAKE_C_COMPILER) determine_msys_path(MSYS_CMAKE_C_COMPILER "${CMAKE_C_COMPILER}") - list(APPEND BP_CMAKE_COMMAND -DCMAKE_C_COMPILER:FILEPATH=${MSYS_CMAKE_C_COMPILER}) + list(APPEND EPA_CMAKE_COMMAND -DCMAKE_C_COMPILER:FILEPATH=${MSYS_CMAKE_C_COMPILER}) endif(CMAKE_C_COMPILER) if(CMAKE_CXX_COMPILER) determine_msys_path(MSYS_CMAKE_CXX_COMPILER "${CMAKE_CXX_COMPILER}") - list(APPEND BP_CMAKE_COMMAND -DCMAKE_CXX_COMPILER:FILEPATH=${MSYS_CMAKE_CXX_COMPILER}) + list(APPEND EPA_CMAKE_COMMAND -DCMAKE_CXX_COMPILER:FILEPATH=${MSYS_CMAKE_CXX_COMPILER}) endif(CMAKE_CXX_COMPILER) if(CMAKE_RC_COMPILER) determine_msys_path(MSYS_CMAKE_RC_COMPILER "${CMAKE_RC_COMPILER}") - list(APPEND BP_CMAKE_COMMAND -DCMAKE_RC_COMPILER:FILEPATH=${MSYS_CMAKE_RC_COMPILER}) + list(APPEND EPA_CMAKE_COMMAND -DCMAKE_RC_COMPILER:FILEPATH=${MSYS_CMAKE_RC_COMPILER}) endif(CMAKE_RC_COMPILER) # No extra dropped dependencies for the MSYS_PLATFORM case. set(extra_ignored_dependencies_list) else(MSYS_PLATFORM) # Propagate the overall CMake generator and install prefix to all CMake-based # software project builds. - set(BP_CMAKE_COMMAND ${CMAKE_COMMAND} "-G${CMAKE_GENERATOR}" -DCMAKE_INSTALL_PREFIX:PATH=${CMAKE_INSTALL_PREFIX}) - set(BP_CMAKE_INSTALL_PREFIX ${CMAKE_INSTALL_PREFIX}) + set(EPA_CMAKE_COMMAND ${CMAKE_COMMAND} "-G${CMAKE_GENERATOR}" -DCMAKE_INSTALL_PREFIX:PATH=${CMAKE_INSTALL_PREFIX}) + set(EPA_CMAKE_INSTALL_PREFIX ${CMAKE_INSTALL_PREFIX}) # Drop xmlcatalog-wrapper dependency since that is only suitable for # the MSYS_PLATFORM case. @@ -208,38 +208,38 @@ endif(MSYS_PLATFORM) # Propagate the install prefix to autotools-based builds -set(BP_CONFIGURE_COMMAND configure --prefix=${BP_CMAKE_INSTALL_PREFIX}) +set(EPA_CONFIGURE_COMMAND configure --prefix=${EPA_CMAKE_INSTALL_PREFIX}) if(CMAKE_VERBOSE_MAKEFILE) # Not sure whether all contemplated back-ends support this or not, but # most should. - list(APPEND BP_CMAKE_COMMAND -DCMAKE_VERBOSE_MAKEFILE=ON) + list(APPEND EPA_CMAKE_COMMAND -DCMAKE_VERBOSE_MAKEFILE=ON) # Some autotools build projects give verbose make results when V=1 # and I don't think it will interfere with the rest. - list(APPEND BP_MAKE_COMMAND V=1) + list(APPEND EPA_MAKE_COMMAND V=1) endif(CMAKE_VERBOSE_MAKEFILE) # The parallel versions are for software packages that # do not have race conditions for parallel builds or tests. -set(BP_PARALLEL_BUILD_COMMAND "${BP_BUILD_COMMAND}" -j4) -set(BP_PARALLEL_CTEST_COMMAND "${BP_CTEST_COMMAND}" -j4) +set(EPA_PARALLEL_BUILD_COMMAND "${EPA_BUILD_COMMAND}" -j4) +set(EPA_PARALLEL_CTEST_COMMAND "${EPA_CTEST_COMMAND}" -j4) # For autotools based builds. option(AUTOTOOLS_PARALLEL_BUILD "Build autotools projects using parallel make unless a specific project is expressely configured otherwise" ON) if(AUTOTOOLS_PARALLEL_BUILD) - set(BP_PARALLEL_MAKE_COMMAND "${BP_MAKE_COMMAND}" -j4) + set(EPA_PARALLEL_MAKE_COMMAND "${EPA_MAKE_COMMAND}" -j4) else(AUTOTOOLS_PARALLEL_BUILD) - set(BP_PARALLEL_MAKE_COMMAND "${BP_MAKE_COMMAND}") + set(EPA_PARALLEL_MAKE_COMMAND "${EPA_MAKE_COMMAND}") endif(AUTOTOOLS_PARALLEL_BUILD) -message(STATUS "BP_CMAKE_COMMAND = ${BP_CMAKE_COMMAND}") -message(STATUS "BP_CONFIGURE_COMMAND = ${BP_CONFIGURE_COMMAND}") -message(STATUS "BP_BUILD_COMMAND = ${BP_BUILD_COMMAND}") -message(STATUS "BP_PARALLEL_BUILD_COMMAND = ${BP_PARALLEL_BUILD_COMMAND}") -message(STATUS "BP_MAKE_COMMAND = ${BP_MAKE_COMMAND}") -message(STATUS "BP_PARALLEL_MAKE_COMMAND = ${BP_PARALLEL_MAKE_COMMAND}") -message(STATUS "BP_CTEST_COMMAND = ${BP_CTEST_COMMAND}") -message(STATUS "BP_PARALLEL_CTEST_COMMAND = ${BP_PARALLEL_CTEST_COMMAND}") +message(STATUS "EPA_CMAKE_COMMAND = ${EPA_CMAKE_COMMAND}") +message(STATUS "EPA_CONFIGURE_COMMAND = ${EPA_CONFIGURE_COMMAND}") +message(STATUS "EPA_BUILD_COMMAND = ${EPA_BUILD_COMMAND}") +message(STATUS "EPA_PARALLEL_BUILD_COMMAND = ${EPA_PARALLEL_BUILD_COMMAND}") +message(STATUS "EPA_MAKE_COMMAND = ${EPA_MAKE_COMMAND}") +message(STATUS "EPA_PARALLEL_MAKE_COMMAND = ${EPA_PARALLEL_MAKE_COMMAND}") +message(STATUS "EPA_CTEST_COMMAND = ${EPA_CTEST_COMMAND}") +message(STATUS "EPA_PARALLEL_CTEST_COMMAND = ${EPA_PARALLEL_CTEST_COMMAND}") # Put ${CMAKE_INSTALL_PREFIX}/bin on the PATH as well for those cases # where some executable built and installed by epa_build needs @@ -249,7 +249,7 @@ else(MSYS_PLATFORM) set(BP_ORIGINAL_NATIVE_PATH "$ENV{PATH}:${CMAKE_INSTALL_PREFIX}/bin") endif(MSYS_PLATFORM) -set(BP_PATH "${BP_ORIGINAL_NATIVE_PATH}") +set(EPA_PATH "${BP_ORIGINAL_NATIVE_PATH}") # This option not used currently, but instead of removing it, comment # it out because it might be useful later if we ever configure a project @@ -313,7 +313,7 @@ endif(BUILD_THE_BUILDTOOLS) foreach(build_configuration ${build_configuration_LIST}) - include(${build_configuration}/bp.cmake) + include(${build_configuration}/CMakeLists.txt) endforeach(build_configuration ${build_configuration_LIST}) add_custom_target(build_all) Modified: trunk/cmake/epa_build/cairo/CMakeLists.txt =================================================================== --- trunk/cmake/epa_build/cairo/CMakeLists.txt 2013-12-02 01:48:01 UTC (rev 12799) +++ trunk/cmake/epa_build/cairo/CMakeLists.txt 2013-12-02 07:19:58 UTC (rev 12800) @@ -1,12 +1,13 @@ -# cairo/bp.cmake +# cairo/CMakeLists.txt # N.B. this file is generated so if you edit it you will lose all your # changes the next time it is generated (typically by running # either/both the update_added_packages.sh or update_pango_packages.sh # scripts). If those scripts do not provide good results, then # consider changing their source files (e.g., by editing the files -# used in those scripts) or add a patch to be run by those scripts). +# used in those scripts) or add a patch to be run by those scripts. -# This file should be included directly or indirectly from a top-level +# The CMake logic in this file should be exercised by the +# add_subdirectory command that is exercised in the top-level # CMakeLists.txt file to configure the build of cairo. # Copyright (C) 2013 Alan W. Irwin @@ -25,80 +26,79 @@ # License along with this file; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA -# The top-level CMakeLists.txt file that includes this file should -# have run "include(ExternalProject)" and set EP_BASE variable (and -# corresponding directory property) as well as various BP variables +# The top-level CMakeLists.txt file that adds this subdirectory should +# have run "include(ExternalProject)" and set the EPA_BASE variable (and +# corresponding directory property) as well as various EPA variables # used below that configure how the External_Project functions # operate. -# Protect against configuring a build twice in one CMake call -if(cairo_configured) - return() -endif(cairo_configured) -set(cairo_configured ON) +set(PACKAGE cairo) # List of dependencies (most of which are build tools) which should be # ignored. -set(BP_ignored_dependencies_LIST pkg-config;bison;flex;python2-devel;libXft ${extra_ignored_dependencies_list}) +set(ignored_dependencies_LIST pkg-config;bison;flex;python2-devel;libXft ${extra_ignored_dependencies_list}) -set(cairo_dependencies_LIST fontconfig;gtk-doc;pixman;pkg-config) +set(dependencies_LIST fontconfig;gtk-doc;pixman;pkg-config) # Remove dependencies that should be ignored. -if(cairo_dependencies_LIST) - list(REMOVE_ITEM cairo_dependencies_LIST ${BP_ignored_dependencies_LIST}) -endif(cairo_dependencies_LIST) +if(dependencies_LIST) + list(REMOVE_ITEM dependencies_LIST ${ignored_dependencies_LIST}) +endif(dependencies_LIST) -set(cairo_dependencies_targets) -foreach(build_configuration ${cairo_dependencies_LIST}) - if(EXISTS ${CMAKE_SOURCE_DIR}/${build_configuration}/bp.cmake) - include(${build_configuration}/bp.cmake) - list(APPEND cairo_dependencies_targets build_${build_configuration}) - else(EXISTS ${CMAKE_SOURCE_DIR}/${build_configuration}/bp.cmake) - message(STATUS "Warning: A build_configuration for ${build_configuration} does not exist so it is assumed this dependency of cairo has been installed another way.") - endif(EXISTS ${CMAKE_SOURCE_DIR}/${build_configuration}/bp.cmake) -endforeach(build_configuration ${cairo_dependences_LIST}) +# Add this subdirectory to the list of subdirectories that have +# already been processed by the top-level CMakeLists.txt logic. +list(APPEND EPA_processed_subdirectories_LIST ${PACKAGE}) -# This can be safely done only after above includes. -set(BP_PACKAGE cairo) +set(dependencies_targets) +foreach(build_configuration ${dependencies_LIST}) + if(EXISTS ${CMAKE_SOURCE_DIR}/${build_configuration}/CMakeLists.txt) + # Add to the list of subdirectories that must be processed by the + # top-level CMakeLists.txt logic. + list(APPEND EPA_needed_subdirectories_LIST ${build_configuration}) + list(APPEND dependencies_targets build_${build_configuration}) + else(EXISTS ${CMAKE_SOURCE_DIR}/${build_configuration}/CMakeLists.txt) + message(STATUS "Warning: A build_configuration for ${build_configuration} does not exist so it is assumed this dependency of ${PACKAGE} has been installed on your platform by means other than epa_build.") + endif(EXISTS ${CMAKE_SOURCE_DIR}/${build_configuration}/CMakeLists.txt) +endforeach(build_configuration ${dependences_LIST}) +list(APPEND EPA_build_target_LIST build_${PACKAGE}) + +# Propagate list changes to parent scope. +set(EPA_build_target_LIST ${EPA_build_target_LIST} PARENT_SCOPE) +set(EPA_processed_subdirectories_LIST ${EPA_processed_subdirectories_LIST} PARENT_SCOPE) +set(EPA_needed_subdirectories_LIST ${EPA_needed_subdirectories_LIST} PARENT_SCOPE) + # Data that is related to downloads. -set(${BP_PACKAGE}_URL http://cairographics.org/releases/cairo-1.12.14.tar.xz) -set(${BP_PACKAGE}_DOWNLOAD_HASH_TYPE SHA256) -set(${BP_PACKAGE}_DOWNLOAD_HASH 96d0d1e3f9b74d2ca3469ff187c5e5f25649b1ad35cf06f4f3a83847dff4ac13) +set(URL http://cairographics.org/releases/cairo-1.12.14.tar.xz) +set(DOWNLOAD_HASH_TYPE SHA256) +set(DOWNLOAD_HASH 96d0d1e3f9b74d2ca3469ff187c5e5f25649b1ad35cf06f4f3a83847dff4ac13) # Data that is related to the PATH that must be used. if(MSYS_PLATFORM) - #set(BP_PATH_NODLL "${BP_PATH}") - #set(BP_PATH "${EP_BASE}/Build/build_${BP_PACKAGE}/dll;${BP_PATH_NODLL}") - determine_msys_path(BP_PATH "${BP_PATH}") + determine_msys_path(EPA_PATH "${EPA_PATH}") # Must have all elements of env command in MSYS platform form - determine_msys_path(source_PATH "${EP_BASE}/Source/build_${BP_PACKAGE}") - set(${BP_PACKAGE}_SET_CFLAGS "CFLAGS=$ENV{CFLAGS}") + determine_msys_path(source_PATH "${EPA_BASE}/Source/build_${PACKAGE}") + set(SET_CFLAGS "CFLAGS=$ENV{CFLAGS}") else(MSYS_PLATFORM) - set(source_PATH "${EP_BASE}/Source/build_${BP_PACKAGE}") - set(${BP_PACKAGE}_SET_CFLAGS "CFLAGS=$ENV{CFLAGS}") + set(source_PATH "${EPA_BASE}/Source/build_${PACKAGE}") + set(SET_CFLAGS "CFLAGS=$ENV{CFLAGS}") endif(MSYS_PLATFORM) -#message(STATUS "modified BP_PATH for ${BP_PACKAGE} = ${BP_PATH}") +#message(STATUS "modified EPA_PATH for ${PACKAGE} = ${EPA_PATH}") -set(${BP_PACKAGE}_SET_CXXFLAGS "CXXFLAGS=$ENV{CXXFLAGS}") +set(SET_CXXFLAGS "CXXFLAGS=$ENV{CXXFLAGS}") # Drop -fvisibility=hidden since that option does not work for a # number of software packages that are configured automatically using # this template. -string(REGEX REPLACE "-fvisibility=hidden" "" ${BP_PACKAGE}_SET_CFLAGS "${${BP_PACKAGE}_SET_CFLAGS}") -string(REGEX REPLACE "-fvisibility=hidden" "" ${BP_PACKAGE}_SET_CXXFLAGS "${${BP_PACKAGE}_SET_CXXFLAGS}") +string(REGEX REPLACE "-fvisibility=hidden" "" SET_CFLAGS "${SET_CFLAGS}") +string(REGEX REPLACE "-fvisibility=hidden" "" SET_CXXFLAGS "${SET_CXXFLAGS}") ExternalProject_Add( - build_${BP_PACKAGE} - DEPENDS ${${BP_PACKAGE}_dependencies_targets} - URL ${${BP_PACKAGE}_URL} - URL_HASH ${${BP_PACKAGE}_DOWNLOAD_HASH_TYPE}=${${BP_PACKAGE}_DOWNLOAD_HASH} - CONFIGURE_COMMAND ${ENV_EXECUTABLE} PATH=${BP_PATH} ${${BP_PACKAGE}_SET_CFLAGS} ${${BP_PACKAGE}_SET_CXXFLAGS} ${source_PATH}/${BP_CONFIGURE_COMMAND} --enable-xlib - BUILD_COMMAND ${ENV_EXECUTABLE} PATH=${BP_PATH} ${BP_PARALLEL_MAKE_COMMAND} + build_${PACKAGE} + DEPENDS ${dependencies_targets} + URL ${URL} + URL_HASH ${DOWNLOAD_HASH_TYPE}=${DOWNLOAD_HASH} + CONFIGURE_COMMAND ${ENV_EXECUTABLE} PATH=${EPA_PATH} ${SET_CFLAGS} ${SET_CXXFLAGS} ${source_PATH}/${EPA_CONFIGURE_COMMAND} --enable-xlib + BUILD_COMMAND ${ENV_EXECUTABLE} PATH=${EPA_PATH} ${BP_PARALLEL_MAKE_COMMAND} BUILD_IN_SOURCE OFF - INSTALL_COMMAND ${ENV_EXECUTABLE} PATH=${BP_PATH} ${BP_PARALLEL_MAKE_COMMAND} install + INSTALL_COMMAND ${ENV_EXECUTABLE} PATH=${EPA_PATH} ${BP_PARALLEL_MAKE_COMMAND} install ) - -list(APPEND build_target_LIST build_${BP_PACKAGE}) -# Restore BP_PATH to original state. -set(BP_PATH "${BP_ORIGINAL_NATIVE_PATH}") -#message(STATUS "${BP_PACKAGE} restored original BP_PATH = ${BP_PATH}") Modified: trunk/cmake/epa_build/epa_CMakeLists.txt.in =================================================================== --- trunk/cmake/epa_build/epa_CMakeLists.txt.in 2013-12-02 01:48:01 UTC (rev 12799) +++ trunk/cmake/epa_build/epa_CMakeLists.txt.in 2013-12-02 07:19:58 UTC (rev 12800) @@ -1,12 +1,13 @@ -# @package@/bp.cmake +# @package@/CMakeLists.txt # N.B. this file is generated so if you edit it you will lose all your # changes the next time it is generated (typically by running # either/both the update_added_packages.sh or update_pango_packages.sh # scripts). If those scripts do not provide good results, then # consider changing their source files (e.g., by editing the files -# used in those scripts) or add a patch to be run by those scripts). +# used in those scripts) or add a patch to be run by those scripts. -# This file should be included directly or indirectly from a top-level +# The CMake logic in this file should be exercised by the +# add_subdirectory command that is exercised in the top-level # CMakeLists.txt file to configure the build of @package@. # Copyright (C) 2013 Alan W. Irwin @@ -25,80 +26,79 @@ # License along with this file; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA -# The top-level CMakeLists.txt file that includes this file should -# have run "include(ExternalProject)" and set EP_BASE variable (and -# corresponding directory property) as well as various BP variables +# The top-level CMakeLists.txt file that adds this subdirectory should +# have run "include(ExternalProject)" and set the EPA_BASE variable (and +# corresponding directory property) as well as various EPA variables # used below that configure how the External_Project functions # operate. -# Protect against configuring a build twice in one CMake call -if(@package@_configured) - return() -endif(@package@_configured) -set(@package@_configured ON) +set(PACKAGE @package@) # List of dependencies (most of which are build tools) which should be # ignored. -set(BP_ignored_dependencies_LIST @ignored_dependencies_LIST@ ${extra_ignored_dependencies_list}) +set(ignored_dependencies_LIST @ignored_dependencies_LIST@ ${extra_ignored_dependencies_list}) -set(@package@_dependencies_LIST @dependencies@) +set(dependencies_LIST @dependencies@) # Remove dependencies that should be ignored. -if(@package@_dependencies_LIST) - list(REMOVE_ITEM @package@_dependencies_LIST ${BP_ignored_dependencies_LIST}) -endif(@package@_dependencies_LIST) +if(dependencies_LIST) + list(REMOVE_ITEM dependencies_LIST ${ignored_dependencies_LIST}) +endif(dependencies_LIST) -set(@package@_dependencies_targets) -foreach(build_configuration ${@package@_dependencies_LIST}) - if(EXISTS ${CMAKE_SOURCE_DIR}/${build_configuration}/bp.cmake) - include(${build_configuration}/bp.cmake) - list(APPEND @package@_dependencies_targets build_${build_configuration}) - else(EXISTS ${CMAKE_SOURCE_DIR}/${build_configuration}/bp.cmake) - message(STATUS "Warning: A build_configuration for ${build_configuration} does not exist so it is assumed this dependency of @package@ has been installed another way.") - endif(EXISTS ${CMAKE_SOURCE_DIR}/${build_configuration}/bp.cmake) -endforeach(build_configuration ${@package@_dependences_LIST}) +# Add this subdirectory to the list of subdirectories that have +# already been processed by the top-level CMakeLists.txt logic. +list(APPEND EPA_processed_subdirectories_LIST ${PACKAGE}) -# This can be safely done only after above includes. -set(BP_PACKAGE @package@) +set(dependencies_targets) +foreach(build_configuration ${dependencies_LIST}) + if(EXISTS ${CMAKE_SOURCE_DIR}/${build_configuration}/CMakeLists.txt) + # Add to the list of subdirectories that must be processed by the + # top-level CMakeLists.txt logic. + list(APPEND EPA_needed_subdirectories_LIST ${build_configuration}) + list(APPEND dependencies_targets build_${build_configuration}) + else(EXISTS ${CMAKE_SOURCE_DIR}/${build_configuration}/CMakeLists.txt) + message(STATUS "Warning: A build_configuration for ${build_configuration} does not exist so it is assumed this dependency of ${PACKAGE} has been installed on your platform by means other than epa_build.") + endif(EXISTS ${CMAKE_SOURCE_DIR}/${build_configuration}/CMakeLists.txt) +endforeach(build_configuration ${dependences_LIST}) +list(APPEND EPA_build_target_LIST build_${PACKAGE}) + +# Propagate list changes to parent scope. +set(EPA_build_target_LIST ${EPA_build_target_LIST} PARENT_SCOPE) +set(EPA_processed_subdirectories_LIST ${EPA_processed_subdirectories_LIST} PARENT_SCOPE) +set(EPA_needed_subdirectories_LIST ${EPA_needed_subdirectories_LIST} PARENT_SCOPE) + # Data that is related to downloads. -set(${BP_PACKAGE}_URL @download_href@) -set(${BP_PACKAGE}_DOWNLOAD_HASH_TYPE @download_hash_type@) -set(${BP_PACKAGE}_DOWNLOAD_HASH @download_hash@) +set(URL @download_href@) +set(DOWNLOAD_HASH_TYPE @download_hash_type@) +set(DOWNLOAD_HASH @download_hash@) # Data that is related to the PATH that must be used. if(MSYS_PLATFORM) - #set(BP_PATH_NODLL "${BP_PATH}") - #set(BP_PATH "${EP_BASE}/Build/build_${BP_PACKAGE}/dll;${BP_PATH_NODLL}") - determine_msys_path(BP_PATH "${BP_PATH}") + determine_msys_path(EPA_PATH "${EPA_PATH}") # Must have all elements of env command in MSYS platform form - determine_msys_path(source_PATH "${EP_BASE}/Source/build_${BP_PACKAGE}") - set(${BP_PACKAGE}_SET_CFLAGS "CFLAGS=@MSYS_EXTRA_CFLAGS@$ENV{CFLAGS}") + determine_msys_path(source_PATH "${EPA_BASE}/Source/build_${PACKAGE}") + set(SET_CFLAGS "CFLAGS=@MSYS_EXTRA_CFLAGS@$ENV{CFLAGS}") else(MSYS_PLATFORM) - set(source_PATH "${EP_BASE}/Source/build_${BP_PACKAGE}") - set(${BP_PACKAGE}_SET_CFLAGS "CFLAGS=@UNIX_EXTRA_CFLAGS@$ENV{CFLAGS}") + set(source_PATH "${EPA_BASE}/Source/build_${PACKAGE}") + set(SET_CFLAGS "CFLAGS=@UNIX_EXTRA_CFLAGS@$ENV{CFLAGS}") endif(MSYS_PLATFORM) -#message(STATUS "modified BP_PATH for ${BP_PACKAGE} = ${BP_PATH}") +#message(STATUS "modified EPA_PATH for ${PACKAGE} = ${EPA_PATH}") -set(${BP_PACKAGE}_SET_CXXFLAGS "CXXFLAGS=$ENV{CXXFLAGS}") +set(SET_CXXFLAGS "CXXFLAGS=$ENV{CXXFLAGS}") # Drop -fvisibility=hidden since that option does not work for a # number of software packages that are configured automatically using # this template. -string(REGEX REPLACE "-fvisibility=hidden" "" ${BP_PACKAGE}_SET_CFLAGS "${${BP_PACKAGE}_SET_CFLAGS}") -string(REGEX REPLACE "-fvisibility=hidden" "" ${BP_PACKAGE}_SET_CXXFLAGS "${${BP_PACKAGE}_SET_CXXFLAGS}") +string(REGEX REPLACE "-fvisibility=hidden" "" SET_CFLAGS "${SET_CFLAGS}") +string(REGEX REPLACE "-fvisibility=hidden" "" SET_CXXFLAGS "${SET_CXXFLAGS}") ExternalProject_Add( - build_${BP_PACKAGE} - DEPENDS ${${BP_PACKAGE}_dependencies_targets} - URL ${${BP_PACKAGE}_URL} - URL_HASH ${${BP_PACKAGE}_DOWNLOAD_HASH_TYPE}=${${BP_PACKAGE}_DOWNLOAD_HASH} - CONFIGURE_COMMAND ${ENV_EXECUTABLE} PATH=${BP_PATH} ${${BP_PACKAGE}_SET_CFLAGS} ${${BP_PACKAGE}_SET_CXXFLAGS} ${source_PATH}/${BP_CONFIGURE_COMMAND} @config_arguments@ - BUILD_COMMAND ${ENV_EXECUTABLE} PATH=${BP_PATH} ${@BUILD_COMMAND@} @make_arguments@ + build_${PACKAGE} + DEPENDS ${dependencies_targets} + URL ${URL} + URL_HASH ${DOWNLOAD_HASH_TYPE}=${DOWNLOAD_HASH} + CONFIGURE_COMMAND ${ENV_EXECUTABLE} PATH=${EPA_PATH} ${SET_CFLAGS} ${SET_CXXFLAGS} ${source_PATH}/${EPA_CONFIGURE_COMMAND} @config_arguments@ + BUILD_COMMAND ${ENV_EXECUTABLE} PATH=${EPA_PATH} ${@BUILD_COMMAND@} @make_arguments@ BUILD_IN_SOURCE @BUILD_IN_SOURCE@ - INSTALL_COMMAND ${ENV_EXECUTABLE} PATH=${BP_PATH} ${@BUILD_COMMAND@} @make_arguments@ install + INSTALL_COMMAND ${ENV_EXECUTABLE} PATH=${EPA_PATH} ${@BUILD_COMMAND@} @make_arguments@ install ) - -list(APPEND build_target_LIST build_${BP_PACKAGE}) -# Restore BP_PATH to original state. -set(BP_PATH "${BP_ORIGINAL_NATIVE_PATH}") -#message(STATUS "${BP_PACKAGE} restored original BP_PATH = ${BP_PATH}") Modified: trunk/cmake/epa_build/fontconfig/CMakeLists.txt =================================================================== --- trunk/cmake/epa_build/fontconfig/CMakeLists.txt 2013-12-02 01:48:01 UTC (rev 12799) +++ trunk/cmake/epa_build/fontconfig/CMakeLists.txt 2013-12-02 07:19:58 UTC (rev 12800) @@ -1,12 +1,13 @@ -# fontconfig/bp.cmake +# fontconfig/CMakeLists.txt # N.B. this file is generated so if you edit it you will lose all your # changes the next time it is generated (typically by running # either/both the update_added_packages.sh or update_pango_packages.sh # scripts). If those scripts do not provide good results, then # consider changing their source files (e.g., by editing the files -# used in those scripts) or add a patch to be run by those scripts). +# used in those scripts) or add a patch to be run by those scripts. -# This file should be included directly or indirectly from a top-level +# The CMake logic in this file should be exercised by the +# add_subdirectory command that is exercised in the top-level # CMakeLists.txt file to configure the build of fontconfig. # Copyright (C) 2013 Alan W. Irwin @@ -25,80 +26,79 @@ # License along with this file; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA -# The top-level CMakeLists.txt file that includes this file should -# have run "include(ExternalProject)" and set EP_BASE variable (and -# corresponding directory property) as well as various BP variables +# The top-level CMakeLists.txt file that adds this subdirectory should +# have run "include(ExternalProject)" and set the EPA_BASE variable (and +# corresponding directory property) as well as various EPA variables # used below that configure how the External_Project functions # operate. -# Protect against configuring a build twice in one CMake call -if(fontconfig_configured) - return() -endif(fontconfig_configured) -set(fontconfig_configured ON) +set(PACKAGE fontconfig) # List of dependencies (most of which are build tools) which should be # ignored. -set(BP_ignored_dependencies_LIST pkg-config;bison;flex;python2-devel;libXft ${extra_ignored_dependencies_list}) +set(ignored_dependencies_LIST pkg-config;bison;flex;python2-devel;libXft ${extra_ignored_dependencies_list}) -set(fontconfig_dependencies_LIST gperf) +set(dependencies_LIST gperf) # Remove dependencies that should be ignored. -if(fontconfig_dependencies_LIST) - list(REMOVE_ITEM fontconfig_dependencies_LIST ${BP_ignored_dependencies_LIST}) -endif(fontconfig_dependencies_LIST) +if(dependencies_LIST) + list(REMOVE_ITEM dependencies_LIST ${ignored_dependencies_LIST}) +endif(dependencies_LIST) -set(fontconfig_dependencies_targets) -foreach(build_configuration ${fontconfig_dependencies_LIST}) - if(EXISTS ${CMAKE_SOURCE_DIR}/${build_configuration}/bp.cmake) - include(${build_configuration}/bp.cmake) - list(APPEND fontconfig_dependencies_targets build_${build_configuration}) - else(EXISTS ${CMAKE_SOURCE_DIR}/${build_configuration}/bp.cmake) - message(STATUS "Warning: A build_configuration for ${build_configuration} does not exist so it is assumed this dependency of fontconfig has been installed another way.") - endif(EXISTS ${CMAKE_SOURCE_DIR}/${build_configuration}/bp.cmake) -endforeach(build_configuration ${fontconfig_dependences_LIST}) +# Add this subdirectory to the list of subdirectories that have +# already been processed by the top-level CMakeLists.txt logic. +list(APPEND EPA_processed_subdirectories_LIST ${PACKAGE}) -# This can be safely done only after above includes. -set(BP_PACKAGE fontconfig) +set(dependencies_targets) +foreach(build_configuration ${dependencies_LIST}) + if(EXISTS ${CMAKE_SOURCE_DIR}/${build_configuration}/CMakeLists.txt) + # Add to the list of subdirectories that must be processed by the + # top-level CMakeLists.txt logic. + list(APPEND EPA_needed_subdirectories_LIST ${build_configuration}) + list(APPEND dependencies_targets build_${build_configuration}) + else(EXISTS ${CMAKE_SOURCE_DIR}/${build_configuration}/CMakeLists.txt) + message(STATUS "Warning: A build_configuration for ${build_configuration} does not exist so it is assumed this dependency of ${PACKAGE} has been installed on your platform by means other than epa_build.") + endif(EXISTS ${CMAKE_SOURCE_DIR}/${build_configuration}/CMakeLists.txt) +endforeach(build_configuration ${dependences_LIST}) +list(APPEND EPA_build_target_LIST build_${PACKAGE}) + +# Propagate list changes to parent scope. +set(EPA_build_target_LIST ${EPA_build_target_LIST} PARENT_SCOPE) +set(EPA_processed_subdirectories_LIST ${EPA_processed_subdirectories_LIST} PARENT_SCOPE) +set(EPA_needed_subdirectories_LIST ${EPA_needed_subdirectories_LIST} PARENT_SCOPE) + # Data that is related to downloads. -set(${BP_PACKAGE}_URL http://www.freedesktop.org/software/fontconfig/release/fontconfig-2.10.93.tar.bz2) -set(${BP_PACKAGE}_DOWNLOAD_HASH_TYPE SHA256) -set(${BP_PACKAGE}_DOWNLOAD_HASH ea901f278848829ed9937d76fb0ce63ad362d7d5b9e75aa6a6b78bfef42e529c) +set(URL http://www.freedesktop.org/software/fontconfig/release/fontconfig-2.10.93.tar.bz2) +set(DOWNLOAD_HASH_TYPE SHA256) +set(DOWNLOAD_HASH ea901f278848829ed9937d76fb0ce63ad362d7d5b9e75aa6a6b78bfef42e529c) # Data that is related to the PATH that must be used. if(MSYS_PLATFORM) - #set(BP_PATH_NODLL "${BP_PATH}") - #set(BP_PATH "${EP_BASE}/Build/build_${BP_PACKAGE}/dll;${BP_PATH_NODLL}") - determine_msys_path(BP_PATH "${BP_PATH}") + determine_msys_path(EPA_PATH "${EPA_PATH}") # Must have all elements of env command in MSYS platform form - determine_msys_path(source_PATH "${EP_BASE}/Source/build_${BP_PACKAGE}") - set(${BP_PACKAGE}_SET_CFLAGS "CFLAGS=$ENV{CFLAGS}") + determine_msys_path(source_PATH "${EPA_BASE}/Source/build_${PACKAGE}") + set(SET_CFLAGS "CFLAGS=$ENV{CFLAGS}") else(MSYS_PLATFORM) - set(source_PATH "${EP_BASE}/Source/build_${BP_PACKAGE}") - set(${BP_PACKAGE}_SET_CFLAGS "CFLAGS=$ENV{CFLAGS}") + set(source_PATH "${EPA_BASE}/Source/build_${PACKAGE}") + set(SET_CFLAGS "CFLAGS=$ENV{CFLAGS}") endif(MSYS_PLATFORM) -#message(STATUS "modified BP_PATH for ${BP_PACKAGE} = ${BP_PATH}") +#message(STATUS "modified EPA_PATH for ${PACKAGE} = ${EPA_PATH}") -set(${BP_PACKAGE}_SET_CXXFLAGS "CXXFLAGS=$ENV{CXXFLAGS}") +set(SET_CXXFLAGS "CXXFLAGS=$ENV{CXXFLAGS}") # Drop -fvisibility=hidden since that option does not work for a # number of software packages that are configured automatically using # this template. -string(REGEX REPLACE "-fvisibility=hidden" "" ${BP_PACKAGE}_SET_CFLAGS "${${BP_PACKAGE}_SET_CFLAGS}") -string(REGEX REPLACE "-fvisibility=hidden" "" ${BP_PACKAGE}_SET_CXXFLAGS "${${BP_PACKAGE}_SET_CXXFLAGS}") +string(REGEX REPLACE "-fvisibility=hidden" "" SET_CFLAGS "${SET_CFLAGS}") +string(REGEX REPLACE "-fvisibility=hidden" "" SET_CXXFLAGS "${SET_CXXFLAGS}") ExternalProject_Add( - build_${BP_PACKAGE} - DEPENDS ${${BP_PACKAGE}_dependencies_targets} - URL ${${BP_PACKAGE}_URL} - URL_HASH ${${BP_PACKAGE}_DOWNLOAD_HASH_TYPE}=${${BP_PACKAGE}_DOWNLOAD_HASH} - CONFIGURE_COMMAND ${ENV_EXECUTABLE} PATH=${BP_PATH} ${${BP_PACKAGE}_SET_CFLAGS} ${${BP_PACKAGE}_SET_CXXFLAGS} ${source_PATH}/${BP_CONFIGURE_COMMAND} --disable-docs - BUILD_COMMAND ${ENV_EXECUTABLE} PATH=${BP_PATH} ${BP_PARALLEL_MAKE_COMMAND} + build_${PACKAGE} + DEPENDS ${dependencies_targets} + URL ${URL} + URL_HASH ${DOWNLOAD_HASH_TYPE}=${DOWNLOAD_HASH} + CONFIGURE_COMMAND ${ENV_EXECUTABLE} PATH=${EPA_PATH} ${SET_CFLAGS} ${SET_CXXFLAGS} ${source_PATH}/${EPA_CONFIGURE_COMMAND} --disable-docs + BUILD_COMMAND ${ENV_EXECUTABLE} PATH=${EPA_PATH} ${BP_PARALLEL_MAKE_COMMAND} BUILD_IN_SOURCE OFF - INSTALL_COMMAND ${ENV_EXECUTABLE} PATH=${BP_PATH} ${BP_PARALLEL_MAKE_COMMAND} install + INSTALL_COMMAND ${ENV_EXECUTABLE} PATH=${EPA_PATH} ${BP_PARALLEL_MAKE_COMMAND} install ) - -list(APPEND build_target_LIST build_${BP_PACKAGE}) -# Restore BP_PATH to original state. -set(BP_PATH "${BP_ORIGINAL_NATIVE_PATH}") -#message(STATUS "${BP_PACKAGE} restored original BP_PATH = ${BP_PATH}") Modified: trunk/cmake/epa_build/glib/CMakeLists.txt =================================================================== --- trunk/cmake/epa_build/glib/CMakeLists.txt 2013-12-02 01:48:01 UTC (rev 12799) +++ trunk/cmake/epa_build/glib/CMakeLists.txt 2013-12-02 07:19:58 UTC (rev 12800) @@ -1,12 +1,13 @@ -# glib/bp.cmake +# glib/CMakeLists.txt # N.B. this file is generated so if you edit it you will lose all your # changes the next time it is generated (typically by running # either/both the update_added_packages.sh or update_pango_packages.sh # scripts). If those scripts do not provide good results, then # consider changing their source files (e.g., by editing the files -# used in those scripts) or add a patch to be run by those scripts). +# used in those scripts) or add a patch to be run by those scripts. -# This file should be included directly or indirectly from a top-level +# The CMake logic in this file should be exercised by the +# add_subdirectory command that is exercised in the top-level # CMakeLists.txt file to configure the build of glib. # Copyright (C) 2013 Alan W. Irwin @@ -25,80 +26,79 @@ # License along with this file; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA -# The top-level CMakeLists.txt file that includes this file should -# have run "include(ExternalProject)" and set EP_BASE variable (and -# corresponding directory property) as well as various BP variables +# The top-level CMakeLists.txt file that adds this subdirectory should +# have run "include(ExternalProject)" and set the EPA_BASE variable (and +# corresponding directory property) as well as various EPA variables # used below that configure how the External_Project functions # operate. -# Protect against configuring a build twice in one CMake call -if(glib_configured) - return() -endif(glib_configured) -set(glib_configured ON) +set(PACKAGE glib) # List of dependencies (most of which are build tools) which should be # ignored. -set(BP_ignored_dependencies_LIST pkg-config;bison;flex;python2-devel;libXft ${extra_ignored_dependencies_list}) +set(ignored_dependencies_LIST pkg-config;bison;flex;python2-devel;libXft ${extra_ignored_dependencies_list}) -set(glib_dependencies_LIST gtk-doc;libffi) +set(dependencies_LIST gtk-doc;libffi) # Remove dependencies that should be ignored. -if(glib_dependencies_LIST) - list(REMOVE_ITEM glib_dependencies_LIST ${BP_ignored_dependencies_LIST}) -endif(glib_dependencies_LIST) +if(dependencies_LIST) + list(REMOVE_ITEM dependencies_LIST ${ignored_dependencies_LIST}) +endif(dependencies_LIST) -set(glib_dependencies_targets) -foreach(build_configuration ${glib_dependencies_LIST}) - if(EXISTS ${CMAKE_SOURCE_DIR}/${build_configuration}/bp.cmake) - include(${build_configuration}/bp.cmake) - list(APPEND glib_dependencies_targets build_${build_configuration}) - else(EXISTS ${CMAKE_SOURCE_DIR}/${build_configuration}/bp.cmake) - message(STATUS "Warning: A build_configuration for ${build_configuration} does not exist so it is assumed this dependency of glib has been installed another way.") - endif(EXISTS ${CMAKE_SOURCE_DIR}/${build_configuration}/bp.cmake) -endforeach(build_configuration ${glib_dependences_LIST}) +# Add this subdirectory to the list of subdirectories that have +# already been processed by the top-level CMakeLists.txt logic. +list(APPEND EPA_processed_subdirectories_LIST ${PACKAGE}) -# This can be safely done only after above includes. -set(BP_PACKAGE glib) +set(dependencies_targets) +foreach(build_configuration ${dependencies_LIST}) + if(EXISTS ${CMAKE_SOURCE_DIR}/${build_configuration}/CMakeLists.txt) + # Add to the list of subdirectories that must be processed by the + # top-level CMakeLists.txt logic. + list(APPEND EPA_needed_subdirectories_LIST ${build_configuration}) + list(APPEND dependencies_targets build_${build_configuration}) + else(EXISTS ${CMAKE_SOURCE_DIR}/${build_configuration}/CMakeLists.txt) + message(STATUS "Warning: A build_configuration for ${build_configuration} does not exist so it is assumed this dependency of ${PACKAGE} has been installed on your platform by means other than epa_build.") + endif(EXISTS ${CMAKE_SOURCE_DIR}/${build_configuration}/CMakeLists.txt) +endforeach(build_configuration ${dependences_LIST}) +list(APPEND EPA_build_target_LIST build_${PACKAGE}) + +# Propagate list changes to parent scope. +set(EPA_build_target_LIST ${EPA_build_target_LIST} PARENT_SCOPE) +set(EPA_processed_subdirectories_LIST ${EPA_processed_subdirectories_LIST} PARENT_SCOPE) +set(EPA_needed_subdirectories_LIST ${EPA_needed_subdirectories_LIST} PARENT_SCOPE) + # Data that is related to downloads. -set(${BP_PACKAGE}_URL http://download.gnome.org/sources/glib/2.37/glib-2.37.4.tar.xz) -set(${BP_PACKAGE}_DOWNLOAD_HASH_TYPE SHA256) -set(${BP_PACKAGE}_DOWNLOAD_HASH 7e76a32e6ea0ced118aa64f87e46cdf5c3e90527f1f0eb93eabe42a03cebd1e7) +set(URL http://download.gnome.org/sources/glib/2.37/glib-2.37.4.tar.xz) +set(DOWNLOAD_HASH_TYPE SHA256) +set(DOWNLOAD_HASH 7e76a32e6ea0ced118aa64f87e46cdf5c3e90527f1f0eb93eabe42a03cebd1e7) # Data that is related to the PATH that must be used. if(MSYS_PLATFORM) - #set(BP_PATH_NODLL "${BP_PATH}") - #set(BP_PATH "${EP_BASE}/Build/build_${BP_PACKAGE}/dll;${BP_PATH_NODLL}") - determine_msys_path(BP_PATH "${BP_PATH}") + determine_msys_path(EPA_PATH "${EPA_PATH}") # Must have all elements of env command in MSYS platform form - determine_msys_path(source_PATH "${EP_BASE}/Source/build_${BP_PACKAGE}") - set(${BP_PACKAGE}_SET_CFLAGS "CFLAGS=-march=native $ENV{CFLAGS}") + determine_msys_path(source_PATH "${EPA_BASE}/Source/build_${PACKAGE}") + set(SET_CFLAGS "CFLAGS=-march=native $ENV{CFLAGS}") else(MSYS_PLATFORM) - set(source_PATH "${EP_BASE}/Source/build_${BP_PACKAGE}") - set(${BP_PACKAGE}_SET_CFLAGS "CFLAGS=$ENV{CFLAGS}") + set(source_PATH "${EPA_BASE}/Source/build_${PACKAGE}") + set(SET_CFLAGS "CFLAGS=$ENV{CFLAGS}") endif(MSYS_PLATFORM) -#message(STATUS "modified BP_PATH for ${BP_PACKAGE} = ${BP_PATH}") +#message(STATUS "modified EPA_PATH for ${PACKAGE} = ${EPA_PATH}") -set(${BP_PACKAGE}_SET_CXXFLAGS "CXXFLAGS=$ENV{CXXFLAGS}") +set(SET_CXXFLAGS "CXXFLAGS=$ENV{CXXFLAGS}") # Drop -fvisibility=hidden since that option does not work for a # number of software packages that are configured automatically using # this template. -string(REGEX REPLACE "-fvisibility=hidden" "" ${BP_PACKAGE}_SET_CFLAGS "${${BP_PACKAGE}_SET_CFLAGS}") -string(REGEX REPLACE "-fvisibility=hidden" "" ${BP_PACKAGE}_SET_CXXFLAGS "${${BP_PACKAGE}_SET_CXXFLAGS}") +string(REGEX REPLACE "-fvisibility=hidden" "" SET_CFLAGS "${SET_CFLAGS}") +string(REGEX REPLACE "-fvisibility=hidden" "" SET_CXXFLAGS "${SET_CXXFLAGS}") ExternalProject_Add( - build_${BP_PACKAGE} - DEPENDS ${${BP_PACKAGE}_dependencies_targets} - URL ${${BP_PACKAGE}_URL} - URL_HASH ${${BP_PACKAGE}_DOWNLOAD_HASH_TYPE}=${${BP_PACKAGE}_DOWNLOAD_HASH} - CONFIGURE_COMMAND ${ENV_EXECUTABLE} PATH=${BP_PATH} ${${BP_PACKAGE}_SET_CFLAGS} ${${BP_PACKAGE}_SET_CXXFLAGS} ${source_PATH}/${BP_CONFIGURE_COMMAND} --enable-installed-tests - BUILD_COMMAND ${ENV_EXECUTABLE} PATH=${BP_PATH} ${BP_PARALLEL_MAKE_COMMAND} + build_${PACKAGE} + DEPENDS ${dependencies_targets} + URL ${URL} + URL_HASH ${DOWNLOAD_HASH_TYPE}=${DOWNLOAD_HASH} + CONFIGURE_COMMAND ${ENV_EXECUTABLE} PATH=${EPA_PATH} ${SET_CFLAGS} ${SET_CXXFLAGS} ${source_PATH}/${EPA_CONFIGURE_COMMAND} --enable-installed-tests + BUILD_COMMAND ${ENV_EXECUTABLE} PATH=${EPA_PATH} ${BP_PARALLEL_MAKE_COMMAND} BUILD_IN_SOURCE OFF - INSTALL_COMMAND ${ENV_EXECUTABLE} PATH=${BP_PATH} ${BP_PARALLEL_MAKE_COMMAND} install + INSTALL_COMMAND ${ENV_EXECUTABLE} PATH=${EPA_PATH} ${BP_PARALLEL_MAKE_COMMAND} install ) - -list(APPEND build_target_LIST build_${BP_PACKAGE}) -# Restore BP_PATH to original state. -set(BP_PATH "${BP_ORIGINAL_NATIVE_PATH}") -#message(STATUS "${BP_PACKAGE} restored original BP_PATH = ${BP_PATH}") Modified: trunk/cmake/epa_build/gobject-introspection/CMakeLists.txt =================================================================== --- trunk/cmake/epa_build/gobject-introspection/CMakeLists.txt 2013-12-02 01:48:01 UTC (rev 12799) +++ trunk/cmake/epa_build/gobject-introspection/CMakeLists.txt 2013-12-02 07:19:58 UTC (rev 12800) @@ -1,12 +1,13 @@ -# gobject-introspection/bp.cmake +# gobject-introspection/CMakeLists.txt # N.B. this file is generated so if you edit it you will lose all your # changes the next time it is generated (typically by running # either/both the update_added_packages.sh or update_pango_packages.sh # scripts). If those scripts do not provide good results, then # consider changing their source files (e.g., by editing the files -# used in those scripts) or add a patch to be run by those scripts). +# used in those scripts) or add a patch to be run by those scripts. -# This file should be included directly or indirectly from a top-level +# The CMake logic in this file should be exercised by the +# add_subdirectory command that is exercised in the top-level # CMakeLists.txt file to configure the build of gobject-introspection. # Copyright (C) 2013 Alan W. Irwin @@ -25,80 +26,79 @@ # License along with this file; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA -# The top-level CMakeLists.txt file that includes this file should -# have run "include(ExternalProject)" and set EP_BASE variable (and -# corresponding directory property) as well as various BP variables +# The top-level CMakeLists.txt file that adds this subdirectory should +# have run "include(ExternalProject)" and set the EPA_BASE variable (and +# corresponding directory property) as well as various EPA variables # used below that configure how the External_Project functions # operate. -# Protect against configuring a build twice in one CMake call -if(gobject-introspection_configured) - return() -endif(gobject-introspection_configured) -set(gobject-introspection_configured ON) +set(PACKAGE gobject-introspection) # List of dependencies (most of which are build tools) which should be # ignored. -set(BP_ignored_dependencies_LIST pkg-config;bison;flex;python2-devel;libXft ${extra_ignored_dependencies_list}) +set(ignored_dependencies_LIST pkg-config;bison;flex;python2-devel;libXft ${extra_ignored_dependencies_list}) -set(gobject-introspection_dependencies_LIST bison;cairo;flex;glib;python2-devel) +set(dependencies_LIST bison;cairo;flex;glib;python2-devel) # Remove dependencies that should be ignored. -if(gobject-introspection_dependencies_LIST) - list(REMOVE_ITEM gobject-introspection_dependencies_LIST ${BP_ignored_dependencies_LIST}) -endif(gobject-introspection_dependencies_LIST) +if(dependencies_LIST) + list(REMOVE_ITEM dependencies_LIST ${ignored_dependencies_LIST}) +endif(dependencies_LIST) -set(gobject-introspection_dependencies_targets) -foreach(build_configuration ${gobject-introspection_dependencies_LIST}) - if(EXISTS ${CMAKE_SOURCE_DIR}/${build_configuration}/bp.cmake) - include(${build_configuration}/bp.cmake) - list(APPEND gobject-introspection_dependencies_targets build_${build_configuration}) - else(EXISTS ${CMAKE_SOURCE_DIR}/${build_configuration}/bp.cmake) - message(STATUS "Warning: A build_configuration for ${build_configuration} does not exist so it is assumed this dependency of gobject-introspection has been installed another way.") - endif(EXISTS ${CMAKE_SOURCE_DIR}/${build_configuration}/bp.cmake) -endforeach(build_configuration ${gobject-introspection_dependences_LIST}) +# Add this subdirectory to the list of subdirectories that have +# already been processed by the top-level CMakeLists.txt logic. +list(APPEND EPA_processed_subdirectories_LIST ${PACKAGE}) -# This can be safely done only after above includes. -set(BP_PACKAGE gobject-introspection) +set(dependencies_targets) +foreach(build_configuration ${dependencies_LIST}) + if(EXISTS ${CMAKE_SOURCE_DIR}/${build_configuration}/CMakeLists.txt) + # Add to the list of subdirectories that must be processed by the + # top-level CMakeLists.txt logic. + list(APPEND EPA_needed_subdirectories_LIST ${build_configuration}) + list(APPEND dependencies_targets build_${build_configuration}) + else(EXISTS ${CMAKE_SOURCE_DIR}/${build_configuration}/CMakeLists.txt) + message(STATUS "Warning: A build_configuration for ${build_configuration} does not exist so it is assumed this dependency of ${PACKAGE} has been installed on your platform by means other than epa_build.") + endif(EXISTS ${CMAKE_SOURCE_DIR}/${build_configuration}/CMakeLists.txt) +endforeach(build_configuration ${dependences_LIST}) +list(APPEND EPA_build_target_LIST build_${PACKAGE}) + +# Propagate list changes to parent scope. +set(EPA_build_target_LIST ${EPA_build_target_LIST} PARENT_SCOPE) +set(EPA_processed_subdirectories_LIST ${EPA_processed_subdirectories_LIST} PARENT_SCOPE) +set(EPA_needed_subdirectories_LIST ${EPA_needed_subdirectories_LIST} PARENT_SCOPE) + # Data that is related to downloads. -set(${BP_PACKAGE}_URL http://download.gnome.org/sources/gobject-introspection/1.37/gobject-introspection-1.37.4.tar.xz) -set(${BP_PACKAGE}_DOWNLOAD_HASH_TYPE SHA256) -set(${BP_PACKAGE}_DOWNLOAD_HASH 431dae811626d18f1f02ff3842f291cc21b3c5e4a47b24d52d46e25e93036591) +set(URL http://download.gnome.org/sources/gobject-introspection/1.37/gobject-introspection-1.37.4.tar.xz) +set(DOWNLOAD_HASH_TYPE SHA256) +set(DOWNLOAD_HASH 431dae811626d18f1f02ff3842f291cc21b3c5e4a47b24d52d46e25e93036591) # Data that is related to the PATH that must be used. if(MSYS_PLATFORM) - #set(BP_PATH_NODLL "${BP_PATH}") - #set(BP_PATH "${EP_BASE}/Build/build_${BP_PACKAGE}/dll;${BP_PATH_NODLL}") - determine_msys_path(BP_PATH "${BP_PATH}") + determine_msys_path(EPA_PATH "${EPA_PATH}") # Must have all elements of env command in MSYS platform form - determine_msys_path(source_PATH "${EP_BASE}/Source/build_${BP_PACKAGE}") - set(${BP_PACKAGE}_SET_CFLAGS "CFLAGS=$ENV{CFLAGS}") + determine_msys_path(source_PATH "${EPA_BASE}/Source/build_${PACKAGE}") + set(SET_CFLAGS "CFLAGS=$ENV{CFLAGS}") else(MSYS_PLATFORM) - set(source_PATH "${EP_BASE}/Source/build_${BP_PACKAGE}") - set(${BP_PACKAGE}_SET_CFLAGS "CFLAGS=$ENV{CFLAGS}") + set(source_PATH "${EPA_BASE}/Source/build_${PACKAGE}") + set(SET_CFLAGS "CFLAGS=$ENV{CFLAGS}") endif(MSYS_PLATFORM) -#message(STATUS "modified BP_PATH for ${BP_PACKAGE} = ${BP_PATH}") +#message(STATUS "modified EPA_PATH for ${PACKAGE} = ${EPA_PATH}") -set(${BP_PACKAGE}_SET_CXXFLAGS "CXXFLAGS=$ENV{CXXFLAGS}") +set(SET_CXXFLAGS "CXXFLAGS=$ENV{CXXFLAGS}") # Drop -fvisibility=hidden since that option does not work for a # number of software packages that are configured automatically using # this template. -string(REGEX REPLACE "-fvisibility=hidden" "" ${BP_PACKAGE}_SET_CFLAGS "${${BP_PACKAGE}_SET_CFLAGS}") -string(REGEX REPLACE "-fvisibility=hidden" "" ${BP_PACKAGE}_SET_CXXFLAGS "${${BP_PACKAGE}_SET_CXXFLAGS}") +string(REGEX REPLACE "-fvisibility=hidden" "" SET_CFLAGS "${SET_CFLAGS}") +string(REGEX REPLACE "-fvisibility=hidden" "" SET_CXXFLAGS "${SET_CXXFLAGS}") ExternalProject_Add( - build_${BP_PACKAGE} - DEPENDS ${${BP_PACKAGE}_dependencies_targets} - URL ${${BP_PACKAGE}_URL} - URL_HASH ${${BP_PACKAGE}_DOWNLOAD_HASH_TYPE}=${${BP_PACKAGE}_DOWNLOAD_HASH} - CONFIGURE_COMMAND ${ENV_EXECUTABLE} PATH=${BP_PATH} ${${BP_PACKAGE}_SET_CFLAGS} ${${BP_PACKAGE}_SET_CXXFLAGS} ${source_PATH}/${BP_CONFIGURE_COMMAND} - BUILD_COMMAND ${ENV_EXECUTABLE} PATH=${BP_PATH} ${BP_PARALLEL_MAKE_COMMAND} + build_${PACKAGE} + DEPENDS ${dependencies_targets} + URL ${URL} + URL_HASH ${DOWNLOAD_HASH_TYPE}=${DOWNLOAD_HASH} + CONFIGURE_COMMAND ${ENV_EXECUTABLE} PATH=${EPA_PATH} ${SET_CFLAGS} ${SET_CXXFLAGS} ${source_PATH}/${EPA_CONFIGURE_COMMAND} + BUILD_COMMAND ${ENV_EXECUTABLE} PATH=${EPA_PATH} ${BP_PARALLEL_MAKE_COMMAND} BUILD_IN_SOURCE OFF - INSTALL_COMMAND ${ENV_EXECUTABLE} PATH=${BP_PATH} ${BP_PARALLEL_MAKE_COMMAND} install + INSTALL_COMMAND ${ENV_EXECUTABLE} PATH=${EPA_PATH} ${BP_PARALLEL_MAKE_COMMAND} install ) - -list(APPEND build_target_LIST build_${BP_PACKAGE}) -# Restore BP_PATH to original state. -set(BP_PATH "${BP_ORIGINAL_NATIVE_PATH}") -#message(STATUS "${BP_PACKAGE} restored original BP_PATH = ${BP_PATH}") Modified: trunk/cmake/epa_build/gperf/CMakeLists.txt =================================================================== --- trunk/cmake/epa_build/gperf/CMakeLists.txt 2013-12-02 01:48:01 UTC (rev 12799) +++ trunk/cmake/epa_build/gperf/CMakeLists.txt 2013-12-02 07:19:58 UTC (rev 12800) @@ -1,12 +1,13 @@ -# gperf/bp.cmake +# gperf/CMakeLists.txt # N.B. this file is generated so if you edit it you will lose all your # changes the next time it is generated (typically by running # either/both the update_added_packages.sh or update_pango_packages.sh # scripts). If those scripts do not provide good results, then # consider changing their source files (e.g., by editing the files -# used in those scripts) or add a patch to be run by those scripts). +# used in those scripts) or add a patch to be run by those scripts. -# This file should be included directly or indirectly from a top-level +# The CMake logic in this file should be exercised by the +# add_subdirectory command that is exercised in the top-level # CMakeLists.txt file to configure the build of gperf. # Copyright (C) 2013 Alan W. Irwin @@ -25,80 +26,79 @@ # License along with this file; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA -# The top-level CMakeLists.txt file that includes this file should -# have run "include(ExternalProject)" and set EP_BASE variable (and -# corresponding directory property) as well as various BP variables +# The top-level CMakeLists.txt file that adds this subdirectory should +# have run "include(ExternalProject)" and set the EPA_BASE variable (and +# corresponding directory property) as well as various EPA variables # used below that configure how the External_Project functions # operate. -# Protect against configuring a build twice in one CMake call -if(gperf_configured) - return() -endif(gperf_configured) -set(gperf_configured ON) +set(PACKAGE gperf) # List of dependencies (most of which are build tools) which should be # ignored. -set(BP_ignored_dependencies_LIST pkg-config;bison;flex;python2-devel;libXft ${extra_ignored_dependencies_list}) +set(ignored_dependencies_LIST pkg-config;bison;flex;python2-devel;libXft ${extra_ignored_dependencies_list}) -set(gperf_dependencies_LIST ) +set(dependencies_LIST ) # Remove dependencies that should be ignored. -if(gperf_dependencies_LIST) - list(REMOVE_ITEM gperf_dependencies_LIST ${BP_ignored_dependencies_LIST}) -endif(gperf_dependencies_LIST) +if(dependencies_LIST) + list(REMOVE_ITEM dependencies_LIST ${ignored_dependencies_LIST}) +endif(dependencies_LIST) -set(gperf_dependencies_targets) -foreach(build_configuration ${gperf_dependencies_LIST}) - if(EXISTS ${CMAKE_SOURCE_DIR}/${build_configuration}/bp.cmake) - include(${build_configuration}/bp.cmake) - list(APPEND gperf_dependencies_targets build_${build_configuration}) - else(EXISTS ${CMAKE_SOURCE_DIR}/${build_configuration}/bp.cmake) - message(STATUS "Warning: A build_configuration for ${build_configuration} does not exist so it is assumed this dependency of gperf has been installed another way.") - endif(EXISTS ${CMAKE_SOURCE_DIR}/${build_configuration}/bp.cmake) -endforeach(build_configuration ${gperf_dependences_LIST}) +# Add this subdirectory to the list of subdirectories that have +# already been processed by the top-level CMakeLists.txt logic. +list(APPEND EPA_processed_subdirectories_LIST ${PACKAGE}) -# This can be safely done only after above includes. -set(BP_PACKAGE gperf) +set(dependencies_targets) +foreach(build_configuration ${dependencies_LIST}) + if(EXISTS ${CMAKE_SOURCE_DIR}/${build_configuration}/CMakeLists.txt) + # Add to the list of subdirectories that must be processed by the + # top-level CMakeLists.txt logic. + list(APPEND EPA_needed_subdirectories_LIST ${build_configuration}) + list(APPEND dependencies_targets build_${build_configuration}) + else(EXISTS ${CMAKE_SOURCE_DIR}/${build_configuration}/CMakeLists.txt) + message(STATUS "Warning: A build_configuration for ${build_configuration} does not exist so it is assumed this dependency of ${PACKAGE} has been installed on your platform by means other than epa_build.") + endif(EXISTS ${CMAKE_SOURCE_DIR}/${build_configuration}/CMakeLists.txt) +endforeach(build_configuration ${dependences_LIST}) +list(APPEND EPA_build_target_LIST build_${PACKAGE}) + +# Propagate list changes to parent scope. +set(EPA_build_target_LIST ${EPA_build_target_LIST} PARENT_SCOPE) +set(EPA_processed_subdirectories_LIST ${EPA_processed_subdirectories_LIST} PARENT_SCOPE) +set(EPA_needed_subdirectories_LIST ${EPA_needed_subdirectories_LIST} PARENT_SCOPE) + # Data that is related to downloads. -set(${BP_PACKAGE}_URL http://ftp.gnu.org/gnu/gperf/gperf-3.0.4.tar.gz) -set(${BP_PACKAGE}_DOWNLOAD_HASH_TYPE SHA256) -set(${BP_PACKAGE}_DOWNLOAD_HASH 767112a204407e62dbc3106647cf839ed544f3cf5d0f0523aaa2508623aad63e) +set(URL http://ftp.gnu.org/gnu/gperf/gperf-3.0.4.tar.gz) +set(DOWNLOAD_HASH_TYPE SHA256) +set(DOWNLOAD_HASH 767112a204407e62dbc3106647cf839ed544f3cf5d0f0523aaa2508623aad63e) # Data that is related to the PATH that must be used. if(MSYS_PLATFORM) - #set(BP_PATH_NODLL "${BP_PATH}") - #set(BP_PATH "${EP_BASE}/Build/build_${BP_PACKAGE}/dll;${BP_PATH_NODLL}") - determine_msys_path(BP_PATH "${BP_PATH}") + determine_msys_path(EPA_PATH "${EPA_PATH}") # Must have all elements of env command in MSYS platform form - determine_msys_path(source_PATH "${EP_BASE}/Source/build_${BP_PACKAGE}") - set(${BP_PACKAGE}_SET_CFLAGS "CFLAGS=$ENV{CFLAGS}") + determine_msys_path(source_PATH "${EPA_BASE}/Source/build_${PACKAGE}") + set(SET_CFLAGS "CFLAGS=$ENV{CFLAGS}") else(MSYS_PLATFORM) - set(source_PATH "${EP_BASE}/Source/build_${BP_PACKAGE}") - set(${BP_PACKAGE}_SET_CFLAGS "CFLAGS=$ENV{CFLAGS}") + set(source_PATH "${EPA_BASE}/Source/build_${PACKAGE}") + set(SET_CFLAGS "CFLAGS=$ENV{CFLAGS}") endif(MSYS_PLATFORM) -#message(STATUS "modified BP_PATH for ${BP_PACKAGE} = ${BP_PATH}") +#message(STATUS "modified EPA_PATH for ${PACKAGE} = ${EPA_PATH}") -set(${BP_PACKAGE}_SET_CXXFLAGS "CXXFLAGS=$ENV{CXXFLAGS}") +set(SET_CXXFLAGS "CXXFLAGS=$ENV{CXXFLAGS}") # Drop -fvisibility=hidden since that option does not work for a # number of software packages that are configured automatically using # this template. -string(REGEX REPLACE "-fvisibility=hidden" "" ${BP_PACKAGE}_SET_CFLAGS "${${BP_PACKAGE}_SET_CFLAGS}") -string(REGEX REPLACE "-fvisibility=hidden" "" ${BP_PACKAGE}_SET_CXXFLAGS "${${BP_PACKAGE}_SET_CXXFLAGS}") +string(REGEX REPLACE "-fvisibility=hidden" "" SET_CFLAGS "${SET_CFLAGS}") +string(REGEX REPLACE "-fvisibility=hidden" "" SET_CXXFLAGS "${SET_CXXFLAGS}") ExternalProject_Add( - build_${BP_PACKAGE} - DEPENDS ${${BP_PACKAGE}_dependencies_targets} - URL ${${BP_PACKAGE}_URL} - URL_HASH ${${BP_PACKAGE}_DOWNLOAD_HASH_TYPE}=${${BP_PACKAGE}_DOWNLOAD_HASH} - CONFIGURE_COMMAND ${ENV_EXECUTABLE} PATH=${BP_PATH} ${${BP_PACKAGE}_SET_CFLAGS} ${${BP_PACKAGE}_SET_CXXFLAGS} ${source_PATH}/${BP_CONFIGURE_COMMAND} - BUILD_COMMAND ${ENV_EXECUTABLE} PATH=${BP_PATH} ${BP_PARALLEL_MAKE_COMMAND} + build_${PACKAGE} + DEPENDS ${dependencies_targets} + URL ${URL} + URL_HASH ${DOWNLOAD_HASH_TYPE}=${DOWNLOAD_HASH} + CONFIGURE_COMMAND ${ENV_EXECUTABLE} PATH=${EPA_PATH} ${SET_CFLAGS} ${SET_CXXFLAGS} ${source_PATH}/${EPA_CONFIGURE_COMMAND} + BUILD_COMMAND ${ENV_EXECUTABLE} PATH=${EPA_PATH} ${BP_PARALLEL_MAKE_COMMAND} BUILD_IN_SOURCE OFF - INSTALL_COMMAND ${ENV_EXECUTABLE} PATH=${BP_PATH} ${BP_PARALLEL_MAKE_COMMAND} install + INSTALL_COMMAND ${ENV_EXECUTABLE} PATH=${EPA_PATH} ${BP_PARALLEL_MAKE_COMMAND} install ) - -list(APPEND build_target_LIST build_${BP_PACKAGE}) -# Restore BP_PATH to original state. -set(BP_PATH "${BP_ORIGINAL_NATIVE_PATH}") -#message(STATUS "${BP_PACKAGE} restored original BP_PATH = ${BP_PATH}") Modified: trunk/cmake/epa_build/gtk-doc/CMakeLists.txt =================================================================== --- trunk/cmake/epa_build/gtk-doc/CMakeLists.txt 2013-12-02 01:48:01 UTC (rev 12799) +++ trunk/cmake/epa_build/gtk-doc/CMakeLists.txt 2013-12-02 07:19:58 UTC (rev 12800) @@ -1,12 +1,13 @@ -# gtk-doc/bp.cmake +# gtk-doc/CMakeLists.txt # N.B. this file is generated so if you edit it you will lose all your # changes the next time it is generated (typically by running # either/both the update_added_packages.sh or update_pango_packages.sh # scripts). If those scripts do not provide good results, then # consider changing their source files (e.g., by editing the files -# used in those scripts) or add a patch to be run by those scripts). +# used in those scripts) or add a patch to be run by those scripts. -# This file should be included directly or indirectly from a top-level +# The CMake logic in this file should be exercised by the +# add_subdirectory command that is exercised in the top-level # CMakeLists.txt file to configure the build of gtk-doc. # Copyright (C) 2013 Alan W. Irwin @@ -25,80 +26,79 @@ # License along with this file; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA -# The top-level CMakeLists.txt file that includes this file should -# have run "include(ExternalProject)" and set EP_BASE variable (and -# corresponding directory property) as well as various BP variables +# The top-level CMakeLists.txt file that adds this subdirectory should +# have run "include(ExternalProject)" and set the EPA_BASE variable (and +# corresponding directory property) as well as various EPA variables # used below that configure how the External_Project functions # operate. -# Protect against configuring a build twice in one CMake call -if(gtk-doc_configured) - return() -endif(gtk-doc_configured) -set(gtk-doc_configured ON) +set(PACKAGE gtk-doc) # List of dependencies (most of which are build tools) which should be # ignored. -set(BP_ignored_dependencies_LIST pkg-config;bison;flex;python2-devel;libXft ${extra_ignored_dependencies_list}) +set(ignored_dependencies_LIST pkg-config;bison;flex;python2-devel;libXft ${extra_ignored_dependencies_list}) -set(gtk-doc_dependencies_LIST docbook-xml;docbook-xsl;libxslt;yelp-tools) +set(dependencies_LIST docbook-xml;docbook-xsl;libxslt;yelp-tools) # Remove dependencies that should be ignored. -if(gtk-doc_dependencies_LIST... [truncated message content] |
From: <ai...@us...> - 2013-12-02 01:48:05
|
Revision: 12799 http://sourceforge.net/p/plplot/code/12799 Author: airwin Date: 2013-12-02 01:48:01 +0000 (Mon, 02 Dec 2013) Log Message: ----------- Update scripts for regenerating build configurations, and refer to those scripts in the developer documentation rather than repeating all the commands in those scripts. Modified Paths: -------------- trunk/cmake/epa_build/README.developers trunk/cmake/epa_build/update_added_packages.sh trunk/cmake/epa_build/update_pango_packages.sh Modified: trunk/cmake/epa_build/README.developers =================================================================== --- trunk/cmake/epa_build/README.developers 2013-12-02 00:53:19 UTC (rev 12798) +++ trunk/cmake/epa_build/README.developers 2013-12-02 01:48:01 UTC (rev 12799) @@ -6,48 +6,17 @@ which keeps its configuration files in xml form. Here is how you convert that form of build-configuration data to the epa_build form. -# Chose this latest version (as of August 2013) because it probably has -# improved build and dependency instructions compared to previous versions. -# For example, the glib version (2.37.4) is known to solve a build issue -# that I ran into for earlier glib versions. -export GTK_VERSION=3.9.4 -mkdir -p $GTK_VERSION -cd $GTK_VERSION -# This downloads all the relevant xml build configuration files -# for the given version of GTK -wget -nd ftp://ftp.acc.umu.se/pub/GNOME/teams/releng/$GTK_VERSION/* -cd .. -./gtk_xml_recursive_process.py \ -$GTK_VERSION/gnome-apps-$GTK_VERSION.modules \ ->| gtk_packages_$GTK_VERSION.xml +# Download the jhbuild data for GTK_VERSION=3.9.4, collect all the +# *.xml results into one giant xml file, "gtk_packages.xml", patch +# that file, create a schema for that file, "gtk_packages.rnc" (not +# used for anything but debugging of xml issues), convert that file to +# a sequential form that can be read in by cmake called +# "pango_packages.data", transform those data into build +# configurations, */CMakeLists.txt, and patch those results. +./update_pango_packages.sh -# Patch this result to correct errors I have discovered in the jhbuild -# configuration or else to use new versions of packages. +Check for any errors: -patch --no-backup-if-mismatch <patch_gtk_packages.xml - -# To create the schema for gtk_packages.xml use -trang -I xml gtk_packages_$GTK_VERSION.xml gtk_packages_$GTK_VERSION.rnc - -# That resulting schema file is quite helpful in figuring out -# how to process gtk_packages_$GTK_VERSION.xml as below. - -# Transform the xml form to a form that can be used by a cmake script. -# Note, there will be some information messages sent to stderr by this -# script that typically relate to good packages (ones that can be -# transformed by this script) and bad packages. Currently the list of -# bad packages are confined just to those which are completely missing -# from the jhbuild data for gtk. The first command-line argument is -# the starting package name and the second command-line argument is a -# control variable where the least significant bit is ON for following (hard) -# "dependencies" dependencies, the next least significant bit is ON -# for following (soft) "suggests", dependencies, and the next least -# significant bit is ON for following (would be nice) "after" -# dependencies. Currently I use a command variable of 1 to keep -# the number of packages configured for building pango and -# (hard) dependencies to a minimum. -./gtk_transform.py "pango" 1 <gtk_packages_$GTK_VERSION.xml 1>| pango_packages.data 2>|pango_packages.stderr - # Check for errors: less pango_packages.stderr @@ -57,52 +26,29 @@ # be configured another way). # N.B. there are no plans to keep gtk_packages.xml, gtk_packages.rnc, -# or pango_packages.data under version control. However, +# or pango_packages.data under version control. However, all +# essential files referred to by update_pango_packages.sh such as # gtk_xml_recursive_process.py, patch_gtk_packages.xml, and # gtk_transform.py are all kept under version control so that # gtk_packages_$GTK_VERSION.xml, gtk_packages_$GTK_VERSION.rnc, and # pango_packages.data can be reproduced at any time for the current -# $GTK_VERSION value or produced for some updated $GTK_VERSION value. -# Note that in that latter case, it will be necessary to edit the file -# names in patch_gtk_packages.xml to conform to the new version. +# $GTK_VERSION value or produced for some updated $GTK_VERSION value +# in the future. Note that in that latter case, it will be necessary +# to edit the file names in patch_gtk_packages.xml to conform to the +# new version. -# Finally to actually generate build configurations for build_packages run -# the following command. - -cmake -DFILENAME:FILEPATH=pango_packages.data -P configure_epa.cmake - -# Patch generated configuration files. This patch file contains -# additional changes that cannot be done via a patch to the *.xml file. -# Typically, these changes are hand edits which are tested then committed. -# So typically the patch is created by rerunning the above cmake -# command then using "svn diff" >| configured_pango.patch" to generate -# the reverse form of the patch to change the result created by the -# above cmake command into the svn committed form which is done with -# the following patch command. - -patch --reverse --no-backup-if-mismatch -p0 <configured_pango.patch - -N.B. configured_pango.patch is kept under version control. - # One known issue with the gtk+ stack and other software we build is # certain package dependencies are completely missing (called "bad # packages above) such as pkg-config and libffi which have to be built # independently. For some of those missing packages we use a -# hand-generated configuration (e.g., pkg-config/bp.cmake). For -# others that can be configured with a template (e.g., libffi) we use -# add_packages.xml (under version control) as follows: +# hand-generated configuration (e.g., pkg-config/CMakeLists.txt). For +# others that can be configured with a template (e.g., libffi) we add +# additional configurations to add_packages.xml, process that file +# with enough starting packages to include all dependent packages +# in the resulting sequential file called "add_packages.data" which +# is then processed to generated added build configurations such as libffi. -rm -f add_packages.data add_packages.stderr -touch add_packages.data add_packages.stderr -# PACKAGE_LIST only contains the package names in add_packages.xml -# that do not depend on any other package in that file. Thus, -# PACKAGE_LIST contains a list of "starting" packages and the -# dependencies of those should suck in the rest of the packages in -# add_packages.xml. -PACKAGE_LIST="libffi intltool pixman gperf swig libxslt" -for PACKAGE in $PACKAGE_LIST; do - ./gtk_transform.py $PACKAGE 1 <add_packages.xml 1>> add_packages.data 2>> add_packages.stderr -done +./update_added_packages.sh # Look for any bad results: less add_packages.stderr @@ -110,6 +56,27 @@ # It turns out there is one "bad" package, pkg-config which must be # configured with a hand-edited configuration. -# Generate the "good" package configurations. +# N.B. The build configurations generated by +# "./update_pango_packages.sh" and "./update_added_packages.sh" are +# committed under svn control so that care should be used to keep +# everything consistent so that the above scripts introduce no svn +# diffs. +# Assuming no changes have been made to the essential files used by +# "update_pango_packages.sh" (which are gtk_xml_recursive_process.py, +# patch_gtk_packages.xml, and gtk_transform.py) to generate +# pango_packages.data, then you can quickly check for such consistency +# without running "./update_pango_packages.sh" using + +cmake -DFILENAME:FILEPATH=pango_packages.data -P configure_epa.cmake +patch --reverse --no-backup-if-mismatch -p0 <configured_pango.patch +svn diff + +# Similarly, assuming no changes have been made to the essential files +# used by "update_added_packages.sh" (which are add_packages.xml and +# gtk_transform.py) to generate add_packages.data, then you can +# quickly check for such consistency without running +# "./update_added_packages.sh" using cmake -DFILENAME:FILEPATH=add_packages.data -P configure_epa.cmake +svn diff + Modified: trunk/cmake/epa_build/update_added_packages.sh =================================================================== --- trunk/cmake/epa_build/update_added_packages.sh 2013-12-02 00:53:19 UTC (rev 12798) +++ trunk/cmake/epa_build/update_added_packages.sh 2013-12-02 01:48:01 UTC (rev 12799) @@ -1,12 +1,16 @@ #!/bin/bash # Update build configurations of added packages that are described by -# gtk_packages_add.xml +# add_packages.xml -rm -f add_packages.data -touch add_packages.data -# Ignore libxml2 since that is sucked in by the libxslt dependency. -PACKAGE_LIST="libffi intltool pixman gperf libxslt ragel" +rm -f add_packages.data add_packages.stderr +touch add_packages.data add_packages.stderr +# PACKAGE_LIST only contains the package names in add_packages.xml +# that do not depend on any other package in that file. Thus, +# PACKAGE_LIST contains a list of "starting" packages and the +# dependencies of those should suck in the rest of the packages in +# add_packages.xml. +PACKAGE_LIST="libffi intltool pixman gperf swig libxslt ragel" for PACKAGE in $PACKAGE_LIST; do - ./gtk_transform.py $PACKAGE 1 <gtk_packages_add.xml 1>> add_packages.data + ./gtk_transform.py $PACKAGE 1 <add_packages.xml 1>> add_packages.data 2>> add_packages.stderr done -cmake -DFILENAME:FILEPATH=add_packages.data -P configure_bp.cmake +cmake -DFILENAME:FILEPATH=add_packages.data -P configure_epa.cmake Modified: trunk/cmake/epa_build/update_pango_packages.sh =================================================================== --- trunk/cmake/epa_build/update_pango_packages.sh 2013-12-02 00:53:19 UTC (rev 12798) +++ trunk/cmake/epa_build/update_pango_packages.sh 2013-12-02 01:48:01 UTC (rev 12799) @@ -2,7 +2,11 @@ # Update build configurations of pango packages that are described by # GTK+ jhbuild build configuration -GTK_VERSION=3.9.4 +# Chose this latest version (as of August 2013) because it probably has +# improved build and dependency instructions compared to previous versions. +# For example, the glib version (2.37.4) is known to solve a build issue +# that I ran into for earlier glib versions. +export GTK_VERSION=3.9.4 rm -rf $GTK_VERSION mkdir $GTK_VERSION cd $GTK_VERSION @@ -12,10 +16,49 @@ cd .. ./gtk_xml_recursive_process.py \ $GTK_VERSION/gnome-apps-$GTK_VERSION.modules \ ->|gtk_packages_$GTK_VERSION.xml_original +>| gtk_packages_$GTK_VERSION.xml + rm -rf $GTK_VERSION -cp gtk_packages_$GTK_VERSION.xml_original gtk_packages_$GTK_VERSION.xml -patch --no-backup-if-mismatch gtk_packages_$GTK_VERSION.xml patch_gtk_packages.xml -./gtk_transform.py pango 1 <gtk_packages_$GTK_VERSION.xml 1>| pango_packages.data -cmake -DFILENAME:FILEPATH=pango_packages.data -P configure_bp.cmake +# Patch this result to correct errors I have discovered in the jhbuild +# configuration or else to use new versions of packages. + +patch --no-backup-if-mismatch <patch_gtk_packages.xml + +# To create the schema for gtk_packages.xml use +trang -I xml gtk_packages_$GTK_VERSION.xml gtk_packages_$GTK_VERSION.rnc + +# That resulting schema file is quite helpful in figuring out +# how to process gtk_packages_$GTK_VERSION.xml as below. + +# Transform the xml form to a form that can be used by a cmake script. +# Note, there will be some information messages sent to stderr by this +# script that typically relate to good packages (ones that can be +# transformed by this script) and bad packages. Currently the list of +# bad packages are confined just to those which are completely missing +# from the jhbuild data for gtk. The first command-line argument is +# the starting package name and the second command-line argument is a +# control variable where the least significant bit is ON for following (hard) +# "dependencies" dependencies, the next least significant bit is ON +# for following (soft) "suggests", dependencies, and the next least +# significant bit is ON for following (would be nice) "after" +# dependencies. Currently I use a command variable of 1 to keep +# the number of packages configured for building pango and +# (hard) dependencies to a minimum. +./gtk_transform.py "pango" 1 <gtk_packages_$GTK_VERSION.xml 1>| pango_packages.data 2>|pango_packages.stderr + +# Finally to actually generate build configurations for build_packages run +# the following command. + +cmake -DFILENAME:FILEPATH=pango_packages.data -P configure_epa.cmake + +# Patch generated configuration files. This patch file contains +# additional changes that cannot be done via a patch to the *.xml file. +# Typically, these changes are hand edits which are tested then committed. +# So typically the patch is created by rerunning the above cmake +# command then using "svn diff" >| configured_pango.patch" to generate +# the reverse form of the patch to change the result created by the +# above cmake command into the svn committed form which is done with +# the following patch command. + +patch --reverse --no-backup-if-mismatch -p0 <configured_pango.patch This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ai...@us...> - 2013-12-02 00:53:23
|
Revision: 12798 http://sourceforge.net/p/plplot/code/12798 Author: airwin Date: 2013-12-02 00:53:19 +0000 (Mon, 02 Dec 2013) Log Message: ----------- Propagate CXXFLAGS and drop -fvisibility=hidden from both the CFLAGS and CXXFLAGS environment variables for the automatically configured build packages. This change is made because some of the software packages whose builds are automatically configured by the procedure described in README.developers) do not have gcc visibility support so it is easiest for now (until most do have visibility support) to drop that possibility for all of these packages. Modified Paths: -------------- trunk/cmake/epa_build/ragel/CMakeLists.txt Modified: trunk/cmake/epa_build/ragel/CMakeLists.txt =================================================================== --- trunk/cmake/epa_build/ragel/CMakeLists.txt 2013-12-02 00:39:22 UTC (rev 12797) +++ trunk/cmake/epa_build/ragel/CMakeLists.txt 2013-12-02 00:53:19 UTC (rev 12798) @@ -79,12 +79,20 @@ endif(MSYS_PLATFORM) #message(STATUS "modified BP_PATH for ${BP_PACKAGE} = ${BP_PATH}") +set(${BP_PACKAGE}_SET_CXXFLAGS "CXXFLAGS=$ENV{CXXFLAGS}") + +# Drop -fvisibility=hidden since that option does not work for a +# number of software packages that are configured automatically using +# this template. +string(REGEX REPLACE "-fvisibility=hidden" "" ${BP_PACKAGE}_SET_CFLAGS "${${BP_PACKAGE}_SET_CFLAGS}") +string(REGEX REPLACE "-fvisibility=hidden" "" ${BP_PACKAGE}_SET_CXXFLAGS "${${BP_PACKAGE}_SET_CXXFLAGS}") + ExternalProject_Add( build_${BP_PACKAGE} DEPENDS ${${BP_PACKAGE}_dependencies_targets} URL ${${BP_PACKAGE}_URL} URL_HASH ${${BP_PACKAGE}_DOWNLOAD_HASH_TYPE}=${${BP_PACKAGE}_DOWNLOAD_HASH} - CONFIGURE_COMMAND ${ENV_EXECUTABLE} PATH=${BP_PATH} ${${BP_PACKAGE}_SET_CFLAGS} ${source_PATH}/${BP_CONFIGURE_COMMAND} + CONFIGURE_COMMAND ${ENV_EXECUTABLE} PATH=${BP_PATH} ${${BP_PACKAGE}_SET_CFLAGS} ${${BP_PACKAGE}_SET_CXXFLAGS} ${source_PATH}/${BP_CONFIGURE_COMMAND} BUILD_COMMAND ${ENV_EXECUTABLE} PATH=${BP_PATH} ${BP_PARALLEL_MAKE_COMMAND} BUILD_IN_SOURCE OFF INSTALL_COMMAND ${ENV_EXECUTABLE} PATH=${BP_PATH} ${BP_PARALLEL_MAKE_COMMAND} install This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ai...@us...> - 2013-12-02 00:39:25
|
Revision: 12797 http://sourceforge.net/p/plplot/code/12797 Author: airwin Date: 2013-12-02 00:39:22 +0000 (Mon, 02 Dec 2013) Log Message: ----------- Use the new name of the template file, epa_CMakeLists.txt.in and change the names of the configured files from */bp.cmake to */CMakeLists.txt Tested by Alan W. Irwin <ai...@us...> using the procedure in README.developers. The result of this reconfiguration of most of the build configurations was no changes at all which confirms the procedure in README.developers is now consistent with the new */CMakeLists.txt naming scheme. N.B. this consistency is a good first step but there is more to do before the planned add_subdirectory technique for epa_build works. Modified Paths: -------------- trunk/cmake/epa_build/configure_epa.cmake Modified: trunk/cmake/epa_build/configure_epa.cmake =================================================================== --- trunk/cmake/epa_build/configure_epa.cmake 2013-12-02 00:33:22 UTC (rev 12796) +++ trunk/cmake/epa_build/configure_epa.cmake 2013-12-02 00:39:22 UTC (rev 12797) @@ -70,7 +70,7 @@ # Configure the package file using the appropriate template file. if(config_type STREQUAL "autotools" OR config_type STREQUAL "tarball" OR config_type STREQUAL "cmake") - set(template_file template.bp.in) + set(template_file epa_CMakeLists.txt.in) else(config_type STREQUAL "autotools" OR config_type STREQUAL "tarball" OR config_type STREQUAL "cmake") message(FATAL_ERROR "incorrect config_type = ${config_type}") endif(config_type STREQUAL "autotools" OR config_type STREQUAL "tarball" OR config_type STREQUAL "cmake") @@ -80,6 +80,6 @@ endif(NOT package) file(MAKE_DIRECTORY ${package}) - configure_file(${template_file} ${package}/bp.cmake @ONLY) + configure_file(${template_file} ${package}/CMakeLists.txt @ONLY) endforeach(index RANGE 0 ${max_index}) This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ai...@us...> - 2013-12-02 00:33:24
|
Revision: 12796 http://sourceforge.net/p/plplot/code/12796 Author: airwin Date: 2013-12-02 00:33:22 +0000 (Mon, 02 Dec 2013) Log Message: ----------- Change the name of the file being patched from bp.cmake to CMakeLists.txt Modified Paths: -------------- trunk/cmake/epa_build/configured_pango.patch Modified: trunk/cmake/epa_build/configured_pango.patch =================================================================== --- trunk/cmake/epa_build/configured_pango.patch 2013-12-02 00:27:33 UTC (rev 12795) +++ trunk/cmake/epa_build/configured_pango.patch 2013-12-02 00:33:22 UTC (rev 12796) @@ -1,7 +1,7 @@ -Index: itstool/bp.cmake +Index: itstool/CMakeLists.txt =================================================================== ---- itstool/bp.cmake (revision 12790) -+++ itstool/bp.cmake (working copy) +--- itstool/CMakeLists.txt (revision 12790) ++++ itstool/CMakeLists.txt (working copy) @@ -64,7 +64,6 @@ set(${BP_PACKAGE}_URL http://files.itstool.org/itstool/itstool-1.2.0.tar.bz2) set(${BP_PACKAGE}_DOWNLOAD_HASH_TYPE SHA256) This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ai...@us...> - 2013-12-02 00:27:36
|
Revision: 12795 http://sourceforge.net/p/plplot/code/12795 Author: airwin Date: 2013-12-02 00:27:33 +0000 (Mon, 02 Dec 2013) Log Message: ----------- Rename template.bp.in ==> epa_CMakeLists.txt.in configure_bp.cmake ==> configure_epa.cmake Modified Paths: -------------- trunk/cmake/epa_build/README.developers Added Paths: ----------- trunk/cmake/epa_build/configure_epa.cmake trunk/cmake/epa_build/epa_CMakeLists.txt.in Removed Paths: ------------- trunk/cmake/epa_build/configure_bp.cmake trunk/cmake/epa_build/template.bp.in Modified: trunk/cmake/epa_build/README.developers =================================================================== --- trunk/cmake/epa_build/README.developers 2013-12-02 00:16:47 UTC (rev 12794) +++ trunk/cmake/epa_build/README.developers 2013-12-02 00:27:33 UTC (rev 12795) @@ -69,7 +69,7 @@ # Finally to actually generate build configurations for build_packages run # the following command. -cmake -DFILENAME:FILEPATH=pango_packages.data -P configure_bp.cmake +cmake -DFILENAME:FILEPATH=pango_packages.data -P configure_epa.cmake # Patch generated configuration files. This patch file contains # additional changes that cannot be done via a patch to the *.xml file. @@ -112,4 +112,4 @@ # Generate the "good" package configurations. -cmake -DFILENAME:FILEPATH=add_packages.data -P configure_bp.cmake +cmake -DFILENAME:FILEPATH=add_packages.data -P configure_epa.cmake Deleted: trunk/cmake/epa_build/configure_bp.cmake =================================================================== --- trunk/cmake/epa_build/configure_bp.cmake 2013-12-02 00:16:47 UTC (rev 12794) +++ trunk/cmake/epa_build/configure_bp.cmake 2013-12-02 00:27:33 UTC (rev 12795) @@ -1,85 +0,0 @@ -cmake_policy(SET CMP0007 NEW) - -# List of dependencies (mostly these are build-tools) which should be -# ignored. -set(ignored_dependencies_LIST - # build tools - pkg-config - bison - flex - python2-devel - # dependencies which we want to ignore - # ignore libXft since that is an X library that - # presumably won't be needed on Windows systems. - libXft -) - -file(STRINGS ${FILENAME} lines) -list(LENGTH lines nlines) -# There are currently groups of 9 lines for each -# gtk software package specifying the required -# build-configuration information. -set(group_size 12) -set(remove_indices 0 1 2 3 4 5 6 7 8 9 10 11) -math(EXPR max_index "(${nlines}/${group_size}) - 1") -foreach(index RANGE 0 ${max_index}) - list(GET lines 0 package) - list(GET lines 1 config_type) - list(GET lines 2 supports_non_srcdir_builds) - list(GET lines 3 supports_parallel_builds) - list(GET lines 4 config_arguments) - list(GET lines 5 make_arguments) - list(GET lines 6 download_hash_type) - list(GET lines 7 download_hash) - list(GET lines 8 download_href) - list(GET lines 9 dependencies) - list(GET lines 10 suggests) - list(GET lines 11 after) - list(REMOVE_AT lines ${remove_indices}) - - if(supports_non_srcdir_builds) - set(BUILD_IN_SOURCE OFF) - else(supports_non_srcdir_builds) - set(BUILD_IN_SOURCE ON) - endif(supports_non_srcdir_builds) - - if(supports_parallel_builds) - set(BUILD_COMMAND BP_PARALLEL_MAKE_COMMAND) - else(supports_parallel_builds) - set(BUILD_COMMAND BP_MAKE_COMMAND) - endif(supports_parallel_builds) - - # Extra CFLAGS fixups for individual packages. - if(package STREQUAL "glib") - set(MSYS_EXTRA_CFLAGS "-march=native ") - set(UNIX_EXTRA_CFLAGS) - else(package STREQUAL "glib") - set(MSYS_EXTRA_CFLAGS) - set(UNIX_EXTRA_CFLAGS) - endif(package STREQUAL "glib") - - # Turn colon-separated lists into official CMake lists. - string(REGEX REPLACE ":" ";" dependencies "${dependencies}") - string(REGEX REPLACE ":" ";" suggests "${suggests}") - string(REGEX REPLACE ":" ";" after "${after}") - - # For now, ignore "after" and treat "dependencies" and "suggests" the same - if(suggests) - list(APPEND dependencies "${suggests}") - endif(suggests) - - # Configure the package file using the appropriate template file. - if(config_type STREQUAL "autotools" OR config_type STREQUAL "tarball" OR config_type STREQUAL "cmake") - set(template_file template.bp.in) - else(config_type STREQUAL "autotools" OR config_type STREQUAL "tarball" OR config_type STREQUAL "cmake") - message(FATAL_ERROR "incorrect config_type = ${config_type}") - endif(config_type STREQUAL "autotools" OR config_type STREQUAL "tarball" OR config_type STREQUAL "cmake") - - if(NOT package) - message(FATAL_ERROR "bad package = ${package}") - endif(NOT package) - - file(MAKE_DIRECTORY ${package}) - configure_file(${template_file} ${package}/bp.cmake @ONLY) - -endforeach(index RANGE 0 ${max_index}) Copied: trunk/cmake/epa_build/configure_epa.cmake (from rev 12783, trunk/cmake/epa_build/configure_bp.cmake) =================================================================== --- trunk/cmake/epa_build/configure_epa.cmake (rev 0) +++ trunk/cmake/epa_build/configure_epa.cmake 2013-12-02 00:27:33 UTC (rev 12795) @@ -0,0 +1,85 @@ +cmake_policy(SET CMP0007 NEW) + +# List of dependencies (mostly these are build-tools) which should be +# ignored. +set(ignored_dependencies_LIST + # build tools + pkg-config + bison + flex + python2-devel + # dependencies which we want to ignore + # ignore libXft since that is an X library that + # presumably won't be needed on Windows systems. + libXft +) + +file(STRINGS ${FILENAME} lines) +list(LENGTH lines nlines) +# There are currently groups of 9 lines for each +# gtk software package specifying the required +# build-configuration information. +set(group_size 12) +set(remove_indices 0 1 2 3 4 5 6 7 8 9 10 11) +math(EXPR max_index "(${nlines}/${group_size}) - 1") +foreach(index RANGE 0 ${max_index}) + list(GET lines 0 package) + list(GET lines 1 config_type) + list(GET lines 2 supports_non_srcdir_builds) + list(GET lines 3 supports_parallel_builds) + list(GET lines 4 config_arguments) + list(GET lines 5 make_arguments) + list(GET lines 6 download_hash_type) + list(GET lines 7 download_hash) + list(GET lines 8 download_href) + list(GET lines 9 dependencies) + list(GET lines 10 suggests) + list(GET lines 11 after) + list(REMOVE_AT lines ${remove_indices}) + + if(supports_non_srcdir_builds) + set(BUILD_IN_SOURCE OFF) + else(supports_non_srcdir_builds) + set(BUILD_IN_SOURCE ON) + endif(supports_non_srcdir_builds) + + if(supports_parallel_builds) + set(BUILD_COMMAND BP_PARALLEL_MAKE_COMMAND) + else(supports_parallel_builds) + set(BUILD_COMMAND BP_MAKE_COMMAND) + endif(supports_parallel_builds) + + # Extra CFLAGS fixups for individual packages. + if(package STREQUAL "glib") + set(MSYS_EXTRA_CFLAGS "-march=native ") + set(UNIX_EXTRA_CFLAGS) + else(package STREQUAL "glib") + set(MSYS_EXTRA_CFLAGS) + set(UNIX_EXTRA_CFLAGS) + endif(package STREQUAL "glib") + + # Turn colon-separated lists into official CMake lists. + string(REGEX REPLACE ":" ";" dependencies "${dependencies}") + string(REGEX REPLACE ":" ";" suggests "${suggests}") + string(REGEX REPLACE ":" ";" after "${after}") + + # For now, ignore "after" and treat "dependencies" and "suggests" the same + if(suggests) + list(APPEND dependencies "${suggests}") + endif(suggests) + + # Configure the package file using the appropriate template file. + if(config_type STREQUAL "autotools" OR config_type STREQUAL "tarball" OR config_type STREQUAL "cmake") + set(template_file template.bp.in) + else(config_type STREQUAL "autotools" OR config_type STREQUAL "tarball" OR config_type STREQUAL "cmake") + message(FATAL_ERROR "incorrect config_type = ${config_type}") + endif(config_type STREQUAL "autotools" OR config_type STREQUAL "tarball" OR config_type STREQUAL "cmake") + + if(NOT package) + message(FATAL_ERROR "bad package = ${package}") + endif(NOT package) + + file(MAKE_DIRECTORY ${package}) + configure_file(${template_file} ${package}/bp.cmake @ONLY) + +endforeach(index RANGE 0 ${max_index}) Copied: trunk/cmake/epa_build/epa_CMakeLists.txt.in (from rev 12790, trunk/cmake/epa_build/template.bp.in) =================================================================== --- trunk/cmake/epa_build/epa_CMakeLists.txt.in (rev 0) +++ trunk/cmake/epa_build/epa_CMakeLists.txt.in 2013-12-02 00:27:33 UTC (rev 12795) @@ -0,0 +1,104 @@ +# @package@/bp.cmake +# N.B. this file is generated so if you edit it you will lose all your +# changes the next time it is generated (typically by running +# either/both the update_added_packages.sh or update_pango_packages.sh +# scripts). If those scripts do not provide good results, then +# consider changing their source files (e.g., by editing the files +# used in those scripts) or add a patch to be run by those scripts). + +# This file should be included directly or indirectly from a top-level +# CMakeLists.txt file to configure the build of @package@. + +# Copyright (C) 2013 Alan W. Irwin + +# This file is free software; you can redistribute it and/or +# modify it under the terms of the GNU Lesser General Public +# License as published by the Free Software Foundation; either +# version 2.1 of the License, or (at your option) any later version. + +# This file is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# Lesser General Public License for more details. + +# You should have received a copy of the GNU Lesser General Public +# License along with this file; if not, write to the Free Software +# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + +# The top-level CMakeLists.txt file that includes this file should +# have run "include(ExternalProject)" and set EP_BASE variable (and +# corresponding directory property) as well as various BP variables +# used below that configure how the External_Project functions +# operate. + +# Protect against configuring a build twice in one CMake call +if(@package@_configured) + return() +endif(@package@_configured) +set(@package@_configured ON) + +# List of dependencies (most of which are build tools) which should be +# ignored. +set(BP_ignored_dependencies_LIST @ignored_dependencies_LIST@ ${extra_ignored_dependencies_list}) + +set(@package@_dependencies_LIST @dependencies@) +# Remove dependencies that should be ignored. +if(@package@_dependencies_LIST) + list(REMOVE_ITEM @package@_dependencies_LIST ${BP_ignored_dependencies_LIST}) +endif(@package@_dependencies_LIST) + +set(@package@_dependencies_targets) +foreach(build_configuration ${@package@_dependencies_LIST}) + if(EXISTS ${CMAKE_SOURCE_DIR}/${build_configuration}/bp.cmake) + include(${build_configuration}/bp.cmake) + list(APPEND @package@_dependencies_targets build_${build_configuration}) + else(EXISTS ${CMAKE_SOURCE_DIR}/${build_configuration}/bp.cmake) + message(STATUS "Warning: A build_configuration for ${build_configuration} does not exist so it is assumed this dependency of @package@ has been installed another way.") + endif(EXISTS ${CMAKE_SOURCE_DIR}/${build_configuration}/bp.cmake) +endforeach(build_configuration ${@package@_dependences_LIST}) + +# This can be safely done only after above includes. +set(BP_PACKAGE @package@) + +# Data that is related to downloads. +set(${BP_PACKAGE}_URL @download_href@) +set(${BP_PACKAGE}_DOWNLOAD_HASH_TYPE @download_hash_type@) +set(${BP_PACKAGE}_DOWNLOAD_HASH @download_hash@) + +# Data that is related to the PATH that must be used. +if(MSYS_PLATFORM) + #set(BP_PATH_NODLL "${BP_PATH}") + #set(BP_PATH "${EP_BASE}/Build/build_${BP_PACKAGE}/dll;${BP_PATH_NODLL}") + determine_msys_path(BP_PATH "${BP_PATH}") + # Must have all elements of env command in MSYS platform form + determine_msys_path(source_PATH "${EP_BASE}/Source/build_${BP_PACKAGE}") + set(${BP_PACKAGE}_SET_CFLAGS "CFLAGS=@MSYS_EXTRA_CFLAGS@$ENV{CFLAGS}") +else(MSYS_PLATFORM) + set(source_PATH "${EP_BASE}/Source/build_${BP_PACKAGE}") + set(${BP_PACKAGE}_SET_CFLAGS "CFLAGS=@UNIX_EXTRA_CFLAGS@$ENV{CFLAGS}") +endif(MSYS_PLATFORM) +#message(STATUS "modified BP_PATH for ${BP_PACKAGE} = ${BP_PATH}") + +set(${BP_PACKAGE}_SET_CXXFLAGS "CXXFLAGS=$ENV{CXXFLAGS}") + +# Drop -fvisibility=hidden since that option does not work for a +# number of software packages that are configured automatically using +# this template. +string(REGEX REPLACE "-fvisibility=hidden" "" ${BP_PACKAGE}_SET_CFLAGS "${${BP_PACKAGE}_SET_CFLAGS}") +string(REGEX REPLACE "-fvisibility=hidden" "" ${BP_PACKAGE}_SET_CXXFLAGS "${${BP_PACKAGE}_SET_CXXFLAGS}") + +ExternalProject_Add( + build_${BP_PACKAGE} + DEPENDS ${${BP_PACKAGE}_dependencies_targets} + URL ${${BP_PACKAGE}_URL} + URL_HASH ${${BP_PACKAGE}_DOWNLOAD_HASH_TYPE}=${${BP_PACKAGE}_DOWNLOAD_HASH} + CONFIGURE_COMMAND ${ENV_EXECUTABLE} PATH=${BP_PATH} ${${BP_PACKAGE}_SET_CFLAGS} ${${BP_PACKAGE}_SET_CXXFLAGS} ${source_PATH}/${BP_CONFIGURE_COMMAND} @config_arguments@ + BUILD_COMMAND ${ENV_EXECUTABLE} PATH=${BP_PATH} ${@BUILD_COMMAND@} @make_arguments@ + BUILD_IN_SOURCE @BUILD_IN_SOURCE@ + INSTALL_COMMAND ${ENV_EXECUTABLE} PATH=${BP_PATH} ${@BUILD_COMMAND@} @make_arguments@ install + ) + +list(APPEND build_target_LIST build_${BP_PACKAGE}) +# Restore BP_PATH to original state. +set(BP_PATH "${BP_ORIGINAL_NATIVE_PATH}") +#message(STATUS "${BP_PACKAGE} restored original BP_PATH = ${BP_PATH}") Deleted: trunk/cmake/epa_build/template.bp.in =================================================================== --- trunk/cmake/epa_build/template.bp.in 2013-12-02 00:16:47 UTC (rev 12794) +++ trunk/cmake/epa_build/template.bp.in 2013-12-02 00:27:33 UTC (rev 12795) @@ -1,104 +0,0 @@ -# @package@/bp.cmake -# N.B. this file is generated so if you edit it you will lose all your -# changes the next time it is generated (typically by running -# either/both the update_added_packages.sh or update_pango_packages.sh -# scripts). If those scripts do not provide good results, then -# consider changing their source files (e.g., by editing the files -# used in those scripts) or add a patch to be run by those scripts). - -# This file should be included directly or indirectly from a top-level -# CMakeLists.txt file to configure the build of @package@. - -# Copyright (C) 2013 Alan W. Irwin - -# This file is free software; you can redistribute it and/or -# modify it under the terms of the GNU Lesser General Public -# License as published by the Free Software Foundation; either -# version 2.1 of the License, or (at your option) any later version. - -# This file is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -# Lesser General Public License for more details. - -# You should have received a copy of the GNU Lesser General Public -# License along with this file; if not, write to the Free Software -# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA - -# The top-level CMakeLists.txt file that includes this file should -# have run "include(ExternalProject)" and set EP_BASE variable (and -# corresponding directory property) as well as various BP variables -# used below that configure how the External_Project functions -# operate. - -# Protect against configuring a build twice in one CMake call -if(@package@_configured) - return() -endif(@package@_configured) -set(@package@_configured ON) - -# List of dependencies (most of which are build tools) which should be -# ignored. -set(BP_ignored_dependencies_LIST @ignored_dependencies_LIST@ ${extra_ignored_dependencies_list}) - -set(@package@_dependencies_LIST @dependencies@) -# Remove dependencies that should be ignored. -if(@package@_dependencies_LIST) - list(REMOVE_ITEM @package@_dependencies_LIST ${BP_ignored_dependencies_LIST}) -endif(@package@_dependencies_LIST) - -set(@package@_dependencies_targets) -foreach(build_configuration ${@package@_dependencies_LIST}) - if(EXISTS ${CMAKE_SOURCE_DIR}/${build_configuration}/bp.cmake) - include(${build_configuration}/bp.cmake) - list(APPEND @package@_dependencies_targets build_${build_configuration}) - else(EXISTS ${CMAKE_SOURCE_DIR}/${build_configuration}/bp.cmake) - message(STATUS "Warning: A build_configuration for ${build_configuration} does not exist so it is assumed this dependency of @package@ has been installed another way.") - endif(EXISTS ${CMAKE_SOURCE_DIR}/${build_configuration}/bp.cmake) -endforeach(build_configuration ${@package@_dependences_LIST}) - -# This can be safely done only after above includes. -set(BP_PACKAGE @package@) - -# Data that is related to downloads. -set(${BP_PACKAGE}_URL @download_href@) -set(${BP_PACKAGE}_DOWNLOAD_HASH_TYPE @download_hash_type@) -set(${BP_PACKAGE}_DOWNLOAD_HASH @download_hash@) - -# Data that is related to the PATH that must be used. -if(MSYS_PLATFORM) - #set(BP_PATH_NODLL "${BP_PATH}") - #set(BP_PATH "${EP_BASE}/Build/build_${BP_PACKAGE}/dll;${BP_PATH_NODLL}") - determine_msys_path(BP_PATH "${BP_PATH}") - # Must have all elements of env command in MSYS platform form - determine_msys_path(source_PATH "${EP_BASE}/Source/build_${BP_PACKAGE}") - set(${BP_PACKAGE}_SET_CFLAGS "CFLAGS=@MSYS_EXTRA_CFLAGS@$ENV{CFLAGS}") -else(MSYS_PLATFORM) - set(source_PATH "${EP_BASE}/Source/build_${BP_PACKAGE}") - set(${BP_PACKAGE}_SET_CFLAGS "CFLAGS=@UNIX_EXTRA_CFLAGS@$ENV{CFLAGS}") -endif(MSYS_PLATFORM) -#message(STATUS "modified BP_PATH for ${BP_PACKAGE} = ${BP_PATH}") - -set(${BP_PACKAGE}_SET_CXXFLAGS "CXXFLAGS=$ENV{CXXFLAGS}") - -# Drop -fvisibility=hidden since that option does not work for a -# number of software packages that are configured automatically using -# this template. -string(REGEX REPLACE "-fvisibility=hidden" "" ${BP_PACKAGE}_SET_CFLAGS "${${BP_PACKAGE}_SET_CFLAGS}") -string(REGEX REPLACE "-fvisibility=hidden" "" ${BP_PACKAGE}_SET_CXXFLAGS "${${BP_PACKAGE}_SET_CXXFLAGS}") - -ExternalProject_Add( - build_${BP_PACKAGE} - DEPENDS ${${BP_PACKAGE}_dependencies_targets} - URL ${${BP_PACKAGE}_URL} - URL_HASH ${${BP_PACKAGE}_DOWNLOAD_HASH_TYPE}=${${BP_PACKAGE}_DOWNLOAD_HASH} - CONFIGURE_COMMAND ${ENV_EXECUTABLE} PATH=${BP_PATH} ${${BP_PACKAGE}_SET_CFLAGS} ${${BP_PACKAGE}_SET_CXXFLAGS} ${source_PATH}/${BP_CONFIGURE_COMMAND} @config_arguments@ - BUILD_COMMAND ${ENV_EXECUTABLE} PATH=${BP_PATH} ${@BUILD_COMMAND@} @make_arguments@ - BUILD_IN_SOURCE @BUILD_IN_SOURCE@ - INSTALL_COMMAND ${ENV_EXECUTABLE} PATH=${BP_PATH} ${@BUILD_COMMAND@} @make_arguments@ install - ) - -list(APPEND build_target_LIST build_${BP_PACKAGE}) -# Restore BP_PATH to original state. -set(BP_PATH "${BP_ORIGINAL_NATIVE_PATH}") -#message(STATUS "${BP_PACKAGE} restored original BP_PATH = ${BP_PATH}") This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ai...@us...> - 2013-12-02 00:16:55
|
Revision: 12794 http://sourceforge.net/p/plplot/code/12794 Author: airwin Date: 2013-12-02 00:16:47 +0000 (Mon, 02 Dec 2013) Log Message: ----------- In preparation for the "add_subdirectory" reorganization of epa_build rename all existing */bp.cmake files as */CMakeLists.txt files. N.B. this commit breaks the epa_build project which should not be expected to work again until the final commit in this series of changes which should implement using add_subdirectory to access the CMake logic in these (newly renamed) */CMakeLists.txt files without the variable scope issues that occurred for the previous "include */bp.cmake" approach. Added Paths: ----------- trunk/cmake/epa_build/cairo/CMakeLists.txt trunk/cmake/epa_build/cmake/CMakeLists.txt trunk/cmake/epa_build/docbook-xml/CMakeLists.txt trunk/cmake/epa_build/docbook-xsl/CMakeLists.txt trunk/cmake/epa_build/fontconfig/CMakeLists.txt trunk/cmake/epa_build/glib/CMakeLists.txt trunk/cmake/epa_build/gobject-introspection/CMakeLists.txt trunk/cmake/epa_build/gperf/CMakeLists.txt trunk/cmake/epa_build/gtk-doc/CMakeLists.txt trunk/cmake/epa_build/harfbuzz/CMakeLists.txt trunk/cmake/epa_build/intltool/CMakeLists.txt trunk/cmake/epa_build/itcl3/CMakeLists.txt trunk/cmake/epa_build/itk/CMakeLists.txt trunk/cmake/epa_build/itk3/CMakeLists.txt trunk/cmake/epa_build/itstool/CMakeLists.txt trunk/cmake/epa_build/iwidgets/CMakeLists.txt trunk/cmake/epa_build/libagg/CMakeLists.txt trunk/cmake/epa_build/libffi/CMakeLists.txt trunk/cmake/epa_build/libharu/CMakeLists.txt trunk/cmake/epa_build/libpcre/CMakeLists.txt trunk/cmake/epa_build/libqhull/CMakeLists.txt trunk/cmake/epa_build/libxml2/CMakeLists.txt trunk/cmake/epa_build/libxslt/CMakeLists.txt trunk/cmake/epa_build/ndiff/CMakeLists.txt trunk/cmake/epa_build/pango/CMakeLists.txt trunk/cmake/epa_build/pixman/CMakeLists.txt trunk/cmake/epa_build/pkg-config/CMakeLists.txt trunk/cmake/epa_build/plplot/CMakeLists.txt trunk/cmake/epa_build/ragel/CMakeLists.txt trunk/cmake/epa_build/shapelib/CMakeLists.txt trunk/cmake/epa_build/subversion/CMakeLists.txt trunk/cmake/epa_build/swig/CMakeLists.txt trunk/cmake/epa_build/tcl/CMakeLists.txt trunk/cmake/epa_build/tk/CMakeLists.txt trunk/cmake/epa_build/wxwidgets/CMakeLists.txt trunk/cmake/epa_build/xmlcatalog-wrapper/CMakeLists.txt trunk/cmake/epa_build/yelp-tools/CMakeLists.txt trunk/cmake/epa_build/yelp-xsl/CMakeLists.txt Removed Paths: ------------- trunk/cmake/epa_build/cairo/bp.cmake trunk/cmake/epa_build/cmake/bp.cmake trunk/cmake/epa_build/docbook-xml/bp.cmake trunk/cmake/epa_build/docbook-xsl/bp.cmake trunk/cmake/epa_build/fontconfig/bp.cmake trunk/cmake/epa_build/glib/bp.cmake trunk/cmake/epa_build/gobject-introspection/bp.cmake trunk/cmake/epa_build/gperf/bp.cmake trunk/cmake/epa_build/gtk-doc/bp.cmake trunk/cmake/epa_build/harfbuzz/bp.cmake trunk/cmake/epa_build/intltool/bp.cmake trunk/cmake/epa_build/itcl3/bp.cmake trunk/cmake/epa_build/itk/bp.cmake trunk/cmake/epa_build/itk3/bp.cmake trunk/cmake/epa_build/itstool/bp.cmake trunk/cmake/epa_build/iwidgets/bp.cmake trunk/cmake/epa_build/libagg/bp.cmake trunk/cmake/epa_build/libffi/bp.cmake trunk/cmake/epa_build/libharu/bp.cmake trunk/cmake/epa_build/libpcre/bp.cmake trunk/cmake/epa_build/libqhull/bp.cmake trunk/cmake/epa_build/libxml2/bp.cmake trunk/cmake/epa_build/libxslt/bp.cmake trunk/cmake/epa_build/ndiff/bp.cmake trunk/cmake/epa_build/pango/bp.cmake trunk/cmake/epa_build/pixman/bp.cmake trunk/cmake/epa_build/pkg-config/bp.cmake trunk/cmake/epa_build/plplot/bp.cmake trunk/cmake/epa_build/ragel/bp.cmake trunk/cmake/epa_build/shapelib/bp.cmake trunk/cmake/epa_build/subversion/bp.cmake trunk/cmake/epa_build/swig/bp.cmake trunk/cmake/epa_build/tcl/bp.cmake trunk/cmake/epa_build/tk/bp.cmake trunk/cmake/epa_build/wxwidgets/bp.cmake trunk/cmake/epa_build/xmlcatalog-wrapper/bp.cmake trunk/cmake/epa_build/yelp-tools/bp.cmake trunk/cmake/epa_build/yelp-xsl/bp.cmake Copied: trunk/cmake/epa_build/cairo/CMakeLists.txt (from rev 12790, trunk/cmake/epa_build/cairo/bp.cmake) =================================================================== --- trunk/cmake/epa_build/cairo/CMakeLists.txt (rev 0) +++ trunk/cmake/epa_build/cairo/CMakeLists.txt 2013-12-02 00:16:47 UTC (rev 12794) @@ -0,0 +1,104 @@ +# cairo/bp.cmake +# N.B. this file is generated so if you edit it you will lose all your +# changes the next time it is generated (typically by running +# either/both the update_added_packages.sh or update_pango_packages.sh +# scripts). If those scripts do not provide good results, then +# consider changing their source files (e.g., by editing the files +# used in those scripts) or add a patch to be run by those scripts). + +# This file should be included directly or indirectly from a top-level +# CMakeLists.txt file to configure the build of cairo. + +# Copyright (C) 2013 Alan W. Irwin + +# This file is free software; you can redistribute it and/or +# modify it under the terms of the GNU Lesser General Public +# License as published by the Free Software Foundation; either +# version 2.1 of the License, or (at your option) any later version. + +# This file is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# Lesser General Public License for more details. + +# You should have received a copy of the GNU Lesser General Public +# License along with this file; if not, write to the Free Software +# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + +# The top-level CMakeLists.txt file that includes this file should +# have run "include(ExternalProject)" and set EP_BASE variable (and +# corresponding directory property) as well as various BP variables +# used below that configure how the External_Project functions +# operate. + +# Protect against configuring a build twice in one CMake call +if(cairo_configured) + return() +endif(cairo_configured) +set(cairo_configured ON) + +# List of dependencies (most of which are build tools) which should be +# ignored. +set(BP_ignored_dependencies_LIST pkg-config;bison;flex;python2-devel;libXft ${extra_ignored_dependencies_list}) + +set(cairo_dependencies_LIST fontconfig;gtk-doc;pixman;pkg-config) +# Remove dependencies that should be ignored. +if(cairo_dependencies_LIST) + list(REMOVE_ITEM cairo_dependencies_LIST ${BP_ignored_dependencies_LIST}) +endif(cairo_dependencies_LIST) + +set(cairo_dependencies_targets) +foreach(build_configuration ${cairo_dependencies_LIST}) + if(EXISTS ${CMAKE_SOURCE_DIR}/${build_configuration}/bp.cmake) + include(${build_configuration}/bp.cmake) + list(APPEND cairo_dependencies_targets build_${build_configuration}) + else(EXISTS ${CMAKE_SOURCE_DIR}/${build_configuration}/bp.cmake) + message(STATUS "Warning: A build_configuration for ${build_configuration} does not exist so it is assumed this dependency of cairo has been installed another way.") + endif(EXISTS ${CMAKE_SOURCE_DIR}/${build_configuration}/bp.cmake) +endforeach(build_configuration ${cairo_dependences_LIST}) + +# This can be safely done only after above includes. +set(BP_PACKAGE cairo) + +# Data that is related to downloads. +set(${BP_PACKAGE}_URL http://cairographics.org/releases/cairo-1.12.14.tar.xz) +set(${BP_PACKAGE}_DOWNLOAD_HASH_TYPE SHA256) +set(${BP_PACKAGE}_DOWNLOAD_HASH 96d0d1e3f9b74d2ca3469ff187c5e5f25649b1ad35cf06f4f3a83847dff4ac13) + +# Data that is related to the PATH that must be used. +if(MSYS_PLATFORM) + #set(BP_PATH_NODLL "${BP_PATH}") + #set(BP_PATH "${EP_BASE}/Build/build_${BP_PACKAGE}/dll;${BP_PATH_NODLL}") + determine_msys_path(BP_PATH "${BP_PATH}") + # Must have all elements of env command in MSYS platform form + determine_msys_path(source_PATH "${EP_BASE}/Source/build_${BP_PACKAGE}") + set(${BP_PACKAGE}_SET_CFLAGS "CFLAGS=$ENV{CFLAGS}") +else(MSYS_PLATFORM) + set(source_PATH "${EP_BASE}/Source/build_${BP_PACKAGE}") + set(${BP_PACKAGE}_SET_CFLAGS "CFLAGS=$ENV{CFLAGS}") +endif(MSYS_PLATFORM) +#message(STATUS "modified BP_PATH for ${BP_PACKAGE} = ${BP_PATH}") + +set(${BP_PACKAGE}_SET_CXXFLAGS "CXXFLAGS=$ENV{CXXFLAGS}") + +# Drop -fvisibility=hidden since that option does not work for a +# number of software packages that are configured automatically using +# this template. +string(REGEX REPLACE "-fvisibility=hidden" "" ${BP_PACKAGE}_SET_CFLAGS "${${BP_PACKAGE}_SET_CFLAGS}") +string(REGEX REPLACE "-fvisibility=hidden" "" ${BP_PACKAGE}_SET_CXXFLAGS "${${BP_PACKAGE}_SET_CXXFLAGS}") + +ExternalProject_Add( + build_${BP_PACKAGE} + DEPENDS ${${BP_PACKAGE}_dependencies_targets} + URL ${${BP_PACKAGE}_URL} + URL_HASH ${${BP_PACKAGE}_DOWNLOAD_HASH_TYPE}=${${BP_PACKAGE}_DOWNLOAD_HASH} + CONFIGURE_COMMAND ${ENV_EXECUTABLE} PATH=${BP_PATH} ${${BP_PACKAGE}_SET_CFLAGS} ${${BP_PACKAGE}_SET_CXXFLAGS} ${source_PATH}/${BP_CONFIGURE_COMMAND} --enable-xlib + BUILD_COMMAND ${ENV_EXECUTABLE} PATH=${BP_PATH} ${BP_PARALLEL_MAKE_COMMAND} + BUILD_IN_SOURCE OFF + INSTALL_COMMAND ${ENV_EXECUTABLE} PATH=${BP_PATH} ${BP_PARALLEL_MAKE_COMMAND} install + ) + +list(APPEND build_target_LIST build_${BP_PACKAGE}) +# Restore BP_PATH to original state. +set(BP_PATH "${BP_ORIGINAL_NATIVE_PATH}") +#message(STATUS "${BP_PACKAGE} restored original BP_PATH = ${BP_PATH}") Deleted: trunk/cmake/epa_build/cairo/bp.cmake =================================================================== --- trunk/cmake/epa_build/cairo/bp.cmake 2013-12-01 22:58:49 UTC (rev 12793) +++ trunk/cmake/epa_build/cairo/bp.cmake 2013-12-02 00:16:47 UTC (rev 12794) @@ -1,104 +0,0 @@ -# cairo/bp.cmake -# N.B. this file is generated so if you edit it you will lose all your -# changes the next time it is generated (typically by running -# either/both the update_added_packages.sh or update_pango_packages.sh -# scripts). If those scripts do not provide good results, then -# consider changing their source files (e.g., by editing the files -# used in those scripts) or add a patch to be run by those scripts). - -# This file should be included directly or indirectly from a top-level -# CMakeLists.txt file to configure the build of cairo. - -# Copyright (C) 2013 Alan W. Irwin - -# This file is free software; you can redistribute it and/or -# modify it under the terms of the GNU Lesser General Public -# License as published by the Free Software Foundation; either -# version 2.1 of the License, or (at your option) any later version. - -# This file is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -# Lesser General Public License for more details. - -# You should have received a copy of the GNU Lesser General Public -# License along with this file; if not, write to the Free Software -# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA - -# The top-level CMakeLists.txt file that includes this file should -# have run "include(ExternalProject)" and set EP_BASE variable (and -# corresponding directory property) as well as various BP variables -# used below that configure how the External_Project functions -# operate. - -# Protect against configuring a build twice in one CMake call -if(cairo_configured) - return() -endif(cairo_configured) -set(cairo_configured ON) - -# List of dependencies (most of which are build tools) which should be -# ignored. -set(BP_ignored_dependencies_LIST pkg-config;bison;flex;python2-devel;libXft ${extra_ignored_dependencies_list}) - -set(cairo_dependencies_LIST fontconfig;gtk-doc;pixman;pkg-config) -# Remove dependencies that should be ignored. -if(cairo_dependencies_LIST) - list(REMOVE_ITEM cairo_dependencies_LIST ${BP_ignored_dependencies_LIST}) -endif(cairo_dependencies_LIST) - -set(cairo_dependencies_targets) -foreach(build_configuration ${cairo_dependencies_LIST}) - if(EXISTS ${CMAKE_SOURCE_DIR}/${build_configuration}/bp.cmake) - include(${build_configuration}/bp.cmake) - list(APPEND cairo_dependencies_targets build_${build_configuration}) - else(EXISTS ${CMAKE_SOURCE_DIR}/${build_configuration}/bp.cmake) - message(STATUS "Warning: A build_configuration for ${build_configuration} does not exist so it is assumed this dependency of cairo has been installed another way.") - endif(EXISTS ${CMAKE_SOURCE_DIR}/${build_configuration}/bp.cmake) -endforeach(build_configuration ${cairo_dependences_LIST}) - -# This can be safely done only after above includes. -set(BP_PACKAGE cairo) - -# Data that is related to downloads. -set(${BP_PACKAGE}_URL http://cairographics.org/releases/cairo-1.12.14.tar.xz) -set(${BP_PACKAGE}_DOWNLOAD_HASH_TYPE SHA256) -set(${BP_PACKAGE}_DOWNLOAD_HASH 96d0d1e3f9b74d2ca3469ff187c5e5f25649b1ad35cf06f4f3a83847dff4ac13) - -# Data that is related to the PATH that must be used. -if(MSYS_PLATFORM) - #set(BP_PATH_NODLL "${BP_PATH}") - #set(BP_PATH "${EP_BASE}/Build/build_${BP_PACKAGE}/dll;${BP_PATH_NODLL}") - determine_msys_path(BP_PATH "${BP_PATH}") - # Must have all elements of env command in MSYS platform form - determine_msys_path(source_PATH "${EP_BASE}/Source/build_${BP_PACKAGE}") - set(${BP_PACKAGE}_SET_CFLAGS "CFLAGS=$ENV{CFLAGS}") -else(MSYS_PLATFORM) - set(source_PATH "${EP_BASE}/Source/build_${BP_PACKAGE}") - set(${BP_PACKAGE}_SET_CFLAGS "CFLAGS=$ENV{CFLAGS}") -endif(MSYS_PLATFORM) -#message(STATUS "modified BP_PATH for ${BP_PACKAGE} = ${BP_PATH}") - -set(${BP_PACKAGE}_SET_CXXFLAGS "CXXFLAGS=$ENV{CXXFLAGS}") - -# Drop -fvisibility=hidden since that option does not work for a -# number of software packages that are configured automatically using -# this template. -string(REGEX REPLACE "-fvisibility=hidden" "" ${BP_PACKAGE}_SET_CFLAGS "${${BP_PACKAGE}_SET_CFLAGS}") -string(REGEX REPLACE "-fvisibility=hidden" "" ${BP_PACKAGE}_SET_CXXFLAGS "${${BP_PACKAGE}_SET_CXXFLAGS}") - -ExternalProject_Add( - build_${BP_PACKAGE} - DEPENDS ${${BP_PACKAGE}_dependencies_targets} - URL ${${BP_PACKAGE}_URL} - URL_HASH ${${BP_PACKAGE}_DOWNLOAD_HASH_TYPE}=${${BP_PACKAGE}_DOWNLOAD_HASH} - CONFIGURE_COMMAND ${ENV_EXECUTABLE} PATH=${BP_PATH} ${${BP_PACKAGE}_SET_CFLAGS} ${${BP_PACKAGE}_SET_CXXFLAGS} ${source_PATH}/${BP_CONFIGURE_COMMAND} --enable-xlib - BUILD_COMMAND ${ENV_EXECUTABLE} PATH=${BP_PATH} ${BP_PARALLEL_MAKE_COMMAND} - BUILD_IN_SOURCE OFF - INSTALL_COMMAND ${ENV_EXECUTABLE} PATH=${BP_PATH} ${BP_PARALLEL_MAKE_COMMAND} install - ) - -list(APPEND build_target_LIST build_${BP_PACKAGE}) -# Restore BP_PATH to original state. -set(BP_PATH "${BP_ORIGINAL_NATIVE_PATH}") -#message(STATUS "${BP_PACKAGE} restored original BP_PATH = ${BP_PATH}") Copied: trunk/cmake/epa_build/cmake/CMakeLists.txt (from rev 12783, trunk/cmake/epa_build/cmake/bp.cmake) =================================================================== --- trunk/cmake/epa_build/cmake/CMakeLists.txt (rev 0) +++ trunk/cmake/epa_build/cmake/CMakeLists.txt 2013-12-02 00:16:47 UTC (rev 12794) @@ -0,0 +1,64 @@ +# cmake/bp.cmake +# This file should be included directly or indirectly from a top-level +# CMakeLists.txt file to configure the build of cmake. + +# Copyright (C) 2013 Alan W. Irwin + +# This file is free software; you can redistribute it and/or +# modify it under the terms of the GNU Lesser General Public +# License as published by the Free Software Foundation; either +# version 2.1 of the License, or (at your option) any later version. + +# This file is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# Lesser General Public License for more details. + +# You should have received a copy of the GNU Lesser General Public +# License along with this file; if not, write to the Free Software +# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + +# The top-level CMakeLists.txt file that includes this file should +# have run "include(ExternalProject)" and set EP_BASE variable (and +# corresponding directory property) as well as various BP variables +# used below that configure how the External_Project functions +# operate. + +set(BP_PACKAGE cmake) + +# Protect against configuring a build twice in one CMake call +if(${BP_PACKAGE}_configured) + return() +endif(${BP_PACKAGE}_configured) +set(${BP_PACKAGE}_configured ON) + +# Data that is related to downloads. +set(BP_CMAKE_DIR v2.8) +set(BP_CMAKE_VERSION 2.8.11.1) +set(${BP_PACKAGE}_URL http://www.cmake.org/files/${BP_CMAKE_DIR}/cmake-${BP_CMAKE_VERSION}.tar.gz) +set(${BP_PACKAGE}_URL_MD5 df5324a3b203373a9e0a04b924281a43) + +# Data that is related to the PATH that must be used. +if(MSYS_PLATFORM) + set(BP_PATH_NODLL "${BP_PATH}") + set(BP_PATH "${EP_BASE}/Build/build_${BP_PACKAGE}/dll;${BP_PATH_NODLL}") + determine_msys_path(BP_PATH "${BP_PATH}") + determine_msys_path(${BP_PACKAGE}_INSTALL_PREFIX "${CMAKE_INSTALL_PREFIX}") +else(MSYS_PLATFORM) + set(${BP_PACKAGE}_INSTALL_PREFIX "${CMAKE_INSTALL_PREFIX}") +endif(MSYS_PLATFORM) +#message(STATUS "modified BP_PATH for ${BP_PACKAGE} = ${BP_PATH}") + +ExternalProject_Add( + build_${BP_PACKAGE} + URL ${${BP_PACKAGE}_URL} + URL_MD5 ${${BP_PACKAGE}_URL_MD5} + CONFIGURE_COMMAND ${ENV_EXECUTABLE} PATH=${BP_PATH} CFLAGS=-O3 CXXFLAGS=-O3 ${SH_EXECUTABLE} ${EP_BASE}/Source/build_${BP_PACKAGE}/bootstrap --prefix=${${BP_PACKAGE}_INSTALL_PREFIX} --parallel=8 + BUILD_COMMAND ${ENV_EXECUTABLE} PATH=${BP_PATH} ${BP_PARALLEL_BUILD_COMMAND} + INSTALL_COMMAND ${ENV_EXECUTABLE} PATH=${BP_PATH} ${BP_PARALLEL_BUILD_COMMAND} install + ) + +list(APPEND build_target_LIST build_${BP_PACKAGE}) +# Restore BP_PATH to original state. +set(BP_PATH "${BP_ORIGINAL_NATIVE_PATH}") +#message(STATUS "${BP_PACKAGE} restored original BP_PATH = ${BP_PATH}") Deleted: trunk/cmake/epa_build/cmake/bp.cmake =================================================================== --- trunk/cmake/epa_build/cmake/bp.cmake 2013-12-01 22:58:49 UTC (rev 12793) +++ trunk/cmake/epa_build/cmake/bp.cmake 2013-12-02 00:16:47 UTC (rev 12794) @@ -1,64 +0,0 @@ -# cmake/bp.cmake -# This file should be included directly or indirectly from a top-level -# CMakeLists.txt file to configure the build of cmake. - -# Copyright (C) 2013 Alan W. Irwin - -# This file is free software; you can redistribute it and/or -# modify it under the terms of the GNU Lesser General Public -# License as published by the Free Software Foundation; either -# version 2.1 of the License, or (at your option) any later version. - -# This file is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -# Lesser General Public License for more details. - -# You should have received a copy of the GNU Lesser General Public -# License along with this file; if not, write to the Free Software -# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA - -# The top-level CMakeLists.txt file that includes this file should -# have run "include(ExternalProject)" and set EP_BASE variable (and -# corresponding directory property) as well as various BP variables -# used below that configure how the External_Project functions -# operate. - -set(BP_PACKAGE cmake) - -# Protect against configuring a build twice in one CMake call -if(${BP_PACKAGE}_configured) - return() -endif(${BP_PACKAGE}_configured) -set(${BP_PACKAGE}_configured ON) - -# Data that is related to downloads. -set(BP_CMAKE_DIR v2.8) -set(BP_CMAKE_VERSION 2.8.11.1) -set(${BP_PACKAGE}_URL http://www.cmake.org/files/${BP_CMAKE_DIR}/cmake-${BP_CMAKE_VERSION}.tar.gz) -set(${BP_PACKAGE}_URL_MD5 df5324a3b203373a9e0a04b924281a43) - -# Data that is related to the PATH that must be used. -if(MSYS_PLATFORM) - set(BP_PATH_NODLL "${BP_PATH}") - set(BP_PATH "${EP_BASE}/Build/build_${BP_PACKAGE}/dll;${BP_PATH_NODLL}") - determine_msys_path(BP_PATH "${BP_PATH}") - determine_msys_path(${BP_PACKAGE}_INSTALL_PREFIX "${CMAKE_INSTALL_PREFIX}") -else(MSYS_PLATFORM) - set(${BP_PACKAGE}_INSTALL_PREFIX "${CMAKE_INSTALL_PREFIX}") -endif(MSYS_PLATFORM) -#message(STATUS "modified BP_PATH for ${BP_PACKAGE} = ${BP_PATH}") - -ExternalProject_Add( - build_${BP_PACKAGE} - URL ${${BP_PACKAGE}_URL} - URL_MD5 ${${BP_PACKAGE}_URL_MD5} - CONFIGURE_COMMAND ${ENV_EXECUTABLE} PATH=${BP_PATH} CFLAGS=-O3 CXXFLAGS=-O3 ${SH_EXECUTABLE} ${EP_BASE}/Source/build_${BP_PACKAGE}/bootstrap --prefix=${${BP_PACKAGE}_INSTALL_PREFIX} --parallel=8 - BUILD_COMMAND ${ENV_EXECUTABLE} PATH=${BP_PATH} ${BP_PARALLEL_BUILD_COMMAND} - INSTALL_COMMAND ${ENV_EXECUTABLE} PATH=${BP_PATH} ${BP_PARALLEL_BUILD_COMMAND} install - ) - -list(APPEND build_target_LIST build_${BP_PACKAGE}) -# Restore BP_PATH to original state. -set(BP_PATH "${BP_ORIGINAL_NATIVE_PATH}") -#message(STATUS "${BP_PACKAGE} restored original BP_PATH = ${BP_PATH}") Copied: trunk/cmake/epa_build/docbook-xml/CMakeLists.txt (from rev 12793, trunk/cmake/epa_build/docbook-xml/bp.cmake) =================================================================== --- trunk/cmake/epa_build/docbook-xml/CMakeLists.txt (rev 0) +++ trunk/cmake/epa_build/docbook-xml/CMakeLists.txt 2013-12-02 00:16:47 UTC (rev 12794) @@ -0,0 +1,102 @@ +# docbook-xml/bp.cmake +# This file should be included directly or indirectly from a top-level +# CMakeLists.txt file to configure the build of docbook-xml. + +# Copyright (C) 2013 Alan W. Irwin + +# This file is free software; you can redistribute it and/or +# modify it under the terms of the GNU Lesser General Public +# License as published by the Free Software Foundation; either +# version 2.1 of the License, or (at your option) any later version. + +# This file is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# Lesser General Public License for more details. + +# You should have received a copy of the GNU Lesser General Public +# License along with this file; if not, write to the Free Software +# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + +# The top-level CMakeLists.txt file that includes this file should +# have run "include(ExternalProject)" and set EP_BASE variable (and +# corresponding directory property) as well as various BP variables +# used below that configure how the External_Project functions +# operate. + +# Protect against configuring a build twice in one CMake call +if(docbook-xml_configured) + return() +endif(docbook-xml_configured) +set(docbook-xml_configured ON) + +# List of dependencies (most of which are build tools) which should be +# ignored. +set(BP_ignored_dependencies_LIST pkg-config;bison;flex;python2-devel;libXft ${extra_ignored_dependencies_list}) + +set(docbook-xml_dependencies_LIST libxml2) +# Remove dependencies that should be ignored. +if(docbook-xml_dependencies_LIST) + list(REMOVE_ITEM docbook-xml_dependencies_LIST ${BP_ignored_dependencies_LIST}) +endif(docbook-xml_dependencies_LIST) + +set(docbook-xml_dependencies_targets) +foreach(build_configuration ${docbook-xml_dependencies_LIST}) + if(EXISTS ${CMAKE_SOURCE_DIR}/${build_configuration}/bp.cmake) + include(${build_configuration}/bp.cmake) + list(APPEND docbook-xml_dependencies_targets build_${build_configuration}) + else(EXISTS ${CMAKE_SOURCE_DIR}/${build_configuration}/bp.cmake) + message(STATUS "Warning: A build_configuration for ${build_configuration} does not exist so it is assumed this dependency of docbook-xml has been installed another way.") + endif(EXISTS ${CMAKE_SOURCE_DIR}/${build_configuration}/bp.cmake) +endforeach(build_configuration ${docbook-xml_dependences_LIST}) + +# This can be safely done only after above includes. +set(BP_PACKAGE docbook-xml) + +# Data that is related to downloads. +set(${BP_PACKAGE}_URL http://www.docbook.org/xml/4.5/docbook-xml-4.5.zip) +set(${BP_PACKAGE}_DOWNLOAD_HASH_TYPE MD5) +set(${BP_PACKAGE}_DOWNLOAD_HASH 03083e288e87a7e829e437358da7ef9e) + +# Data that is related to the PATH that must be used. +if(MSYS_PLATFORM) + #set(BP_PATH_NODLL "${BP_PATH}") + #set(BP_PATH "${EP_BASE}/Build/build_${BP_PACKAGE}/dll;${BP_PATH_NODLL}") + determine_msys_path(BP_PATH "${BP_PATH}") + # Must have all elements of env command in MSYS platform form + determine_msys_path(source_PATH "${EP_BASE}/Source/build_${BP_PACKAGE}") + set(${BP_PACKAGE}_SET_CFLAGS "CFLAGS=$ENV{CFLAGS}") +else(MSYS_PLATFORM) + set(source_PATH "${EP_BASE}/Source/build_${BP_PACKAGE}") + set(${BP_PACKAGE}_SET_CFLAGS "CFLAGS=$ENV{CFLAGS}") +endif(MSYS_PLATFORM) +#message(STATUS "modified BP_PATH for ${BP_PACKAGE} = ${BP_PATH}") + +ExternalProject_Add( + build_${BP_PACKAGE} + DEPENDS ${${BP_PACKAGE}_dependencies_targets} + URL ${${BP_PACKAGE}_URL} + URL_HASH ${${BP_PACKAGE}_DOWNLOAD_HASH_TYPE}=${${BP_PACKAGE}_DOWNLOAD_HASH} + CONFIGURE_COMMAND ${ENV_EXECUTABLE} PATH=${BP_PATH} ${BP_CMAKE_COMMAND} ${EP_BASE}/Source/build_${BP_PACKAGE} + BUILD_COMMAND ${ENV_EXECUTABLE} PATH=${BP_PATH} ${BP_PARALLEL_BUILD_COMMAND} + BUILD_IN_SOURCE OFF + INSTALL_COMMAND ${ENV_EXECUTABLE} PATH=${BP_PATH} ${BP_PARALLEL_BUILD_COMMAND} install + ) + +# Add custom commands to the current no-command update step. +add_custom_command( + OUTPUT + ${EP_BASE}/Stamp/build_${BP_PACKAGE}/build_${BP_PACKAGE}-update + COMMAND ${CMAKE_COMMAND} -E copy + ${CMAKE_SOURCE_DIR}/${BP_PACKAGE}/${BP_PACKAGE}_CMakeLists.txt + ${EP_BASE}/Source/build_${BP_PACKAGE}/CMakeLists.txt + COMMENT "Custom updating of ${BP_PACKAGE}" + DEPENDS + ${CMAKE_SOURCE_DIR}/${BP_PACKAGE}/${BP_PACKAGE}_CMakeLists.txt + APPEND + ) + +list(APPEND build_target_LIST build_${BP_PACKAGE}) +# Restore BP_PATH to original state. +set(BP_PATH "${BP_ORIGINAL_NATIVE_PATH}") +#message(STATUS "${BP_PACKAGE} restored original BP_PATH = ${BP_PATH}") Deleted: trunk/cmake/epa_build/docbook-xml/bp.cmake =================================================================== --- trunk/cmake/epa_build/docbook-xml/bp.cmake 2013-12-01 22:58:49 UTC (rev 12793) +++ trunk/cmake/epa_build/docbook-xml/bp.cmake 2013-12-02 00:16:47 UTC (rev 12794) @@ -1,102 +0,0 @@ -# docbook-xml/bp.cmake -# This file should be included directly or indirectly from a top-level -# CMakeLists.txt file to configure the build of docbook-xml. - -# Copyright (C) 2013 Alan W. Irwin - -# This file is free software; you can redistribute it and/or -# modify it under the terms of the GNU Lesser General Public -# License as published by the Free Software Foundation; either -# version 2.1 of the License, or (at your option) any later version. - -# This file is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -# Lesser General Public License for more details. - -# You should have received a copy of the GNU Lesser General Public -# License along with this file; if not, write to the Free Software -# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA - -# The top-level CMakeLists.txt file that includes this file should -# have run "include(ExternalProject)" and set EP_BASE variable (and -# corresponding directory property) as well as various BP variables -# used below that configure how the External_Project functions -# operate. - -# Protect against configuring a build twice in one CMake call -if(docbook-xml_configured) - return() -endif(docbook-xml_configured) -set(docbook-xml_configured ON) - -# List of dependencies (most of which are build tools) which should be -# ignored. -set(BP_ignored_dependencies_LIST pkg-config;bison;flex;python2-devel;libXft ${extra_ignored_dependencies_list}) - -set(docbook-xml_dependencies_LIST libxml2) -# Remove dependencies that should be ignored. -if(docbook-xml_dependencies_LIST) - list(REMOVE_ITEM docbook-xml_dependencies_LIST ${BP_ignored_dependencies_LIST}) -endif(docbook-xml_dependencies_LIST) - -set(docbook-xml_dependencies_targets) -foreach(build_configuration ${docbook-xml_dependencies_LIST}) - if(EXISTS ${CMAKE_SOURCE_DIR}/${build_configuration}/bp.cmake) - include(${build_configuration}/bp.cmake) - list(APPEND docbook-xml_dependencies_targets build_${build_configuration}) - else(EXISTS ${CMAKE_SOURCE_DIR}/${build_configuration}/bp.cmake) - message(STATUS "Warning: A build_configuration for ${build_configuration} does not exist so it is assumed this dependency of docbook-xml has been installed another way.") - endif(EXISTS ${CMAKE_SOURCE_DIR}/${build_configuration}/bp.cmake) -endforeach(build_configuration ${docbook-xml_dependences_LIST}) - -# This can be safely done only after above includes. -set(BP_PACKAGE docbook-xml) - -# Data that is related to downloads. -set(${BP_PACKAGE}_URL http://www.docbook.org/xml/4.5/docbook-xml-4.5.zip) -set(${BP_PACKAGE}_DOWNLOAD_HASH_TYPE MD5) -set(${BP_PACKAGE}_DOWNLOAD_HASH 03083e288e87a7e829e437358da7ef9e) - -# Data that is related to the PATH that must be used. -if(MSYS_PLATFORM) - #set(BP_PATH_NODLL "${BP_PATH}") - #set(BP_PATH "${EP_BASE}/Build/build_${BP_PACKAGE}/dll;${BP_PATH_NODLL}") - determine_msys_path(BP_PATH "${BP_PATH}") - # Must have all elements of env command in MSYS platform form - determine_msys_path(source_PATH "${EP_BASE}/Source/build_${BP_PACKAGE}") - set(${BP_PACKAGE}_SET_CFLAGS "CFLAGS=$ENV{CFLAGS}") -else(MSYS_PLATFORM) - set(source_PATH "${EP_BASE}/Source/build_${BP_PACKAGE}") - set(${BP_PACKAGE}_SET_CFLAGS "CFLAGS=$ENV{CFLAGS}") -endif(MSYS_PLATFORM) -#message(STATUS "modified BP_PATH for ${BP_PACKAGE} = ${BP_PATH}") - -ExternalProject_Add( - build_${BP_PACKAGE} - DEPENDS ${${BP_PACKAGE}_dependencies_targets} - URL ${${BP_PACKAGE}_URL} - URL_HASH ${${BP_PACKAGE}_DOWNLOAD_HASH_TYPE}=${${BP_PACKAGE}_DOWNLOAD_HASH} - CONFIGURE_COMMAND ${ENV_EXECUTABLE} PATH=${BP_PATH} ${BP_CMAKE_COMMAND} ${EP_BASE}/Source/build_${BP_PACKAGE} - BUILD_COMMAND ${ENV_EXECUTABLE} PATH=${BP_PATH} ${BP_PARALLEL_BUILD_COMMAND} - BUILD_IN_SOURCE OFF - INSTALL_COMMAND ${ENV_EXECUTABLE} PATH=${BP_PATH} ${BP_PARALLEL_BUILD_COMMAND} install - ) - -# Add custom commands to the current no-command update step. -add_custom_command( - OUTPUT - ${EP_BASE}/Stamp/build_${BP_PACKAGE}/build_${BP_PACKAGE}-update - COMMAND ${CMAKE_COMMAND} -E copy - ${CMAKE_SOURCE_DIR}/${BP_PACKAGE}/${BP_PACKAGE}_CMakeLists.txt - ${EP_BASE}/Source/build_${BP_PACKAGE}/CMakeLists.txt - COMMENT "Custom updating of ${BP_PACKAGE}" - DEPENDS - ${CMAKE_SOURCE_DIR}/${BP_PACKAGE}/${BP_PACKAGE}_CMakeLists.txt - APPEND - ) - -list(APPEND build_target_LIST build_${BP_PACKAGE}) -# Restore BP_PATH to original state. -set(BP_PATH "${BP_ORIGINAL_NATIVE_PATH}") -#message(STATUS "${BP_PACKAGE} restored original BP_PATH = ${BP_PATH}") Copied: trunk/cmake/epa_build/docbook-xsl/CMakeLists.txt (from rev 12793, trunk/cmake/epa_build/docbook-xsl/bp.cmake) =================================================================== --- trunk/cmake/epa_build/docbook-xsl/CMakeLists.txt (rev 0) +++ trunk/cmake/epa_build/docbook-xsl/CMakeLists.txt 2013-12-02 00:16:47 UTC (rev 12794) @@ -0,0 +1,102 @@ +# docbook-xsl/bp.cmake +# This file should be included directly or indirectly from a top-level +# CMakeLists.txt file to configure the build of docbook-xsl. + +# Copyright (C) 2013 Alan W. Irwin + +# This file is free software; you can redistribute it and/or +# modify it under the terms of the GNU Lesser General Public +# License as published by the Free Software Foundation; either +# version 2.1 of the License, or (at your option) any later version. + +# This file is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# Lesser General Public License for more details. + +# You should have received a copy of the GNU Lesser General Public +# License along with this file; if not, write to the Free Software +# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + +# The top-level CMakeLists.txt file that includes this file should +# have run "include(ExternalProject)" and set EP_BASE variable (and +# corresponding directory property) as well as various BP variables +# used below that configure how the External_Project functions +# operate. + +# Protect against configuring a build twice in one CMake call +if(docbook-xsl_configured) + return() +endif(docbook-xsl_configured) +set(docbook-xsl_configured ON) + +# List of dependencies (most of which are build tools) which should be +# ignored. +set(BP_ignored_dependencies_LIST pkg-config;bison;flex;python2-devel;libXft ${extra_ignored_dependencies_list}) + +set(docbook-xsl_dependencies_LIST libxml2) +# Remove dependencies that should be ignored. +if(docbook-xsl_dependencies_LIST) + list(REMOVE_ITEM docbook-xsl_dependencies_LIST ${BP_ignored_dependencies_LIST}) +endif(docbook-xsl_dependencies_LIST) + +set(docbook-xsl_dependencies_targets) +foreach(build_configuration ${docbook-xsl_dependencies_LIST}) + if(EXISTS ${CMAKE_SOURCE_DIR}/${build_configuration}/bp.cmake) + include(${build_configuration}/bp.cmake) + list(APPEND docbook-xsl_dependencies_targets build_${build_configuration}) + else(EXISTS ${CMAKE_SOURCE_DIR}/${build_configuration}/bp.cmake) + message(STATUS "Warning: A build_configuration for ${build_configuration} does not exist so it is assumed this dependency of docbook-xsl has been installed another way.") + endif(EXISTS ${CMAKE_SOURCE_DIR}/${build_configuration}/bp.cmake) +endforeach(build_configuration ${docbook-xsl_dependences_LIST}) + +# This can be safely done only after above includes. +set(BP_PACKAGE docbook-xsl) + +# Data that is related to downloads. +set(${BP_PACKAGE}_URL http://downloads.sourceforge.net/docbook/docbook-xsl-1.78.1.tar.bz2) +set(${BP_PACKAGE}_DOWNLOAD_HASH_TYPE MD5) +set(${BP_PACKAGE}_DOWNLOAD_HASH 6dd0f89131cc35bf4f2ed105a1c17771) + +# Data that is related to the PATH that must be used. +if(MSYS_PLATFORM) + #set(BP_PATH_NODLL "${BP_PATH}") + #set(BP_PATH "${EP_BASE}/Build/build_${BP_PACKAGE}/dll;${BP_PATH_NODLL}") + determine_msys_path(BP_PATH "${BP_PATH}") + # Must have all elements of env command in MSYS platform form + determine_msys_path(source_PATH "${EP_BASE}/Source/build_${BP_PACKAGE}") + set(${BP_PACKAGE}_SET_CFLAGS "CFLAGS=$ENV{CFLAGS}") +else(MSYS_PLATFORM) + set(source_PATH "${EP_BASE}/Source/build_${BP_PACKAGE}") + set(${BP_PACKAGE}_SET_CFLAGS "CFLAGS=$ENV{CFLAGS}") +endif(MSYS_PLATFORM) +#message(STATUS "modified BP_PATH for ${BP_PACKAGE} = ${BP_PATH}") + +ExternalProject_Add( + build_${BP_PACKAGE} + DEPENDS ${${BP_PACKAGE}_dependencies_targets} + URL ${${BP_PACKAGE}_URL} + URL_HASH ${${BP_PACKAGE}_DOWNLOAD_HASH_TYPE}=${${BP_PACKAGE}_DOWNLOAD_HASH} + CONFIGURE_COMMAND ${ENV_EXECUTABLE} PATH=${BP_PATH} ${BP_CMAKE_COMMAND} ${EP_BASE}/Source/build_${BP_PACKAGE} + BUILD_COMMAND ${ENV_EXECUTABLE} PATH=${BP_PATH} ${BP_PARALLEL_BUILD_COMMAND} + BUILD_IN_SOURCE OFF + INSTALL_COMMAND ${ENV_EXECUTABLE} PATH=${BP_PATH} ${BP_PARALLEL_BUILD_COMMAND} install + ) + +# Add custom commands to the current no-command update step. +add_custom_command( + OUTPUT + ${EP_BASE}/Stamp/build_${BP_PACKAGE}/build_${BP_PACKAGE}-update + COMMAND ${CMAKE_COMMAND} -E copy + ${CMAKE_SOURCE_DIR}/${BP_PACKAGE}/${BP_PACKAGE}_CMakeLists.txt + ${EP_BASE}/Source/build_${BP_PACKAGE}/CMakeLists.txt + COMMENT "Custom updating of ${BP_PACKAGE}" + DEPENDS + ${CMAKE_SOURCE_DIR}/${BP_PACKAGE}/${BP_PACKAGE}_CMakeLists.txt + APPEND + ) + +list(APPEND build_target_LIST build_${BP_PACKAGE}) +# Restore BP_PATH to original state. +set(BP_PATH "${BP_ORIGINAL_NATIVE_PATH}") +#message(STATUS "${BP_PACKAGE} restored original BP_PATH = ${BP_PATH}") Deleted: trunk/cmake/epa_build/docbook-xsl/bp.cmake =================================================================== --- trunk/cmake/epa_build/docbook-xsl/bp.cmake 2013-12-01 22:58:49 UTC (rev 12793) +++ trunk/cmake/epa_build/docbook-xsl/bp.cmake 2013-12-02 00:16:47 UTC (rev 12794) @@ -1,102 +0,0 @@ -# docbook-xsl/bp.cmake -# This file should be included directly or indirectly from a top-level -# CMakeLists.txt file to configure the build of docbook-xsl. - -# Copyright (C) 2013 Alan W. Irwin - -# This file is free software; you can redistribute it and/or -# modify it under the terms of the GNU Lesser General Public -# License as published by the Free Software Foundation; either -# version 2.1 of the License, or (at your option) any later version. - -# This file is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -# Lesser General Public License for more details. - -# You should have received a copy of the GNU Lesser General Public -# License along with this file; if not, write to the Free Software -# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA - -# The top-level CMakeLists.txt file that includes this file should -# have run "include(ExternalProject)" and set EP_BASE variable (and -# corresponding directory property) as well as various BP variables -# used below that configure how the External_Project functions -# operate. - -# Protect against configuring a build twice in one CMake call -if(docbook-xsl_configured) - return() -endif(docbook-xsl_configured) -set(docbook-xsl_configured ON) - -# List of dependencies (most of which are build tools) which should be -# ignored. -set(BP_ignored_dependencies_LIST pkg-config;bison;flex;python2-devel;libXft ${extra_ignored_dependencies_list}) - -set(docbook-xsl_dependencies_LIST libxml2) -# Remove dependencies that should be ignored. -if(docbook-xsl_dependencies_LIST) - list(REMOVE_ITEM docbook-xsl_dependencies_LIST ${BP_ignored_dependencies_LIST}) -endif(docbook-xsl_dependencies_LIST) - -set(docbook-xsl_dependencies_targets) -foreach(build_configuration ${docbook-xsl_dependencies_LIST}) - if(EXISTS ${CMAKE_SOURCE_DIR}/${build_configuration}/bp.cmake) - include(${build_configuration}/bp.cmake) - list(APPEND docbook-xsl_dependencies_targets build_${build_configuration}) - else(EXISTS ${CMAKE_SOURCE_DIR}/${build_configuration}/bp.cmake) - message(STATUS "Warning: A build_configuration for ${build_configuration} does not exist so it is assumed this dependency of docbook-xsl has been installed another way.") - endif(EXISTS ${CMAKE_SOURCE_DIR}/${build_configuration}/bp.cmake) -endforeach(build_configuration ${docbook-xsl_dependences_LIST}) - -# This can be safely done only after above includes. -set(BP_PACKAGE docbook-xsl) - -# Data that is related to downloads. -set(${BP_PACKAGE}_URL http://downloads.sourceforge.net/docbook/docbook-xsl-1.78.1.tar.bz2) -set(${BP_PACKAGE}_DOWNLOAD_HASH_TYPE MD5) -set(${BP_PACKAGE}_DOWNLOAD_HASH 6dd0f89131cc35bf4f2ed105a1c17771) - -# Data that is related to the PATH that must be used. -if(MSYS_PLATFORM) - #set(BP_PATH_NODLL "${BP_PATH}") - #set(BP_PATH "${EP_BASE}/Build/build_${BP_PACKAGE}/dll;${BP_PATH_NODLL}") - determine_msys_path(BP_PATH "${BP_PATH}") - # Must have all elements of env command in MSYS platform form - determine_msys_path(source_PATH "${EP_BASE}/Source/build_${BP_PACKAGE}") - set(${BP_PACKAGE}_SET_CFLAGS "CFLAGS=$ENV{CFLAGS}") -else(MSYS_PLATFORM) - set(source_PATH "${EP_BASE}/Source/build_${BP_PACKAGE}") - set(${BP_PACKAGE}_SET_CFLAGS "CFLAGS=$ENV{CFLAGS}") -endif(MSYS_PLATFORM) -#message(STATUS "modified BP_PATH for ${BP_PACKAGE} = ${BP_PATH}") - -ExternalProject_Add( - build_${BP_PACKAGE} - DEPENDS ${${BP_PACKAGE}_dependencies_targets} - URL ${${BP_PACKAGE}_URL} - URL_HASH ${${BP_PACKAGE}_DOWNLOAD_HASH_TYPE}=${${BP_PACKAGE}_DOWNLOAD_HASH} - CONFIGURE_COMMAND ${ENV_EXECUTABLE} PATH=${BP_PATH} ${BP_CMAKE_COMMAND} ${EP_BASE}/Source/build_${BP_PACKAGE} - BUILD_COMMAND ${ENV_EXECUTABLE} PATH=${BP_PATH} ${BP_PARALLEL_BUILD_COMMAND} - BUILD_IN_SOURCE OFF - INSTALL_COMMAND ${ENV_EXECUTABLE} PATH=${BP_PATH} ${BP_PARALLEL_BUILD_COMMAND} install - ) - -# Add custom commands to the current no-command update step. -add_custom_command( - OUTPUT - ${EP_BASE}/Stamp/build_${BP_PACKAGE}/build_${BP_PACKAGE}-update - COMMAND ${CMAKE_COMMAND} -E copy - ${CMAKE_SOURCE_DIR}/${BP_PACKAGE}/${BP_PACKAGE}_CMakeLists.txt - ${EP_BASE}/Source/build_${BP_PACKAGE}/CMakeLists.txt - COMMENT "Custom updating of ${BP_PACKAGE}" - DEPENDS - ${CMAKE_SOURCE_DIR}/${BP_PACKAGE}/${BP_PACKAGE}_CMakeLists.txt - APPEND - ) - -list(APPEND build_target_LIST build_${BP_PACKAGE}) -# Restore BP_PATH to original state. -set(BP_PATH "${BP_ORIGINAL_NATIVE_PATH}") -#message(STATUS "${BP_PACKAGE} restored original BP_PATH = ${BP_PATH}") Copied: trunk/cmake/epa_build/fontconfig/CMakeLists.txt (from rev 12790, trunk/cmake/epa_build/fontconfig/bp.cmake) =================================================================== --- trunk/cmake/epa_build/fontconfig/CMakeLists.txt (rev 0) +++ trunk/cmake/epa_build/fontconfig/CMakeLists.txt 2013-12-02 00:16:47 UTC (rev 12794) @@ -0,0 +1,104 @@ +# fontconfig/bp.cmake +# N.B. this file is generated so if you edit it you will lose all your +# changes the next time it is generated (typically by running +# either/both the update_added_packages.sh or update_pango_packages.sh +# scripts). If those scripts do not provide good results, then +# consider changing their source files (e.g., by editing the files +# used in those scripts) or add a patch to be run by those scripts). + +# This file should be included directly or indirectly from a top-level +# CMakeLists.txt file to configure the build of fontconfig. + +# Copyright (C) 2013 Alan W. Irwin + +# This file is free software; you can redistribute it and/or +# modify it under the terms of the GNU Lesser General Public +# License as published by the Free Software Foundation; either +# version 2.1 of the License, or (at your option) any later version. + +# This file is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# Lesser General Public License for more details. + +# You should have received a copy of the GNU Lesser General Public +# License along with this file; if not, write to the Free Software +# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + +# The top-level CMakeLists.txt file that includes this file should +# have run "include(ExternalProject)" and set EP_BASE variable (and +# corresponding directory property) as well as various BP variables +# used below that configure how the External_Project functions +# operate. + +# Protect against configuring a build twice in one CMake call +if(fontconfig_configured) + return() +endif(fontconfig_configured) +set(fontconfig_configured ON) + +# List of dependencies (most of which are build tools) which should be +# ignored. +set(BP_ignored_dependencies_LIST pkg-config;bison;flex;python2-devel;libXft ${extra_ignored_dependencies_list}) + +set(fontconfig_dependencies_LIST gperf) +# Remove dependencies that should be ignored. +if(fontconfig_dependencies_LIST) + list(REMOVE_ITEM fontconfig_dependencies_LIST ${BP_ignored_dependencies_LIST}) +endif(fontconfig_dependencies_LIST) + +set(fontconfig_dependencies_targets) +foreach(build_configuration ${fontconfig_dependencies_LIST}) + if(EXISTS ${CMAKE_SOURCE_DIR}/${build_configuration}/bp.cmake) + include(${build_configuration}/bp.cmake) + list(APPEND fontconfig_dependencies_targets build_${build_configuration}) + else(EXISTS ${CMAKE_SOURCE_DIR}/${build_configuration}/bp.cmake) + message(STATUS "Warning: A build_configuration for ${build_configuration} does not exist so it is assumed this dependency of fontconfig has been installed another way.") + endif(EXISTS ${CMAKE_SOURCE_DIR}/${build_configuration}/bp.cmake) +endforeach(build_configuration ${fontconfig_dependences_LIST}) + +# This can be safely done only after above includes. +set(BP_PACKAGE fontconfig) + +# Data that is related to downloads. +set(${BP_PACKAGE}_URL http://www.freedesktop.org/software/fontconfig/release/fontconfig-2.10.93.tar.bz2) +set(${BP_PACKAGE}_DOWNLOAD_HASH_TYPE SHA256) +set(${BP_PACKAGE}_DOWNLOAD_HASH ea901f278848829ed9937d76fb0ce63ad362d7d5b9e75aa6a6b78bfef42e529c) + +# Data that is related to the PATH that must be used. +if(MSYS_PLATFORM) + #set(BP_PATH_NODLL "${BP_PATH}") + #set(BP_PATH "${EP_BASE}/Build/build_${BP_PACKAGE}/dll;${BP_PATH_NODLL}") + determine_msys_path(BP_PATH "${BP_PATH}") + # Must have all elements of env command in MSYS platform form + determine_msys_path(source_PATH "${EP_BASE}/Source/build_${BP_PACKAGE}") + set(${BP_PACKAGE}_SET_CFLAGS "CFLAGS=$ENV{CFLAGS}") +else(MSYS_PLATFORM) + set(source_PATH "${EP_BASE}/Source/build_${BP_PACKAGE}") + set(${BP_PACKAGE}_SET_CFLAGS "CFLAGS=$ENV{CFLAGS}") +endif(MSYS_PLATFORM) +#message(STATUS "modified BP_PATH for ${BP_PACKAGE} = ${BP_PATH}") + +set(${BP_PACKAGE}_SET_CXXFLAGS "CXXFLAGS=$ENV{CXXFLAGS}") + +# Drop -fvisibility=hidden since that option does not work for a +# number of software packages that are configured automatically using +# this template. +string(REGEX REPLACE "-fvisibility=hidden" "" ${BP_PACKAGE}_SET_CFLAGS "${${BP_PACKAGE}_SET_CFLAGS}") +string(REGEX REPLACE "-fvisibility=hidden" "" ${BP_PACKAGE}_SET_CXXFLAGS "${${BP_PACKAGE}_SET_CXXFLAGS}") + +ExternalProject_Add( + build_${BP_PACKAGE} + DEPENDS ${${BP_PACKAGE}_dependencies_targets} + URL ${${BP_PACKAGE}_URL} + URL_HASH ${${BP_PACKAGE}_DOWNLOAD_HASH_TYPE}=${${BP_PACKAGE}_DOWNLOAD_HASH} + CONFIGURE_COMMAND ${ENV_EXECUTABLE} PATH=${BP_PATH} ${${BP_PACKAGE}_SET_CFLAGS} ${${BP_PACKAGE}_SET_CXXFLAGS} ${source_PATH}/${BP_CONFIGURE_COMMAND} --disable-docs + BUILD_COMMAND ${ENV_EXECUTABLE} PATH=${BP_PATH} ${BP_PARALLEL_MAKE_COMMAND} + BUILD_IN_SOURCE OFF + INSTALL_COMMAND ${ENV_EXECUTABLE} PATH=${BP_PATH} ${BP_PARALLEL_MAKE_COMMAND} install + ) + +list(APPEND build_target_LIST build_${BP_PACKAGE}) +# Restore BP_PATH to original state. +set(BP_PATH "${BP_ORIGINAL_NATIVE_PATH}") +#message(STATUS "${BP_PACKAGE} restored original BP_PATH = ${BP_PATH}") Deleted: trunk/cmake/epa_build/fontconfig/bp.cmake =================================================================== --- trunk/cmake/epa_build/fontconfig/bp.cmake 2013-12-01 22:58:49 UTC (rev 12793) +++ trunk/cmake/epa_build/fontconfig/bp.cmake 2013-12-02 00:16:47 UTC (rev 12794) @@ -1,104 +0,0 @@ -# fontconfig/bp.cmake -# N.B. this file is generated so if you edit it you will lose all your -# changes the next time it is generated (typically by running -# either/both the update_added_packages.sh or update_pango_packages.sh -# scripts). If those scripts do not provide good results, then -# consider changing their source files (e.g., by editing the files -# used in those scripts) or add a patch to be run by those scripts). - -# This file should be included directly or indirectly from a top-level -# CMakeLists.txt file to configure the build of fontconfig. - -# Copyright (C) 2013 Alan W. Irwin - -# This file is free software; you can redistribute it and/or -# modify it under the terms of the GNU Lesser General Public -# License as published by the Free Software Foundation; either -# version 2.1 of the License, or (at your option) any later version. - -# This file is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -# Lesser General Public License for more details. - -# You should have received a copy of the GNU Lesser General Public -# License along with this file; if not, write to the Free Software -# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA - -# The top-level CMakeLists.txt file that includes this file should -# have run "include(ExternalProject)" and set EP_BASE variable (and -# corresponding directory property) as well as various BP variables -# used below that configure how the External_Project functions -# operate. - -# Protect against configuring a build twice in one CMake call -if(fontconfig_configured) - return() -endif(fontconfig_configured) -set(fontconfig_configured ON) - -# List of dependencies (most of which are build tools) which should be -# ignored. -set(BP_ignored_dependencies_LIST pkg-config;bison;flex;python2-devel;libXft ${extra_ignored_dependencies_list}) - -set(fontconfig_dependencies_LIST gperf) -# Remove dependencies that should be ignored. -if(fontconfig_dependencies_LIST) - list(REMOVE_ITEM fontconfig_dependencies_LIST ${BP_ignored_dependencies_LIST}) -endif(fontconfig_dependencies_LIST) - -set(fontconfig_dependencies_targets) -foreach(build_configuration ${fontconfig_dependencies_LIST}) - if(EXISTS ${CMAKE_SOURCE_DIR}/${build_configuration}/bp.cmake) - include(${build_configuration}/bp.cmake) - list(APPEND fontconfig_dependencies_targets build_${build_configuration}) - else(EXISTS ${CMAKE_SOURCE_DIR}/${build_configuration}/bp.cmake) - message(STATUS "Warning: A build_configuration for ${build_configuration} does not exist so it is assumed this dependency of fontconfig has been installed another way.") - endif(EXISTS ${CMAKE_SOURCE_DIR}/${build_configuration}/bp.cmake) -endforeach(build_configuration ${fontconfig_dependences_LIST}) - -# This can be safely done only after above includes. -set(BP_PACKAGE fontconfig) - -# Data that is related to downloads. -set(${BP_PACKAGE}_URL http://www.freedesktop.org/software/fontconfig/release/fontconfig-2.10.93.tar.bz2) -set(${BP_PACKAGE}_DOWNLOAD_HASH_TYPE SHA256) -set(${BP_PACKAGE}_DOWNLOAD_HASH ea901f278848829ed9937d76fb0ce63ad362d7d5b9e75aa6a6b78bfef42e529c) - -# Data that is related to the PATH that must be used. -if(MSYS_PLATFORM) - #set(BP_PATH_NODLL "${BP_PATH}") - #set(BP_PATH "${EP_BASE}/Build/build_${BP_PACKAGE}/dll;${BP_PATH_NODLL}") - determine_msys_path(BP_PATH "${BP_PATH}") - # Must have all elements of env command in MSYS platform form - determine_msys_path(source_PATH "${EP_BASE}/Source/build_${BP_PACKAGE}") - set(${BP_PACKAGE}_SET_CFLAGS "CFLAGS=$ENV{CFLAGS}") -else(MSYS_PLATFORM) - set(source_PATH "${EP_BASE}/Source/build_${BP_PACKAGE}") - set(${BP_PACKAGE}_SET_CFLAGS "CFLAGS=$ENV{CFLAGS}") -endif(MSYS_PLATFORM) -#message(STATUS "modified BP_PATH for ${BP_PACKAGE} = ${BP_PATH}") - -set(${BP_PACKAGE}_SET_CXXFLAGS "CXXFLAGS=$ENV{CXXFLAGS}") - -# Drop -fvisibility=hidden since that option does not work for a -# number of software packages that are configured automatically using -# this template. -string(REGEX REPLACE "-fvisibility=hidden" "" ${BP_PACKAGE}_SET_CFLAGS "${${BP_PACKAGE}_SET_CFLAGS}") -string(REGEX REPLACE "-fvisibility=hidden" "" ${BP_PACKAGE}_SET_CXXFLAGS "${${BP_PACKAGE}_SET_CXXFLAGS}") - -ExternalProject_Add( - build_${BP_PACKAGE} - DEPENDS ${${BP_PACKAGE}_dependencies_targets} - URL ${${BP_PACKAGE}_URL} - URL_HASH ${${BP_PACKAGE}_DOWNLOAD_HASH_TYPE}=${${BP_PACKAGE}_DOWNLOAD_HASH} - CONFIGURE_COMMAND ${ENV_EXECUTABLE} PATH=${BP_PATH} ${${BP_PACKAGE}_SET_CFLAGS} ${${BP_PACKAGE}_SET_CXXFLAGS} ${source_PATH}/${BP_CONFIGURE_COMMAND} --disable-docs - BUILD_COMMAND ${ENV_EXECUTABLE} PATH=${BP_PATH} ${BP_PARALLEL_MAKE_COMMAND} - BUILD_IN_SOURCE OFF - INSTALL_COMMAND ${ENV_EXECUTABLE} PATH=${BP_PATH} ${BP_PARALLEL_MAKE_COMMAND} install - ) - -list(APPEND build_target_LIST build_${BP_PACKAGE}) -# Restore BP_PATH to original state. -set(BP_PATH "${BP_ORIGINAL_NATIVE_PATH}") -#message(STATUS "${BP_PACKAGE} restored original BP_PATH = ${BP_PATH}") Copied: trunk/cmake/epa_build/glib/CMakeLists.txt (from rev 12790, trunk/cmake/epa_build/glib/bp.cmake) =================================================================== --- trunk/cmake/epa_build/glib/CMakeLists.txt (rev 0) +++ trunk/cmake/epa_build/glib/CMakeLists.txt 2013-12-02 00:16:47 UTC (rev 12794) @@ -0,0 +1,104 @@ +# glib/bp.cmake +# N.B. this file is generated so if you edit it you will lose all your +# changes the next time it is generated (typically by running +# either/both the update_added_packages.sh or update_pango_packages.sh +# scripts). If those scripts do not provide good results, then +# consider changing their source files (e.g., by editing the files +# used in those scripts) or add a patch to be run by those scripts). + +# This file should be included directly or indirectly from a top-level +# CMakeLists.txt file to configure the build of glib. + +# Copyright (C) 2013 Alan W. Irwin + +# This file is free software; you can redistribute it and/or +# modify it under the terms of the GNU Lesser General Public +# License as published by the Free Software Foundation; either +# version 2.1 of the License, or (at your option) any later version. + +# This file is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# Lesser General Public License for more details. + +# You should have received a copy of the GNU Lesser General Public +# License along with this file; if not, write to the Free Software +# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + +# The top-level CMakeLists.txt file that includes this file should +# have run "include(ExternalProject)" and set EP_BASE variable (and +# corresponding directory property) as well as various BP variables +# used below that configure how the External_Project functions +# operate. + +# Protect against configuring a build twice in one CMake call +if(glib_configured) + return() +endif(glib_configured) +set(glib_configured ON) + +# List of dependencies (most of which are build tools) which should be +# ignored. +set(BP_ignored_dependencies_LIST pkg-config;bison;flex;python2-devel;libXft ${extra_ignored_dependencies_list}) + +set(glib_dependencies_LIST gtk-doc;libffi) +# Remove dependencies that should be ignored. +if(glib_dependencies_LIST) + list(REMOVE_ITEM glib_dependencies_LIST ${BP_ignored_dependencies_LIST}) +endif(glib_dependencies_LIST) + +set(glib_dependencies_targets) +foreach(build_configuration ${glib_dependencies_LIST}) + if(EXISTS ${CMAKE_SOURCE_DIR}/${build_configuration}/bp.cmake) + include(${build_configuration}/bp.cmake) + list(APPEND glib_dependencies_targets build_${build_configuration}) + else(EXISTS ${CMAKE_SOURCE_DIR}/${build_configuration}/bp.cmake) + message(STATUS "Warning: A build_configuration for ${build_configuration} does not exist so it is assumed this dependency of glib has been installed another way.") + endif(EXISTS ${CMAKE_SOURCE_DIR}/${build_configuration}/bp.cmake) +endforeach(build_configuration ${glib_dependences_LIST}) + +# This can be safely done only after above includes. +set(BP_PACKAGE glib) + +# Data that is related to downloads. +set(${BP_PACKAGE}_URL http://download.gnome.org/sources/glib/2.37/glib-2.37.4.tar.xz) +set(${BP_PACKAGE}_DOWNLOAD_HASH_TYPE SHA256) +set(${BP_PACKAGE}_DOWNLOAD_HASH 7e76a32e6ea0ced118aa64f87e46cdf5c3e90527f1f0eb93eabe42a03cebd1e7) + +# Data that is related to the PATH that must be used. +if(MSYS_PLATFORM) + #set(BP_PATH_NODLL "${BP_PATH}") + #set(BP_PATH "${EP_BASE}/Build/build_${BP_PACKAGE}/dll;${BP_PATH_NODLL}") + determine_msys_path(BP_PATH "${BP_PATH}") + # Must have all elements of env command in MSYS platform form + determine_msys_path(source_PATH "${EP_BASE}/Source/build_${BP_PACKAGE}") + set(${BP_PACKAGE}_SET_CFLAGS "CFLAGS=-march=native $ENV{CFLAGS}") +else(MSYS_PLATFORM) + set(source_PATH "${EP_BASE}/Source/build_${BP_PACKAGE}") + set(${BP_PACKAGE}_SET_CFLAGS "CFLAGS=$ENV{CFLAGS}") +endif(MSYS_PLATFORM) +#message(STATUS "modified BP_PATH for ${BP_PACKAGE} = ${BP_PATH}") + +set(${BP_PACKAGE}_SET_CXXFLAGS "CXXFLAGS=$ENV{CXXFLAGS}") + +# Drop -fvisibility=hidden since that option does not work for a +# number of software packages that are configured automatically using +# this template. +string(REGEX REPLACE "-fvisibility=hidden" "" ${BP_PACKAGE}_SET_CFLAGS "${${BP_PACKAGE}_SET_CFLAGS}") +string(REGEX REPLACE "-fvisibility=hidden" "" ${BP_PACKAGE}_SET_CXXFLAGS "${${BP_PACKAGE}_SET_CXXFLAGS}") + +ExternalProject_Add( + build_${BP_PACKAGE} + DEPENDS ${${BP_PACKAGE}_dependencies_targets} + URL ${${BP_PACKAGE}_URL} + URL_HASH ${${BP_PACKAGE}_DOWNLOAD_HASH_TYPE}=${${BP_PACKAGE}_DOWNLOAD_HASH} + CONFIGURE_COMMAND ${ENV_EXECUTABLE} PATH=${BP_PATH} ${${BP_PACKAGE}_SET_CFLAGS} ${${BP_PACKAGE}_SET_CXXFLAGS} ${source_PATH}/${BP_CONFIGURE_COMMAND} --enable-installed-tests + BUILD_COMMAND ${ENV_EXECUTABLE} PATH=${BP_PATH} ${BP_PARALLEL_MAKE_COMMAND} + BUILD_IN_SOURCE OFF + INSTALL_COMMAND ${ENV_EXECUTABLE} PATH=${BP_PATH} ${BP_PARALLEL_MAKE_COMMAND} install + ) + +list(APPEND build_target_LIST build_${BP_PACKAGE}) +# Restore BP_PATH to original state. +set(BP_PATH "${BP_ORIGINAL_NATIVE_PATH}") +#message(STATUS "${BP_PACKAGE} restored original BP_PATH = ${BP_PATH}") Deleted: trunk/cmake/epa_build/glib/bp.cmake =================================================================== --- trunk/cmake/epa_build/glib/bp.cmake 2013-12-01 22:58:49 UTC (rev 12793) +++ trunk/cmake/epa_build/glib/bp.cmake 2013-12-02 00:16:47 UTC (rev 12794) @@ -1,104 +0,0 @@ -# glib/bp.cmake -# N.B. this file is generated so if you edit it you will lose all your -# changes the next time it is generated (typically by running -# either/both the update_added_packages.sh or update_pango_packages.sh -# scripts). If those scripts do not provide good results, then -# consider changing their source files (e.g., by editing the files -# used in those scripts) or add a patch to be run by those scripts). - -# This file should be included directly or indirectly from a top-level -# CMakeLists.txt file to configure the build of glib. - -# Copyright (C) 2013 Alan W. Irwin - -# This file is free software; you can redistribute it and/or -# modify it under the terms of the GNU Lesser General Public -# License as published by the Free Software Foundation; either -# version 2.1 of the License, or (at your option) any later version. - -# This file is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -# Lesser General Public License for more details. - -# You should have received a copy of the GNU Lesser General Public -# License along with this file; if not, write to the Free Software -# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA - -# The top-level CMakeLists.txt file that includes this file should -# have run "include(ExternalProject)" and set EP_BASE variable (and -# corresponding directory property) as well as various BP variables -# used below that configure how the External_Project functions -# operate. - -# Protect against configuring a build twice in one CMake call -if(glib_configured) - return() -endif(glib_configured) -set(glib_configured ON) - -# List of dependencies (most of which are build tools) which should be -# ignored. -set(BP_ignored_dependencies_LIST pkg-config;bison;flex;python2-devel;libXft ${extra_ignored_dependencies_list}) - -set(glib_dependencies_LIST gtk-doc;libffi) -# Remove dependencies that should be ignored. -if(glib_dependencies_LIST) - list(REMOVE_ITEM glib_dependencies_LIST ${BP_ignored_dependencies_LIST}) -endif(glib_dependencies_LIST) - -set(glib_dependencies_targets) -foreach(build_configuration ${glib_dependencies_LIST}) - if(EXISTS ${CMAKE_SOURCE_DIR}/${build_configuration}/bp.cmake) - include(${build_configuration}/bp.cmake) - list(APPEND glib_dependencies_targets build_${build_configuration}) - else(EXISTS ${CMAKE_SOURCE_DIR}/${build_configuration}/bp.cmake) - message(STATUS "Warning: A build_configuration for ${build_configuration} does not exist so it is assumed this dependency of glib has been installed another way.") - endif(EXISTS ${CMAKE_SOURCE_DIR}/${build_configuration}/bp.cmake) -endforeach(build_con... [truncated message content] |
From: <ai...@us...> - 2013-12-01 22:58:55
|
Revision: 12793 http://sourceforge.net/p/plplot/code/12793 Author: airwin Date: 2013-12-01 22:58:49 +0000 (Sun, 01 Dec 2013) Log Message: ----------- In preparation for renaming all the */bp.cmake files as */CMakeLists.txt files consistently rename the existing */CMakeLists.txt files (which are add-ons to the individual software packages) everywhere they are used. Tested by Alan W. Irwin <ai...@us...> on Linux by building all the buildtools with epa_build using "make all" for the -DBUILD_THE_BUILDTOOLS=ON case and by building plplot and all its dependencies with epa_build using "make build_plplot". N.B. note this testing does not test the MinGW/MSYS/Wine case where there is a known issue with this renaming scheme that still has to be fixed for the xmlcatalog-wrapper/bp.cmake (soon to be xmlcatalog-wrapper/CMakeLists.txt) file. Modified Paths: -------------- trunk/cmake/epa_build/docbook-xml/bp.cmake trunk/cmake/epa_build/docbook-xsl/bp.cmake trunk/cmake/epa_build/iwidgets/bp.cmake trunk/cmake/epa_build/libagg/bp.cmake trunk/cmake/epa_build/libqhull/README.libqhull trunk/cmake/epa_build/libqhull/bp.cmake trunk/cmake/epa_build/ndiff/README.ndiff trunk/cmake/epa_build/ndiff/bp.cmake trunk/cmake/epa_build/shapelib/README trunk/cmake/epa_build/shapelib/bp.cmake Added Paths: ----------- trunk/cmake/epa_build/docbook-xml/docbook-xml_CMakeLists.txt trunk/cmake/epa_build/docbook-xsl/docbook-xsl_CMakeLists.txt trunk/cmake/epa_build/iwidgets/iwidgets_CMakeLists.txt trunk/cmake/epa_build/libagg/libagg_CMakeLists.txt trunk/cmake/epa_build/libqhull/libqhull_CMakeLists.txt trunk/cmake/epa_build/ndiff/ndiff_CMakeLists.txt trunk/cmake/epa_build/shapelib/shapelib_CMakeLists.txt trunk/cmake/epa_build/xmlcatalog-wrapper/xmlcatalog-wrapper_CMakeLists.txt Removed Paths: ------------- trunk/cmake/epa_build/docbook-xml/CMakeLists.txt trunk/cmake/epa_build/docbook-xsl/CMakeLists.txt trunk/cmake/epa_build/iwidgets/CMakeLists.txt trunk/cmake/epa_build/libagg/CMakeLists.txt trunk/cmake/epa_build/libqhull/CMakeLists.txt trunk/cmake/epa_build/ndiff/CMakeLists.txt trunk/cmake/epa_build/shapelib/CMakeLists.txt trunk/cmake/epa_build/xmlcatalog-wrapper/CMakeLists.txt Deleted: trunk/cmake/epa_build/docbook-xml/CMakeLists.txt =================================================================== --- trunk/cmake/epa_build/docbook-xml/CMakeLists.txt 2013-12-01 08:27:41 UTC (rev 12792) +++ trunk/cmake/epa_build/docbook-xml/CMakeLists.txt 2013-12-01 22:58:49 UTC (rev 12793) @@ -1,178 +0,0 @@ -# Top-level CMakeLists.txt for the CMake-based build system -# of the docbook-xml software. - -# Copyright (C) 2013 Alan W. Irwin - -# This file is free software; you can redistribute it and/or modify -# it under the terms of the GNU Library General Public License as published -# by the Free Software Foundation; version 2 of the License. -# -# This file is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU Library General Public License for more details. -# -# You should have received a copy of the GNU Library General Public License -# along with this file; if not, write to the Free Software -# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA - -project(docbook-xml NONE) - -message(STATUS "CMake version = ${CMAKE_VERSION}") -message(STATUS "CMAKE_SYSTEM_NAME = ${CMAKE_SYSTEM_NAME}") - -cmake_minimum_required(VERSION 2.8.10.2 FATAL_ERROR) - -# CATALOG_CMAKE_INSTALL_PREFIX prepends a "/" to CMAKE_INSTALL_PREFIX if the -# latter doesn't start with "/", (i.e, the drive letter -# on Microsoft systems). This makes the URI file:/// form come out -# right for catalog entries. -if(CMAKE_INSTALL_PREFIX MATCHES "^[^/]") - set(CATALOG_CMAKE_INSTALL_PREFIX /${CMAKE_INSTALL_PREFIX}) -else(CMAKE_INSTALL_PREFIX MATCHES "^[^/]") - set(CATALOG_CMAKE_INSTALL_PREFIX ${CMAKE_INSTALL_PREFIX}) -endif(CMAKE_INSTALL_PREFIX MATCHES "^[^/]") -message(STATUS "CMAKE_INSTALL_PREFIX=${CMAKE_INSTALL_PREFIX}") -message(STATUS "CATALOG_CMAKE_INSTALL_PREFIX=${CATALOG_CMAKE_INSTALL_PREFIX}") - -# Define useful function. -find_program(XMLCATALOG_EXECUTABLE xmlcatalog) -function(install_xml_catalog arguments_LIST3 catalog) - # Install an XML catalog using the information supplied in - # arguments_LIST3, which is a list of arguments grouped by - # threes where each group of three arguments correspond to - # the three arguments of the "xmlcatalog --add" command. - - # Create the catalog if it does not exist. - install(CODE " -if(NOT EXISTS \"\$ENV{DESTDIR}\${CMAKE_INSTALL_PREFIX}/etc/xml/${catalog}\") -message(STATUS \"Creating \${CMAKE_INSTALL_PREFIX}/etc/xml/${catalog}\") -execute_process(COMMAND ${XMLCATALOG_EXECUTABLE} --noout - --create - \"\$ENV{DESTDIR}\${CMAKE_INSTALL_PREFIX}/etc/xml/${catalog}\") -endif(NOT EXISTS \"\$ENV{DESTDIR}\${CMAKE_INSTALL_PREFIX}/etc/xml/${catalog}\") -") - - list(LENGTH ${arguments_LIST3} narguments_LIST3) - set(group_size 3) - set(remove_indices 0 1 2) - math(EXPR max_index "(${narguments_LIST3}/${group_size}) - 1") - foreach(index RANGE 0 ${max_index}) - list(GET ${arguments_LIST3} 0 type) - list(GET ${arguments_LIST3} 1 orig) - list(GET ${arguments_LIST3} 2 replace) - list(REMOVE_AT ${arguments_LIST3} ${remove_indices}) - install(CODE " -message(STATUS \"Updating \${CMAKE_INSTALL_PREFIX}/etc/xml/${catalog}\") -execute_process(COMMAND ${XMLCATALOG_EXECUTABLE} --noout - --add \"${type}\" \"${orig}\" \"${replace}\" - \"\$ENV{DESTDIR}\${CMAKE_INSTALL_PREFIX}/etc/xml/${catalog}\") -" - ) - endforeach(index RANGE 0 ${max_index}) -endfunction(install_xml_catalog) - -# Nothing to build. Just follow directions at -# http://www.linuxfromscratch.org/blfs/view/svn/pst/DocBook.html to -# install files that are in the source tree. - -# Install top-level source tree files. -set(globs - ${CMAKE_SOURCE_DIR}/docbook.cat - ${CMAKE_SOURCE_DIR}/*.dtd - ${CMAKE_SOURCE_DIR}/*.mod - ) -# Make elements of path_list absolute PATH names. -file(GLOB path_list - ${globs} - ) -# Add the ent subdirectory to path_list -list(APPEND path_list ${CMAKE_SOURCE_DIR}/ent) - -find_program(INSTALL_EXECUTABLE install) -find_program(CP_EXECUTABLE cp) - -install(CODE " -message(STATUS \"Installing \${CMAKE_INSTALL_PREFIX}/share/xml/docbook/xml-dtd-4.5\") -execute_process( -COMMAND ${INSTALL_EXECUTABLE} -v -d -m755 -\"\$ENV{DESTDIR}\${CMAKE_INSTALL_PREFIX}/share/xml/docbook/xml-dtd-4.5\") -" - ) - -install(CODE " -execute_process( -COMMAND ${CP_EXECUTABLE} -v -af ${path_list} -\"\$ENV{DESTDIR}\${CMAKE_INSTALL_PREFIX}/share/xml/docbook/xml-dtd-4.5\") -" - ) - -install(CODE " -message(STATUS \"Installing \${CMAKE_INSTALL_PREFIX}/etc/xml\") -execute_process( -COMMAND ${INSTALL_EXECUTABLE} -v -d -m755 -\"\$ENV{DESTDIR}\${CMAKE_INSTALL_PREFIX}/etc/xml\") -" - ) - -set(commands -"public" "-//OASIS//DTD DocBook XML V4.5//EN" "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" -"public" "-//OASIS//DTD DocBook XML CALS Table Model V4.5//EN" "file://${CATALOG_CMAKE_INSTALL_PREFIX}/share/xml/docbook/xml-dtd-4.5/calstblx.dtd" -"public" "-//OASIS//DTD XML Exchange Table Model 19990315//EN" "file://${CATALOG_CMAKE_INSTALL_PREFIX}/share/xml/docbook/xml-dtd-4.5/soextblx.dtd" -"public" "-//OASIS//ELEMENTS DocBook XML Information Pool V4.5//EN" "file://${CATALOG_CMAKE_INSTALL_PREFIX}/share/xml/docbook/xml-dtd-4.5/dbpoolx.mod" -"public" "-//OASIS//ELEMENTS DocBook XML Document Hierarchy V4.5//EN" "file://${CATALOG_CMAKE_INSTALL_PREFIX}/share/xml/docbook/xml-dtd-4.5/dbhierx.mod" -"public" "-//OASIS//ELEMENTS DocBook XML HTML Tables V4.5//EN" "file://${CATALOG_CMAKE_INSTALL_PREFIX}/share/xml/docbook/xml-dtd-4.5/htmltblx.mod" -"public" "-//OASIS//ENTITIES DocBook XML Notations V4.5//EN" "file://${CATALOG_CMAKE_INSTALL_PREFIX}/share/xml/docbook/xml-dtd-4.5/dbnotnx.mod" -"public" "-//OASIS//ENTITIES DocBook XML Character Entities V4.5//EN" "file://${CATALOG_CMAKE_INSTALL_PREFIX}/share/xml/docbook/xml-dtd-4.5/dbcentx.mod" -"public" "-//OASIS//ENTITIES DocBook XML Additional General Entities V4.5//EN" "file://${CATALOG_CMAKE_INSTALL_PREFIX}/share/xml/docbook/xml-dtd-4.5/dbgenent.mod" -"rewriteSystem" "http://www.oasis-open.org/docbook/xml/4.5" "file://${CATALOG_CMAKE_INSTALL_PREFIX}/share/xml/docbook/xml-dtd-4.5" -"rewriteURI" "http://www.oasis-open.org/docbook/xml/4.5" "file://${CATALOG_CMAKE_INSTALL_PREFIX}/share/xml/docbook/xml-dtd-4.5") - -install_xml_catalog(commands "docbook") - -# Do this for every pattern above so using the catalog file as the catalog -# is equivalent to using the docbook file as the catalog. -set(commands -"delegatePublic" "-//OASIS//DTD DocBook XML" "file://${CATALOG_CMAKE_INSTALL_PREFIX}/etc/xml/docbook" -"delegatePublic" "-//OASIS//DTD XML Exchange" "file://${CATALOG_CMAKE_INSTALL_PREFIX}/etc/xml/docbook" -"delegatePublic" "-//OASIS//ENTITIES DocBook XML" "file://${CATALOG_CMAKE_INSTALL_PREFIX}/etc/xml/docbook" -"delegatePublic" "-//OASIS//ELEMENTS DocBook XML" "file://${CATALOG_CMAKE_INSTALL_PREFIX}/etc/xml/docbook" -"delegateSystem" "http://www.oasis-open.org/docbook/" "file://${CATALOG_CMAKE_INSTALL_PREFIX}/etc/xml/docbook" -"delegateURI" "http://www.oasis-open.org/docbook/" "file://${CATALOG_CMAKE_INSTALL_PREFIX}/etc/xml/docbook" -) - -install_xml_catalog(commands "catalog") - -# LFS instructions at -# http://www.linuxfromscratch.org/blfs/view/svn/pst/DocBook.html -# are open to interpretation for this part, but I think it means -# these previous versions should be dropped if they are handled -# a different way. But I am not doing that so leave them in -# unless some issue is found in the future that I am not aware of -# now. - -set(previous_versions - 4.1.2 - 4.2 - 4.3 - 4.4 - ) - -foreach(DTDVERSION ${previous_versions}) - set(commands - "public" "-//OASIS//DTD DocBook XML V${DTDVERSION}//EN" "http://www.oasis-open.org/docbook/xml/${DTDVERSION}/docbookx.dtd" - "rewriteSystem" "http://www.oasis-open.org/docbook/xml/${DTDVERSION}" "file://${CATALOG_CMAKE_INSTALL_PREFIX}/share/xml/docbook/xml-dtd-4.5" - "rewriteURI" "http://www.oasis-open.org/docbook/xml/${DTDVERSION}" "file://${CATALOG_CMAKE_INSTALL_PREFIX}/share/xml/docbook/xml-dtd-4.5" - ) - install_xml_catalog(commands "docbook") - - # Do this for every pattern above except the "public" one which has already - # been taken care of so using the catalog file as the catalog - # is equivalent to using the docbook file as the catalog. - set(commands - "delegateSystem" "http://www.oasis-open.org/docbook/xml/${DTDVERSION}/" "file://${CATALOG_CMAKE_INSTALL_PREFIX}/etc/xml/docbook" - "delegateURI" "http://www.oasis-open.org/docbook/xml/${DTDVERSION}/" "file://${CATALOG_CMAKE_INSTALL_PREFIX}/etc/xml/docbook" - ) - install_xml_catalog(commands "catalog") - -endforeach(DTDVERSION ${previous_versions}) Modified: trunk/cmake/epa_build/docbook-xml/bp.cmake =================================================================== --- trunk/cmake/epa_build/docbook-xml/bp.cmake 2013-12-01 08:27:41 UTC (rev 12792) +++ trunk/cmake/epa_build/docbook-xml/bp.cmake 2013-12-01 22:58:49 UTC (rev 12793) @@ -88,11 +88,11 @@ OUTPUT ${EP_BASE}/Stamp/build_${BP_PACKAGE}/build_${BP_PACKAGE}-update COMMAND ${CMAKE_COMMAND} -E copy - ${CMAKE_SOURCE_DIR}/${BP_PACKAGE}/CMakeLists.txt + ${CMAKE_SOURCE_DIR}/${BP_PACKAGE}/${BP_PACKAGE}_CMakeLists.txt ${EP_BASE}/Source/build_${BP_PACKAGE}/CMakeLists.txt COMMENT "Custom updating of ${BP_PACKAGE}" DEPENDS - ${CMAKE_SOURCE_DIR}/${BP_PACKAGE}/CMakeLists.txt + ${CMAKE_SOURCE_DIR}/${BP_PACKAGE}/${BP_PACKAGE}_CMakeLists.txt APPEND ) Copied: trunk/cmake/epa_build/docbook-xml/docbook-xml_CMakeLists.txt (from rev 12783, trunk/cmake/epa_build/docbook-xml/CMakeLists.txt) =================================================================== --- trunk/cmake/epa_build/docbook-xml/docbook-xml_CMakeLists.txt (rev 0) +++ trunk/cmake/epa_build/docbook-xml/docbook-xml_CMakeLists.txt 2013-12-01 22:58:49 UTC (rev 12793) @@ -0,0 +1,178 @@ +# Top-level CMakeLists.txt for the CMake-based build system +# of the docbook-xml software. + +# Copyright (C) 2013 Alan W. Irwin + +# This file is free software; you can redistribute it and/or modify +# it under the terms of the GNU Library General Public License as published +# by the Free Software Foundation; version 2 of the License. +# +# This file is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU Library General Public License for more details. +# +# You should have received a copy of the GNU Library General Public License +# along with this file; if not, write to the Free Software +# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + +project(docbook-xml NONE) + +message(STATUS "CMake version = ${CMAKE_VERSION}") +message(STATUS "CMAKE_SYSTEM_NAME = ${CMAKE_SYSTEM_NAME}") + +cmake_minimum_required(VERSION 2.8.10.2 FATAL_ERROR) + +# CATALOG_CMAKE_INSTALL_PREFIX prepends a "/" to CMAKE_INSTALL_PREFIX if the +# latter doesn't start with "/", (i.e, the drive letter +# on Microsoft systems). This makes the URI file:/// form come out +# right for catalog entries. +if(CMAKE_INSTALL_PREFIX MATCHES "^[^/]") + set(CATALOG_CMAKE_INSTALL_PREFIX /${CMAKE_INSTALL_PREFIX}) +else(CMAKE_INSTALL_PREFIX MATCHES "^[^/]") + set(CATALOG_CMAKE_INSTALL_PREFIX ${CMAKE_INSTALL_PREFIX}) +endif(CMAKE_INSTALL_PREFIX MATCHES "^[^/]") +message(STATUS "CMAKE_INSTALL_PREFIX=${CMAKE_INSTALL_PREFIX}") +message(STATUS "CATALOG_CMAKE_INSTALL_PREFIX=${CATALOG_CMAKE_INSTALL_PREFIX}") + +# Define useful function. +find_program(XMLCATALOG_EXECUTABLE xmlcatalog) +function(install_xml_catalog arguments_LIST3 catalog) + # Install an XML catalog using the information supplied in + # arguments_LIST3, which is a list of arguments grouped by + # threes where each group of three arguments correspond to + # the three arguments of the "xmlcatalog --add" command. + + # Create the catalog if it does not exist. + install(CODE " +if(NOT EXISTS \"\$ENV{DESTDIR}\${CMAKE_INSTALL_PREFIX}/etc/xml/${catalog}\") +message(STATUS \"Creating \${CMAKE_INSTALL_PREFIX}/etc/xml/${catalog}\") +execute_process(COMMAND ${XMLCATALOG_EXECUTABLE} --noout + --create + \"\$ENV{DESTDIR}\${CMAKE_INSTALL_PREFIX}/etc/xml/${catalog}\") +endif(NOT EXISTS \"\$ENV{DESTDIR}\${CMAKE_INSTALL_PREFIX}/etc/xml/${catalog}\") +") + + list(LENGTH ${arguments_LIST3} narguments_LIST3) + set(group_size 3) + set(remove_indices 0 1 2) + math(EXPR max_index "(${narguments_LIST3}/${group_size}) - 1") + foreach(index RANGE 0 ${max_index}) + list(GET ${arguments_LIST3} 0 type) + list(GET ${arguments_LIST3} 1 orig) + list(GET ${arguments_LIST3} 2 replace) + list(REMOVE_AT ${arguments_LIST3} ${remove_indices}) + install(CODE " +message(STATUS \"Updating \${CMAKE_INSTALL_PREFIX}/etc/xml/${catalog}\") +execute_process(COMMAND ${XMLCATALOG_EXECUTABLE} --noout + --add \"${type}\" \"${orig}\" \"${replace}\" + \"\$ENV{DESTDIR}\${CMAKE_INSTALL_PREFIX}/etc/xml/${catalog}\") +" + ) + endforeach(index RANGE 0 ${max_index}) +endfunction(install_xml_catalog) + +# Nothing to build. Just follow directions at +# http://www.linuxfromscratch.org/blfs/view/svn/pst/DocBook.html to +# install files that are in the source tree. + +# Install top-level source tree files. +set(globs + ${CMAKE_SOURCE_DIR}/docbook.cat + ${CMAKE_SOURCE_DIR}/*.dtd + ${CMAKE_SOURCE_DIR}/*.mod + ) +# Make elements of path_list absolute PATH names. +file(GLOB path_list + ${globs} + ) +# Add the ent subdirectory to path_list +list(APPEND path_list ${CMAKE_SOURCE_DIR}/ent) + +find_program(INSTALL_EXECUTABLE install) +find_program(CP_EXECUTABLE cp) + +install(CODE " +message(STATUS \"Installing \${CMAKE_INSTALL_PREFIX}/share/xml/docbook/xml-dtd-4.5\") +execute_process( +COMMAND ${INSTALL_EXECUTABLE} -v -d -m755 +\"\$ENV{DESTDIR}\${CMAKE_INSTALL_PREFIX}/share/xml/docbook/xml-dtd-4.5\") +" + ) + +install(CODE " +execute_process( +COMMAND ${CP_EXECUTABLE} -v -af ${path_list} +\"\$ENV{DESTDIR}\${CMAKE_INSTALL_PREFIX}/share/xml/docbook/xml-dtd-4.5\") +" + ) + +install(CODE " +message(STATUS \"Installing \${CMAKE_INSTALL_PREFIX}/etc/xml\") +execute_process( +COMMAND ${INSTALL_EXECUTABLE} -v -d -m755 +\"\$ENV{DESTDIR}\${CMAKE_INSTALL_PREFIX}/etc/xml\") +" + ) + +set(commands +"public" "-//OASIS//DTD DocBook XML V4.5//EN" "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" +"public" "-//OASIS//DTD DocBook XML CALS Table Model V4.5//EN" "file://${CATALOG_CMAKE_INSTALL_PREFIX}/share/xml/docbook/xml-dtd-4.5/calstblx.dtd" +"public" "-//OASIS//DTD XML Exchange Table Model 19990315//EN" "file://${CATALOG_CMAKE_INSTALL_PREFIX}/share/xml/docbook/xml-dtd-4.5/soextblx.dtd" +"public" "-//OASIS//ELEMENTS DocBook XML Information Pool V4.5//EN" "file://${CATALOG_CMAKE_INSTALL_PREFIX}/share/xml/docbook/xml-dtd-4.5/dbpoolx.mod" +"public" "-//OASIS//ELEMENTS DocBook XML Document Hierarchy V4.5//EN" "file://${CATALOG_CMAKE_INSTALL_PREFIX}/share/xml/docbook/xml-dtd-4.5/dbhierx.mod" +"public" "-//OASIS//ELEMENTS DocBook XML HTML Tables V4.5//EN" "file://${CATALOG_CMAKE_INSTALL_PREFIX}/share/xml/docbook/xml-dtd-4.5/htmltblx.mod" +"public" "-//OASIS//ENTITIES DocBook XML Notations V4.5//EN" "file://${CATALOG_CMAKE_INSTALL_PREFIX}/share/xml/docbook/xml-dtd-4.5/dbnotnx.mod" +"public" "-//OASIS//ENTITIES DocBook XML Character Entities V4.5//EN" "file://${CATALOG_CMAKE_INSTALL_PREFIX}/share/xml/docbook/xml-dtd-4.5/dbcentx.mod" +"public" "-//OASIS//ENTITIES DocBook XML Additional General Entities V4.5//EN" "file://${CATALOG_CMAKE_INSTALL_PREFIX}/share/xml/docbook/xml-dtd-4.5/dbgenent.mod" +"rewriteSystem" "http://www.oasis-open.org/docbook/xml/4.5" "file://${CATALOG_CMAKE_INSTALL_PREFIX}/share/xml/docbook/xml-dtd-4.5" +"rewriteURI" "http://www.oasis-open.org/docbook/xml/4.5" "file://${CATALOG_CMAKE_INSTALL_PREFIX}/share/xml/docbook/xml-dtd-4.5") + +install_xml_catalog(commands "docbook") + +# Do this for every pattern above so using the catalog file as the catalog +# is equivalent to using the docbook file as the catalog. +set(commands +"delegatePublic" "-//OASIS//DTD DocBook XML" "file://${CATALOG_CMAKE_INSTALL_PREFIX}/etc/xml/docbook" +"delegatePublic" "-//OASIS//DTD XML Exchange" "file://${CATALOG_CMAKE_INSTALL_PREFIX}/etc/xml/docbook" +"delegatePublic" "-//OASIS//ENTITIES DocBook XML" "file://${CATALOG_CMAKE_INSTALL_PREFIX}/etc/xml/docbook" +"delegatePublic" "-//OASIS//ELEMENTS DocBook XML" "file://${CATALOG_CMAKE_INSTALL_PREFIX}/etc/xml/docbook" +"delegateSystem" "http://www.oasis-open.org/docbook/" "file://${CATALOG_CMAKE_INSTALL_PREFIX}/etc/xml/docbook" +"delegateURI" "http://www.oasis-open.org/docbook/" "file://${CATALOG_CMAKE_INSTALL_PREFIX}/etc/xml/docbook" +) + +install_xml_catalog(commands "catalog") + +# LFS instructions at +# http://www.linuxfromscratch.org/blfs/view/svn/pst/DocBook.html +# are open to interpretation for this part, but I think it means +# these previous versions should be dropped if they are handled +# a different way. But I am not doing that so leave them in +# unless some issue is found in the future that I am not aware of +# now. + +set(previous_versions + 4.1.2 + 4.2 + 4.3 + 4.4 + ) + +foreach(DTDVERSION ${previous_versions}) + set(commands + "public" "-//OASIS//DTD DocBook XML V${DTDVERSION}//EN" "http://www.oasis-open.org/docbook/xml/${DTDVERSION}/docbookx.dtd" + "rewriteSystem" "http://www.oasis-open.org/docbook/xml/${DTDVERSION}" "file://${CATALOG_CMAKE_INSTALL_PREFIX}/share/xml/docbook/xml-dtd-4.5" + "rewriteURI" "http://www.oasis-open.org/docbook/xml/${DTDVERSION}" "file://${CATALOG_CMAKE_INSTALL_PREFIX}/share/xml/docbook/xml-dtd-4.5" + ) + install_xml_catalog(commands "docbook") + + # Do this for every pattern above except the "public" one which has already + # been taken care of so using the catalog file as the catalog + # is equivalent to using the docbook file as the catalog. + set(commands + "delegateSystem" "http://www.oasis-open.org/docbook/xml/${DTDVERSION}/" "file://${CATALOG_CMAKE_INSTALL_PREFIX}/etc/xml/docbook" + "delegateURI" "http://www.oasis-open.org/docbook/xml/${DTDVERSION}/" "file://${CATALOG_CMAKE_INSTALL_PREFIX}/etc/xml/docbook" + ) + install_xml_catalog(commands "catalog") + +endforeach(DTDVERSION ${previous_versions}) Deleted: trunk/cmake/epa_build/docbook-xsl/CMakeLists.txt =================================================================== --- trunk/cmake/epa_build/docbook-xsl/CMakeLists.txt 2013-12-01 08:27:41 UTC (rev 12792) +++ trunk/cmake/epa_build/docbook-xsl/CMakeLists.txt 2013-12-01 22:58:49 UTC (rev 12793) @@ -1,180 +0,0 @@ -# Top-level CMakeLists.txt for the CMake-based build system -# of the docbook-xsl software. - -# Copyright (C) 2013 Alan W. Irwin - -# This file is free software; you can redistribute it and/or modify -# it under the terms of the GNU Library General Public License as published -# by the Free Software Foundation; version 2 of the License. -# -# This file is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU Library General Public License for more details. -# -# You should have received a copy of the GNU Library General Public License -# along with this file; if not, write to the Free Software -# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA - -project(docbook-xsl NONE) - -message(STATUS "CMake version = ${CMAKE_VERSION}") -message(STATUS "CMAKE_SYSTEM_NAME = ${CMAKE_SYSTEM_NAME}") - -cmake_minimum_required(VERSION 2.8.10.2 FATAL_ERROR) - -# CATALOG_CMAKE_INSTALL_PREFIX prepends a "/" to CMAKE_INSTALL_PREFIX if the -# latter doesn't start with "/", (i.e, the drive letter -# on Microsoft systems). This makes the URI file:/// form come out -# right for catalog entries. -if(CMAKE_INSTALL_PREFIX MATCHES "^[^/]") - set(CATALOG_CMAKE_INSTALL_PREFIX /${CMAKE_INSTALL_PREFIX}) -else(CMAKE_INSTALL_PREFIX MATCHES "^[^/]") - set(CATALOG_CMAKE_INSTALL_PREFIX ${CMAKE_INSTALL_PREFIX}) -endif(CMAKE_INSTALL_PREFIX MATCHES "^[^/]") -message(STATUS "CMAKE_INSTALL_PREFIX=${CMAKE_INSTALL_PREFIX}") -message(STATUS "CATALOG_CMAKE_INSTALL_PREFIX=${CATALOG_CMAKE_INSTALL_PREFIX}") - -# Define useful function. -find_program(XMLCATALOG_EXECUTABLE xmlcatalog) -function(install_xml_catalog arguments_LIST3 catalog) - # Install an XML catalog using the information supplied in - # arguments_LIST3, which is a list of arguments grouped by - # threes where each group of three arguments correspond to - # the three arguments of the "xmlcatalog --add" command. - - # Create the catalog if it does not exist. - install(CODE " -if(NOT EXISTS \"\$ENV{DESTDIR}\${CMAKE_INSTALL_PREFIX}/etc/xml/${catalog}\") -message(STATUS \"Creating \${CMAKE_INSTALL_PREFIX}/etc/xml/${catalog}\") -execute_process(COMMAND ${XMLCATALOG_EXECUTABLE} --noout - --create - \"\$ENV{DESTDIR}\${CMAKE_INSTALL_PREFIX}/etc/xml/${catalog}\") -endif(NOT EXISTS \"\$ENV{DESTDIR}\${CMAKE_INSTALL_PREFIX}/etc/xml/${catalog}\") -") - - list(LENGTH ${arguments_LIST3} narguments_LIST3) - set(group_size 3) - set(remove_indices 0 1 2) - math(EXPR max_index "(${narguments_LIST3}/${group_size}) - 1") - foreach(index RANGE 0 ${max_index}) - list(GET ${arguments_LIST3} 0 type) - list(GET ${arguments_LIST3} 1 orig) - list(GET ${arguments_LIST3} 2 replace) - list(REMOVE_AT ${arguments_LIST3} ${remove_indices}) - install(CODE " -message(STATUS \"Updating \${CMAKE_INSTALL_PREFIX}/etc/xml/${catalog}\") -execute_process(COMMAND ${XMLCATALOG_EXECUTABLE} --noout - --add \"${type}\" \"${orig}\" \"${replace}\" - \"\$ENV{DESTDIR}\${CMAKE_INSTALL_PREFIX}/etc/xml/${catalog}\") -" - ) - endforeach(index RANGE 0 ${max_index}) -endfunction(install_xml_catalog) - -# Nothing to build. Just follow directions at -# http://www.linuxfromscratch.org/blfs/view/svn/pst/docbook-xsl.html to -# install files that are in the source tree. - -find_program(INSTALL_EXECUTABLE install) -find_program(CP_EXECUTABLE cp) -find_program(LN_EXECUTABLE ln) - -set(path_list - ${CMAKE_SOURCE_DIR}/VERSION - ${CMAKE_SOURCE_DIR}/common - ${CMAKE_SOURCE_DIR}/eclipse - ${CMAKE_SOURCE_DIR}/epub - ${CMAKE_SOURCE_DIR}/extensions - ${CMAKE_SOURCE_DIR}/fo - ${CMAKE_SOURCE_DIR}/highlighting - ${CMAKE_SOURCE_DIR}/html - ${CMAKE_SOURCE_DIR}/htmlhelp - ${CMAKE_SOURCE_DIR}/images - ${CMAKE_SOURCE_DIR}/javahelp - ${CMAKE_SOURCE_DIR}/lib - ${CMAKE_SOURCE_DIR}/manpages - ${CMAKE_SOURCE_DIR}/params - ${CMAKE_SOURCE_DIR}/profiling - ${CMAKE_SOURCE_DIR}/roundtrip - ${CMAKE_SOURCE_DIR}/slides - ${CMAKE_SOURCE_DIR}/template - ${CMAKE_SOURCE_DIR}/tests - ${CMAKE_SOURCE_DIR}/tools - ${CMAKE_SOURCE_DIR}/webhelp - ${CMAKE_SOURCE_DIR}/website - ${CMAKE_SOURCE_DIR}/xhtml - ${CMAKE_SOURCE_DIR}/xhtml-1_1 -) - -install(CODE " -message(STATUS \"Installing \${CMAKE_INSTALL_PREFIX}/share/xml/docbook/xsl-stylesheets-1.78.1\") -execute_process( -COMMAND ${INSTALL_EXECUTABLE} -v -d -m755 -\"\$ENV{DESTDIR}\${CMAKE_INSTALL_PREFIX}/share/xml/docbook/xsl-stylesheets-1.78.1\") -" - ) - -install(CODE " -execute_process( -COMMAND ${CP_EXECUTABLE} -v -R ${path_list} -\"\$ENV{DESTDIR}\${CMAKE_INSTALL_PREFIX}/share/xml/docbook/xsl-stylesheets-1.78.1\") -" - ) - -install(CODE " -execute_process( -COMMAND ${LN_EXECUTABLE} -s VERSION -\"\$ENV{DESTDIR}\${CMAKE_INSTALL_PREFIX}/share/xml/docbook/xsl-stylesheets-1.78.1/VERSION.xsl\") -" - ) - -install(CODE " -execute_process( -COMMAND ${INSTALL_EXECUTABLE} -v -m644 -D ${CMAKE_SOURCE_DIR}/README -\"\$ENV{DESTDIR}\${CMAKE_INSTALL_PREFIX}/share/doc/docbook-xsl-1.78.1/README.txt\") -" - ) - -set(globs - ${CMAKE_SOURCE_DIR}/RELEASE-NOTES* - ${CMAKE_SOURCE_DIR}/NEWS* - ) -# Make elements of path_list absolute PATH names. -file(GLOB path_list - ${globs} - ) -install(CODE " -execute_process( -COMMAND ${INSTALL_EXECUTABLE} -v -m644 ${path_list} -\"\$ENV{DESTDIR}\${CMAKE_INSTALL_PREFIX}/share/doc/docbook-xsl-1.78.1\") -" - ) - -install(CODE " -message(STATUS \"Installing \${CMAKE_INSTALL_PREFIX}/etc/xml\") -execute_process( -COMMAND ${INSTALL_EXECUTABLE} -v -d -m755 -\"\$ENV{DESTDIR}\${CMAKE_INSTALL_PREFIX}/etc/xml\") -" - ) - -set(commands - "rewriteSystem" "http://docbook.sourceforge.net/release/xsl/1.78.1" "file://${CATALOG_CMAKE_INSTALL_PREFIX}/share/xml/docbook/xsl-stylesheets-1.78.1" - "rewriteURI" "http://docbook.sourceforge.net/release/xsl/1.78.1" "file://${CATALOG_CMAKE_INSTALL_PREFIX}/share/xml/docbook/xsl-stylesheets-1.78.1" - "rewriteSystem" "http://docbook.sourceforge.net/release/xsl/current" "file://${CATALOG_CMAKE_INSTALL_PREFIX}/share/xml/docbook/xsl-stylesheets-1.78.1" - "rewriteURI" "http://docbook.sourceforge.net/release/xsl/current" "file://${CATALOG_CMAKE_INSTALL_PREFIX}/share/xml/docbook/xsl-stylesheets-1.78.1" -) - -install_xml_catalog(commands "catalog") - -# LFS instructions at -# http://www.linuxfromscratch.org/blfs/view/svn/pst/docbook-xsl.html -# state what to do if other previous versions of docbook-xsl are -# required. Essentially, the steps are to install the older -# docbook-xsl package as well, then run xmlcatalog --add <type> <orig> -# <replace> where <type> is first rewriteSystem then rewriteURI. Note -# it is a different scenario then what is done for docbook-xml where -# old versions of docbook-xml do not have to be installed. With luck, -# we won't need to install different versions of docbook-xsl so ignore -# these docbook-xsl multiversion instructions for now. Modified: trunk/cmake/epa_build/docbook-xsl/bp.cmake =================================================================== --- trunk/cmake/epa_build/docbook-xsl/bp.cmake 2013-12-01 08:27:41 UTC (rev 12792) +++ trunk/cmake/epa_build/docbook-xsl/bp.cmake 2013-12-01 22:58:49 UTC (rev 12793) @@ -88,11 +88,11 @@ OUTPUT ${EP_BASE}/Stamp/build_${BP_PACKAGE}/build_${BP_PACKAGE}-update COMMAND ${CMAKE_COMMAND} -E copy - ${CMAKE_SOURCE_DIR}/${BP_PACKAGE}/CMakeLists.txt + ${CMAKE_SOURCE_DIR}/${BP_PACKAGE}/${BP_PACKAGE}_CMakeLists.txt ${EP_BASE}/Source/build_${BP_PACKAGE}/CMakeLists.txt COMMENT "Custom updating of ${BP_PACKAGE}" DEPENDS - ${CMAKE_SOURCE_DIR}/${BP_PACKAGE}/CMakeLists.txt + ${CMAKE_SOURCE_DIR}/${BP_PACKAGE}/${BP_PACKAGE}_CMakeLists.txt APPEND ) Copied: trunk/cmake/epa_build/docbook-xsl/docbook-xsl_CMakeLists.txt (from rev 12783, trunk/cmake/epa_build/docbook-xsl/CMakeLists.txt) =================================================================== --- trunk/cmake/epa_build/docbook-xsl/docbook-xsl_CMakeLists.txt (rev 0) +++ trunk/cmake/epa_build/docbook-xsl/docbook-xsl_CMakeLists.txt 2013-12-01 22:58:49 UTC (rev 12793) @@ -0,0 +1,180 @@ +# Top-level CMakeLists.txt for the CMake-based build system +# of the docbook-xsl software. + +# Copyright (C) 2013 Alan W. Irwin + +# This file is free software; you can redistribute it and/or modify +# it under the terms of the GNU Library General Public License as published +# by the Free Software Foundation; version 2 of the License. +# +# This file is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU Library General Public License for more details. +# +# You should have received a copy of the GNU Library General Public License +# along with this file; if not, write to the Free Software +# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + +project(docbook-xsl NONE) + +message(STATUS "CMake version = ${CMAKE_VERSION}") +message(STATUS "CMAKE_SYSTEM_NAME = ${CMAKE_SYSTEM_NAME}") + +cmake_minimum_required(VERSION 2.8.10.2 FATAL_ERROR) + +# CATALOG_CMAKE_INSTALL_PREFIX prepends a "/" to CMAKE_INSTALL_PREFIX if the +# latter doesn't start with "/", (i.e, the drive letter +# on Microsoft systems). This makes the URI file:/// form come out +# right for catalog entries. +if(CMAKE_INSTALL_PREFIX MATCHES "^[^/]") + set(CATALOG_CMAKE_INSTALL_PREFIX /${CMAKE_INSTALL_PREFIX}) +else(CMAKE_INSTALL_PREFIX MATCHES "^[^/]") + set(CATALOG_CMAKE_INSTALL_PREFIX ${CMAKE_INSTALL_PREFIX}) +endif(CMAKE_INSTALL_PREFIX MATCHES "^[^/]") +message(STATUS "CMAKE_INSTALL_PREFIX=${CMAKE_INSTALL_PREFIX}") +message(STATUS "CATALOG_CMAKE_INSTALL_PREFIX=${CATALOG_CMAKE_INSTALL_PREFIX}") + +# Define useful function. +find_program(XMLCATALOG_EXECUTABLE xmlcatalog) +function(install_xml_catalog arguments_LIST3 catalog) + # Install an XML catalog using the information supplied in + # arguments_LIST3, which is a list of arguments grouped by + # threes where each group of three arguments correspond to + # the three arguments of the "xmlcatalog --add" command. + + # Create the catalog if it does not exist. + install(CODE " +if(NOT EXISTS \"\$ENV{DESTDIR}\${CMAKE_INSTALL_PREFIX}/etc/xml/${catalog}\") +message(STATUS \"Creating \${CMAKE_INSTALL_PREFIX}/etc/xml/${catalog}\") +execute_process(COMMAND ${XMLCATALOG_EXECUTABLE} --noout + --create + \"\$ENV{DESTDIR}\${CMAKE_INSTALL_PREFIX}/etc/xml/${catalog}\") +endif(NOT EXISTS \"\$ENV{DESTDIR}\${CMAKE_INSTALL_PREFIX}/etc/xml/${catalog}\") +") + + list(LENGTH ${arguments_LIST3} narguments_LIST3) + set(group_size 3) + set(remove_indices 0 1 2) + math(EXPR max_index "(${narguments_LIST3}/${group_size}) - 1") + foreach(index RANGE 0 ${max_index}) + list(GET ${arguments_LIST3} 0 type) + list(GET ${arguments_LIST3} 1 orig) + list(GET ${arguments_LIST3} 2 replace) + list(REMOVE_AT ${arguments_LIST3} ${remove_indices}) + install(CODE " +message(STATUS \"Updating \${CMAKE_INSTALL_PREFIX}/etc/xml/${catalog}\") +execute_process(COMMAND ${XMLCATALOG_EXECUTABLE} --noout + --add \"${type}\" \"${orig}\" \"${replace}\" + \"\$ENV{DESTDIR}\${CMAKE_INSTALL_PREFIX}/etc/xml/${catalog}\") +" + ) + endforeach(index RANGE 0 ${max_index}) +endfunction(install_xml_catalog) + +# Nothing to build. Just follow directions at +# http://www.linuxfromscratch.org/blfs/view/svn/pst/docbook-xsl.html to +# install files that are in the source tree. + +find_program(INSTALL_EXECUTABLE install) +find_program(CP_EXECUTABLE cp) +find_program(LN_EXECUTABLE ln) + +set(path_list + ${CMAKE_SOURCE_DIR}/VERSION + ${CMAKE_SOURCE_DIR}/common + ${CMAKE_SOURCE_DIR}/eclipse + ${CMAKE_SOURCE_DIR}/epub + ${CMAKE_SOURCE_DIR}/extensions + ${CMAKE_SOURCE_DIR}/fo + ${CMAKE_SOURCE_DIR}/highlighting + ${CMAKE_SOURCE_DIR}/html + ${CMAKE_SOURCE_DIR}/htmlhelp + ${CMAKE_SOURCE_DIR}/images + ${CMAKE_SOURCE_DIR}/javahelp + ${CMAKE_SOURCE_DIR}/lib + ${CMAKE_SOURCE_DIR}/manpages + ${CMAKE_SOURCE_DIR}/params + ${CMAKE_SOURCE_DIR}/profiling + ${CMAKE_SOURCE_DIR}/roundtrip + ${CMAKE_SOURCE_DIR}/slides + ${CMAKE_SOURCE_DIR}/template + ${CMAKE_SOURCE_DIR}/tests + ${CMAKE_SOURCE_DIR}/tools + ${CMAKE_SOURCE_DIR}/webhelp + ${CMAKE_SOURCE_DIR}/website + ${CMAKE_SOURCE_DIR}/xhtml + ${CMAKE_SOURCE_DIR}/xhtml-1_1 +) + +install(CODE " +message(STATUS \"Installing \${CMAKE_INSTALL_PREFIX}/share/xml/docbook/xsl-stylesheets-1.78.1\") +execute_process( +COMMAND ${INSTALL_EXECUTABLE} -v -d -m755 +\"\$ENV{DESTDIR}\${CMAKE_INSTALL_PREFIX}/share/xml/docbook/xsl-stylesheets-1.78.1\") +" + ) + +install(CODE " +execute_process( +COMMAND ${CP_EXECUTABLE} -v -R ${path_list} +\"\$ENV{DESTDIR}\${CMAKE_INSTALL_PREFIX}/share/xml/docbook/xsl-stylesheets-1.78.1\") +" + ) + +install(CODE " +execute_process( +COMMAND ${LN_EXECUTABLE} -s VERSION +\"\$ENV{DESTDIR}\${CMAKE_INSTALL_PREFIX}/share/xml/docbook/xsl-stylesheets-1.78.1/VERSION.xsl\") +" + ) + +install(CODE " +execute_process( +COMMAND ${INSTALL_EXECUTABLE} -v -m644 -D ${CMAKE_SOURCE_DIR}/README +\"\$ENV{DESTDIR}\${CMAKE_INSTALL_PREFIX}/share/doc/docbook-xsl-1.78.1/README.txt\") +" + ) + +set(globs + ${CMAKE_SOURCE_DIR}/RELEASE-NOTES* + ${CMAKE_SOURCE_DIR}/NEWS* + ) +# Make elements of path_list absolute PATH names. +file(GLOB path_list + ${globs} + ) +install(CODE " +execute_process( +COMMAND ${INSTALL_EXECUTABLE} -v -m644 ${path_list} +\"\$ENV{DESTDIR}\${CMAKE_INSTALL_PREFIX}/share/doc/docbook-xsl-1.78.1\") +" + ) + +install(CODE " +message(STATUS \"Installing \${CMAKE_INSTALL_PREFIX}/etc/xml\") +execute_process( +COMMAND ${INSTALL_EXECUTABLE} -v -d -m755 +\"\$ENV{DESTDIR}\${CMAKE_INSTALL_PREFIX}/etc/xml\") +" + ) + +set(commands + "rewriteSystem" "http://docbook.sourceforge.net/release/xsl/1.78.1" "file://${CATALOG_CMAKE_INSTALL_PREFIX}/share/xml/docbook/xsl-stylesheets-1.78.1" + "rewriteURI" "http://docbook.sourceforge.net/release/xsl/1.78.1" "file://${CATALOG_CMAKE_INSTALL_PREFIX}/share/xml/docbook/xsl-stylesheets-1.78.1" + "rewriteSystem" "http://docbook.sourceforge.net/release/xsl/current" "file://${CATALOG_CMAKE_INSTALL_PREFIX}/share/xml/docbook/xsl-stylesheets-1.78.1" + "rewriteURI" "http://docbook.sourceforge.net/release/xsl/current" "file://${CATALOG_CMAKE_INSTALL_PREFIX}/share/xml/docbook/xsl-stylesheets-1.78.1" +) + +install_xml_catalog(commands "catalog") + +# LFS instructions at +# http://www.linuxfromscratch.org/blfs/view/svn/pst/docbook-xsl.html +# state what to do if other previous versions of docbook-xsl are +# required. Essentially, the steps are to install the older +# docbook-xsl package as well, then run xmlcatalog --add <type> <orig> +# <replace> where <type> is first rewriteSystem then rewriteURI. Note +# it is a different scenario then what is done for docbook-xml where +# old versions of docbook-xml do not have to be installed. With luck, +# we won't need to install different versions of docbook-xsl so ignore +# these docbook-xsl multiversion instructions for now. Deleted: trunk/cmake/epa_build/iwidgets/CMakeLists.txt =================================================================== --- trunk/cmake/epa_build/iwidgets/CMakeLists.txt 2013-12-01 08:27:41 UTC (rev 12792) +++ trunk/cmake/epa_build/iwidgets/CMakeLists.txt 2013-12-01 22:58:49 UTC (rev 12793) @@ -1,149 +0,0 @@ -# Top-level CMakeLists.txt for the CMake-based build and test system -# of the iwidgets software. - -# Copyright (C) 2013 Alan W. Irwin - -# This file is free software; you can redistribute it and/or modify -# it under the terms of the GNU Library General Public License as published -# by the Free Software Foundation; version 2 of the License. -# -# This file is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU Library General Public License for more details. -# -# You should have received a copy of the GNU Library General Public License -# along with this file; if not, write to the Free Software -# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA - -# The traditional autoconf build of iwidgets that was created in 2002 -# or earlier is completely broken and difficult to understand because -# lots of the install is done in a low-level way. -# Therefore, this is an attempt to replace that build system with a -# rational CMake-based build system that actually works. - -# N.B. This "build" system only installs files so -# no compiler is required for this project -project(iwidgets NONE) - -message(STATUS "CMake version = ${CMAKE_VERSION}") -message(STATUS "CMAKE_SYSTEM = ${CMAKE_SYSTEM}") -message(STATUS "CMAKE_GENERATOR = ${CMAKE_GENERATOR}") -message(STATUS "CMAKE_INSTALL_PREFIX = ${CMAKE_INSTALL_PREFIX}") - -cmake_minimum_required(VERSION 2.8.11.2 FATAL_ERROR) - -option(BUILD_IWIDGETS_4.1 "Build iwidgets 4.1" OFF) - -if(BUILD_IWIDGETS_4.1) - # install iwidgets 4.1 that is associated with version 4 of itcl and itk. - # Note the only difference between iwidgets 4.1 and 4.0 source code - # is a small patch. We assume that patch has been applied for this case. - set(ITCL_VERSION 4.0) - set(VERSION 4.1.0) -else(BUILD_IWIDGETS_4.1) - # install iwidgets 4.0 that is associated with version 3 of itcl and itk. - set(ITCL_VERSION 3.2) - set(VERSION 4.0.1) -endif(BUILD_IWIDGETS_4.1) - -set(PACKAGE iwidgets${VERSION}) - -# Set up install locations. -set( - CMAKE_INSTALL_SCRIPTS_DIR - ${CMAKE_INSTALL_PREFIX}/lib/${PACKAGE} - CACHE PATH "install location for iwidgets scripts." - ) - -set( - CMAKE_INSTALL_DOC_DIR - ${CMAKE_INSTALL_PREFIX}/share/doc/${PACKAGE} - CACHE PATH "install location for iwidgets scripts." - ) - -set( - CMAKE_INSTALL_MAN_DIR - ${CMAKE_INSTALL_PREFIX}/share/man - CACHE PATH "install location for man documentation" - ) - -# Install configured iwidgets.tcl and pkgIndex.tcl. -configure_file(iwidgets.tcl.in iwidgets.tcl @ONLY) -configure_file(pkgIndex.tcl.in pkgIndex.tcl @ONLY) -install( - FILES - ${CMAKE_CURRENT_BINARY_DIR}/iwidgets.tcl - ${CMAKE_CURRENT_BINARY_DIR}/pkgIndex.tcl - DESTINATION ${CMAKE_INSTALL_SCRIPTS_DIR} - ) - -# Install selected files from the generic subdirectory. - -file(GLOB generic_FILE_LIST RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} generic/*.itk generic/*.itcl generic/tclIndex generic/*.gif) -install( - FILES - ${generic_FILE_LIST} - DESTINATION ${CMAKE_INSTALL_SCRIPTS_DIR}/scripts - ) - -# Install some individual files to the documentation directory. -install( - FILES - CHANGES ChangeLog README license.terms - DESTINATION ${CMAKE_INSTALL_DOC_DIR} - ) - - -# Install demos, demos/images, and demos/html. - -file(GLOB demos_FILE_LIST RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} demos/*) -list(REMOVE_ITEM demos_FILE_LIST demos/images demos/html) -install( - FILES - ${demos_FILE_LIST} - DESTINATION ${CMAKE_INSTALL_DOC_DIR}/demos - ) - -file(GLOB demos_images_FILE_LIST RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} demos/images/*) -install( - FILES - ${demos_images_FILE_LIST} - DESTINATION ${CMAKE_INSTALL_DOC_DIR}/demos/images - ) -file(GLOB demos_html_FILE_LIST RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} demos/html/*) -install( - FILES - ${demos_html_FILE_LIST} - DESTINATION ${CMAKE_INSTALL_DOC_DIR}/demos/html - ) - -# Install transformed man pages using "iwidgets_" filename suffix. -# (All these changes copied exactly from the traditional build system -# except that I use default 644 permissions [which is consistent -# with the permissions of Debian man pages].) - -file(MAKE_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/doc) - -find_program(SED_EXECUTABLE sed) -if(NOT SED_EXECUTABLE) - message(FATAL_ERROR "sed required for build but not found") -endif(NOT SED_EXECUTABLE) - -file(GLOB man_FILE_LIST RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} doc/*.n) -foreach(manpage ${man_FILE_LIST}) - string(REGEX REPLACE "^doc/" "doc/iwidgets_" processed_manpage ${manpage}) - execute_process( - COMMAND - ${SED_EXECUTABLE} -e "/man\\.macros/r ${CMAKE_CURRENT_SOURCE_DIR}/doc/man.macros" -e "/man\\.macros/d" - INPUT_FILE ${CMAKE_CURRENT_SOURCE_DIR}/${manpage} - OUTPUT_FILE ${CMAKE_CURRENT_BINARY_DIR}/${processed_manpage} - ) -endforeach(manpage ${man_FILE_LIST}) - -file(GLOB man_FILE_LIST ${CMAKE_CURRENT_BINARY_DIR}/doc/*.n) -install( - FILES - ${man_FILE_LIST} - DESTINATION ${CMAKE_INSTALL_MAN_DIR}/mann - ) Modified: trunk/cmake/epa_build/iwidgets/bp.cmake =================================================================== --- trunk/cmake/epa_build/iwidgets/bp.cmake 2013-12-01 08:27:41 UTC (rev 12792) +++ trunk/cmake/epa_build/iwidgets/bp.cmake 2013-12-01 22:58:49 UTC (rev 12793) @@ -132,7 +132,7 @@ ${EP_BASE}/Stamp/build_${BP_PACKAGE}${tag}/build_${BP_PACKAGE}${tag}-patch COMMAND echo "Add CMake-based build system" COMMAND ${CMAKE_COMMAND} -E copy_if_different - ${CMAKE_SOURCE_DIR}/${BP_PACKAGE}/CMakeLists.txt + ${CMAKE_SOURCE_DIR}/${BP_PACKAGE}/${BP_PACKAGE}_CMakeLists.txt ${EP_BASE}/Source/build_${BP_PACKAGE}${tag}/CMakeLists.txt APPEND ) Copied: trunk/cmake/epa_build/iwidgets/iwidgets_CMakeLists.txt (from rev 12783, trunk/cmake/epa_build/iwidgets/CMakeLists.txt) =================================================================== --- trunk/cmake/epa_build/iwidgets/iwidgets_CMakeLists.txt (rev 0) +++ trunk/cmake/epa_build/iwidgets/iwidgets_CMakeLists.txt 2013-12-01 22:58:49 UTC (rev 12793) @@ -0,0 +1,149 @@ +# Top-level CMakeLists.txt for the CMake-based build and test system +# of the iwidgets software. + +# Copyright (C) 2013 Alan W. Irwin + +# This file is free software; you can redistribute it and/or modify +# it under the terms of the GNU Library General Public License as published +# by the Free Software Foundation; version 2 of the License. +# +# This file is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU Library General Public License for more details. +# +# You should have received a copy of the GNU Library General Public License +# along with this file; if not, write to the Free Software +# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + +# The traditional autoconf build of iwidgets that was created in 2002 +# or earlier is completely broken and difficult to understand because +# lots of the install is done in a low-level way. +# Therefore, this is an attempt to replace that build system with a +# rational CMake-based build system that actually works. + +# N.B. This "build" system only installs files so +# no compiler is required for this project +project(iwidgets NONE) + +message(STATUS "CMake version = ${CMAKE_VERSION}") +message(STATUS "CMAKE_SYSTEM = ${CMAKE_SYSTEM}") +message(STATUS "CMAKE_GENERATOR = ${CMAKE_GENERATOR}") +message(STATUS "CMAKE_INSTALL_PREFIX = ${CMAKE_INSTALL_PREFIX}") + +cmake_minimum_required(VERSION 2.8.11.2 FATAL_ERROR) + +option(BUILD_IWIDGETS_4.1 "Build iwidgets 4.1" OFF) + +if(BUILD_IWIDGETS_4.1) + # install iwidgets 4.1 that is associated with version 4 of itcl and itk. + # Note the only difference between iwidgets 4.1 and 4.0 source code + # is a small patch. We assume that patch has been applied for this case. + set(ITCL_VERSION 4.0) + set(VERSION 4.1.0) +else(BUILD_IWIDGETS_4.1) + # install iwidgets 4.0 that is associated with version 3 of itcl and itk. + set(ITCL_VERSION 3.2) + set(VERSION 4.0.1) +endif(BUILD_IWIDGETS_4.1) + +set(PACKAGE iwidgets${VERSION}) + +# Set up install locations. +set( + CMAKE_INSTALL_SCRIPTS_DIR + ${CMAKE_INSTALL_PREFIX}/lib/${PACKAGE} + CACHE PATH "install location for iwidgets scripts." + ) + +set( + CMAKE_INSTALL_DOC_DIR + ${CMAKE_INSTALL_PREFIX}/share/doc/${PACKAGE} + CACHE PATH "install location for iwidgets scripts." + ) + +set( + CMAKE_INSTALL_MAN_DIR + ${CMAKE_INSTALL_PREFIX}/share/man + CACHE PATH "install location for man documentation" + ) + +# Install configured iwidgets.tcl and pkgIndex.tcl. +configure_file(iwidgets.tcl.in iwidgets.tcl @ONLY) +configure_file(pkgIndex.tcl.in pkgIndex.tcl @ONLY) +install( + FILES + ${CMAKE_CURRENT_BINARY_DIR}/iwidgets.tcl + ${CMAKE_CURRENT_BINARY_DIR}/pkgIndex.tcl + DESTINATION ${CMAKE_INSTALL_SCRIPTS_DIR} + ) + +# Install selected files from the generic subdirectory. + +file(GLOB generic_FILE_LIST RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} generic/*.itk generic/*.itcl generic/tclIndex generic/*.gif) +install( + FILES + ${generic_FILE_LIST} + DESTINATION ${CMAKE_INSTALL_SCRIPTS_DIR}/scripts + ) + +# Install some individual files to the documentation directory. +install( + FILES + CHANGES ChangeLog README license.terms + DESTINATION ${CMAKE_INSTALL_DOC_DIR} + ) + + +# Install demos, demos/images, and demos/html. + +file(GLOB demos_FILE_LIST RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} demos/*) +list(REMOVE_ITEM demos_FILE_LIST demos/images demos/html) +install( + FILES + ${demos_FILE_LIST} + DESTINATION ${CMAKE_INSTALL_DOC_DIR}/demos + ) + +file(GLOB demos_images_FILE_LIST RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} demos/images/*) +install( + FILES + ${demos_images_FILE_LIST} + DESTINATION ${CMAKE_INSTALL_DOC_DIR}/demos/images + ) +file(GLOB demos_html_FILE_LIST RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} demos/html/*) +install( + FILES + ${demos_html_FILE_LIST} + DESTINATION ${CMAKE_INSTALL_DOC_DIR}/demos/html + ) + +# Install transformed man pages using "iwidgets_" filename suffix. +# (All these changes copied exactly from the traditional build system +# except that I use default 644 permissions [which is consistent +# with the permissions of Debian man pages].) + +file(MAKE_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/doc) + +find_program(SED_EXECUTABLE sed) +if(NOT SED_EXECUTABLE) + message(FATAL_ERROR "sed required for build but not found") +endif(NOT SED_EXECUTABLE) + +file(GLOB man_FILE_LIST RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} doc/*.n) +foreach(manpage ${man_FILE_LIST}) + string(REGEX REPLACE "^doc/" "doc/iwidgets_" processed_manpage ${manpage}) + execute_process( + COMMAND + ${SED_EXECUTABLE} -e "/man\\.macros/r ${CMAKE_CURRENT_SOURCE_DIR}/doc/man.macros" -e "/man\\.macros/d" + INPUT_FILE ${CMAKE_CURRENT_SOURCE_DIR}/${manpage} + OUTPUT_FILE ${CMAKE_CURRENT_BINARY_DIR}/${processed_manpage} + ) +endforeach(manpage ${man_FILE_LIST}) + +file(GLOB man_FILE_LIST ${CMAKE_CURRENT_BINARY_DIR}/doc/*.n) +install( + FILES + ${man_FILE_LIST} + DESTINATION ${CMAKE_INSTALL_MAN_DIR}/mann + ) Deleted: trunk/cmake/epa_build/libagg/CMakeLists.txt =================================================================== --- trunk/cmake/epa_build/libagg/CMakeLists.txt 2013-12-01 08:27:41 UTC (rev 12792) +++ trunk/cmake/epa_build/libagg/CMakeLists.txt 2013-12-01 22:58:49 UTC (rev 12793) @@ -1,250 +0,0 @@ -# Top-level CMakeLists.txt for the CMake-based build and test system -# of the AGG (Anti-Grain Geometry) library. - -# Copyright (C) 2006 Werner Smekal -# Copyright (C) 2013 Alan W. Irwin - -# This file is free software; you can redistribute it and/or modify -# it under the terms of the GNU Library General Public License as published -# by the Free Software Foundation; version 2 of the License. -# -# This file is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU Library General Public License for more details. -# -# You should have received a copy of the GNU Library General Public License -# along with this file; if not, write to the Free Software -# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA - -# CMakeLists.txt for the agg 2.5 library. (AWI has double-checked that -# the agg_LIB_SRCS and agg_LIB_HDRS lists below are consistent with that -# version of agg.) -# This build system currently -# only makes the agg library (static/shared) but no executables -# Put this file in the main directory, create and cd into a build directory, -# and run this cmake command: -# cmake -G "MinGW Makefiles" -DBUILD_SHARED_LIBS=OFF -DCMAKE_INSTALL_PREFIX=../local .. -# or similar. - -# It is a fatal error if no working C++ compiler is available to build -# the shapelib library and utilities -project(shapelib CXX) - -message(STATUS "CMake version = ${CMAKE_VERSION}") -message(STATUS "CMAKE_SYSTEM = ${CMAKE_SYSTEM}") -message(STATUS "CMAKE_INSTALL_PREFIX = ${CMAKE_INSTALL_PREFIX}") - -cmake_minimum_required(VERSION 2.8.10.2 FATAL_ERROR) - -# libraries are all shared by default. -option(BUILD_SHARED_LIBS "Build shared libraries" ON) - -set( - agg_LIB_SRCS - src/agg_arc.cpp - src/agg_arrowhead.cpp - src/agg_bezier_arc.cpp - src/agg_bspline.cpp - src/agg_curves.cpp - src/agg_vcgen_contour.cpp - src/agg_vcgen_dash.cpp - src/agg_vcgen_markers_term.cpp - src/agg_vcgen_smooth_poly1.cpp - src/agg_vcgen_stroke.cpp - src/agg_vcgen_bspline.cpp - src/agg_gsv_text.cpp - src/agg_image_filters.cpp - src/agg_line_aa_basics.cpp - src/agg_line_profile_aa.cpp - src/agg_rounded_rect.cpp - src/agg_sqrt_tables.cpp - src/agg_embedded_raster_fonts.cpp - src/agg_trans_affine.cpp - src/agg_trans_warp_magnifier.cpp - src/agg_trans_single_path.cpp - src/agg_trans_double_path.cpp - src/agg_vpgen_clip_polygon.cpp - src/agg_vpgen_clip_polyline.cpp - src/agg_vpgen_segmentator.cpp - src/ctrl/agg_cbox_ctrl.cpp - src/ctrl/agg_gamma_ctrl.cpp - src/ctrl/agg_gamma_spline.cpp - src/ctrl/agg_rbox_ctrl.cpp - src/ctrl/agg_slider_ctrl.cpp - src/ctrl/agg_spline_ctrl.cpp - src/ctrl/agg_scale_ctrl.cpp - src/ctrl/agg_polygon_ctrl.cpp - src/ctrl/agg_bezier_ctrl.cpp - gpc/gpc.c -) - -set( - agg_LIB_HDRS - include/agg_alpha_mask_u8.h - include/agg_arc.h - include/agg_array.h - include/agg_arrowhead.h - include/agg_basics.h - include/agg_bezier_arc.h - include/agg_bitset_iterator.h - include/agg_blur.h - include/agg_bounding_rect.h - include/agg_bspline.h - include/agg_clip_liang_barsky.h - include/agg_color_gray.h - include/agg_color_rgba.h - include/agg_config.h - include/agg_conv_adaptor_vcgen.h - include/agg_conv_adaptor_vpgen.h - include/agg_conv_bspline.h - include/agg_conv_clip_polygon.h - include/agg_conv_clip_polyline.h - include/agg_conv_close_polygon.h - include/agg_conv_concat.h - include/agg_conv_contour.h - include/agg_conv_curve.h - include/agg_conv_dash.h - include/agg_conv_gpc.h - include/agg_conv_marker.h - include/agg_conv_marker_adaptor.h - include/agg_conv_segmentator.h - include/agg_conv_shorten_path.h - include/agg_conv_smooth_poly1.h - include/agg_conv_stroke.h - include/agg_conv_transform.h - include/agg_conv_unclose_polygon.h - include/agg_curves.h - include/agg_dda_line.h - include/agg_ellipse.h - include/agg_ellipse_bresenham.h - include/agg_embedded_raster_fonts.h - include/agg_font_cache_manager.h - include/agg_gamma_functions.h - include/agg_gamma_lut.h - include/agg_glyph_raster_bin.h - include/agg_gradient_lut.h - include/agg_gsv_text.h - include/agg_image_accessors.h - include/agg_image_filters.h - include/agg_line_aa_basics.h - include/agg_math.h - include/agg_math_stroke.h - include/agg_path_length.h - include/agg_path_storage.h - include/agg_path_storage_integer.h - include/agg_pattern_filters_rgba.h - include/agg_pixfmt_amask_adaptor.h - include/agg_pixfmt_gray.h - include/agg_pixfmt_rgb.h - include/agg_pixfmt_rgb_packed.h - include/agg_pixfmt_rgba.h - include/agg_pixfmt_transposer.h - include/agg_rasterizer_cells_aa.h - include/agg_rasterizer_compound_aa.h - include/agg_rasterizer_outline.h - include/agg_rasterizer_outline_aa.h - include/agg_rasterizer_scanline_aa.h - include/agg_rasterizer_sl_clip.h - include/agg_renderer_base.h - include/agg_renderer_markers.h - include/agg_renderer_mclip.h - include/agg_renderer_outline_aa.h - include/agg_renderer_outline_image.h - include/agg_renderer_primitives.h - include/agg_renderer_raster_text.h - include/agg_renderer_scanline.h - include/agg_rendering_buffer.h - include/agg_rendering_buffer_dynarow.h - include/agg_rounded_rect.h - include/agg_scanline_bin.h - include/agg_scanline_boolean_algebra.h - include/agg_scanline_p.h - include/agg_scanline_storage_aa.h - include/agg_scanline_storage_bin.h - include/agg_scanline_u.h - include/agg_shorten_path.h - include/agg_simul_eq.h - include/agg_span_allocator.h - include/agg_span_converter.h - include/agg_span_gouraud.h - include/agg_span_gouraud_gray.h - include/agg_span_gouraud_rgba.h - include/agg_span_gradient.h - include/agg_span_gradient_alpha.h - include/agg_span_image_filter.h - include/agg_span_image_filter_gray.h - include/agg_span_image_filter_rgb.h - include/agg_span_image_filter_rgba.h - include/agg_span_interpolator_adaptor.h - include/agg_span_interpolator_linear.h - include/agg_span_interpolator_persp.h - include/agg_span_interpolator_trans.h - include/agg_span_pattern_gray.h - include/agg_span_pattern_rgb.h - include/agg_span_pattern_rgba.h - include/agg_span_solid.h - include/agg_span_subdiv_adaptor.h - include/agg_trans_affine.h - include/agg_trans_bilinear.h - include/agg_trans_double_path.h - include/agg_trans_perspective.h - include/agg_trans_single_path.h - include/agg_trans_viewport.h - include/agg_trans_warp_magnifier.h - include/agg_vcgen_bspline.h - include/agg_vcgen_contour.h - include/agg_vcgen_dash.h - include/agg_vcgen_markers_term.h - include/agg_vcgen_smooth_poly1.h - include/agg_vcgen_stroke.h - include/agg_vcgen_vertex_sequence.h - include/agg_vertex_sequence.h - include/agg_vpgen_clip_polygon.h - include/agg_vpgen_clip_polyline.h - include/agg_vpgen_segmentator.h - include/ctrl/agg_bezier_ctrl.h - include/ctrl/agg_cbox_ctrl.h - include/ctrl/agg_ctrl.h - include/ctrl/agg_gamma_ctrl.h - include/ctrl/agg_gamma_spline.h - include/ctrl/agg_polygon_ctrl.h - include/ctrl/agg_rbox_ctrl.h - include/ctrl/agg_scale_ctrl.h - include/ctrl/agg_slider_ctrl.h - include/ctrl/agg_spline_ctrl.h - include/util/agg_color_conv.h - include/util/agg_color_conv_rgb16.h - include/util/agg_color_conv_rgb8.h - include/platform/agg_platform_support.h - include/platform/mac/agg_mac_pmap.h - include/platform/win32/agg_win32_bmp.h -) - -INCLUDE_DIRECTORIES( - include -) - - -ADD_LIBRARY( - agg - ${agg_LIB_SRCS} -) - -INSTALL( - TARGETS - agg - ARCHIVE DESTINATION - lib - LIBRARY DESTINATION - lib - RUNTIME DESTINATION - bin -) - -INSTALL( - FILES - ${agg_LIB_HDRS} - DESTINATION - include/agg2 -) Modified: trunk/cmake/epa_build/libagg/bp.cmake =================================================================== --- trunk/cmake/epa_build/libagg/bp.cmake 2013-12-01 08:27:41 UTC (rev 12792) +++ trunk/cmake/epa_build/libagg/bp.cmake 2013-12-01 22:58:49 UTC (rev 12793) @@ -58,11 +58,11 @@ OUTPUT ${EP_BASE}/Stamp/build_${BP_PACKAGE}/build_${BP_PACKAGE}-update COMMAND ${CMAKE_COMMAND} -E copy - ${CMAKE_SOURCE_DIR}/${BP_PACKAGE}/CMakeLists.txt + ${CMAKE_SOURCE_DIR}/${BP_PACKAGE}/${BP_PACKAGE}_CMakeLists.txt ${EP_BASE}/Source/build_${BP_PACKAGE}/CMakeLists.txt COMMENT "Custom updating of ${BP_PACKAGE}" DEPENDS - ${CMAKE_SOURCE_DIR}/${BP_PACKAGE}/CMakeLists.txt + ${CMAKE_SOURCE_DIR}/${BP_PACKAGE}/${BP_PACKAGE}_CMakeLists.txt APPEND ) Copied: trunk/cmake/epa_build/libagg/libagg_CMakeLists.txt (from rev 12783, trunk/cmake/epa_build/libagg/CMakeLists.txt) =================================================================== --- trunk/cmake/epa_build/libagg/libagg_CMakeLists.txt (rev 0) +++ trunk/cmake/epa_build/libagg/libagg_CMakeLists.txt 2013-12-01 22:58:49 UTC (rev 12793) @@ -0,0 +1,250 @@ +# Top-level CMakeLists.txt for the CMake-based build and test system +# of the AGG (Anti-Grain Geometry) library. + +# Copyright (C) 2006 Werner Smekal +# Copyright (C) 2013 Alan W. Irwin + +# This file is free software; you can redistribute it and/or modify +# it under the terms of the GNU Library General Public License as published +# by the Free Software Foundation; version 2 of the License. +# +# This file is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU Library General Public License for more details. +# +# You should have received a copy of the GNU Library General Public License +# along with this file; if not, write to the Free Software +# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + +# CMakeLists.txt for the agg 2.5 library. (AWI has double-checked that +# the agg_LIB_SRCS and agg_LIB_HDRS lists below are consistent with that +# version of agg.) +# This build system currently +# only makes the agg library (static/shared) but no executables +# Put this file in the main directory, create and cd into a build directory, +# and run this cmake command: +# cmake -G "MinGW Makefiles" -DBUILD_SHARED_LIBS=OFF -DCMAKE_INSTALL_PREFIX=../local .. +# or similar. + +# It is a fatal error if no working C++ compiler is available to build +# the shapelib library and utilities +project(shapelib CXX) + +message(STATUS "CMake version = ${CMAKE_VERSION}") +message(STATUS "CMAKE_SYSTEM = ${CMAKE_SYSTEM}") +message(STATUS "CMAKE_INSTALL_PREFIX = ${CMAKE_INSTALL_PREFIX}") + +cmake_minimum_required(VERSION 2.8.10.2 FATAL_ERROR) + +# libraries are all shared by default. +option(BUILD_SHARED_LIBS "Build shared libraries" ON) + +set( + agg_LIB_SRCS + src/agg_arc.cpp + src/agg_arrowhead.cpp + src/agg_bezier_arc.cpp + src/agg_bspline.cpp + src/agg_curves.cpp + src/agg_vcgen_contour.cpp + src/agg_vcgen_dash.cpp + src/agg_vcgen_markers_term.cpp + src/agg_vcgen_smooth_poly1.cpp + src/agg_vcgen_stroke.cpp + src/agg_vcgen_bspline.cpp + src/agg_gsv_text.cpp + src/agg_image_filters.cpp + src/agg_line_aa_basics.cpp + src/agg_line_profile_aa.cpp + src/agg_rounded_rect.cpp + src/agg_sqrt_tables.cpp + src/agg_embedded_raster_fonts.cpp + src/agg_trans_affine.cpp + src/agg_trans_warp_magnifier.cpp + src/agg_trans_single_path.cpp + src/agg_trans_double_path.cpp + src/agg_vpgen_clip_polygon.cpp + src/agg_vpgen_clip_polyline.cpp + src/agg_vpgen_segmentator.cpp + src/ctrl/agg_cbox_ctrl.cpp + src/ctrl/agg_gamma_ctrl.cpp + src/ctrl/agg_gamma_spline.cpp + src/ctrl/agg_rbox_ctrl.cpp + src/ctrl/agg_slider_ctrl.cpp + src/ctrl/agg_spline_ctrl.cpp + src/ctrl/agg_scale_ctrl.cpp + src/ctrl/agg_polygon_ctrl.cpp + src/ctrl/agg_bezier_ctrl.cpp + gpc/gpc.c +) + +set( + agg_LIB_HDRS + include/agg_alpha_mask_u8.h + include/agg_arc.h + include/agg_array.h + include/agg_arrowhead.h + include/agg_basics.h + include/agg_bezier_arc.h + include/agg_bitset_iterator.h + include/agg_blur.h + include/agg_bounding_rect.h + include/agg_bspline.h + include/agg_clip_liang_barsky.h + include/agg_color_gray.h + include/agg_color_rgba.h + include/agg_config.h + include/agg_conv_adaptor_vcgen.h + include/agg_conv_adaptor_vpgen.h + include/agg_c... [truncated message content] |
From: <ai...@us...> - 2013-12-01 08:27:44
|
Revision: 12792 http://sourceforge.net/p/plplot/code/12792 Author: airwin Date: 2013-12-01 08:27:41 +0000 (Sun, 01 Dec 2013) Log Message: ----------- Tweak the directions for epa_build developers. Modified Paths: -------------- trunk/cmake/epa_build/README.developers Modified: trunk/cmake/epa_build/README.developers =================================================================== --- trunk/cmake/epa_build/README.developers 2013-12-01 08:26:52 UTC (rev 12791) +++ trunk/cmake/epa_build/README.developers 2013-12-01 08:27:41 UTC (rev 12792) @@ -24,7 +24,7 @@ # Patch this result to correct errors I have discovered in the jhbuild # configuration or else to use new versions of packages. -patch <patch_gtk_packages.xml +patch --no-backup-if-mismatch <patch_gtk_packages.xml # To create the schema for gtk_packages.xml use trang -I xml gtk_packages_$GTK_VERSION.xml gtk_packages_$GTK_VERSION.rnc @@ -75,12 +75,12 @@ # additional changes that cannot be done via a patch to the *.xml file. # Typically, these changes are hand edits which are tested then committed. # So typically the patch is created by rerunning the above cmake -# command then using "svn diff" > configured_pango.patch" to generate +# command then using "svn diff" >| configured_pango.patch" to generate # the reverse form of the patch to change the result created by the # above cmake command into the svn committed form which is done with # the following patch command. -patch --reverse -p0 <configured_pango.patch +patch --reverse --no-backup-if-mismatch -p0 <configured_pango.patch N.B. configured_pango.patch is kept under version control. This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ai...@us...> - 2013-12-01 08:27:00
|
Revision: 12791 http://sourceforge.net/p/plplot/code/12791 Author: airwin Date: 2013-12-01 08:26:52 +0000 (Sun, 01 Dec 2013) Log Message: ----------- Update the reversed patch that includes all hand-edited fixes to automatically configured builds after cmake -DFILENAME:FILEPATH=pango_packages.data -P configure_bp.cmake was run. Tested by: Alan W. Irwin <ai...@us...> on Linux using the build_plplot target for the epa_build project. This test was a comprehensive check of all recent epa_build changes. Modified Paths: -------------- trunk/cmake/epa_build/configured_pango.patch Modified: trunk/cmake/epa_build/configured_pango.patch =================================================================== --- trunk/cmake/epa_build/configured_pango.patch 2013-12-01 08:18:33 UTC (rev 12790) +++ trunk/cmake/epa_build/configured_pango.patch 2013-12-01 08:26:52 UTC (rev 12791) @@ -1,6 +1,6 @@ Index: itstool/bp.cmake =================================================================== ---- itstool/bp.cmake (revision 12780) +--- itstool/bp.cmake (revision 12790) +++ itstool/bp.cmake (working copy) @@ -64,7 +64,6 @@ set(${BP_PACKAGE}_URL http://files.itstool.org/itstool/itstool-1.2.0.tar.bz2) @@ -10,11 +10,11 @@ # Data that is related to the PATH that must be used. if(MSYS_PLATFORM) -@@ -85,7 +84,6 @@ +@@ -93,7 +92,6 @@ DEPENDS ${${BP_PACKAGE}_dependencies_targets} URL ${${BP_PACKAGE}_URL} URL_HASH ${${BP_PACKAGE}_DOWNLOAD_HASH_TYPE}=${${BP_PACKAGE}_DOWNLOAD_HASH} - PATCH_COMMAND ${PATCH_EXECUTABLE} -p1 < ${CMAKE_SOURCE_DIR}/itstool/${${BP_PACKAGE}_PATCH} - CONFIGURE_COMMAND ${ENV_EXECUTABLE} PATH=${BP_PATH} ${${BP_PACKAGE}_SET_CFLAGS} ${source_PATH}/${BP_CONFIGURE_COMMAND} + CONFIGURE_COMMAND ${ENV_EXECUTABLE} PATH=${BP_PATH} ${${BP_PACKAGE}_SET_CFLAGS} ${${BP_PACKAGE}_SET_CXXFLAGS} ${source_PATH}/${BP_CONFIGURE_COMMAND} BUILD_COMMAND ${ENV_EXECUTABLE} PATH=${BP_PATH} ${BP_PARALLEL_MAKE_COMMAND} BUILD_IN_SOURCE OFF This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ai...@us...> - 2013-12-01 08:18:37
|
Revision: 12790 http://sourceforge.net/p/plplot/code/12790 Author: airwin Date: 2013-12-01 08:18:33 +0000 (Sun, 01 Dec 2013) Log Message: ----------- Propagate CXXFLAGS and drop -fvisibility=hidden from both the CFLAGS and CXXFLAGS environment variables for the automatically configured build packages. This change is made because some of the software packages whose builds are automatically configured by the procedure described in README.developers) do not have gcc visibility support so it is easiest for now (until most do have visibility support) to drop that possibility for all of these packages. Modified Paths: -------------- trunk/cmake/epa_build/cairo/bp.cmake trunk/cmake/epa_build/fontconfig/bp.cmake trunk/cmake/epa_build/glib/bp.cmake trunk/cmake/epa_build/gobject-introspection/bp.cmake trunk/cmake/epa_build/gperf/bp.cmake trunk/cmake/epa_build/gtk-doc/bp.cmake trunk/cmake/epa_build/harfbuzz/bp.cmake trunk/cmake/epa_build/intltool/bp.cmake trunk/cmake/epa_build/itstool/bp.cmake trunk/cmake/epa_build/libffi/bp.cmake trunk/cmake/epa_build/libpcre/bp.cmake trunk/cmake/epa_build/libxml2/bp.cmake trunk/cmake/epa_build/libxslt/bp.cmake trunk/cmake/epa_build/pango/bp.cmake trunk/cmake/epa_build/pixman/bp.cmake trunk/cmake/epa_build/swig/bp.cmake trunk/cmake/epa_build/template.bp.in trunk/cmake/epa_build/yelp-tools/bp.cmake trunk/cmake/epa_build/yelp-xsl/bp.cmake Modified: trunk/cmake/epa_build/cairo/bp.cmake =================================================================== --- trunk/cmake/epa_build/cairo/bp.cmake 2013-12-01 08:09:08 UTC (rev 12789) +++ trunk/cmake/epa_build/cairo/bp.cmake 2013-12-01 08:18:33 UTC (rev 12790) @@ -79,12 +79,20 @@ endif(MSYS_PLATFORM) #message(STATUS "modified BP_PATH for ${BP_PACKAGE} = ${BP_PATH}") +set(${BP_PACKAGE}_SET_CXXFLAGS "CXXFLAGS=$ENV{CXXFLAGS}") + +# Drop -fvisibility=hidden since that option does not work for a +# number of software packages that are configured automatically using +# this template. +string(REGEX REPLACE "-fvisibility=hidden" "" ${BP_PACKAGE}_SET_CFLAGS "${${BP_PACKAGE}_SET_CFLAGS}") +string(REGEX REPLACE "-fvisibility=hidden" "" ${BP_PACKAGE}_SET_CXXFLAGS "${${BP_PACKAGE}_SET_CXXFLAGS}") + ExternalProject_Add( build_${BP_PACKAGE} DEPENDS ${${BP_PACKAGE}_dependencies_targets} URL ${${BP_PACKAGE}_URL} URL_HASH ${${BP_PACKAGE}_DOWNLOAD_HASH_TYPE}=${${BP_PACKAGE}_DOWNLOAD_HASH} - CONFIGURE_COMMAND ${ENV_EXECUTABLE} PATH=${BP_PATH} ${${BP_PACKAGE}_SET_CFLAGS} ${source_PATH}/${BP_CONFIGURE_COMMAND} --enable-xlib + CONFIGURE_COMMAND ${ENV_EXECUTABLE} PATH=${BP_PATH} ${${BP_PACKAGE}_SET_CFLAGS} ${${BP_PACKAGE}_SET_CXXFLAGS} ${source_PATH}/${BP_CONFIGURE_COMMAND} --enable-xlib BUILD_COMMAND ${ENV_EXECUTABLE} PATH=${BP_PATH} ${BP_PARALLEL_MAKE_COMMAND} BUILD_IN_SOURCE OFF INSTALL_COMMAND ${ENV_EXECUTABLE} PATH=${BP_PATH} ${BP_PARALLEL_MAKE_COMMAND} install Modified: trunk/cmake/epa_build/fontconfig/bp.cmake =================================================================== --- trunk/cmake/epa_build/fontconfig/bp.cmake 2013-12-01 08:09:08 UTC (rev 12789) +++ trunk/cmake/epa_build/fontconfig/bp.cmake 2013-12-01 08:18:33 UTC (rev 12790) @@ -79,12 +79,20 @@ endif(MSYS_PLATFORM) #message(STATUS "modified BP_PATH for ${BP_PACKAGE} = ${BP_PATH}") +set(${BP_PACKAGE}_SET_CXXFLAGS "CXXFLAGS=$ENV{CXXFLAGS}") + +# Drop -fvisibility=hidden since that option does not work for a +# number of software packages that are configured automatically using +# this template. +string(REGEX REPLACE "-fvisibility=hidden" "" ${BP_PACKAGE}_SET_CFLAGS "${${BP_PACKAGE}_SET_CFLAGS}") +string(REGEX REPLACE "-fvisibility=hidden" "" ${BP_PACKAGE}_SET_CXXFLAGS "${${BP_PACKAGE}_SET_CXXFLAGS}") + ExternalProject_Add( build_${BP_PACKAGE} DEPENDS ${${BP_PACKAGE}_dependencies_targets} URL ${${BP_PACKAGE}_URL} URL_HASH ${${BP_PACKAGE}_DOWNLOAD_HASH_TYPE}=${${BP_PACKAGE}_DOWNLOAD_HASH} - CONFIGURE_COMMAND ${ENV_EXECUTABLE} PATH=${BP_PATH} ${${BP_PACKAGE}_SET_CFLAGS} ${source_PATH}/${BP_CONFIGURE_COMMAND} --disable-docs + CONFIGURE_COMMAND ${ENV_EXECUTABLE} PATH=${BP_PATH} ${${BP_PACKAGE}_SET_CFLAGS} ${${BP_PACKAGE}_SET_CXXFLAGS} ${source_PATH}/${BP_CONFIGURE_COMMAND} --disable-docs BUILD_COMMAND ${ENV_EXECUTABLE} PATH=${BP_PATH} ${BP_PARALLEL_MAKE_COMMAND} BUILD_IN_SOURCE OFF INSTALL_COMMAND ${ENV_EXECUTABLE} PATH=${BP_PATH} ${BP_PARALLEL_MAKE_COMMAND} install Modified: trunk/cmake/epa_build/glib/bp.cmake =================================================================== --- trunk/cmake/epa_build/glib/bp.cmake 2013-12-01 08:09:08 UTC (rev 12789) +++ trunk/cmake/epa_build/glib/bp.cmake 2013-12-01 08:18:33 UTC (rev 12790) @@ -79,12 +79,20 @@ endif(MSYS_PLATFORM) #message(STATUS "modified BP_PATH for ${BP_PACKAGE} = ${BP_PATH}") +set(${BP_PACKAGE}_SET_CXXFLAGS "CXXFLAGS=$ENV{CXXFLAGS}") + +# Drop -fvisibility=hidden since that option does not work for a +# number of software packages that are configured automatically using +# this template. +string(REGEX REPLACE "-fvisibility=hidden" "" ${BP_PACKAGE}_SET_CFLAGS "${${BP_PACKAGE}_SET_CFLAGS}") +string(REGEX REPLACE "-fvisibility=hidden" "" ${BP_PACKAGE}_SET_CXXFLAGS "${${BP_PACKAGE}_SET_CXXFLAGS}") + ExternalProject_Add( build_${BP_PACKAGE} DEPENDS ${${BP_PACKAGE}_dependencies_targets} URL ${${BP_PACKAGE}_URL} URL_HASH ${${BP_PACKAGE}_DOWNLOAD_HASH_TYPE}=${${BP_PACKAGE}_DOWNLOAD_HASH} - CONFIGURE_COMMAND ${ENV_EXECUTABLE} PATH=${BP_PATH} ${${BP_PACKAGE}_SET_CFLAGS} ${source_PATH}/${BP_CONFIGURE_COMMAND} --enable-installed-tests + CONFIGURE_COMMAND ${ENV_EXECUTABLE} PATH=${BP_PATH} ${${BP_PACKAGE}_SET_CFLAGS} ${${BP_PACKAGE}_SET_CXXFLAGS} ${source_PATH}/${BP_CONFIGURE_COMMAND} --enable-installed-tests BUILD_COMMAND ${ENV_EXECUTABLE} PATH=${BP_PATH} ${BP_PARALLEL_MAKE_COMMAND} BUILD_IN_SOURCE OFF INSTALL_COMMAND ${ENV_EXECUTABLE} PATH=${BP_PATH} ${BP_PARALLEL_MAKE_COMMAND} install Modified: trunk/cmake/epa_build/gobject-introspection/bp.cmake =================================================================== --- trunk/cmake/epa_build/gobject-introspection/bp.cmake 2013-12-01 08:09:08 UTC (rev 12789) +++ trunk/cmake/epa_build/gobject-introspection/bp.cmake 2013-12-01 08:18:33 UTC (rev 12790) @@ -79,12 +79,20 @@ endif(MSYS_PLATFORM) #message(STATUS "modified BP_PATH for ${BP_PACKAGE} = ${BP_PATH}") +set(${BP_PACKAGE}_SET_CXXFLAGS "CXXFLAGS=$ENV{CXXFLAGS}") + +# Drop -fvisibility=hidden since that option does not work for a +# number of software packages that are configured automatically using +# this template. +string(REGEX REPLACE "-fvisibility=hidden" "" ${BP_PACKAGE}_SET_CFLAGS "${${BP_PACKAGE}_SET_CFLAGS}") +string(REGEX REPLACE "-fvisibility=hidden" "" ${BP_PACKAGE}_SET_CXXFLAGS "${${BP_PACKAGE}_SET_CXXFLAGS}") + ExternalProject_Add( build_${BP_PACKAGE} DEPENDS ${${BP_PACKAGE}_dependencies_targets} URL ${${BP_PACKAGE}_URL} URL_HASH ${${BP_PACKAGE}_DOWNLOAD_HASH_TYPE}=${${BP_PACKAGE}_DOWNLOAD_HASH} - CONFIGURE_COMMAND ${ENV_EXECUTABLE} PATH=${BP_PATH} ${${BP_PACKAGE}_SET_CFLAGS} ${source_PATH}/${BP_CONFIGURE_COMMAND} + CONFIGURE_COMMAND ${ENV_EXECUTABLE} PATH=${BP_PATH} ${${BP_PACKAGE}_SET_CFLAGS} ${${BP_PACKAGE}_SET_CXXFLAGS} ${source_PATH}/${BP_CONFIGURE_COMMAND} BUILD_COMMAND ${ENV_EXECUTABLE} PATH=${BP_PATH} ${BP_PARALLEL_MAKE_COMMAND} BUILD_IN_SOURCE OFF INSTALL_COMMAND ${ENV_EXECUTABLE} PATH=${BP_PATH} ${BP_PARALLEL_MAKE_COMMAND} install Modified: trunk/cmake/epa_build/gperf/bp.cmake =================================================================== --- trunk/cmake/epa_build/gperf/bp.cmake 2013-12-01 08:09:08 UTC (rev 12789) +++ trunk/cmake/epa_build/gperf/bp.cmake 2013-12-01 08:18:33 UTC (rev 12790) @@ -79,12 +79,20 @@ endif(MSYS_PLATFORM) #message(STATUS "modified BP_PATH for ${BP_PACKAGE} = ${BP_PATH}") +set(${BP_PACKAGE}_SET_CXXFLAGS "CXXFLAGS=$ENV{CXXFLAGS}") + +# Drop -fvisibility=hidden since that option does not work for a +# number of software packages that are configured automatically using +# this template. +string(REGEX REPLACE "-fvisibility=hidden" "" ${BP_PACKAGE}_SET_CFLAGS "${${BP_PACKAGE}_SET_CFLAGS}") +string(REGEX REPLACE "-fvisibility=hidden" "" ${BP_PACKAGE}_SET_CXXFLAGS "${${BP_PACKAGE}_SET_CXXFLAGS}") + ExternalProject_Add( build_${BP_PACKAGE} DEPENDS ${${BP_PACKAGE}_dependencies_targets} URL ${${BP_PACKAGE}_URL} URL_HASH ${${BP_PACKAGE}_DOWNLOAD_HASH_TYPE}=${${BP_PACKAGE}_DOWNLOAD_HASH} - CONFIGURE_COMMAND ${ENV_EXECUTABLE} PATH=${BP_PATH} ${${BP_PACKAGE}_SET_CFLAGS} ${source_PATH}/${BP_CONFIGURE_COMMAND} + CONFIGURE_COMMAND ${ENV_EXECUTABLE} PATH=${BP_PATH} ${${BP_PACKAGE}_SET_CFLAGS} ${${BP_PACKAGE}_SET_CXXFLAGS} ${source_PATH}/${BP_CONFIGURE_COMMAND} BUILD_COMMAND ${ENV_EXECUTABLE} PATH=${BP_PATH} ${BP_PARALLEL_MAKE_COMMAND} BUILD_IN_SOURCE OFF INSTALL_COMMAND ${ENV_EXECUTABLE} PATH=${BP_PATH} ${BP_PARALLEL_MAKE_COMMAND} install Modified: trunk/cmake/epa_build/gtk-doc/bp.cmake =================================================================== --- trunk/cmake/epa_build/gtk-doc/bp.cmake 2013-12-01 08:09:08 UTC (rev 12789) +++ trunk/cmake/epa_build/gtk-doc/bp.cmake 2013-12-01 08:18:33 UTC (rev 12790) @@ -79,12 +79,20 @@ endif(MSYS_PLATFORM) #message(STATUS "modified BP_PATH for ${BP_PACKAGE} = ${BP_PATH}") +set(${BP_PACKAGE}_SET_CXXFLAGS "CXXFLAGS=$ENV{CXXFLAGS}") + +# Drop -fvisibility=hidden since that option does not work for a +# number of software packages that are configured automatically using +# this template. +string(REGEX REPLACE "-fvisibility=hidden" "" ${BP_PACKAGE}_SET_CFLAGS "${${BP_PACKAGE}_SET_CFLAGS}") +string(REGEX REPLACE "-fvisibility=hidden" "" ${BP_PACKAGE}_SET_CXXFLAGS "${${BP_PACKAGE}_SET_CXXFLAGS}") + ExternalProject_Add( build_${BP_PACKAGE} DEPENDS ${${BP_PACKAGE}_dependencies_targets} URL ${${BP_PACKAGE}_URL} URL_HASH ${${BP_PACKAGE}_DOWNLOAD_HASH_TYPE}=${${BP_PACKAGE}_DOWNLOAD_HASH} - CONFIGURE_COMMAND ${ENV_EXECUTABLE} PATH=${BP_PATH} ${${BP_PACKAGE}_SET_CFLAGS} ${source_PATH}/${BP_CONFIGURE_COMMAND} --with-xml-catalog=${CMAKE_INSTALL_PREFIX}/etc/xml/catalog + CONFIGURE_COMMAND ${ENV_EXECUTABLE} PATH=${BP_PATH} ${${BP_PACKAGE}_SET_CFLAGS} ${${BP_PACKAGE}_SET_CXXFLAGS} ${source_PATH}/${BP_CONFIGURE_COMMAND} --with-xml-catalog=${CMAKE_INSTALL_PREFIX}/etc/xml/catalog BUILD_COMMAND ${ENV_EXECUTABLE} PATH=${BP_PATH} ${BP_PARALLEL_MAKE_COMMAND} BUILD_IN_SOURCE OFF INSTALL_COMMAND ${ENV_EXECUTABLE} PATH=${BP_PATH} ${BP_PARALLEL_MAKE_COMMAND} install Modified: trunk/cmake/epa_build/harfbuzz/bp.cmake =================================================================== --- trunk/cmake/epa_build/harfbuzz/bp.cmake 2013-12-01 08:09:08 UTC (rev 12789) +++ trunk/cmake/epa_build/harfbuzz/bp.cmake 2013-12-01 08:18:33 UTC (rev 12790) @@ -79,12 +79,20 @@ endif(MSYS_PLATFORM) #message(STATUS "modified BP_PATH for ${BP_PACKAGE} = ${BP_PATH}") +set(${BP_PACKAGE}_SET_CXXFLAGS "CXXFLAGS=$ENV{CXXFLAGS}") + +# Drop -fvisibility=hidden since that option does not work for a +# number of software packages that are configured automatically using +# this template. +string(REGEX REPLACE "-fvisibility=hidden" "" ${BP_PACKAGE}_SET_CFLAGS "${${BP_PACKAGE}_SET_CFLAGS}") +string(REGEX REPLACE "-fvisibility=hidden" "" ${BP_PACKAGE}_SET_CXXFLAGS "${${BP_PACKAGE}_SET_CXXFLAGS}") + ExternalProject_Add( build_${BP_PACKAGE} DEPENDS ${${BP_PACKAGE}_dependencies_targets} URL ${${BP_PACKAGE}_URL} URL_HASH ${${BP_PACKAGE}_DOWNLOAD_HASH_TYPE}=${${BP_PACKAGE}_DOWNLOAD_HASH} - CONFIGURE_COMMAND ${ENV_EXECUTABLE} PATH=${BP_PATH} ${${BP_PACKAGE}_SET_CFLAGS} ${source_PATH}/${BP_CONFIGURE_COMMAND} + CONFIGURE_COMMAND ${ENV_EXECUTABLE} PATH=${BP_PATH} ${${BP_PACKAGE}_SET_CFLAGS} ${${BP_PACKAGE}_SET_CXXFLAGS} ${source_PATH}/${BP_CONFIGURE_COMMAND} BUILD_COMMAND ${ENV_EXECUTABLE} PATH=${BP_PATH} ${BP_PARALLEL_MAKE_COMMAND} BUILD_IN_SOURCE OFF INSTALL_COMMAND ${ENV_EXECUTABLE} PATH=${BP_PATH} ${BP_PARALLEL_MAKE_COMMAND} install Modified: trunk/cmake/epa_build/intltool/bp.cmake =================================================================== --- trunk/cmake/epa_build/intltool/bp.cmake 2013-12-01 08:09:08 UTC (rev 12789) +++ trunk/cmake/epa_build/intltool/bp.cmake 2013-12-01 08:18:33 UTC (rev 12790) @@ -79,12 +79,20 @@ endif(MSYS_PLATFORM) #message(STATUS "modified BP_PATH for ${BP_PACKAGE} = ${BP_PATH}") +set(${BP_PACKAGE}_SET_CXXFLAGS "CXXFLAGS=$ENV{CXXFLAGS}") + +# Drop -fvisibility=hidden since that option does not work for a +# number of software packages that are configured automatically using +# this template. +string(REGEX REPLACE "-fvisibility=hidden" "" ${BP_PACKAGE}_SET_CFLAGS "${${BP_PACKAGE}_SET_CFLAGS}") +string(REGEX REPLACE "-fvisibility=hidden" "" ${BP_PACKAGE}_SET_CXXFLAGS "${${BP_PACKAGE}_SET_CXXFLAGS}") + ExternalProject_Add( build_${BP_PACKAGE} DEPENDS ${${BP_PACKAGE}_dependencies_targets} URL ${${BP_PACKAGE}_URL} URL_HASH ${${BP_PACKAGE}_DOWNLOAD_HASH_TYPE}=${${BP_PACKAGE}_DOWNLOAD_HASH} - CONFIGURE_COMMAND ${ENV_EXECUTABLE} PATH=${BP_PATH} ${${BP_PACKAGE}_SET_CFLAGS} ${source_PATH}/${BP_CONFIGURE_COMMAND} + CONFIGURE_COMMAND ${ENV_EXECUTABLE} PATH=${BP_PATH} ${${BP_PACKAGE}_SET_CFLAGS} ${${BP_PACKAGE}_SET_CXXFLAGS} ${source_PATH}/${BP_CONFIGURE_COMMAND} BUILD_COMMAND ${ENV_EXECUTABLE} PATH=${BP_PATH} ${BP_PARALLEL_MAKE_COMMAND} BUILD_IN_SOURCE OFF INSTALL_COMMAND ${ENV_EXECUTABLE} PATH=${BP_PATH} ${BP_PARALLEL_MAKE_COMMAND} install Modified: trunk/cmake/epa_build/itstool/bp.cmake =================================================================== --- trunk/cmake/epa_build/itstool/bp.cmake 2013-12-01 08:09:08 UTC (rev 12789) +++ trunk/cmake/epa_build/itstool/bp.cmake 2013-12-01 08:18:33 UTC (rev 12790) @@ -80,13 +80,21 @@ endif(MSYS_PLATFORM) #message(STATUS "modified BP_PATH for ${BP_PACKAGE} = ${BP_PATH}") +set(${BP_PACKAGE}_SET_CXXFLAGS "CXXFLAGS=$ENV{CXXFLAGS}") + +# Drop -fvisibility=hidden since that option does not work for a +# number of software packages that are configured automatically using +# this template. +string(REGEX REPLACE "-fvisibility=hidden" "" ${BP_PACKAGE}_SET_CFLAGS "${${BP_PACKAGE}_SET_CFLAGS}") +string(REGEX REPLACE "-fvisibility=hidden" "" ${BP_PACKAGE}_SET_CXXFLAGS "${${BP_PACKAGE}_SET_CXXFLAGS}") + ExternalProject_Add( build_${BP_PACKAGE} DEPENDS ${${BP_PACKAGE}_dependencies_targets} URL ${${BP_PACKAGE}_URL} URL_HASH ${${BP_PACKAGE}_DOWNLOAD_HASH_TYPE}=${${BP_PACKAGE}_DOWNLOAD_HASH} PATCH_COMMAND ${PATCH_EXECUTABLE} -p1 < ${CMAKE_SOURCE_DIR}/itstool/${${BP_PACKAGE}_PATCH} - CONFIGURE_COMMAND ${ENV_EXECUTABLE} PATH=${BP_PATH} ${${BP_PACKAGE}_SET_CFLAGS} ${source_PATH}/${BP_CONFIGURE_COMMAND} + CONFIGURE_COMMAND ${ENV_EXECUTABLE} PATH=${BP_PATH} ${${BP_PACKAGE}_SET_CFLAGS} ${${BP_PACKAGE}_SET_CXXFLAGS} ${source_PATH}/${BP_CONFIGURE_COMMAND} BUILD_COMMAND ${ENV_EXECUTABLE} PATH=${BP_PATH} ${BP_PARALLEL_MAKE_COMMAND} BUILD_IN_SOURCE OFF INSTALL_COMMAND ${ENV_EXECUTABLE} PATH=${BP_PATH} ${BP_PARALLEL_MAKE_COMMAND} install Modified: trunk/cmake/epa_build/libffi/bp.cmake =================================================================== --- trunk/cmake/epa_build/libffi/bp.cmake 2013-12-01 08:09:08 UTC (rev 12789) +++ trunk/cmake/epa_build/libffi/bp.cmake 2013-12-01 08:18:33 UTC (rev 12790) @@ -79,12 +79,20 @@ endif(MSYS_PLATFORM) #message(STATUS "modified BP_PATH for ${BP_PACKAGE} = ${BP_PATH}") +set(${BP_PACKAGE}_SET_CXXFLAGS "CXXFLAGS=$ENV{CXXFLAGS}") + +# Drop -fvisibility=hidden since that option does not work for a +# number of software packages that are configured automatically using +# this template. +string(REGEX REPLACE "-fvisibility=hidden" "" ${BP_PACKAGE}_SET_CFLAGS "${${BP_PACKAGE}_SET_CFLAGS}") +string(REGEX REPLACE "-fvisibility=hidden" "" ${BP_PACKAGE}_SET_CXXFLAGS "${${BP_PACKAGE}_SET_CXXFLAGS}") + ExternalProject_Add( build_${BP_PACKAGE} DEPENDS ${${BP_PACKAGE}_dependencies_targets} URL ${${BP_PACKAGE}_URL} URL_HASH ${${BP_PACKAGE}_DOWNLOAD_HASH_TYPE}=${${BP_PACKAGE}_DOWNLOAD_HASH} - CONFIGURE_COMMAND ${ENV_EXECUTABLE} PATH=${BP_PATH} ${${BP_PACKAGE}_SET_CFLAGS} ${source_PATH}/${BP_CONFIGURE_COMMAND} + CONFIGURE_COMMAND ${ENV_EXECUTABLE} PATH=${BP_PATH} ${${BP_PACKAGE}_SET_CFLAGS} ${${BP_PACKAGE}_SET_CXXFLAGS} ${source_PATH}/${BP_CONFIGURE_COMMAND} BUILD_COMMAND ${ENV_EXECUTABLE} PATH=${BP_PATH} ${BP_PARALLEL_MAKE_COMMAND} BUILD_IN_SOURCE OFF INSTALL_COMMAND ${ENV_EXECUTABLE} PATH=${BP_PATH} ${BP_PARALLEL_MAKE_COMMAND} install Modified: trunk/cmake/epa_build/libpcre/bp.cmake =================================================================== --- trunk/cmake/epa_build/libpcre/bp.cmake 2013-12-01 08:09:08 UTC (rev 12789) +++ trunk/cmake/epa_build/libpcre/bp.cmake 2013-12-01 08:18:33 UTC (rev 12790) @@ -79,12 +79,20 @@ endif(MSYS_PLATFORM) #message(STATUS "modified BP_PATH for ${BP_PACKAGE} = ${BP_PATH}") +set(${BP_PACKAGE}_SET_CXXFLAGS "CXXFLAGS=$ENV{CXXFLAGS}") + +# Drop -fvisibility=hidden since that option does not work for a +# number of software packages that are configured automatically using +# this template. +string(REGEX REPLACE "-fvisibility=hidden" "" ${BP_PACKAGE}_SET_CFLAGS "${${BP_PACKAGE}_SET_CFLAGS}") +string(REGEX REPLACE "-fvisibility=hidden" "" ${BP_PACKAGE}_SET_CXXFLAGS "${${BP_PACKAGE}_SET_CXXFLAGS}") + ExternalProject_Add( build_${BP_PACKAGE} DEPENDS ${${BP_PACKAGE}_dependencies_targets} URL ${${BP_PACKAGE}_URL} URL_HASH ${${BP_PACKAGE}_DOWNLOAD_HASH_TYPE}=${${BP_PACKAGE}_DOWNLOAD_HASH} - CONFIGURE_COMMAND ${ENV_EXECUTABLE} PATH=${BP_PATH} ${${BP_PACKAGE}_SET_CFLAGS} ${source_PATH}/${BP_CONFIGURE_COMMAND} --enable-unicode-properties --enable-pcre16 --enable-pcre32 --disable-static + CONFIGURE_COMMAND ${ENV_EXECUTABLE} PATH=${BP_PATH} ${${BP_PACKAGE}_SET_CFLAGS} ${${BP_PACKAGE}_SET_CXXFLAGS} ${source_PATH}/${BP_CONFIGURE_COMMAND} --enable-unicode-properties --enable-pcre16 --enable-pcre32 --disable-static BUILD_COMMAND ${ENV_EXECUTABLE} PATH=${BP_PATH} ${BP_PARALLEL_MAKE_COMMAND} BUILD_IN_SOURCE OFF INSTALL_COMMAND ${ENV_EXECUTABLE} PATH=${BP_PATH} ${BP_PARALLEL_MAKE_COMMAND} install Modified: trunk/cmake/epa_build/libxml2/bp.cmake =================================================================== --- trunk/cmake/epa_build/libxml2/bp.cmake 2013-12-01 08:09:08 UTC (rev 12789) +++ trunk/cmake/epa_build/libxml2/bp.cmake 2013-12-01 08:18:33 UTC (rev 12790) @@ -79,12 +79,20 @@ endif(MSYS_PLATFORM) #message(STATUS "modified BP_PATH for ${BP_PACKAGE} = ${BP_PATH}") +set(${BP_PACKAGE}_SET_CXXFLAGS "CXXFLAGS=$ENV{CXXFLAGS}") + +# Drop -fvisibility=hidden since that option does not work for a +# number of software packages that are configured automatically using +# this template. +string(REGEX REPLACE "-fvisibility=hidden" "" ${BP_PACKAGE}_SET_CFLAGS "${${BP_PACKAGE}_SET_CFLAGS}") +string(REGEX REPLACE "-fvisibility=hidden" "" ${BP_PACKAGE}_SET_CXXFLAGS "${${BP_PACKAGE}_SET_CXXFLAGS}") + ExternalProject_Add( build_${BP_PACKAGE} DEPENDS ${${BP_PACKAGE}_dependencies_targets} URL ${${BP_PACKAGE}_URL} URL_HASH ${${BP_PACKAGE}_DOWNLOAD_HASH_TYPE}=${${BP_PACKAGE}_DOWNLOAD_HASH} - CONFIGURE_COMMAND ${ENV_EXECUTABLE} PATH=${BP_PATH} ${${BP_PACKAGE}_SET_CFLAGS} ${source_PATH}/${BP_CONFIGURE_COMMAND} + CONFIGURE_COMMAND ${ENV_EXECUTABLE} PATH=${BP_PATH} ${${BP_PACKAGE}_SET_CFLAGS} ${${BP_PACKAGE}_SET_CXXFLAGS} ${source_PATH}/${BP_CONFIGURE_COMMAND} BUILD_COMMAND ${ENV_EXECUTABLE} PATH=${BP_PATH} ${BP_PARALLEL_MAKE_COMMAND} PYTHON_SITE_PACKAGES=${BP_CMAKE_INSTALL_PREFIX}/lib/python${PYTHON_VERSION}/site-packages BUILD_IN_SOURCE OFF INSTALL_COMMAND ${ENV_EXECUTABLE} PATH=${BP_PATH} ${BP_PARALLEL_MAKE_COMMAND} PYTHON_SITE_PACKAGES=${BP_CMAKE_INSTALL_PREFIX}/lib/python${PYTHON_VERSION}/site-packages install Modified: trunk/cmake/epa_build/libxslt/bp.cmake =================================================================== --- trunk/cmake/epa_build/libxslt/bp.cmake 2013-12-01 08:09:08 UTC (rev 12789) +++ trunk/cmake/epa_build/libxslt/bp.cmake 2013-12-01 08:18:33 UTC (rev 12790) @@ -79,12 +79,20 @@ endif(MSYS_PLATFORM) #message(STATUS "modified BP_PATH for ${BP_PACKAGE} = ${BP_PATH}") +set(${BP_PACKAGE}_SET_CXXFLAGS "CXXFLAGS=$ENV{CXXFLAGS}") + +# Drop -fvisibility=hidden since that option does not work for a +# number of software packages that are configured automatically using +# this template. +string(REGEX REPLACE "-fvisibility=hidden" "" ${BP_PACKAGE}_SET_CFLAGS "${${BP_PACKAGE}_SET_CFLAGS}") +string(REGEX REPLACE "-fvisibility=hidden" "" ${BP_PACKAGE}_SET_CXXFLAGS "${${BP_PACKAGE}_SET_CXXFLAGS}") + ExternalProject_Add( build_${BP_PACKAGE} DEPENDS ${${BP_PACKAGE}_dependencies_targets} URL ${${BP_PACKAGE}_URL} URL_HASH ${${BP_PACKAGE}_DOWNLOAD_HASH_TYPE}=${${BP_PACKAGE}_DOWNLOAD_HASH} - CONFIGURE_COMMAND ${ENV_EXECUTABLE} PATH=${BP_PATH} ${${BP_PACKAGE}_SET_CFLAGS} ${source_PATH}/${BP_CONFIGURE_COMMAND} + CONFIGURE_COMMAND ${ENV_EXECUTABLE} PATH=${BP_PATH} ${${BP_PACKAGE}_SET_CFLAGS} ${${BP_PACKAGE}_SET_CXXFLAGS} ${source_PATH}/${BP_CONFIGURE_COMMAND} BUILD_COMMAND ${ENV_EXECUTABLE} PATH=${BP_PATH} ${BP_PARALLEL_MAKE_COMMAND} BUILD_IN_SOURCE OFF INSTALL_COMMAND ${ENV_EXECUTABLE} PATH=${BP_PATH} ${BP_PARALLEL_MAKE_COMMAND} install Modified: trunk/cmake/epa_build/pango/bp.cmake =================================================================== --- trunk/cmake/epa_build/pango/bp.cmake 2013-12-01 08:09:08 UTC (rev 12789) +++ trunk/cmake/epa_build/pango/bp.cmake 2013-12-01 08:18:33 UTC (rev 12790) @@ -79,12 +79,20 @@ endif(MSYS_PLATFORM) #message(STATUS "modified BP_PATH for ${BP_PACKAGE} = ${BP_PATH}") +set(${BP_PACKAGE}_SET_CXXFLAGS "CXXFLAGS=$ENV{CXXFLAGS}") + +# Drop -fvisibility=hidden since that option does not work for a +# number of software packages that are configured automatically using +# this template. +string(REGEX REPLACE "-fvisibility=hidden" "" ${BP_PACKAGE}_SET_CFLAGS "${${BP_PACKAGE}_SET_CFLAGS}") +string(REGEX REPLACE "-fvisibility=hidden" "" ${BP_PACKAGE}_SET_CXXFLAGS "${${BP_PACKAGE}_SET_CXXFLAGS}") + ExternalProject_Add( build_${BP_PACKAGE} DEPENDS ${${BP_PACKAGE}_dependencies_targets} URL ${${BP_PACKAGE}_URL} URL_HASH ${${BP_PACKAGE}_DOWNLOAD_HASH_TYPE}=${${BP_PACKAGE}_DOWNLOAD_HASH} - CONFIGURE_COMMAND ${ENV_EXECUTABLE} PATH=${BP_PATH} ${${BP_PACKAGE}_SET_CFLAGS} ${source_PATH}/${BP_CONFIGURE_COMMAND} --with-cairo --enable-installed-tests + CONFIGURE_COMMAND ${ENV_EXECUTABLE} PATH=${BP_PATH} ${${BP_PACKAGE}_SET_CFLAGS} ${${BP_PACKAGE}_SET_CXXFLAGS} ${source_PATH}/${BP_CONFIGURE_COMMAND} --with-cairo --enable-installed-tests BUILD_COMMAND ${ENV_EXECUTABLE} PATH=${BP_PATH} ${BP_PARALLEL_MAKE_COMMAND} BUILD_IN_SOURCE OFF INSTALL_COMMAND ${ENV_EXECUTABLE} PATH=${BP_PATH} ${BP_PARALLEL_MAKE_COMMAND} install Modified: trunk/cmake/epa_build/pixman/bp.cmake =================================================================== --- trunk/cmake/epa_build/pixman/bp.cmake 2013-12-01 08:09:08 UTC (rev 12789) +++ trunk/cmake/epa_build/pixman/bp.cmake 2013-12-01 08:18:33 UTC (rev 12790) @@ -79,12 +79,20 @@ endif(MSYS_PLATFORM) #message(STATUS "modified BP_PATH for ${BP_PACKAGE} = ${BP_PATH}") +set(${BP_PACKAGE}_SET_CXXFLAGS "CXXFLAGS=$ENV{CXXFLAGS}") + +# Drop -fvisibility=hidden since that option does not work for a +# number of software packages that are configured automatically using +# this template. +string(REGEX REPLACE "-fvisibility=hidden" "" ${BP_PACKAGE}_SET_CFLAGS "${${BP_PACKAGE}_SET_CFLAGS}") +string(REGEX REPLACE "-fvisibility=hidden" "" ${BP_PACKAGE}_SET_CXXFLAGS "${${BP_PACKAGE}_SET_CXXFLAGS}") + ExternalProject_Add( build_${BP_PACKAGE} DEPENDS ${${BP_PACKAGE}_dependencies_targets} URL ${${BP_PACKAGE}_URL} URL_HASH ${${BP_PACKAGE}_DOWNLOAD_HASH_TYPE}=${${BP_PACKAGE}_DOWNLOAD_HASH} - CONFIGURE_COMMAND ${ENV_EXECUTABLE} PATH=${BP_PATH} ${${BP_PACKAGE}_SET_CFLAGS} ${source_PATH}/${BP_CONFIGURE_COMMAND} --disable-gtk + CONFIGURE_COMMAND ${ENV_EXECUTABLE} PATH=${BP_PATH} ${${BP_PACKAGE}_SET_CFLAGS} ${${BP_PACKAGE}_SET_CXXFLAGS} ${source_PATH}/${BP_CONFIGURE_COMMAND} --disable-gtk BUILD_COMMAND ${ENV_EXECUTABLE} PATH=${BP_PATH} ${BP_PARALLEL_MAKE_COMMAND} BUILD_IN_SOURCE OFF INSTALL_COMMAND ${ENV_EXECUTABLE} PATH=${BP_PATH} ${BP_PARALLEL_MAKE_COMMAND} install Modified: trunk/cmake/epa_build/swig/bp.cmake =================================================================== --- trunk/cmake/epa_build/swig/bp.cmake 2013-12-01 08:09:08 UTC (rev 12789) +++ trunk/cmake/epa_build/swig/bp.cmake 2013-12-01 08:18:33 UTC (rev 12790) @@ -79,12 +79,20 @@ endif(MSYS_PLATFORM) #message(STATUS "modified BP_PATH for ${BP_PACKAGE} = ${BP_PATH}") +set(${BP_PACKAGE}_SET_CXXFLAGS "CXXFLAGS=$ENV{CXXFLAGS}") + +# Drop -fvisibility=hidden since that option does not work for a +# number of software packages that are configured automatically using +# this template. +string(REGEX REPLACE "-fvisibility=hidden" "" ${BP_PACKAGE}_SET_CFLAGS "${${BP_PACKAGE}_SET_CFLAGS}") +string(REGEX REPLACE "-fvisibility=hidden" "" ${BP_PACKAGE}_SET_CXXFLAGS "${${BP_PACKAGE}_SET_CXXFLAGS}") + ExternalProject_Add( build_${BP_PACKAGE} DEPENDS ${${BP_PACKAGE}_dependencies_targets} URL ${${BP_PACKAGE}_URL} URL_HASH ${${BP_PACKAGE}_DOWNLOAD_HASH_TYPE}=${${BP_PACKAGE}_DOWNLOAD_HASH} - CONFIGURE_COMMAND ${ENV_EXECUTABLE} PATH=${BP_PATH} ${${BP_PACKAGE}_SET_CFLAGS} ${source_PATH}/${BP_CONFIGURE_COMMAND} --with-pcre-prefix=${BP_CMAKE_INSTALL_PREFIX} + CONFIGURE_COMMAND ${ENV_EXECUTABLE} PATH=${BP_PATH} ${${BP_PACKAGE}_SET_CFLAGS} ${${BP_PACKAGE}_SET_CXXFLAGS} ${source_PATH}/${BP_CONFIGURE_COMMAND} --with-pcre-prefix=${BP_CMAKE_INSTALL_PREFIX} BUILD_COMMAND ${ENV_EXECUTABLE} PATH=${BP_PATH} ${BP_PARALLEL_MAKE_COMMAND} BUILD_IN_SOURCE OFF INSTALL_COMMAND ${ENV_EXECUTABLE} PATH=${BP_PATH} ${BP_PARALLEL_MAKE_COMMAND} install Modified: trunk/cmake/epa_build/template.bp.in =================================================================== --- trunk/cmake/epa_build/template.bp.in 2013-12-01 08:09:08 UTC (rev 12789) +++ trunk/cmake/epa_build/template.bp.in 2013-12-01 08:18:33 UTC (rev 12790) @@ -79,12 +79,20 @@ endif(MSYS_PLATFORM) #message(STATUS "modified BP_PATH for ${BP_PACKAGE} = ${BP_PATH}") +set(${BP_PACKAGE}_SET_CXXFLAGS "CXXFLAGS=$ENV{CXXFLAGS}") + +# Drop -fvisibility=hidden since that option does not work for a +# number of software packages that are configured automatically using +# this template. +string(REGEX REPLACE "-fvisibility=hidden" "" ${BP_PACKAGE}_SET_CFLAGS "${${BP_PACKAGE}_SET_CFLAGS}") +string(REGEX REPLACE "-fvisibility=hidden" "" ${BP_PACKAGE}_SET_CXXFLAGS "${${BP_PACKAGE}_SET_CXXFLAGS}") + ExternalProject_Add( build_${BP_PACKAGE} DEPENDS ${${BP_PACKAGE}_dependencies_targets} URL ${${BP_PACKAGE}_URL} URL_HASH ${${BP_PACKAGE}_DOWNLOAD_HASH_TYPE}=${${BP_PACKAGE}_DOWNLOAD_HASH} - CONFIGURE_COMMAND ${ENV_EXECUTABLE} PATH=${BP_PATH} ${${BP_PACKAGE}_SET_CFLAGS} ${source_PATH}/${BP_CONFIGURE_COMMAND} @config_arguments@ + CONFIGURE_COMMAND ${ENV_EXECUTABLE} PATH=${BP_PATH} ${${BP_PACKAGE}_SET_CFLAGS} ${${BP_PACKAGE}_SET_CXXFLAGS} ${source_PATH}/${BP_CONFIGURE_COMMAND} @config_arguments@ BUILD_COMMAND ${ENV_EXECUTABLE} PATH=${BP_PATH} ${@BUILD_COMMAND@} @make_arguments@ BUILD_IN_SOURCE @BUILD_IN_SOURCE@ INSTALL_COMMAND ${ENV_EXECUTABLE} PATH=${BP_PATH} ${@BUILD_COMMAND@} @make_arguments@ install Modified: trunk/cmake/epa_build/yelp-tools/bp.cmake =================================================================== --- trunk/cmake/epa_build/yelp-tools/bp.cmake 2013-12-01 08:09:08 UTC (rev 12789) +++ trunk/cmake/epa_build/yelp-tools/bp.cmake 2013-12-01 08:18:33 UTC (rev 12790) @@ -79,12 +79,20 @@ endif(MSYS_PLATFORM) #message(STATUS "modified BP_PATH for ${BP_PACKAGE} = ${BP_PATH}") +set(${BP_PACKAGE}_SET_CXXFLAGS "CXXFLAGS=$ENV{CXXFLAGS}") + +# Drop -fvisibility=hidden since that option does not work for a +# number of software packages that are configured automatically using +# this template. +string(REGEX REPLACE "-fvisibility=hidden" "" ${BP_PACKAGE}_SET_CFLAGS "${${BP_PACKAGE}_SET_CFLAGS}") +string(REGEX REPLACE "-fvisibility=hidden" "" ${BP_PACKAGE}_SET_CXXFLAGS "${${BP_PACKAGE}_SET_CXXFLAGS}") + ExternalProject_Add( build_${BP_PACKAGE} DEPENDS ${${BP_PACKAGE}_dependencies_targets} URL ${${BP_PACKAGE}_URL} URL_HASH ${${BP_PACKAGE}_DOWNLOAD_HASH_TYPE}=${${BP_PACKAGE}_DOWNLOAD_HASH} - CONFIGURE_COMMAND ${ENV_EXECUTABLE} PATH=${BP_PATH} ${${BP_PACKAGE}_SET_CFLAGS} ${source_PATH}/${BP_CONFIGURE_COMMAND} + CONFIGURE_COMMAND ${ENV_EXECUTABLE} PATH=${BP_PATH} ${${BP_PACKAGE}_SET_CFLAGS} ${${BP_PACKAGE}_SET_CXXFLAGS} ${source_PATH}/${BP_CONFIGURE_COMMAND} BUILD_COMMAND ${ENV_EXECUTABLE} PATH=${BP_PATH} ${BP_PARALLEL_MAKE_COMMAND} BUILD_IN_SOURCE OFF INSTALL_COMMAND ${ENV_EXECUTABLE} PATH=${BP_PATH} ${BP_PARALLEL_MAKE_COMMAND} install Modified: trunk/cmake/epa_build/yelp-xsl/bp.cmake =================================================================== --- trunk/cmake/epa_build/yelp-xsl/bp.cmake 2013-12-01 08:09:08 UTC (rev 12789) +++ trunk/cmake/epa_build/yelp-xsl/bp.cmake 2013-12-01 08:18:33 UTC (rev 12790) @@ -79,12 +79,20 @@ endif(MSYS_PLATFORM) #message(STATUS "modified BP_PATH for ${BP_PACKAGE} = ${BP_PATH}") +set(${BP_PACKAGE}_SET_CXXFLAGS "CXXFLAGS=$ENV{CXXFLAGS}") + +# Drop -fvisibility=hidden since that option does not work for a +# number of software packages that are configured automatically using +# this template. +string(REGEX REPLACE "-fvisibility=hidden" "" ${BP_PACKAGE}_SET_CFLAGS "${${BP_PACKAGE}_SET_CFLAGS}") +string(REGEX REPLACE "-fvisibility=hidden" "" ${BP_PACKAGE}_SET_CXXFLAGS "${${BP_PACKAGE}_SET_CXXFLAGS}") + ExternalProject_Add( build_${BP_PACKAGE} DEPENDS ${${BP_PACKAGE}_dependencies_targets} URL ${${BP_PACKAGE}_URL} URL_HASH ${${BP_PACKAGE}_DOWNLOAD_HASH_TYPE}=${${BP_PACKAGE}_DOWNLOAD_HASH} - CONFIGURE_COMMAND ${ENV_EXECUTABLE} PATH=${BP_PATH} ${${BP_PACKAGE}_SET_CFLAGS} ${source_PATH}/${BP_CONFIGURE_COMMAND} + CONFIGURE_COMMAND ${ENV_EXECUTABLE} PATH=${BP_PATH} ${${BP_PACKAGE}_SET_CFLAGS} ${${BP_PACKAGE}_SET_CXXFLAGS} ${source_PATH}/${BP_CONFIGURE_COMMAND} BUILD_COMMAND ${ENV_EXECUTABLE} PATH=${BP_PATH} ${BP_PARALLEL_MAKE_COMMAND} BUILD_IN_SOURCE OFF INSTALL_COMMAND ${ENV_EXECUTABLE} PATH=${BP_PATH} ${BP_PARALLEL_MAKE_COMMAND} install This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |