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