|
From: <ai...@us...> - 2013-12-05 22:59:37
|
Revision: 12817
http://sourceforge.net/p/plplot/code/12817
Author: airwin
Date: 2013-12-05 22:59:35 +0000 (Thu, 05 Dec 2013)
Log Message:
-----------
Fix dependencies handling bug (the last one found by the complicated
dependencies in the build_plplot case) and comment out the debug
messages that allowed me to debug this issue.
Modified Paths:
--------------
trunk/cmake/epa_build/CMakeLists.txt
Modified: trunk/cmake/epa_build/CMakeLists.txt
===================================================================
--- trunk/cmake/epa_build/CMakeLists.txt 2013-12-05 22:56:28 UTC (rev 12816)
+++ trunk/cmake/epa_build/CMakeLists.txt 2013-12-05 22:59:35 UTC (rev 12817)
@@ -167,7 +167,7 @@
_source_PATH
)
- message(STATUS "DEBUG: entering ${_PACKAGE} = ${${_PACKAGE}}")
+ #message(STATUS "DEBUG DEPENDENCY HANDLING: 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)
@@ -184,26 +184,31 @@
endif(NOT EXISTS ${CMAKE_SOURCE_DIR}/${build_configuration}/CMakeLists.txt)
endforeach(build_configuration ${${_dependences_LIST}})
- # remaining_dependencies_LIST contains the dependencies left over
- # from the above removals that have not already been finished.
- set(remaining_dependencies_LIST ${${_dependencies_LIST}})
+ #message(STATUS "DEBUG DEPENDENCY HANDLING: ${_PACKAGE} = ${${_PACKAGE}} has the following list of expurgated dependencies: ${${_dependencies_LIST}}")
+
+ # Initial value of finished_subdirectories_LIST required for following
+ # loop logic to work correctly.
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)
-
- foreach(build_configuration ${remaining_dependencies_LIST})
+ foreach(build_configuration ${${_dependencies_LIST}})
list(FIND started_subdirectories_LIST ${build_configuration} index)
if(index GREATER -1)
message(FATAL_ERROR "Circular dependency: package ${build_configuration} depends on package ${${_PACKAGE}} which depends on package ${build_configuration}.")
endif(index GREATER -1)
- add_subdirectory(
- ${CMAKE_SOURCE_DIR}/${build_configuration}
- ${CMAKE_BINARY_DIR}/${build_configuration}
- )
- endforeach(build_configuration ${remaining_dependencies_LIST})
- set_property(GLOBAL PROPERTY EPA_started_subdirectories_LIST ${saved_started_subdirectories_LIST})
+ list(FIND finished_subdirectories_LIST ${build_configuration} index)
+ if(index LESS 0)
+ # Only if build_configuration is not in finished_subdirectories_LIST.
+ add_subdirectory(
+ ${CMAKE_SOURCE_DIR}/${build_configuration}
+ ${CMAKE_BINARY_DIR}/${build_configuration}
+ )
+ # GLOBAL property EPA_finished_subdirectories_LIST has the subdirectory
+ # name appended to it for the above add_subdirectory call.
+ # So must update finished_subdirectories_LIST
+ # in order for the next test of build_configuration to be valid.
+ get_property(finished_subdirectories_LIST GLOBAL PROPERTY EPA_finished_subdirectories_LIST)
+ endif(index LESS 0)
+ endforeach(build_configuration ${${_dependencies_LIST}})
set(${_dependencies_targets})
foreach(build_configuration ${${_dependencies_LIST}})
@@ -220,15 +225,22 @@
endif(MSYS_PLATFORM)
#message(STATUS "DEBUG: (modified for ${${_PACKAGE}}) ${_EPA_PATH} = ${${_EPA_PATH}}")
+ # Update global properties consistent with a successful conclusion of this
+ # function call.
+ set_property(GLOBAL PROPERTY EPA_started_subdirectories_LIST ${saved_started_subdirectories_LIST})
+
set_property(GLOBAL APPEND PROPERTY EPA_build_targets_LIST build_${${_PACKAGE}})
set_property(GLOBAL APPEND PROPERTY EPA_finished_subdirectories_LIST ${${_PACKAGE}})
+ # Temporary debugging of dependencies.
+ #get_property(finished_subdirectories_LIST GLOBAL PROPERTY EPA_finished_subdirectories_LIST)
+ #message(STATUS "DEBUG DEPENDENCY HANDLING: finished_subdirectories_LIST = ${finished_subdirectories_LIST}")
# 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_PATH} ${${_EPA_PATH}} PARENT_SCOPE)
set(${_source_PATH} ${${_source_PATH}} PARENT_SCOPE)
- message(STATUS "DEBUG: leaving ${_PACKAGE} = ${${_PACKAGE}}")
+ #message(STATUS "DEBUG DEPENDENCY HANDLING: leaving ${_PACKAGE} = ${${_PACKAGE}}")
endfunction(epa_boilerplate)
# This gives the full pathname of the associated build tool for at
@@ -350,6 +362,10 @@
endif(NOT ${EXECUTABLE}_EXECUTABLE)
endforeach(executable ${executables_LIST})
+ # List sufficient buildtool configurations so they will suck in
+ # the remaining buildtool configurations via dependencies.
+ # Order does not matter because the dependency logic takes
+ # care of any ordering issues.
set(subdirectories_LIST
cmake
pkg-config
@@ -369,14 +385,16 @@
iwidgets4.0
)
else(BUILD_THE_BUILDTOOLS)
- # List of all configurations. Order doesn't matter because multiple
- # attempts to include the same configuration (via dependencies) are ignored.
+ # List sufficient normal package configurations so they will suck in
+ # the remaining configurations via dependencies.
+ # Order does not matter because the dependency logic takes
+ # care of any ordering issues.
set(subdirectories_LIST
ndiff
- #plplot
- #plplot_lite
- #wxwidgets
- #pango
+ plplot
+ plplot_lite
+ wxwidgets
+ pango
)
endif(BUILD_THE_BUILDTOOLS)
@@ -384,7 +402,7 @@
set_property(GLOBAL PROPERTY EPA_finished_subdirectories_LIST)
set_property(GLOBAL PROPERTY EPA_build_targets_LIST)
-message(STATUS "DEBUG: subdirectories_LIST = ${subdirectories_LIST}")
+#message(STATUS "DEBUG DEPENDENCY HANDLING (for outer subdirectories loop): subdirectories_LIST = ${subdirectories_LIST}")
# Using a while loop seems obvious here
# because each add_subdirectory command can generate others
@@ -404,8 +422,8 @@
add_subdirectory(${subdirectory})
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: subdirectories_LIST = ${subdirectories_LIST}")
+# message(STATUS "DEBUG DEPENDENCY HANDLING (for outer subdirectories loop): visited ${subdirectory}")
+# message(STATUS "DEBUG DEPENDENCY HANDLING (for outer subdirectories loop): subdirectories_LIST = ${subdirectories_LIST}")
list(LENGTH subdirectories_LIST LENGTH_subdirectories_LIST)
if(LENGTH_subdirectories_LIST EQUAL 0)
break()
@@ -414,4 +432,5 @@
add_custom_target(build_all)
get_property(build_targets_LIST GLOBAL PROPERTY EPA_build_targets_LIST)
+message(STATUS "The target build_all has the following dependent targets: ${build_targets_LIST}")
add_dependencies(build_all ${build_targets_LIST})
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <ai...@us...> - 2013-12-09 13:51:20
|
Revision: 12829
http://sourceforge.net/p/plplot/code/12829
Author: airwin
Date: 2013-12-09 13:51:15 +0000 (Mon, 09 Dec 2013)
Log Message:
-----------
Make sure MSYS_PLATFORM is off for Cygwin in all cases.
Modified Paths:
--------------
trunk/cmake/epa_build/CMakeLists.txt
Modified: trunk/cmake/epa_build/CMakeLists.txt
===================================================================
--- trunk/cmake/epa_build/CMakeLists.txt 2013-12-09 13:41:35 UTC (rev 12828)
+++ trunk/cmake/epa_build/CMakeLists.txt 2013-12-09 13:51:15 UTC (rev 12829)
@@ -51,11 +51,13 @@
find_program(MINGW_GET_EXECUTABLE mingw-get)
find_program(BASH_EXECUTABLE bash)
-if(MINGW_GET_EXECUTABLE AND BASH_EXECUTABLE)
+
+if(MINGW_GET_EXECUTABLE AND BASH_EXECUTABLE AND NOT CYGWIN)
set(MSYS_PLATFORM ON)
-else(MINGW_GET_EXECUTABLE AND BASH_EXECUTABLE)
+else(MINGW_GET_EXECUTABLE AND BASH_EXECUTABLE AND NOT CYGWIN)
set(MSYS_PLATFORM OFF)
-endif(MINGW_GET_EXECUTABLE AND BASH_EXECUTABLE)
+endif(MINGW_GET_EXECUTABLE AND BASH_EXECUTABLE AND NOT CYGWIN)
+
message(STATUS "WIN32 = ${WIN32}")
message(STATUS "MINGW = ${MINGW}")
message(STATUS "MSYS = ${MSYS}")
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <ai...@us...> - 2014-01-21 09:08:36
|
Revision: 12945
http://sourceforge.net/p/plplot/code/12945
Author: airwin
Date: 2014-01-21 09:08:28 +0000 (Tue, 21 Jan 2014)
Log Message:
-----------
Implement NUMBER_PARALLEL_JOBS option with a default of 4 rather than
hard coding 4.
Modified Paths:
--------------
trunk/cmake/epa_build/CMakeLists.txt
Modified: trunk/cmake/epa_build/CMakeLists.txt
===================================================================
--- trunk/cmake/epa_build/CMakeLists.txt 2014-01-16 05:44:27 UTC (rev 12944)
+++ trunk/cmake/epa_build/CMakeLists.txt 2014-01-21 09:08:28 UTC (rev 12945)
@@ -316,12 +316,15 @@
# The parallel versions are for software packages that
# do not have race conditions for parallel builds or tests.
-set(EPA_PARALLEL_BUILD_COMMAND "${EPA_BUILD_COMMAND}" -j4)
-set(EPA_PARALLEL_CTEST_COMMAND "${EPA_CTEST_COMMAND}" -j4)
+
+set(NUMBER_PARALLEL_JOBS 4 CACHE STRING "Number of parallel jobs")
+
+set(EPA_PARALLEL_BUILD_COMMAND "${EPA_BUILD_COMMAND}" -j${NUMBER_PARALLEL_JOBS})
+set(EPA_PARALLEL_CTEST_COMMAND "${EPA_CTEST_COMMAND}" -j${NUMBER_PARALLEL_JOBS})
# 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(EPA_PARALLEL_MAKE_COMMAND "${EPA_MAKE_COMMAND}" -j4)
+ set(EPA_PARALLEL_MAKE_COMMAND "${EPA_MAKE_COMMAND}" -j${NUMBER_PARALLEL_JOBS})
else(AUTOTOOLS_PARALLEL_BUILD)
set(EPA_PARALLEL_MAKE_COMMAND "${EPA_MAKE_COMMAND}")
endif(AUTOTOOLS_PARALLEL_BUILD)
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <ai...@us...> - 2014-02-07 05:43:00
|
Revision: 12982
http://sourceforge.net/p/plplot/code/12982
Author: airwin
Date: 2014-02-07 05:42:56 +0000 (Fri, 07 Feb 2014)
Log Message:
-----------
Do not allow a cmake build for the MSYS platform case for the
reasons mentioned in cmake/epa_build/README.
Modified Paths:
--------------
trunk/cmake/epa_build/CMakeLists.txt
Modified: trunk/cmake/epa_build/CMakeLists.txt
===================================================================
--- trunk/cmake/epa_build/CMakeLists.txt 2014-02-07 02:49:25 UTC (rev 12981)
+++ trunk/cmake/epa_build/CMakeLists.txt 2014-02-07 05:42:56 UTC (rev 12982)
@@ -378,7 +378,6 @@
# Order does not matter because the dependency logic takes
# care of any ordering issues.
set(subdirectories_LIST
- cmake
pkg-config
##subversion
swig
@@ -395,6 +394,15 @@
# iwidgets (version 4.0.1)
iwidgets4.0
)
+ if(NOT MSYS_PLATFORM)
+ # Required system version of libcurl, an essential cmake build
+ # dependency, is not currently (until the epa_build project
+ # configures that build) available for the MSYS_PLATFORM. So only
+ # allow the potential to build the cmake buildtool for the
+ # non-MSYS platform case. And for the MSYS platform case use a
+ # binary version of CMake supplied by Kitware.
+ list(APPEND subdirectories_LIST cmake)
+ endif(NOT MSYS_PLATFORM)
else(BUILD_THE_BUILDTOOLS)
# List sufficient normal package configurations so they will suck in
# the remaining configurations via dependencies.
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <ai...@us...> - 2014-04-26 02:36:47
|
Revision: 13110
http://sourceforge.net/p/plplot/code/13110
Author: airwin
Date: 2014-04-26 02:36:45 +0000 (Sat, 26 Apr 2014)
Log Message:
-----------
Bump CMake minimum version to 2.8.12.1 for epa_build project
which insures (among other things) that CMake has the ability
to unpack tar.xz files on Unix and MSYS.
Drop configuration of the qt4_lite epa_build since an epa_build and
install of qt4_lite interferes with the epa_build of qt5_lite and vice
versa.
Modified Paths:
--------------
trunk/cmake/epa_build/CMakeLists.txt
Modified: trunk/cmake/epa_build/CMakeLists.txt
===================================================================
--- trunk/cmake/epa_build/CMakeLists.txt 2014-04-26 02:22:04 UTC (rev 13109)
+++ trunk/cmake/epa_build/CMakeLists.txt 2014-04-26 02:36:45 UTC (rev 13110)
@@ -26,7 +26,7 @@
message(STATUS "CMAKE_GENERATOR = ${CMAKE_GENERATOR}")
message(STATUS "CMAKE_INSTALL_PREFIX = ${CMAKE_INSTALL_PREFIX}")
-cmake_minimum_required(VERSION 2.8.11.2 FATAL_ERROR)
+cmake_minimum_required(VERSION 2.8.12.1 FATAL_ERROR)
set(EPA_BASE ${CMAKE_BINARY_DIR}/epa_build)
message(STATUS "EPA_BASE = ${EPA_BASE}")
@@ -417,7 +417,11 @@
plplot_lite
gtk+
wxwidgets
- qt4_lite
+ # qt4_lite install interferes with qt5_lite build and vice versa.
+ # Therefore, we have commented out the build configuration of
+ # qt4_lite and have chosen to use the build_configuration of
+ # qt5_lite instead.
+ # qt4_lite
qt5_lite
)
endif(BUILD_THE_BUILDTOOLS)
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|