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