From: <ai...@us...> - 2013-06-04 23:40:51
|
Revision: 12366 http://sourceforge.net/p/plplot/code/12366 Author: airwin Date: 2013-06-04 23:40:49 +0000 (Tue, 04 Jun 2013) Log Message: ----------- Add ExternalProject build configuration of libagg to "Build Projects" project. Tested by: Alan W. Irwin <ai...@us...> for both Linux and MinGW/MSYS/Wine platforms using the build_libagg target. Modified Paths: -------------- trunk/cmake/build_projects/CMakeLists.txt Added Paths: ----------- trunk/cmake/build_projects/libagg/ep.cmake Modified: trunk/cmake/build_projects/CMakeLists.txt =================================================================== --- trunk/cmake/build_projects/CMakeLists.txt 2013-06-04 23:37:22 UTC (rev 12365) +++ trunk/cmake/build_projects/CMakeLists.txt 2013-06-04 23:40:49 UTC (rev 12366) @@ -78,3 +78,4 @@ include(ndiff/ep.cmake) include(libqhull/ep.cmake) include(libharu/ep.cmake) +include(libagg/ep.cmake) Added: trunk/cmake/build_projects/libagg/ep.cmake =================================================================== --- trunk/cmake/build_projects/libagg/ep.cmake (rev 0) +++ trunk/cmake/build_projects/libagg/ep.cmake 2013-06-04 23:40:49 UTC (rev 12366) @@ -0,0 +1,73 @@ +# libagg/ep.cmake +# This file should be included directly or indirectly from a top-level +# CMakeLists.txt file to configure the build and test of libagg. + +# 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. + +# Data that is related to downloads. +set(libagg_URL http://www.antigrain.com/agg-2.5.tar.gz) +# TEMPORARY local version for debugging +set(libagg_URL /home/software/libagg/agg-2.5.tar.gz) +set(libagg_URL_MD5 0229a488bc47be10a2fee6cf0b2febd6) + +# Data that is related to the PATH that must be used. +if(MSYS) + #set(BP_PATH_NODLL "${BP_PATH}") + #set(BP_PATH "${EP_BASE}/Build/build_libagg/dll;${BP_PATH_NODLL}") + determine_msys_path(BP_PATH "${BP_PATH}") +endif(MSYS) +#message(STATUS "modified BP_PATH for libagg = ${BP_PATH}") + +ExternalProject_Add( + build_libagg + URL ${libagg_URL} + URL_MD5 ${libagg_URL_MD5} + CONFIGURE_COMMAND env PATH=${BP_PATH} ${BP_CMAKE_COMMAND} ${EP_BASE}/Source/build_libagg + BUILD_COMMAND ${BP_PARALLEL_BUILD_COMMAND} + INSTALL_COMMAND ${BP_PARALLEL_BUILD_COMMAND} install + STEP_TARGETS download update_build_system configure build install + ) + +# Use custom command approach to generate real file dependencies +# rather than time stamps alone. +add_custom_command( + OUTPUT + ${EP_BASE}/Source/build_libagg/CMakeLists.txt + COMMAND cp -f ${CMAKE_SOURCE_DIR}/libagg/CMakeLists.txt + ${EP_BASE}/Source/build_libagg + COMMENT "Updating of libagg build system" + DEPENDS + ${CMAKE_SOURCE_DIR}/libagg/CMakeLists.txt + ) +ExternalProject_Add_Step(build_libagg update_build_system + COMMENT "Updated libagg build system" + DEPENDEES download + DEPENDERS configure + DEPENDS + ${EP_BASE}/Source/build_libagg/CMakeLists.txt + ALWAYS OFF + ) + +# Restore BP_PATH to original state. +set(BP_PATH "${BP_ORIGINAL_NATIVE_PATH}") +#message(STATUS "libagg restored original BP_PATH = ${BP_PATH}") This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |