From: <ai...@us...> - 2013-06-03 14:27:08
|
Revision: 12354 http://sourceforge.net/p/plplot/code/12354 Author: airwin Date: 2013-06-03 14:27:05 +0000 (Mon, 03 Jun 2013) Log Message: ----------- Many small tweaks (most stylistic such as implementing an overall cmake command that propagates the install prefix and generator to all the different CMake-based project builds or establishing the general way to handle the PATH environment variable which is to modify then restore to the original form for each separate project). Tested by: Alan W. Irwin <ai...@us...>. Both shapelib and ndiff configure, build, test, and install cleanly for MinGW/MSYS/Wine. Modified Paths: -------------- trunk/cmake/build_projects/CMakeLists.txt trunk/cmake/build_projects/ndiff/ep.cmake trunk/cmake/build_projects/shapelib/ep.cmake Modified: trunk/cmake/build_projects/CMakeLists.txt =================================================================== --- trunk/cmake/build_projects/CMakeLists.txt 2013-06-02 20:07:07 UTC (rev 12353) +++ trunk/cmake/build_projects/CMakeLists.txt 2013-06-03 14:27:05 UTC (rev 12354) @@ -41,6 +41,10 @@ message(FATAL_ERROR "This project only works with either the \"Unix Makefiles\" or \"MSYS Makefiles\" generators") endif(NOT ${CMAKE_GENERATOR} STREQUAL "Unix Makefiles" AND NOT ${CMAKE_GENERATOR} STREQUAL "MSYS Makefiles") +# Propagate the overall CMake generator and install prefix to all CMake-based +# software project builds. +set(BP_CMAKE_COMMAND cmake "-G${CMAKE_GENERATOR}" -DCMAKE_INSTALL_PREFIX:PATH=${CMAKE_INSTALL_PREFIX}) + # The non-parallel versions are for build systems that # apparently have race conditions for parallel builds. set(BP_PARALLEL_BUILD_COMMAND make -j4) Modified: trunk/cmake/build_projects/ndiff/ep.cmake =================================================================== --- trunk/cmake/build_projects/ndiff/ep.cmake 2013-06-02 20:07:07 UTC (rev 12353) +++ trunk/cmake/build_projects/ndiff/ep.cmake 2013-06-03 14:27:05 UTC (rev 12354) @@ -24,6 +24,7 @@ # used below that configure how the External_Project functions # operate. +# Data that is related to downloads. set(ndiff_URL ftp://ftp.math.utah.edu/pub/misc/ndiff-2.00.tar.gz) # TEMPORARY local version for debugging set(ndiff_URL /home/software/ndiff/ndiff-2.00.tar.gz) @@ -33,11 +34,19 @@ # In any case, gpg is not available for the MSYS case. set(ndiff_URL_MD5 885548b4dc26e72c5455bebb5ba6c16d) +# 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_ndiff/dll;${BP_PATH_NODLL}") + determine_msys_path(BP_PATH "${BP_PATH}") +endif(MSYS) +#message(STATUS "modified BP_PATH for ndiff = ${BP_PATH}") + ExternalProject_Add( build_ndiff URL ${ndiff_URL} URL_MD5 ${ndiff_URL_MD5} - CMAKE_CACHE_ARGS -DCMAKE_INSTALL_PREFIX:PATH=${EP_BASE}/Install/build_ndiff + CONFIGURE_COMMAND env PATH=${BP_PATH} ${BP_CMAKE_COMMAND} ${EP_BASE}/Source/build_ndiff BUILD_COMMAND ${BP_PARALLEL_BUILD_COMMAND} TEST_BEFORE_INSTALL ON TEST_COMMAND ${BP_PARALLEL_CTEST_COMMAND} @@ -66,3 +75,7 @@ ${EP_BASE}/Source/build_ndiff/config.h.cmake ALWAYS OFF ) + +# Restore BP_PATH to original state. +set(BP_PATH "${BP_ORIGINAL_NATIVE_PATH}") +#message(STATUS "shapelib restored original BP_PATH = ${BP_PATH}") Modified: trunk/cmake/build_projects/shapelib/ep.cmake =================================================================== --- trunk/cmake/build_projects/shapelib/ep.cmake 2013-06-02 20:07:07 UTC (rev 12353) +++ trunk/cmake/build_projects/shapelib/ep.cmake 2013-06-03 14:27:05 UTC (rev 12354) @@ -24,42 +24,30 @@ # used below that configure how the External_Project functions # operate. -if(MSYS) - set(BP_PATH_NODLL "${BP_PATH}") - set(BP_PATH "${EP_BASE}/Build/build_shapelib/dll;${BP_PATH_NODLL}") - determine_msys_path(BP_PATH "${BP_PATH}") -endif(MSYS) -#message(STATUS "modified BP_PATH for shapelib = ${BP_PATH}") - +# Data that is related to downloads. set(shapelib_URL http://download.osgeo.org/shapelib/shapelib-1.3.0.tar.gz) # TEMPORARY local version for debugging set(shapelib_URL /home/software/shapelib/shapelib-1.3.0.tar.gz) - set(shapelib_URL_MD5 2ff7d0b21d4b7506b452524492795f77) set(shape_eg_data_URL http://dl.maptools.org/dl/shapelib/shape_eg_data.zip) # TEMPORARY local version for debugging set(shape_eg_data_URL file:///home/software/shapelib/eg_data/shape_eg_data.zip) - set(shape_eg_data_URL_MD5 36208abd5d34c5c80101d8b214109f0d) -# Must implement command as a list to get -G quotes propagated correctly. -set(BP_CONFIGURE_COMMAND - env - PATH=${BP_PATH} - cmake - "-G${CMAKE_GENERATOR}" - -DCMAKE_INSTALL_PREFIX:PATH=${CMAKE_INSTALL_PREFIX} - -DEG_DATA:PATH=${EP_BASE}/Source/build_shapelib/eg_data - ${EP_BASE}/Source/build_shapelib - ) +# 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_shapelib/dll;${BP_PATH_NODLL}") + determine_msys_path(BP_PATH "${BP_PATH}") +endif(MSYS) +#message(STATUS "modified BP_PATH for shapelib = ${BP_PATH}") ExternalProject_Add( build_shapelib URL ${shapelib_URL} URL_MD5 ${shapelib_URL_MD5} - CONFIGURE_COMMAND env PATH=${BP_PATH} cmake "-G${CMAKE_GENERATOR}" -DCMAKE_INSTALL_PREFIX:PATH=${CMAKE_INSTALL_PREFIX} -DEG_DATA:PATH=${EP_BASE}/Source/build_shapelib/eg_data - ${EP_BASE}/Source/build_shapelib + CONFIGURE_COMMAND env PATH=${BP_PATH} ${BP_CMAKE_COMMAND} -DEG_DATA:PATH=${EP_BASE}/Source/build_shapelib/eg_data ${EP_BASE}/Source/build_shapelib BUILD_COMMAND env PATH=${BP_PATH} ${BP_PARALLEL_BUILD_COMMAND} TEST_BEFORE_INSTALL ON TEST_COMMAND env PATH=${BP_PATH} ${BP_PARALLEL_CTEST_COMMAND} This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |