|
From: <ai...@us...> - 2013-06-21 19:18:16
|
Revision: 12385
http://sourceforge.net/p/plplot/code/12385
Author: airwin
Date: 2013-06-21 19:18:13 +0000 (Fri, 21 Jun 2013)
Log Message:
-----------
Propagate CMAKE_C_COMPILER and CMAKE_RC_COMPILER to aid workaround for
"NMake Makefiles JOM" generator which requires these variables to be
set for now for any non cl compiler, e.g., MinGW gcc.
Some logic cleanup
Modified Paths:
--------------
trunk/cmake/build_projects/CMakeLists.txt
Modified: trunk/cmake/build_projects/CMakeLists.txt
===================================================================
--- trunk/cmake/build_projects/CMakeLists.txt 2013-06-21 19:04:38 UTC (rev 12384)
+++ trunk/cmake/build_projects/CMakeLists.txt 2013-06-21 19:18:13 UTC (rev 12385)
@@ -133,7 +133,6 @@
# On the MSYS platform, the env command (used to set relevant
# environment variables for the commands below in the */bp.cmake
# scripts) requires all full paths be in the MSYS platform form.
- determine_msys_path(BP_CMAKE_COMMAND "${BP_CMAKE_COMMAND}")
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}")
@@ -142,6 +141,16 @@
# 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=${MSYS_CMAKE_INSTALL_PREFIX})
+ # Propagate CMAKE_C_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})
+ endif(CMAKE_C_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})
+ endif(CMAKE_RC_COMPILER)
# Propagate the install prefix to autotools-based builds
set(BP_CONFIGURE_COMMAND configure --prefix=${MSYS_CMAKE_INSTALL_PREFIX})
else(MSYS_PLATFORM)
@@ -168,7 +177,14 @@
message(STATUS "BP_CTEST_COMMAND = ${BP_CTEST_COMMAND}")
message(STATUS "BP_PARALLEL_CTEST_COMMAND = ${BP_PARALLEL_CTEST_COMMAND}")
-set(BP_ORIGINAL_NATIVE_PATH "$ENV{PATH}")
+# Put ${CMAKE_INSTALL_PREFIX}/bin on the PATH as well for those cases
+# where some executable built and installed by build_projects needs
+# to be found by another project being configured by build_projects.
+if(MSYS_PLATFORM)
+ set(BP_ORIGINAL_NATIVE_PATH "$ENV{PATH};${CMAKE_INSTALL_PREFIX}/bin")
+else(MSYS_PLATFORM)
+ set(BP_ORIGINAL_NATIVE_PATH "$ENV{PATH}:${CMAKE_INSTALL_PREFIX}/bin")
+endif(MSYS_PLATFORM)
set(BP_PATH "${BP_ORIGINAL_NATIVE_PATH}")
# Now include the build configurations for certain targets and their
@@ -180,16 +196,21 @@
# on those individual build targets
set(build_target_LIST)
-# Configure a build of ndiff. The ndiff application is not a a PLplot
-# dependency, but still this fuzzy diff is quite useful for PLplot
-# developers.
-include(ndiff/bp.cmake)
+# List of all configurations. Order doesn't matter because multiple
+# attempts to include the same configuration (via dependencies) are ignored.
+set(build_configuration_LIST
+ libagg
+ libharu
+ libqhull
+ ndiff
+ plplot
+ shapelib
+ wxwidgets
+)
-# Configure a build of wxwidgets, a soft (optional) PLplot dependency
-include(wxwidgets/bp.cmake)
+foreach(build_configuration ${build_configuration_LIST})
+ include(${build_configuration}/bp.cmake)
+endforeach(build_configuration ${build_configuration_LIST})
-# Configure a build of PLplot and its dependencies.
-include(plplot/bp.cmake)
-
add_custom_target(build_all)
add_dependencies(build_all ${build_target_LIST})
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <ai...@us...> - 2013-06-26 06:03:58
|
Revision: 12388
http://sourceforge.net/p/plplot/code/12388
Author: airwin
Date: 2013-06-26 06:03:55 +0000 (Wed, 26 Jun 2013)
Log Message:
-----------
Attempted PLplot build ran into some errors for the "MinGW Makefiles"
generator for the libharu dependency of PLplot. So temporarily drop wxwidgets (to save time)
and plplot (to avoid this error) and do full test of remaining 5
builds (for libqhull, libharu, ndiff, ligagg, and shapelib) for all
combinations of generators.
Note, one of these tests was for "NMake
Makefiles JOM" for both C and C++ projects so I had to propagate
CMAKE_CXX_COMPILER (as well as the equivalent C and RC variables) for that case to work around the issues between
this generator and the MinGW suite of compilers.
All these tests were fine as measured by
grep -i warn build_all.out |grep -v "passing argument" |less
grep -i error build_all.out |grep -v "but argument is of type" |less
So this large number of tests should provide a good benchmark for when I reenable plplot again.
Tested by: Alan W. Irwin <ai...@us...> using the
"build_all" target for the "MSYS Makefiles", "MinGW Makefiles", "NMake
Makefiles JOM" (with CMAKE_CXX_COMPILER. etc., workaround), and "Ninja" generators on a wine-git version near
wine-1.6.0-rc1, and for the "Unix Makefiles" and "Ninja" generators on
Linux.
Modified Paths:
--------------
trunk/cmake/build_projects/CMakeLists.txt
Modified: trunk/cmake/build_projects/CMakeLists.txt
===================================================================
--- trunk/cmake/build_projects/CMakeLists.txt 2013-06-25 19:28:34 UTC (rev 12387)
+++ trunk/cmake/build_projects/CMakeLists.txt 2013-06-26 06:03:55 UTC (rev 12388)
@@ -141,12 +141,17 @@
# 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=${MSYS_CMAKE_INSTALL_PREFIX})
- # Propagate CMAKE_C_COMPILER and CMAKE_RC_COMPILER to all CMake-based
- # software project builds. (jom currently requires this as a workaround).
+ # 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})
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})
+ 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})
@@ -203,9 +208,9 @@
libharu
libqhull
ndiff
- plplot
+# plplot
shapelib
- wxwidgets
+# wxwidgets
)
foreach(build_configuration ${build_configuration_LIST})
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <ai...@us...> - 2013-07-31 02:50:41
|
Revision: 12450
http://sourceforge.net/p/plplot/code/12450
Author: airwin
Date: 2013-07-31 02:50:36 +0000 (Wed, 31 Jul 2013)
Log Message:
-----------
Implement AUTOTOOLS_PARALLEL_BUILD option which defaults to ON (and
which works well on Linux). It might be useful to set this to OFF for
MSYS/Wine builds because that reduces some strain caused by running
many large libtool bash scripts simultaneously and which appears to
pop some error boxes from time to time under MSYS wine.
Reduce the number of builds that are directly configured since their
dependencies indirectly bring in the rest.
Tested by: Alan W. Irwin <ai...@us...> on Linux using
the build_wxwidgets, build_pango, and build_plplot targets. These tests
are for the recent cumulation of commits up to this one. wxwidgets
built in parallel with no issues, but because of a minor PATH issue
was ignored by the plplot build. The pango build (and the build of all its many
dependencies) showed no issues and finished in 7.5 minutes. The
PLplot build (and all its specific small dependencies) had no issues
(except for ignoring the wxwidgets build results and a few additional
dependency issues to be discussed). The
cairo device driver was linked with all the pango-related libraries that
were built and the cairo non-interactive devices tested well. Limited
tests of the cairo non-interactive devices also seemed fine.
In sum, this is a breakthrough for the build_packages project where
for the first time with this project we have built essentially the
latest version of pango and its dependencies without issues, and used
those libraries to produce excellent results for the PLplot cairo
devices on Linux.
ToDo: the libfreetype and libpng dependencies are not yet part of
build_packages so the above PLplot results used the system versions of
those instead on Linux. There may be other dependencies that are
required (to be discussed on the plplot-devel list) as well.
Modified Paths:
--------------
trunk/cmake/build_projects/CMakeLists.txt
Modified: trunk/cmake/build_projects/CMakeLists.txt
===================================================================
--- trunk/cmake/build_projects/CMakeLists.txt 2013-07-31 02:28:59 UTC (rev 12449)
+++ trunk/cmake/build_projects/CMakeLists.txt 2013-07-31 02:50:36 UTC (rev 12450)
@@ -67,7 +67,7 @@
# List of executables required by build_projects CMake logic.
set(executables_LIST
- # ExternalProject
+ # ExternalProject workarounds
touch
# Unpacking
unzip
@@ -182,7 +182,12 @@
set(BP_PARALLEL_BUILD_COMMAND "${BP_BUILD_COMMAND}" -j4)
set(BP_PARALLEL_CTEST_COMMAND "${BP_CTEST_COMMAND}" -j4)
# For autotools based builds.
-set(BP_PARALLEL_MAKE_COMMAND "${BP_MAKE_COMMAND}" -j4)
+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)
+else(AUTOTOOLS_PARALLEL_BUILD)
+ set(BP_PARALLEL_MAKE_COMMAND "${BP_MAKE_COMMAND}")
+endif(AUTOTOOLS_PARALLEL_BUILD)
message(STATUS "BP_CMAKE_COMMAND = ${BP_CMAKE_COMMAND}")
message(STATUS "BP_CONFIGURE_COMMAND = ${BP_CONFIGURE_COMMAND}")
@@ -238,15 +243,11 @@
# List of all configurations. Order doesn't matter because multiple
# attempts to include the same configuration (via dependencies) are ignored.
set(build_configuration_LIST
- libagg
- libharu
- libqhull
ndiff
plplot
- shapelib
wxwidgets
- #glib
- ffi
+ glib
+ pango
)
endif(BUILD_THE_BUILDTOOLS)
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <ai...@us...> - 2013-07-31 19:20:03
|
Revision: 12454
http://sourceforge.net/p/plplot/code/12454
Author: airwin
Date: 2013-07-31 19:20:00 +0000 (Wed, 31 Jul 2013)
Log Message:
-----------
Add python to the list of necessary executables and figure out
PYTHON_VERSION (used in some build configurations).
Modified Paths:
--------------
trunk/cmake/build_projects/CMakeLists.txt
Modified: trunk/cmake/build_projects/CMakeLists.txt
===================================================================
--- trunk/cmake/build_projects/CMakeLists.txt 2013-07-31 15:55:51 UTC (rev 12453)
+++ trunk/cmake/build_projects/CMakeLists.txt 2013-07-31 19:20:00 UTC (rev 12454)
@@ -82,6 +82,7 @@
# available so might as well check it here.
bash
make
+ python
)
foreach(executable ${executables_LIST})
@@ -95,6 +96,15 @@
endif(NOT ${EXECUTABLE}_EXECUTABLE)
endforeach(executable ${executables_LIST})
+# Get the Python version.
+execute_process(
+ COMMAND
+ ${PYTHON_EXECUTABLE} -c "from distutils import sysconfig; print(sysconfig.get_python_version())"
+ OUTPUT_VARIABLE PYTHON_VERSION
+ OUTPUT_STRIP_TRAILING_WHITESPACE
+ )
+message(STATUS "PYTHON_VERSION = ${PYTHON_VERSION}")
+
# Use modified version of ExternalProject where cmake -E touch has
# been replaced with the TOUCH_EXECUTABLE command (to work around
# cmake bug 14020)
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <ai...@us...> - 2013-08-03 17:40:55
|
Revision: 12467
http://sourceforge.net/p/plplot/code/12467
Author: airwin
Date: 2013-08-03 17:40:53 +0000 (Sat, 03 Aug 2013)
Log Message:
-----------
Small simplification of CMake logic.
Modified Paths:
--------------
trunk/cmake/build_projects/CMakeLists.txt
Modified: trunk/cmake/build_projects/CMakeLists.txt
===================================================================
--- trunk/cmake/build_projects/CMakeLists.txt 2013-08-03 17:39:54 UTC (rev 12466)
+++ trunk/cmake/build_projects/CMakeLists.txt 2013-08-03 17:40:53 UTC (rev 12467)
@@ -166,17 +166,17 @@
determine_msys_path(MSYS_CMAKE_RC_COMPILER "${CMAKE_RC_COMPILER}")
list(APPEND BP_CMAKE_COMMAND -DCMAKE_RC_COMPILER:FILEPATH=${MSYS_CMAKE_RC_COMPILER})
endif(CMAKE_RC_COMPILER)
- # Propagate the install prefix to autotools-based builds
- set(BP_CONFIGURE_COMMAND configure --prefix=${BP_CMAKE_INSTALL_PREFIX})
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})
- # Propagate the install prefix to autotools-based builds
- set(BP_CONFIGURE_COMMAND configure --prefix=${BP_CMAKE_INSTALL_PREFIX})
endif(MSYS_PLATFORM)
+# Propagate the install prefix to autotools-based builds
+set(BP_CONFIGURE_COMMAND configure --prefix=${BP_CMAKE_INSTALL_PREFIX})
+
+
if(CMAKE_VERBOSE_MAKEFILE)
# Not sure whether all contemplated back-ends support this or not, but
# most should.
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|