[Cmake-commits] CMake branch, master, updated. v3.6.2-1125-gd0a27ae
This is an automated email from the git hooks/post-receive script. It was generated because a ref change was pushed to the repository containing the project "CMake". The branch, master has been updated via d0a27ae998e5ff313937f346b53d672c6353bd74 (commit) from f4475eb92beade22fca16f21b40df19b48c6559b (commit) Those revisions listed above that are new to this repository have not appeared on any other notification email; so we list those revisions in full, below. - Log - https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=d0a27ae998e5ff313937f346b53d672c6353bd74 commit d0a27ae998e5ff313937f346b53d672c6353bd74 Author: Kitware Robot AuthorDate: Fri Sep 23 00:01:05 2016 -0400 Commit: Kitware Robot CommitDate: Fri Sep 23 00:01:05 2016 -0400 CMake Nightly Date Stamp diff --git a/Source/CMakeVersion.cmake b/Source/CMakeVersion.cmake index 68c9a6d..27ca0ca 100644 --- a/Source/CMakeVersion.cmake +++ b/Source/CMakeVersion.cmake @@ -1,5 +1,5 @@ # CMake version number components. set(CMake_VERSION_MAJOR 3) set(CMake_VERSION_MINOR 6) -set(CMake_VERSION_PATCH 20160922) +set(CMake_VERSION_PATCH 20160923) #set(CMake_VERSION_RC 1) --- Summary of changes: Source/CMakeVersion.cmake |2 +- 1 file changed, 1 insertion(+), 1 deletion(-) hooks/post-receive -- CMake ___ Cmake-commits mailing list Cmake-commits@cmake.org http://public.kitware.com/mailman/listinfo/cmake-commits
[Cmake-commits] CMake branch, next, updated. v3.6.2-2409-g3bb5115
This is an automated email from the git hooks/post-receive script. It was generated because a ref change was pushed to the repository containing the project "CMake". The branch, next has been updated via 3bb5115ac5b7a0b2179ef0d890783b67f285d312 (commit) via 48624b3cb85a6e1854eff0ef45996ef75b5aa9e9 (commit) from 37c31ff4b4ee7576e6e93d86ca79ceeb537a9f1d (commit) Those revisions listed above that are new to this repository have not appeared on any other notification email; so we list those revisions in full, below. - Log - https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=3bb5115ac5b7a0b2179ef0d890783b67f285d312 commit 3bb5115ac5b7a0b2179ef0d890783b67f285d312 Merge: 37c31ff 48624b3 Author: Clinton Stimpson AuthorDate: Thu Sep 22 15:20:31 2016 -0400 Commit: CMake Topic Stage CommitDate: Thu Sep 22 15:20:31 2016 -0400 Merge topic 'qtdialog-lib-paths' into next 48624b3c cmake-gui: Do not remove library paths for Qt5 plugins. https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=48624b3cb85a6e1854eff0ef45996ef75b5aa9e9 commit 48624b3cb85a6e1854eff0ef45996ef75b5aa9e9 Author: Clinton Stimpson AuthorDate: Thu Sep 22 13:13:38 2016 -0600 Commit: Clinton Stimpson CommitDate: Thu Sep 22 13:19:04 2016 -0600 cmake-gui: Do not remove library paths for Qt5 plugins. Not removing library paths is necessary for QFileDialog to function correctly on Linux when using Qt5. diff --git a/Source/QtDialog/CMakeSetup.cxx b/Source/QtDialog/CMakeSetup.cxx index c849d52..61c4d7b 100644 --- a/Source/QtDialog/CMakeSetup.cxx +++ b/Source/QtDialog/CMakeSetup.cxx @@ -101,11 +101,13 @@ int main(int argc, char** argv) QTextCodec::setCodecForLocale(utf8_codec); #endif +#if QT_VERSION < 0x05 // clean out standard Qt paths for plugins, which we don't use anyway // when creating Mac bundles, it potentially causes problems foreach (QString p, QApplication::libraryPaths()) { QApplication::removeLibraryPath(p); } +#endif // tell the cmake library where cmake is QDir cmExecDir(QApplication::applicationDirPath()); --- Summary of changes: Source/QtDialog/CMakeSetup.cxx |2 ++ 1 file changed, 2 insertions(+) hooks/post-receive -- CMake ___ Cmake-commits mailing list Cmake-commits@cmake.org http://public.kitware.com/mailman/listinfo/cmake-commits
[Cmake-commits] CMake branch, next, updated. v3.6.2-2407-g37c31ff
This is an automated email from the git hooks/post-receive script. It was generated because a ref change was pushed to the repository containing the project "CMake". The branch, next has been updated via 37c31ff4b4ee7576e6e93d86ca79ceeb537a9f1d (commit) via eb8cd35684f2dc2f53d205d7738e1c01a12a493f (commit) via a41c8724d155f1cd74ce36cdfbd10da0eac5b389 (commit) via 1ec5097d4d15cfb2d24a8f23cb6accf38f870981 (commit) via d7bd2efbc4ffeb56cc1f9ddafffc49a8e42d09c2 (commit) from 149103458f16b9776d88a4e6287a14eb13ef24d1 (commit) Those revisions listed above that are new to this repository have not appeared on any other notification email; so we list those revisions in full, below. - Log - https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=37c31ff4b4ee7576e6e93d86ca79ceeb537a9f1d commit 37c31ff4b4ee7576e6e93d86ca79ceeb537a9f1d Merge: 1491034 eb8cd35 Author: Brad King AuthorDate: Thu Sep 22 14:52:13 2016 -0400 Commit: CMake Topic Stage CommitDate: Thu Sep 22 14:52:13 2016 -0400 Merge topic 'test-Fortran-split' into next eb8cd356 Tests: Split Fortran module testing into separate FortranModules test a41c8724 Tests: Check if Fortran compiler supports F90 1ec5097d Tests: Use more generic variables in Fortran test d7bd2efb Tests: Remove trailing line from Fortran/External https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=eb8cd35684f2dc2f53d205d7738e1c01a12a493f commit eb8cd35684f2dc2f53d205d7738e1c01a12a493f Author: Brad King AuthorDate: Thu Sep 22 14:23:39 2016 -0400 Commit: Brad King CommitDate: Thu Sep 22 14:52:01 2016 -0400 Tests: Split Fortran module testing into separate FortranModules test The main Fortran test is not granular enough. Split some into another test. diff --git a/Tests/CMakeLists.txt b/Tests/CMakeLists.txt index 8cf1faa..235e38a 100644 --- a/Tests/CMakeLists.txt +++ b/Tests/CMakeLists.txt @@ -3097,10 +3097,22 @@ ${CMake_BINARY_DIR}/bin/cmake -DDIR=dev -P ${CMake_SOURCE_DIR}/Utilities/Release --build-project testf --build-two-config --build-options ${build_options} - -DCMake_TEST_NESTED_MAKE_PROGRAM:FILEPATH=${CMake_TEST_EXPLICIT_MAKE_PROGRAM} --test-command testf) list(APPEND TEST_BUILD_DIRS "${CMake_BINARY_DIR}/Tests/Fortran") +if(CMAKE_Fortran_COMPILER_SUPPORTS_F90) + add_test(FortranModules ${CMAKE_CTEST_COMMAND} +--build-and-test +"${CMake_SOURCE_DIR}/Tests/FortranModules" +"${CMake_BINARY_DIR}/Tests/FortranModules" +${build_generator_args} +--build-project FortranModules +--build-options ${build_options} + -DCMake_TEST_NESTED_MAKE_PROGRAM:FILEPATH=${CMake_TEST_EXPLICIT_MAKE_PROGRAM} +) + list(APPEND TEST_BUILD_DIRS "${CMake_BINARY_DIR}/Tests/FortranModules") +endif() + # FortranCInterface tests. if(UNIX) configure_file(${CMAKE_CURRENT_SOURCE_DIR}/FortranC/Flags.cmake.in diff --git a/Tests/Fortran/CMakeLists.txt b/Tests/Fortran/CMakeLists.txt index 3105d13..740e6f5 100644 --- a/Tests/Fortran/CMakeLists.txt +++ b/Tests/Fortran/CMakeLists.txt @@ -1,8 +1,5 @@ cmake_minimum_required (VERSION 3.1) project(testf C CXX Fortran) -if(NOT DEFINED CMake_TEST_NESTED_MAKE_PROGRAM AND NOT CMAKE_GENERATOR MATCHES "Visual Studio") - set(CMake_TEST_NESTED_MAKE_PROGRAM "${CMAKE_MAKE_PROGRAM}") -endif() message("CTEST_FULL_OUTPUT ") set(CMAKE_VERBOSE_MAKEFILE 1) @@ -144,85 +141,3 @@ else() endif() endif() - - - - -set(TEST_MODULE_DEPENDS 0) -if(CMAKE_Fortran_COMPILER_SUPPORTS_F90) - add_executable(test_module -test_module_main.f90 -test_module_implementation.f90 -test_module_interface.f90) - - add_executable(test_use_in_comment_fixedform -test_use_in_comment_fixedform.f) - set_property(SOURCE test_use_in_comment_fixedform.f PROPERTY Fortran_FORMAT FIXED) - add_executable(test_use_in_comment_freeform -test_use_in_comment_freeform.f90) - set_property(SOURCE test_use_in_comment_freeform.f90 PROPERTY Fortran_FORMAT FREE) - - add_executable(test_in_interface -in_interface/main.f90 -in_interface/module.f90) - - add_definitions(-DFOO -DBAR=1) - include_directories(${CMAKE_CURRENT_SOURCE_DIR}/include) - add_executable(test_preprocess test_preprocess.F90 test_preprocess_module.F90) - - set(TEST_MODULE_DEPENDS 1) -endif() - -if(TEST_MODULE_DEPENDS) - # Build the external project separately using a custom target. - # Make sure it uses the same build configuration as this test. - if(CMAKE_CONFIGURATION_TYPES) -set(External_CONFIG_TYPE -C "${CMAKE_CFG_INTDIR}") -set(External_BUILD_TYPE) - else() -set(External_CONFIG_TYPE) -set(External_BUILD_TYPE -DCMAKE_BUILD_TYPE:STRING=${CMAKE_BUILD_TYPE}) - endif() - set(External_SOURCE_DIR "${CMAKE_CURRENT_SOURCE_DIR}/External") - set(External_BINARY_DIR "${CMAKE_CURRENT_BINARY_DIR}/Externa
[Cmake-commits] CMake branch, next, updated. v3.6.2-2402-g1491034
This is an automated email from the git hooks/post-receive script. It was generated because a ref change was pushed to the repository containing the project "CMake". The branch, next has been updated via 149103458f16b9776d88a4e6287a14eb13ef24d1 (commit) via 4d3874d5ad25d1907a56a92aba7ae94768726c72 (commit) via 86d2e4276d934c0e04ad129881d1cc9d2916d121 (commit) from af0dd7f74b8ec0e00ac57a66d25ea8b0e20a4d7f (commit) Those revisions listed above that are new to this repository have not appeared on any other notification email; so we list those revisions in full, below. - Log - https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=149103458f16b9776d88a4e6287a14eb13ef24d1 commit 149103458f16b9776d88a4e6287a14eb13ef24d1 Merge: af0dd7f 4d3874d Author: Brad King AuthorDate: Thu Sep 22 14:50:31 2016 -0400 Commit: CMake Topic Stage CommitDate: Thu Sep 22 14:50:31 2016 -0400 Merge topic 'CheckFortranSourceCompiles-custom-ext' into next 4d3874d5 CheckFortranSourceCompiles: Add support for custom source extension 86d2e427 CheckFortranSourceCompiles: Fix FAIL_REGEX documentation typo https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=4d3874d5ad25d1907a56a92aba7ae94768726c72 commit 4d3874d5ad25d1907a56a92aba7ae94768726c72 Author: Brad King AuthorDate: Thu Sep 22 14:45:55 2016 -0400 Commit: Brad King CommitDate: Thu Sep 22 14:49:54 2016 -0400 CheckFortranSourceCompiles: Add support for custom source extension Fortran compilers interpret the source extension to decide whether to preprocess and what language level to use by default. diff --git a/Help/release/dev/CheckFortranSourceCompiles-custom-ext.rst b/Help/release/dev/CheckFortranSourceCompiles-custom-ext.rst new file mode 100644 index 000..bf62812 --- /dev/null +++ b/Help/release/dev/CheckFortranSourceCompiles-custom-ext.rst @@ -0,0 +1,6 @@ +CheckFortranSourceCompiles-custom-ext +- + +* The :module:`CheckFortranSourceCompiles` module macro + ``CHECK_Fortran_SOURCE_COMPILES`` gained a ``SRC_EXT`` option + to specify a custom test Fortran source file extension. diff --git a/Modules/CheckFortranSourceCompiles.cmake b/Modules/CheckFortranSourceCompiles.cmake index 20d1fd9..967b830 100644 --- a/Modules/CheckFortranSourceCompiles.cmake +++ b/Modules/CheckFortranSourceCompiles.cmake @@ -4,7 +4,8 @@ # # Check if given Fortran source compiles and links into an executable:: # -# CHECK_Fortran_SOURCE_COMPILES( [FAIL_REGEX ]) +# CHECK_Fortran_SOURCE_COMPILES( [FAIL_REGEX ] +# [SRC_EXT ]) # # The arguments are: # @@ -15,6 +16,8 @@ # Will be created as an internal cache variable. # ``FAIL_REGEX `` # Fail if test output matches this regex. +# ``SRC_EXT `` +# Use source extension ``.`` instead of the default ``.F``. # # The following variables may be set before calling this macro to modify # the way the check is run:: @@ -43,9 +46,10 @@ macro(CHECK_Fortran_SOURCE_COMPILES SOURCE VAR) if(NOT DEFINED "${VAR}") set(_FAIL_REGEX) +set(_SRC_EXT) set(_key) foreach(arg ${ARGN}) - if("${arg}" MATCHES "^(FAIL_REGEX)$") + if("${arg}" MATCHES "^(FAIL_REGEX|SRC_EXT)$") set(_key "${arg}") elseif(_key) list(APPEND _${_key} "${arg}") @@ -53,6 +57,9 @@ macro(CHECK_Fortran_SOURCE_COMPILES SOURCE VAR) message(FATAL_ERROR "Unknown argument:\n ${arg}\n") endif() endforeach() +if(NOT _SRC_EXT) + set(_SRC_EXT F) +endif() set(MACRO_CHECK_FUNCTION_DEFINITIONS "-D${VAR} ${CMAKE_REQUIRED_FLAGS}") if(CMAKE_REQUIRED_LIBRARIES) @@ -67,7 +74,7 @@ macro(CHECK_Fortran_SOURCE_COMPILES SOURCE VAR) else() set(CHECK_Fortran_SOURCE_COMPILES_ADD_INCLUDES) endif() -file(WRITE "${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeTmp/src.F" +file(WRITE "${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeTmp/src.${_SRC_EXT}" "${SOURCE}\n") if(NOT CMAKE_REQUIRED_QUIET) @@ -75,7 +82,7 @@ macro(CHECK_Fortran_SOURCE_COMPILES SOURCE VAR) endif() try_compile(${VAR} ${CMAKE_BINARY_DIR} - ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeTmp/src.F + ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeTmp/src.${_SRC_EXT} COMPILE_DEFINITIONS ${CMAKE_REQUIRED_DEFINITIONS} ${CHECK_Fortran_SOURCE_COMPILES_ADD_LIBRARIES} CMAKE_FLAGS -DCOMPILE_DEFINITIONS:STRING=${MACRO_CHECK_FUNCTION_DEFINITIONS} https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=86d2e4276d934c0e04ad129881d1cc9d2916d121 commit 86d2e4276d934c0e04ad129881d1cc9d2916d121 Author: Brad King AuthorDate: Thu Sep 22 14:37:12 2016 -0400 Commit: Brad King CommitDate: Thu Sep 22 14:47:34 2016 -0400 CheckFortranSourceCompiles: Fix FAIL_REGEX documentation typo diff --git a/Modules/CheckFortranSourceCompiles.cmake b/Modules/CheckFor
[Cmake-commits] CMake branch, next, updated. v3.6.2-2399-gaf0dd7f
This is an automated email from the git hooks/post-receive script. It was generated because a ref change was pushed to the repository containing the project "CMake". The branch, next has been updated via af0dd7f74b8ec0e00ac57a66d25ea8b0e20a4d7f (commit) via 330581502a7c7332a8f3ec15d57e1c21f7ff1ca8 (commit) via 59aae29214b727944978b8e545a552f96c88b883 (commit) via 39ebfc79e614dc395d5ace2ad5818b3ba75ca478 (commit) via 9a77680eed49939f8ba418af96eefd42ecea0ae1 (commit) via 0f331d7893bee523e61109661d4e51566f41c350 (commit) via d3e0b64b1432700a71a10ddf06084f7bb8500694 (commit) via 8eca59a175b551c2d4c98fd9523e6aca6c51a82b (commit) via a57d1bb7122be79101cc17a4b8a04bd0ac5a041e (commit) via 0488ae63ea8dfa8ac455e36b7cc41e81620a080f (commit) via f0a23aa3dbbe2751bbb4969e1371380561b566ee (commit) from 36ab1194b924d7b1702993bd250003167bb3ecb1 (commit) Those revisions listed above that are new to this repository have not appeared on any other notification email; so we list those revisions in full, below. - Log - https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=af0dd7f74b8ec0e00ac57a66d25ea8b0e20a4d7f commit af0dd7f74b8ec0e00ac57a66d25ea8b0e20a4d7f Merge: 36ab119 3305815 Author: Brad King AuthorDate: Thu Sep 22 13:53:46 2016 -0400 Commit: CMake Topic Stage CommitDate: Thu Sep 22 13:53:46 2016 -0400 Merge topic 'ninja-fortran' into next 33058150 Help: Document Ninja generator conditional Fortran support 59aae292 Ninja: Add dyndep rules for Fortran module dependencies 39ebfc79 Ninja: Add explicit preprocessing step for Fortran 9a77680e Ninja: Conditionally allow Fortran based on ninja 'dyndep' support 0f331d78 Ninja: Add internal tool to produce a ninja dyndep file for Fortran d3e0b64b Ninja: Add internal tool to scan Fortran code for module dependencies 8eca59a1 Ninja: Add comment with Fortran dependency design documentation a57d1bb7 Ninja: Add API to check for dyndep support 0488ae63 Ninja: Refactor ninja feature detection f0a23aa3 Ninja: Refactor Fortran rejection logic https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=330581502a7c7332a8f3ec15d57e1c21f7ff1ca8 commit 330581502a7c7332a8f3ec15d57e1c21f7ff1ca8 Author: Brad King AuthorDate: Thu Sep 22 10:56:56 2016 -0400 Commit: Brad King CommitDate: Thu Sep 22 13:53:10 2016 -0400 Help: Document Ninja generator conditional Fortran support Closes: #14215 diff --git a/Help/generator/Ninja.rst b/Help/generator/Ninja.rst index ef0e28b..3bbd9dc 100644 --- a/Help/generator/Ninja.rst +++ b/Help/generator/Ninja.rst @@ -21,3 +21,13 @@ are generated: ``sub/dir/package`` Runs the package step in the subdirectory, if any. + +Fortran Support +^^^ + +The ``Ninja`` generator conditionally supports Fortran when the ``ninja`` +tool has the required features. As of this version of CMake the needed +features have not been integrated into upstream Ninja. Kitware maintains +a branch of Ninja with the required features on `github.com/Kitware/ninja`_. + +.. _`github.com/Kitware/ninja`: https://github.com/Kitware/ninja/tree/features-for-fortran#readme diff --git a/Help/release/dev/ninja-fortran.rst b/Help/release/dev/ninja-fortran.rst new file mode 100644 index 000..612b1ff --- /dev/null +++ b/Help/release/dev/ninja-fortran.rst @@ -0,0 +1,6 @@ +ninja-fortran +- + +* The :generator:`Ninja` generator learned to conditionally support + Fortran when using a ``ninja`` tool that has the necessary features. + See generator documentation for details. https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=59aae29214b727944978b8e545a552f96c88b883 commit 59aae29214b727944978b8e545a552f96c88b883 Author: Brad King AuthorDate: Thu Sep 22 10:34:45 2016 -0400 Commit: Brad King CommitDate: Thu Sep 22 13:53:10 2016 -0400 Ninja: Add dyndep rules for Fortran module dependencies Teach the Ninja generator to add dyndep rules and bindings as described in the design comment in `Source/cmGlobalNinjaGenerator.cxx`. diff --git a/Source/cmNinjaTargetGenerator.cxx b/Source/cmNinjaTargetGenerator.cxx index 76bae6b..b418ce3 100644 --- a/Source/cmNinjaTargetGenerator.cxx +++ b/Source/cmNinjaTargetGenerator.cxx @@ -29,6 +29,8 @@ #include "cmSystemTools.h" #include "cmake.h" +#include "cm_jsoncpp_writer.h" + #include #include #include @@ -106,6 +108,18 @@ bool cmNinjaTargetGenerator::NeedExplicitPreprocessing( return lang == "Fortran"; } +std::string cmNinjaTargetGenerator::LanguageDyndepRule( + const std::string& lang) const +{ + return lang + "_DYNDEP__" + +cmGlobalNinjaGenerator::EncodeRuleName(this->GeneratorTarget->GetName()); +} + +bool cmNinjaTargetGenerator::NeedDyndep(std::string const& lang) const +{ + return lang == "Fortran"; +} + std::string cmNinjaTargetGenerator::OrderDependsTar
[Cmake-commits] CMake branch, next, updated. v3.6.2-2388-g36ab119
This is an automated email from the git hooks/post-receive script. It was generated because a ref change was pushed to the repository containing the project "CMake". The branch, next has been updated via 36ab1194b924d7b1702993bd250003167bb3ecb1 (commit) via e677ecdf19c64fff2f0307ffcc5becf7a7d8b63f (commit) from a11ba9ee3bc679320d48f207535584cbb14a0e8a (commit) Those revisions listed above that are new to this repository have not appeared on any other notification email; so we list those revisions in full, below. - Log - https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=36ab1194b924d7b1702993bd250003167bb3ecb1 commit 36ab1194b924d7b1702993bd250003167bb3ecb1 Merge: a11ba9e e677ecd Author: Domen Vrankar AuthorDate: Thu Sep 22 13:52:23 2016 -0400 Commit: CMake Topic Stage CommitDate: Thu Sep 22 13:52:23 2016 -0400 Merge topic 'cpack-rpm-debuginfo-sources' into next e677ecdf CPack/RPM debuginfo packaging documentation https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=e677ecdf19c64fff2f0307ffcc5becf7a7d8b63f commit e677ecdf19c64fff2f0307ffcc5becf7a7d8b63f Author: Domen Vrankar AuthorDate: Thu Sep 22 19:24:25 2016 +0200 Commit: Domen Vrankar CommitDate: Thu Sep 22 19:51:53 2016 +0200 CPack/RPM debuginfo packaging documentation diff --git a/Modules/CPackRPM.cmake b/Modules/CPackRPM.cmake index 95904f7..d880b24 100644 --- a/Modules/CPackRPM.cmake +++ b/Modules/CPackRPM.cmake @@ -60,14 +60,6 @@ # * Mandatory : YES # * Default : :variable:`CPACK_PACKAGE_DESCRIPTION_SUMMARY` # -# .. variable:: CPACK_RPM_DEBUGINFO_PACKAGE -# CPACK_RPM__DEBUGINFO_PACKAGE -# -# Option to additionally generate debuginfo RPM package(s). -# -# * Mandatory : NO -# * Default : OFF -# # .. variable:: CPACK_RPM_PACKAGE_NAME # CPACK_RPM__PACKAGE_NAME # @@ -707,6 +699,94 @@ # package installation may cause initial symbolic link to point to an # invalid location. # +# Packaging of debug information +# ^^ +# +# Debuginfo packages contain debug symbols and sources for debugging packaged +# binaries. +# +# .. note:: +# +# Currently multiple debuginfo packages are generated if component based +# packaging is used - one debuginfo package per component. This duplicates +# sources if multiple binaries are using them. This is a side effect of +# how CPackRPM currently generates component packages and will be addressed +# in later versions of the generator. +# +# Debuginfo RPM packaging has it's own set of variables: +# +# .. variable:: CPACK_RPM_DEBUGINFO_PACKAGE +# CPACK_RPM__DEBUGINFO_PACKAGE +# +# Enable generation of debuginfo RPM package(s). +# +# * Mandatory : NO +# * Default : OFF +# +# .. note:: +# +# Binaries must contain debug symbols before packaging so use either ``Debug`` +# or ``RelWithDebInfo`` for :variable:`CMAKE_BUILD_TYPE` variable value. +# +# .. note:: +# +# Packages generated from packages without binary files, with binary files but +# without execute permissions or without debug symbols will be empty. +# +# .. variable:: CPACK_BUILD_SOURCE_DIRS +# +# Provides locations of root directories of source files from which binaries +# were built. +# +# * Mandatory : YES if :variable:`CPACK_RPM_DEBUGINFO_PACKAGE` is set +# * Default : - +# +# .. note:: +# +# For CMake project :variable:`CPACK_BUILD_SOURCE_DIRS` is set by default to +# point to :variable:`CMAKE_SOURCE_DIR` and :variable:`CMAKE_BINARY_DIR` paths. +# +# .. note:: +# +# Sources with path prefixes that do not fall under any location provided with +# :variable:`CPACK_BUILD_SOURCE_DIRS` will not be present in debuginfo package. +# +# .. variable:: CPACK_RPM_BUILD_SOURCE_DIRS_PREFIX +# +# Prefix of location where sources will be placed during package installation. +# +# * Mandatory : YES if :variable:`CPACK_RPM_DEBUGINFO_PACKAGE` is set +# * Default : "/usr/src/debug/${CPACK_PACKAGE_FILE_NAME}" +# +# .. note:: +# +# Each source path prefix is additionaly suffixed by ``src_`` where +# index is index of the path used from :variable:`CPACK_BUILD_SOURCE_DIRS` +# variable. This produces ``/src_`` +# replacement path. +# Limitation is that replaced path part must be shorter or of equal +# length than the length of its replacement. If that is not the case either +# :variable:`CPACK_RPM_BUILD_SOURCE_DIRS_PREFIX` variable has to be set to +# a shorter path or source directories must be placed on a longer path. +# +# .. variable:: CPACK_RPM_DEBUGINFO_EXCLUDE_DIRS +# +# Directories containing sources that should be excluded from debuginfo packages. +# +# * Mandatory : NO +# * Default : "/usr /usr/src /usr/src/debug" +# +# Listed paths are owned by other RPM packages and should therefore not be +# deleted on debuginfo package uninstallation. +# +# .. variable:: CPACK_RPM_DEBUGINFO_EXCLUDE_DIRS_ADDITION +# +# Paths that shou
[Cmake-commits] CMake branch, next, updated. v3.6.2-2386-ga11ba9e
This is an automated email from the git hooks/post-receive script. It was generated because a ref change was pushed to the repository containing the project "CMake". The branch, next has been updated via a11ba9ee3bc679320d48f207535584cbb14a0e8a (commit) via 04310070588df956f8a925e3ca873ca290a3bd99 (commit) from 11d9a18decaffe6cd8941f7e578c54b0b77c579f (commit) Those revisions listed above that are new to this repository have not appeared on any other notification email; so we list those revisions in full, below. - Log - https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=a11ba9ee3bc679320d48f207535584cbb14a0e8a commit a11ba9ee3bc679320d48f207535584cbb14a0e8a Merge: 11d9a18 0431007 Author: Domen Vrankar AuthorDate: Thu Sep 22 13:44:09 2016 -0400 Commit: CMake Topic Stage CommitDate: Thu Sep 22 13:44:09 2016 -0400 Merge topic 'cpack-rpm-debuginfo-sources' into next 04310070 fixup! CPack/RPM debuginfo packaging documentation https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=04310070588df956f8a925e3ca873ca290a3bd99 commit 04310070588df956f8a925e3ca873ca290a3bd99 Author: Domen Vrankar AuthorDate: Thu Sep 22 19:43:49 2016 +0200 Commit: Domen Vrankar CommitDate: Thu Sep 22 19:43:49 2016 +0200 fixup! CPack/RPM debuginfo packaging documentation diff --git a/Modules/CPackRPM.cmake b/Modules/CPackRPM.cmake index 4ae0382..d880b24 100644 --- a/Modules/CPackRPM.cmake +++ b/Modules/CPackRPM.cmake @@ -760,15 +760,33 @@ # # .. note:: # -# Each source path prefix is additionaly suffixed by ``src_${index_}`` where -# index_ is index of the path used from :variable:`CPACK_BUILD_SOURCE_DIRS` -# variable. This produces ``${CPACK_RPM_BUILD_SOURCE_DIRS_PREFIX}/src_${index_}`` +# Each source path prefix is additionaly suffixed by ``src_`` where +# index is index of the path used from :variable:`CPACK_BUILD_SOURCE_DIRS` +# variable. This produces ``/src_`` # replacement path. # Limitation is that replaced path part must be shorter or of equal # length than the length of its replacement. If that is not the case either # :variable:`CPACK_RPM_BUILD_SOURCE_DIRS_PREFIX` variable has to be set to # a shorter path or source directories must be placed on a longer path. # +# .. variable:: CPACK_RPM_DEBUGINFO_EXCLUDE_DIRS +# +# Directories containing sources that should be excluded from debuginfo packages. +# +# * Mandatory : NO +# * Default : "/usr /usr/src /usr/src/debug" +# +# Listed paths are owned by other RPM packages and should therefore not be +# deleted on debuginfo package uninstallation. +# +# .. variable:: CPACK_RPM_DEBUGINFO_EXCLUDE_DIRS_ADDITION +# +# Paths that should be appended to :variable:`CPACK_RPM_DEBUGINFO_EXCLUDE_DIRS` +# for exclusion. +# +# * Mandatory : NO +# * Default : - +# # Packaging of sources (SRPM) # ^^^ # --- Summary of changes: Modules/CPackRPM.cmake | 24 +--- 1 file changed, 21 insertions(+), 3 deletions(-) hooks/post-receive -- CMake ___ Cmake-commits mailing list Cmake-commits@cmake.org http://public.kitware.com/mailman/listinfo/cmake-commits
[Cmake-commits] CMake branch, next, updated. v3.6.2-2384-g11d9a18
This is an automated email from the git hooks/post-receive script. It was generated because a ref change was pushed to the repository containing the project "CMake". The branch, next has been updated via 11d9a18decaffe6cd8941f7e578c54b0b77c579f (commit) via fea1abfaa20f9c290c9f695a461bc0be5ce1ada3 (commit) via 9c109672631853c5393b68de5febd3a59ee57760 (commit) from 513509a2e233824225ce57a6487c26c2e28847fb (commit) Those revisions listed above that are new to this repository have not appeared on any other notification email; so we list those revisions in full, below. - Log - https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=11d9a18decaffe6cd8941f7e578c54b0b77c579f commit 11d9a18decaffe6cd8941f7e578c54b0b77c579f Merge: 513509a fea1abf Author: Domen Vrankar AuthorDate: Thu Sep 22 13:25:27 2016 -0400 Commit: CMake Topic Stage CommitDate: Thu Sep 22 13:25:27 2016 -0400 Merge topic 'cpack-rpm-debuginfo-sources' into next fea1abfa CPack/RPM debuginfo packaging documentation 9c109672 CPack/RPM debuginfo directories to sources https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=fea1abfaa20f9c290c9f695a461bc0be5ce1ada3 commit fea1abfaa20f9c290c9f695a461bc0be5ce1ada3 Author: Domen Vrankar AuthorDate: Thu Sep 22 19:24:25 2016 +0200 Commit: Domen Vrankar CommitDate: Thu Sep 22 19:24:25 2016 +0200 CPack/RPM debuginfo packaging documentation diff --git a/Modules/CPackRPM.cmake b/Modules/CPackRPM.cmake index 95904f7..4ae0382 100644 --- a/Modules/CPackRPM.cmake +++ b/Modules/CPackRPM.cmake @@ -60,14 +60,6 @@ # * Mandatory : YES # * Default : :variable:`CPACK_PACKAGE_DESCRIPTION_SUMMARY` # -# .. variable:: CPACK_RPM_DEBUGINFO_PACKAGE -# CPACK_RPM__DEBUGINFO_PACKAGE -# -# Option to additionally generate debuginfo RPM package(s). -# -# * Mandatory : NO -# * Default : OFF -# # .. variable:: CPACK_RPM_PACKAGE_NAME # CPACK_RPM__PACKAGE_NAME # @@ -707,6 +699,76 @@ # package installation may cause initial symbolic link to point to an # invalid location. # +# Packaging of debug information +# ^^ +# +# Debuginfo packages contain debug symbols and sources for debugging packaged +# binaries. +# +# .. note:: +# +# Currently multiple debuginfo packages are generated if component based +# packaging is used - one debuginfo package per component. This duplicates +# sources if multiple binaries are using them. This is a side effect of +# how CPackRPM currently generates component packages and will be addressed +# in later versions of the generator. +# +# Debuginfo RPM packaging has it's own set of variables: +# +# .. variable:: CPACK_RPM_DEBUGINFO_PACKAGE +# CPACK_RPM__DEBUGINFO_PACKAGE +# +# Enable generation of debuginfo RPM package(s). +# +# * Mandatory : NO +# * Default : OFF +# +# .. note:: +# +# Binaries must contain debug symbols before packaging so use either ``Debug`` +# or ``RelWithDebInfo`` for :variable:`CMAKE_BUILD_TYPE` variable value. +# +# .. note:: +# +# Packages generated from packages without binary files, with binary files but +# without execute permissions or without debug symbols will be empty. +# +# .. variable:: CPACK_BUILD_SOURCE_DIRS +# +# Provides locations of root directories of source files from which binaries +# were built. +# +# * Mandatory : YES if :variable:`CPACK_RPM_DEBUGINFO_PACKAGE` is set +# * Default : - +# +# .. note:: +# +# For CMake project :variable:`CPACK_BUILD_SOURCE_DIRS` is set by default to +# point to :variable:`CMAKE_SOURCE_DIR` and :variable:`CMAKE_BINARY_DIR` paths. +# +# .. note:: +# +# Sources with path prefixes that do not fall under any location provided with +# :variable:`CPACK_BUILD_SOURCE_DIRS` will not be present in debuginfo package. +# +# .. variable:: CPACK_RPM_BUILD_SOURCE_DIRS_PREFIX +# +# Prefix of location where sources will be placed during package installation. +# +# * Mandatory : YES if :variable:`CPACK_RPM_DEBUGINFO_PACKAGE` is set +# * Default : "/usr/src/debug/${CPACK_PACKAGE_FILE_NAME}" +# +# .. note:: +# +# Each source path prefix is additionaly suffixed by ``src_${index_}`` where +# index_ is index of the path used from :variable:`CPACK_BUILD_SOURCE_DIRS` +# variable. This produces ``${CPACK_RPM_BUILD_SOURCE_DIRS_PREFIX}/src_${index_}`` +# replacement path. +# Limitation is that replaced path part must be shorter or of equal +# length than the length of its replacement. If that is not the case either +# :variable:`CPACK_RPM_BUILD_SOURCE_DIRS_PREFIX` variable has to be set to +# a shorter path or source directories must be placed on a longer path. +# # Packaging of sources (SRPM) # ^^^ # https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=9c109672631853c5393b68de5febd3a59ee57760 commit 9c109672631853c5393b68de5febd3a59ee57760 Author: Domen Vrankar AuthorDate: Thu
[Cmake-commits] CMake branch, next, updated. v3.6.2-2381-g513509a
This is an automated email from the git hooks/post-receive script. It was generated because a ref change was pushed to the repository containing the project "CMake". The branch, next has been updated via 513509a2e233824225ce57a6487c26c2e28847fb (commit) via c7addcd588a34eca30e97e7465833a5cf6642376 (commit) from d5a8aafd0b82170d54353dca0c17a5d3027b88e7 (commit) Those revisions listed above that are new to this repository have not appeared on any other notification email; so we list those revisions in full, below. - Log - https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=513509a2e233824225ce57a6487c26c2e28847fb commit 513509a2e233824225ce57a6487c26c2e28847fb Merge: d5a8aaf c7addcd Author: Brad King AuthorDate: Thu Sep 22 11:56:44 2016 -0400 Commit: CMake Topic Stage CommitDate: Thu Sep 22 11:56:44 2016 -0400 Merge topic 'ninja-fortran' into next c7addcd5 Ninja: fix bootstrap build https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=c7addcd588a34eca30e97e7465833a5cf6642376 commit c7addcd588a34eca30e97e7465833a5cf6642376 Author: Brad King AuthorDate: Thu Sep 22 11:56:38 2016 -0400 Commit: Brad King CommitDate: Thu Sep 22 11:56:38 2016 -0400 Ninja: fix bootstrap build diff --git a/Source/cmcmd.cxx b/Source/cmcmd.cxx index 782e1dd..2b4a830 100644 --- a/Source/cmcmd.cxx +++ b/Source/cmcmd.cxx @@ -787,6 +787,7 @@ int cmcmd::ExecuteCMakeCommand(std::vector& args) return cmcmd::ExecuteLinkScript(args); } +#ifdef CMAKE_BUILD_WITH_CMAKE // Internal CMake ninja dependency scanning support. else if (args[1] == "cmake_ninja_depends") { return cmcmd_cmake_ninja_depends(args.begin() + 2, args.end()); @@ -796,6 +797,7 @@ int cmcmd::ExecuteCMakeCommand(std::vector& args) else if (args[1] == "cmake_ninja_dyndep") { return cmcmd_cmake_ninja_dyndep(args.begin() + 2, args.end()); } +#endif // Internal CMake unimplemented feature notification. else if (args[1] == "cmake_unimplemented_variable") { --- Summary of changes: Source/cmcmd.cxx |2 ++ 1 file changed, 2 insertions(+) hooks/post-receive -- CMake ___ Cmake-commits mailing list Cmake-commits@cmake.org http://public.kitware.com/mailman/listinfo/cmake-commits
[Cmake-commits] CMake branch, next, updated. v3.6.2-2379-gd5a8aaf
This is an automated email from the git hooks/post-receive script. It was generated because a ref change was pushed to the repository containing the project "CMake". The branch, next has been updated via d5a8aafd0b82170d54353dca0c17a5d3027b88e7 (commit) via 1adf3f2e5b00272d55fee15c7540b3e2532cff53 (commit) via 748a9d781c57464e9916ec83a8c44b6f1693c9e9 (commit) via 1232e641a96fcfaf007da6a5990d8a2f0f0e4d30 (commit) via e24c561adf0377a62c284868aeb385828bfd7cdf (commit) via 33dcda0ef0bf4046c01ef53324d320c5166f6f6e (commit) via 29a323fdab56e4bdc13f44fc8695c6de456d9ec1 (commit) via 7801a00c680f57811b7659a9e32cd54a6a591fba (commit) via ee12245acbc487a6a54717b80baaf8a4b5c0 (commit) via cf461cac04b4a51fed7972987eaefb813c9edb8a (commit) via e098b19c810ba1fb0b38f0fcfa9b71033da227bf (commit) from 30236d7e4ec1d23d2d668f698fa643414ec1b3a1 (commit) Those revisions listed above that are new to this repository have not appeared on any other notification email; so we list those revisions in full, below. - Log - https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=d5a8aafd0b82170d54353dca0c17a5d3027b88e7 commit d5a8aafd0b82170d54353dca0c17a5d3027b88e7 Merge: 30236d7 1adf3f2 Author: Brad King AuthorDate: Thu Sep 22 11:41:55 2016 -0400 Commit: CMake Topic Stage CommitDate: Thu Sep 22 11:41:55 2016 -0400 Merge topic 'ninja-fortran' into next 1adf3f2e Help: Document Ninja generator conditional Fortran support 748a9d78 Ninja: Add dyndep rules for Fortran module dependencies 1232e641 Ninja: Add explicit preprocessing step for Fortran e24c561a Ninja: Conditionally allow Fortran based on ninja 'dyndep' support 33dcda0e Ninja: Add internal tool to produce a ninja dyndep file for Fortran 29a323fd Ninja: Add internal tool to scan Fortran code for module dependencies 7801a00c Ninja: Add comment with Fortran dependency design documentation ee12245a Ninja: Add API to check for dyndep support cf461cac Ninja: Refactor ninja feature detection e098b19c Ninja: Refactor Fortran rejection logic https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=1adf3f2e5b00272d55fee15c7540b3e2532cff53 commit 1adf3f2e5b00272d55fee15c7540b3e2532cff53 Author: Brad King AuthorDate: Thu Sep 22 10:56:56 2016 -0400 Commit: Brad King CommitDate: Thu Sep 22 11:34:14 2016 -0400 Help: Document Ninja generator conditional Fortran support Closes: #14215 diff --git a/Help/generator/Ninja.rst b/Help/generator/Ninja.rst index ef0e28b..3bbd9dc 100644 --- a/Help/generator/Ninja.rst +++ b/Help/generator/Ninja.rst @@ -21,3 +21,13 @@ are generated: ``sub/dir/package`` Runs the package step in the subdirectory, if any. + +Fortran Support +^^^ + +The ``Ninja`` generator conditionally supports Fortran when the ``ninja`` +tool has the required features. As of this version of CMake the needed +features have not been integrated into upstream Ninja. Kitware maintains +a branch of Ninja with the required features on `github.com/Kitware/ninja`_. + +.. _`github.com/Kitware/ninja`: https://github.com/Kitware/ninja/tree/features-for-fortran#readme diff --git a/Help/release/dev/ninja-fortran.rst b/Help/release/dev/ninja-fortran.rst new file mode 100644 index 000..612b1ff --- /dev/null +++ b/Help/release/dev/ninja-fortran.rst @@ -0,0 +1,6 @@ +ninja-fortran +- + +* The :generator:`Ninja` generator learned to conditionally support + Fortran when using a ``ninja`` tool that has the necessary features. + See generator documentation for details. https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=748a9d781c57464e9916ec83a8c44b6f1693c9e9 commit 748a9d781c57464e9916ec83a8c44b6f1693c9e9 Author: Brad King AuthorDate: Thu Sep 22 10:34:45 2016 -0400 Commit: Brad King CommitDate: Thu Sep 22 11:34:05 2016 -0400 Ninja: Add dyndep rules for Fortran module dependencies Teach the Ninja generator to add dyndep rules and bindings as described in the design comment in `Source/cmGlobalNinjaGenerator.cxx`. diff --git a/Source/cmNinjaTargetGenerator.cxx b/Source/cmNinjaTargetGenerator.cxx index 76bae6b..b418ce3 100644 --- a/Source/cmNinjaTargetGenerator.cxx +++ b/Source/cmNinjaTargetGenerator.cxx @@ -29,6 +29,8 @@ #include "cmSystemTools.h" #include "cmake.h" +#include "cm_jsoncpp_writer.h" + #include #include #include @@ -106,6 +108,18 @@ bool cmNinjaTargetGenerator::NeedExplicitPreprocessing( return lang == "Fortran"; } +std::string cmNinjaTargetGenerator::LanguageDyndepRule( + const std::string& lang) const +{ + return lang + "_DYNDEP__" + +cmGlobalNinjaGenerator::EncodeRuleName(this->GeneratorTarget->GetName()); +} + +bool cmNinjaTargetGenerator::NeedDyndep(std::string const& lang) const +{ + return lang == "Fortran"; +} + std::string cmNinjaTargetGenerator::OrderDependsTar
[Cmake-commits] CMake branch, next, updated. v3.6.2-2364-g2195bcc
This is an automated email from the git hooks/post-receive script. It was generated because a ref change was pushed to the repository containing the project "CMake". The branch, next has been updated via 2195bcc4a615dfc1a6af67c912a8e924abc95b32 (commit) via e22d30e25a264c309bd819edde3eacb1184da800 (commit) via cc576c2c7f3272ec5370dc3cb45838c20d1837f9 (commit) via 277ffa2881d4073a660490f959cb58ad0dcb3f82 (commit) from 1304fcaa55baae94a675855d5df4c6551ec12cd3 (commit) Those revisions listed above that are new to this repository have not appeared on any other notification email; so we list those revisions in full, below. - Log - https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=2195bcc4a615dfc1a6af67c912a8e924abc95b32 commit 2195bcc4a615dfc1a6af67c912a8e924abc95b32 Merge: 1304fca e22d30e Author: Brad King AuthorDate: Thu Sep 22 11:16:09 2016 -0400 Commit: CMake Topic Stage CommitDate: Thu Sep 22 11:16:09 2016 -0400 Merge topic 'cmake-server-signals' into next e22d30e2 server-mode: Allow for sending signals cc576c2c server-mode: Pass server into cmServerProtocol 277ffa28 server-mode: Move constants for server mode into its own file https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=e22d30e25a264c309bd819edde3eacb1184da800 commit e22d30e25a264c309bd819edde3eacb1184da800 Author: Tobias Hunger AuthorDate: Fri Sep 9 10:01:45 2016 +0200 Commit: Tobias Hunger CommitDate: Thu Sep 22 16:30:03 2016 +0200 server-mode: Allow for sending signals Enable the server to send signals. diff --git a/Help/manual/cmake-server.7.rst b/Help/manual/cmake-server.7.rst index 00ffcd1..61d6896 100644 --- a/Help/manual/cmake-server.7.rst +++ b/Help/manual/cmake-server.7.rst @@ -186,6 +186,14 @@ Example:: ]== CMake Server ==] +Type "signal" +^ + +The server can send signals when it detects changes in the system state. Signals +are of type "signal", have an empty "cookie" and "inReplyTo" field and always +have a "name" set to show which signal was sent. + + Specific Message Types -- diff --git a/Source/cmServer.cxx b/Source/cmServer.cxx index f7e5e3b..d5dac4e 100644 --- a/Source/cmServer.cxx +++ b/Source/cmServer.cxx @@ -343,6 +343,19 @@ void cmServer::WriteParseError(const std::string& message) const this->WriteJsonObject(obj, nullptr); } +void cmServer::WriteSignal(const std::string& name, + const Json::Value& data) const +{ + assert(data.isObject()); + Json::Value obj = data; + obj[kTYPE_KEY] = kSIGNAL_TYPE; + obj[kREPLY_TO_KEY] = ""; + obj[kCOOKIE_KEY] = ""; + obj[kNAME_KEY] = name; + + WriteJsonObject(obj, nullptr); +} + void cmServer::WriteResponse(const cmServerResponse& response, const DebugInfo* debug) const { diff --git a/Source/cmServer.h b/Source/cmServer.h index 433b2ac..849e5c5 100644 --- a/Source/cmServer.h +++ b/Source/cmServer.h @@ -63,6 +63,7 @@ private: void WriteResponse(const cmServerResponse& response, const DebugInfo* debug) const; void WriteParseError(const std::string& message) const; + void WriteSignal(const std::string& name, const Json::Value& obj) const; void WriteJsonObject(Json::Value const& jsonValue, const DebugInfo* debug) const; diff --git a/Source/cmServerDictionary.h b/Source/cmServerDictionary.h index 379c94d..156ade2 100644 --- a/Source/cmServerDictionary.h +++ b/Source/cmServerDictionary.h @@ -21,6 +21,7 @@ static const std::string kHANDSHAKE_TYPE = "handshake"; static const std::string kMESSAGE_TYPE = "message"; static const std::string kPROGRESS_TYPE = "progress"; static const std::string kREPLY_TYPE = "reply"; +static const std::string kSIGNAL_TYPE = "signal"; static const std::string kBUILD_DIRECTORY_KEY = "buildDirectory"; static const std::string kCOOKIE_KEY = "cookie"; @@ -31,6 +32,7 @@ static const std::string kIS_EXPERIMENTAL_KEY = "isExperimental"; static const std::string kMAJOR_KEY = "major"; static const std::string kMESSAGE_KEY = "message"; static const std::string kMINOR_KEY = "minor"; +static const std::string kNAME_KEY = "name"; static const std::string kPROGRESS_CURRENT_KEY = "progressCurrent"; static const std::string kPROGRESS_MAXIMUM_KEY = "progressMaximum"; static const std::string kPROGRESS_MESSAGE_KEY = "progressMessage"; diff --git a/Source/cmServerProtocol.cxx b/Source/cmServerProtocol.cxx index 16a6374..e42b18a 100644 --- a/Source/cmServerProtocol.cxx +++ b/Source/cmServerProtocol.cxx @@ -122,6 +122,13 @@ bool cmServerProtocol::Activate(cmServer* server, return result; } +void cmServerProtocol::SendSignal(const std::string& name, + const Json::Value& data) const +{ + if (this->m_Server) +this->m_Server->WriteSignal(name, data); +} + cmake* cmServerProtocol::CMakeInstance() const {
[Cmake-commits] CMake branch, next, updated. v3.6.2-2368-g30236d7
This is an automated email from the git hooks/post-receive script. It was generated because a ref change was pushed to the repository containing the project "CMake". The branch, next has been updated via 30236d7e4ec1d23d2d668f698fa643414ec1b3a1 (commit) via 0d8c5ba42a075184f4383c62bd91e67fd5c4ccf0 (commit) from d805f1e55d5ea409b307aa3fa1af5e05430768b8 (commit) Those revisions listed above that are new to this repository have not appeared on any other notification email; so we list those revisions in full, below. - Log - https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=30236d7e4ec1d23d2d668f698fa643414ec1b3a1 commit 30236d7e4ec1d23d2d668f698fa643414ec1b3a1 Merge: d805f1e 0d8c5ba Author: Brad King AuthorDate: Thu Sep 22 11:39:28 2016 -0400 Commit: CMake Topic Stage CommitDate: Thu Sep 22 11:39:28 2016 -0400 Merge topic 'FindOpenSSL-path-order' into next 0d8c5ba4 FindOpenSSL: Search in more-specific directories before less-specific https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=0d8c5ba42a075184f4383c62bd91e67fd5c4ccf0 commit 0d8c5ba42a075184f4383c62bd91e67fd5c4ccf0 Author: Brad King AuthorDate: Thu Sep 22 07:55:27 2016 -0400 Commit: Brad King CommitDate: Thu Sep 22 07:55:27 2016 -0400 FindOpenSSL: Search in more-specific directories before less-specific Since commit v3.6.0-rc1~182^2 (FindOpenSSL: Prefer libs early in search path regardless of name, 2016-04-04) we use the `NAMES_PER_DIR` option to `find_library` calls to consider all names in each directory before moving on to the next directory. Fix our library search directory ordering to place more-specific (e.g. VC/) directories before the general directories. Otherwise they may never be considered. Closes: #16320 diff --git a/Modules/FindOpenSSL.cmake b/Modules/FindOpenSSL.cmake index 7ddd783..034b0e6 100644 --- a/Modules/FindOpenSSL.cmake +++ b/Modules/FindOpenSSL.cmake @@ -142,15 +142,15 @@ if(WIN32 AND NOT CYGWIN) if(OPENSSL_USE_STATIC_LIBS) set(_OPENSSL_PATH_SUFFIXES -"lib" -"VC/static" "lib/VC/static" +"VC/static" +"lib" ) else() set(_OPENSSL_PATH_SUFFIXES -"lib" -"VC" "lib/VC" +"VC" +"lib" ) endif () @@ -227,8 +227,8 @@ if(WIN32 AND NOT CYGWIN) NAMES_PER_DIR ${_OPENSSL_ROOT_HINTS_AND_PATHS} PATH_SUFFIXES -"lib" "lib/MinGW" +"lib" ) find_library(SSL_EAY @@ -237,8 +237,8 @@ if(WIN32 AND NOT CYGWIN) NAMES_PER_DIR ${_OPENSSL_ROOT_HINTS_AND_PATHS} PATH_SUFFIXES -"lib" "lib/MinGW" +"lib" ) mark_as_advanced(SSL_EAY LIB_EAY) --- Summary of changes: Modules/FindOpenSSL.cmake | 12 ++-- 1 file changed, 6 insertions(+), 6 deletions(-) hooks/post-receive -- CMake ___ Cmake-commits mailing list Cmake-commits@cmake.org http://public.kitware.com/mailman/listinfo/cmake-commits
[Cmake-commits] CMake branch, next, updated. v3.6.2-2366-gd805f1e
This is an automated email from the git hooks/post-receive script. It was generated because a ref change was pushed to the repository containing the project "CMake". The branch, next has been updated via d805f1e55d5ea409b307aa3fa1af5e05430768b8 (commit) via 764775c4dd7b97e753d566d363c7ce9968343b5b (commit) from 2195bcc4a615dfc1a6af67c912a8e924abc95b32 (commit) Those revisions listed above that are new to this repository have not appeared on any other notification email; so we list those revisions in full, below. - Log - https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=d805f1e55d5ea409b307aa3fa1af5e05430768b8 commit d805f1e55d5ea409b307aa3fa1af5e05430768b8 Merge: 2195bcc 764775c Author: Brad King AuthorDate: Thu Sep 22 11:37:23 2016 -0400 Commit: CMake Topic Stage CommitDate: Thu Sep 22 11:37:23 2016 -0400 Merge topic 'fix-xcode-attribute-LOCATIONs' into next 764775c4 Fix XCODE_ATTRIBUTE_..._LOCATION target property lookup https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=764775c4dd7b97e753d566d363c7ce9968343b5b commit 764775c4dd7b97e753d566d363c7ce9968343b5b Author: Brad King AuthorDate: Thu Sep 22 11:03:40 2016 -0400 Commit: Brad King CommitDate: Thu Sep 22 11:29:52 2016 -0400 Fix XCODE_ATTRIBUTE_..._LOCATION target property lookup Refactoring in commit v3.5.0-rc1~272^2~16 (cmGeneratorTarget: Add API for property keys, 2015-10-25) changed the Xcode generator implementation of `XCODE_ATTRIBUTE_...` properties to use the target `GetProperty` method on each `XCODE_ATTRIBUTE_...` property listed by `GetPropertyKeys` instead of looping over the property entries directly. This made the lookup of property names of the form `XCODE_ATTRIBUTE_..._LOCATION` accidentally trigger the computed property logic for the undocumented/legacy `_LOCATION` property. Of course the computed property value is not the same as the value stored in the `XCODE_ATTRIBUTE_..._LOCATION` property. Fix the computed property logic to avoid triggering on `XCODE_ATTRIBUTE_...` attributes. Closes: #16319 diff --git a/Source/cmTarget.cxx b/Source/cmTarget.cxx index 1dad742..eb17561 100644 --- a/Source/cmTarget.cxx +++ b/Source/cmTarget.cxx @@ -1164,7 +1164,8 @@ const char* cmTarget::GetProperty(const std::string& prop, } } // Support "_LOCATION". -else if (cmHasLiteralSuffix(prop, "_LOCATION")) { +else if (cmHasLiteralSuffix(prop, "_LOCATION") && + !cmHasLiteralPrefix(prop, "XCODE_ATTRIBUTE_")) { std::string configName(prop.c_str(), prop.size() - 9); if (configName != "IMPORTED") { if (!this->HandleLocationPropertyPolicy(context)) { diff --git a/Tests/RunCMake/XcodeProject/RunCMakeTest.cmake b/Tests/RunCMake/XcodeProject/RunCMakeTest.cmake index 0684d57..d43c80d 100644 --- a/Tests/RunCMake/XcodeProject/RunCMakeTest.cmake +++ b/Tests/RunCMake/XcodeProject/RunCMakeTest.cmake @@ -1,6 +1,7 @@ include(RunCMake) run_cmake(XcodeFileType) +run_cmake(XcodeAttributeLocation) run_cmake(XcodeAttributeGenex) run_cmake(XcodeAttributeGenexError) run_cmake(XcodeObjectNeedsEscape) diff --git a/Tests/RunCMake/XcodeProject/XcodeAttributeLocation-check.cmake b/Tests/RunCMake/XcodeProject/XcodeAttributeLocation-check.cmake new file mode 100644 index 000..2f55131 --- /dev/null +++ b/Tests/RunCMake/XcodeProject/XcodeAttributeLocation-check.cmake @@ -0,0 +1,7 @@ +set(expect "DEPLOYMENT_LOCATION = YES") +file(STRINGS ${RunCMake_TEST_BINARY_DIR}/XcodeAttributeLocation.xcodeproj/project.pbxproj actual + REGEX "DEPLOYMENT_LOCATION = .*;" LIMIT_COUNT 1) +if(NOT "${actual}" MATCHES "${expect}") + message(SEND_ERROR "The actual project contains the line:\n ${actual}\n" +"which does not match expected regex:\n ${expect}\n") +endif() diff --git a/Tests/RunCMake/XcodeProject/XcodeAttributeLocation.cmake b/Tests/RunCMake/XcodeProject/XcodeAttributeLocation.cmake new file mode 100644 index 000..5ab5528 --- /dev/null +++ b/Tests/RunCMake/XcodeProject/XcodeAttributeLocation.cmake @@ -0,0 +1,3 @@ +enable_language(C) +add_executable(some main.c) +set_property(TARGET some PROPERTY XCODE_ATTRIBUTE_DEPLOYMENT_LOCATION YES) --- Summary of changes: Source/cmTarget.cxx |3 ++- Tests/RunCMake/XcodeProject/RunCMakeTest.cmake |1 + ...eedsEscape-check.cmake => XcodeAttributeLocation-check.cmake} |6 +++--- Tests/RunCMake/XcodeProject/XcodeAttributeLocation.cmake |3 +++ 4 files changed, 9 insertions(+), 4 deletions(-) copy Tests/RunCMake/XcodeProject/{XcodeObjectNeedsEscape-check.cmake => XcodeAttributeLocation-check.cmake} (54%) create mode 100644 Tests/RunCMake/XcodeProject/XcodeAttributeLocation.cmake hooks/post-receive -- CMake __
[Cmake-commits] CMake branch, master, updated. v3.6.2-1122-g3e14e59
This is an automated email from the git hooks/post-receive script. It was generated because a ref change was pushed to the repository containing the project "CMake". The branch, master has been updated via 3e14e594b41fe66d0366eadd5691c9a53e7e13c9 (commit) via 1d601c6cb978a3b6b6143fdf64e284fb3a098d1e (commit) from 555ef1e235e62236870b27adb1b6c384313bd792 (commit) Those revisions listed above that are new to this repository have not appeared on any other notification email; so we list those revisions in full, below. - Log - https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=3e14e594b41fe66d0366eadd5691c9a53e7e13c9 commit 3e14e594b41fe66d0366eadd5691c9a53e7e13c9 Merge: 555ef1e 1d601c6 Author: Brad King AuthorDate: Thu Sep 22 08:09:52 2016 -0400 Commit: CMake Topic Stage CommitDate: Thu Sep 22 08:09:52 2016 -0400 Merge topic 'cmake-server-pipes' 1d601c6c server-mode: Introduce cmServerConnection --- Summary of changes: Help/manual/cmake-server.7.rst | 13 +- Source/CMakeLists.txt |1 + Source/cmServer.cxx| 145 ++--- Source/cmServer.h | 15 +- Source/cmServerConnection.cxx | 307 Source/cmServerConnection.h| 97 +++ Source/cmcmd.cxx | 42 ++- .../RunCMake/CommandLine/E_server-pipe-result.txt |1 + .../RunCMake/CommandLine/E_server-pipe-stderr.txt |1 + Tests/RunCMake/CommandLine/RunCMakeTest.cmake |1 + Tests/Server/cmakelib.py |2 +- 11 files changed, 476 insertions(+), 149 deletions(-) create mode 100644 Source/cmServerConnection.cxx create mode 100644 Source/cmServerConnection.h create mode 100644 Tests/RunCMake/CommandLine/E_server-pipe-result.txt create mode 100644 Tests/RunCMake/CommandLine/E_server-pipe-stderr.txt hooks/post-receive -- CMake ___ Cmake-commits mailing list Cmake-commits@cmake.org http://public.kitware.com/mailman/listinfo/cmake-commits
[Cmake-commits] CMake branch, next, updated. v3.6.2-2360-g1304fca
This is an automated email from the git hooks/post-receive script. It was generated because a ref change was pushed to the repository containing the project "CMake". The branch, next has been updated via 1304fcaa55baae94a675855d5df4c6551ec12cd3 (commit) via f4475eb92beade22fca16f21b40df19b48c6559b (commit) via 3e14e594b41fe66d0366eadd5691c9a53e7e13c9 (commit) from ea85b4e1c149a9b3b5fa446833d61ce16b13fa62 (commit) Those revisions listed above that are new to this repository have not appeared on any other notification email; so we list those revisions in full, below. - Log - https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=1304fcaa55baae94a675855d5df4c6551ec12cd3 commit 1304fcaa55baae94a675855d5df4c6551ec12cd3 Merge: ea85b4e f4475eb Author: Brad King AuthorDate: Thu Sep 22 08:10:08 2016 -0400 Commit: Brad King CommitDate: Thu Sep 22 08:10:08 2016 -0400 Merge branch 'master' into next --- Summary of changes: hooks/post-receive -- CMake ___ Cmake-commits mailing list Cmake-commits@cmake.org http://public.kitware.com/mailman/listinfo/cmake-commits
[Cmake-commits] CMake branch, master, updated. v3.6.2-1124-gf4475eb
This is an automated email from the git hooks/post-receive script. It was generated because a ref change was pushed to the repository containing the project "CMake". The branch, master has been updated via f4475eb92beade22fca16f21b40df19b48c6559b (commit) via 73f47c9e46d42513cd7eeb08e27c4d1a424949ad (commit) from 3e14e594b41fe66d0366eadd5691c9a53e7e13c9 (commit) Those revisions listed above that are new to this repository have not appeared on any other notification email; so we list those revisions in full, below. - Log - https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=f4475eb92beade22fca16f21b40df19b48c6559b commit f4475eb92beade22fca16f21b40df19b48c6559b Merge: 3e14e59 73f47c9 Author: Brad King AuthorDate: Thu Sep 22 08:09:55 2016 -0400 Commit: CMake Topic Stage CommitDate: Thu Sep 22 08:09:55 2016 -0400 Merge topic 'test-fixtures' 73f47c9e CTest: Add support for test fixtures --- Summary of changes: Help/manual/cmake-properties.7.rst |3 + Help/prop_test/DEPENDS.rst |6 +- Help/prop_test/FIXTURES_CLEANUP.rst| 46 + Help/prop_test/FIXTURES_REQUIRED.rst | 94 ++ Help/prop_test/FIXTURES_SETUP.rst | 47 + Help/prop_test/RESOURCE_LOCK.rst |3 + Help/release/dev/test-fixtures.rst |8 + Source/CTest/cmCTestMultiProcessHandler.cxx| 10 ++ Source/CTest/cmCTestRunTest.cxx| 23 ++- Source/CTest/cmCTestRunTest.h |6 + Source/CTest/cmCTestTestHandler.cxx| 187 Source/CTest/cmCTestTestHandler.h |9 + Tests/RunCMake/CMakeLists.txt |1 + Tests/RunCMake/ctest_fixtures/CMakeLists.txt.in| 81 + Tests/RunCMake/ctest_fixtures/CTestConfig.cmake.in |1 + Tests/RunCMake/ctest_fixtures/RunCMakeTest.cmake | 36 .../cyclicCleanup-result.txt} |0 .../ctest_fixtures/cyclicCleanup-stderr.txt|3 + .../ctest_fixtures/cyclicCleanup-stdout.txt|1 + .../cyclicSetup-result.txt}|0 .../RunCMake/ctest_fixtures/cyclicSetup-stderr.txt |3 + .../RunCMake/ctest_fixtures/cyclicSetup-stdout.txt |1 + Tests/RunCMake/ctest_fixtures/one-stdout.txt | 13 ++ Tests/RunCMake/ctest_fixtures/setupFoo-stdout.txt |7 + Tests/RunCMake/ctest_fixtures/test.cmake.in| 16 ++ Tests/RunCMake/ctest_fixtures/three-stdout.txt | 17 ++ Tests/RunCMake/ctest_fixtures/two-stdout.txt | 11 ++ Tests/RunCMake/ctest_fixtures/wontRun-stdout.txt | 14 ++ 28 files changed, 644 insertions(+), 3 deletions(-) create mode 100644 Help/prop_test/FIXTURES_CLEANUP.rst create mode 100644 Help/prop_test/FIXTURES_REQUIRED.rst create mode 100644 Help/prop_test/FIXTURES_SETUP.rst create mode 100644 Help/release/dev/test-fixtures.rst create mode 100644 Tests/RunCMake/ctest_fixtures/CMakeLists.txt.in create mode 100644 Tests/RunCMake/ctest_fixtures/CTestConfig.cmake.in create mode 100644 Tests/RunCMake/ctest_fixtures/RunCMakeTest.cmake copy Tests/RunCMake/{ctest_build/BuildFailure-result.txt => ctest_fixtures/cyclicCleanup-result.txt} (100%) create mode 100644 Tests/RunCMake/ctest_fixtures/cyclicCleanup-stderr.txt create mode 100644 Tests/RunCMake/ctest_fixtures/cyclicCleanup-stdout.txt copy Tests/RunCMake/{ctest_build/BuildFailure-result.txt => ctest_fixtures/cyclicSetup-result.txt} (100%) create mode 100644 Tests/RunCMake/ctest_fixtures/cyclicSetup-stderr.txt create mode 100644 Tests/RunCMake/ctest_fixtures/cyclicSetup-stdout.txt create mode 100644 Tests/RunCMake/ctest_fixtures/one-stdout.txt create mode 100644 Tests/RunCMake/ctest_fixtures/setupFoo-stdout.txt create mode 100644 Tests/RunCMake/ctest_fixtures/test.cmake.in create mode 100644 Tests/RunCMake/ctest_fixtures/three-stdout.txt create mode 100644 Tests/RunCMake/ctest_fixtures/two-stdout.txt create mode 100644 Tests/RunCMake/ctest_fixtures/wontRun-stdout.txt hooks/post-receive -- CMake ___ Cmake-commits mailing list Cmake-commits@cmake.org http://public.kitware.com/mailman/listinfo/cmake-commits
[Cmake-commits] CMake branch, next, updated. v3.6.2-2357-gea85b4e
This is an automated email from the git hooks/post-receive script. It was generated because a ref change was pushed to the repository containing the project "CMake". The branch, next has been updated via ea85b4e1c149a9b3b5fa446833d61ce16b13fa62 (commit) via 1d601c6cb978a3b6b6143fdf64e284fb3a098d1e (commit) from b0e23de782c19caefdfbbb96a1582eed5817d8cc (commit) Those revisions listed above that are new to this repository have not appeared on any other notification email; so we list those revisions in full, below. - Log - https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=ea85b4e1c149a9b3b5fa446833d61ce16b13fa62 commit ea85b4e1c149a9b3b5fa446833d61ce16b13fa62 Merge: b0e23de 1d601c6 Author: Brad King AuthorDate: Thu Sep 22 08:07:12 2016 -0400 Commit: CMake Topic Stage CommitDate: Thu Sep 22 08:07:12 2016 -0400 Merge topic 'cmake-server-pipes' into next 1d601c6c server-mode: Introduce cmServerConnection https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=1d601c6cb978a3b6b6143fdf64e284fb3a098d1e commit 1d601c6cb978a3b6b6143fdf64e284fb3a098d1e Author: Tobias Hunger AuthorDate: Fri Sep 9 10:01:44 2016 +0200 Commit: Brad King CommitDate: Thu Sep 22 08:06:38 2016 -0400 server-mode: Introduce cmServerConnection Use it to split pipe and stdin/out handling out of cmServer itself. The server will shut down when it looses its connection to the client. This has the nice property that a crashing client will cause the server to terminate as the OS will close the connection on behave of the client. diff --git a/Help/manual/cmake-server.7.rst b/Help/manual/cmake-server.7.rst index 75aa0ee..00ffcd1 100644 --- a/Help/manual/cmake-server.7.rst +++ b/Help/manual/cmake-server.7.rst @@ -49,12 +49,16 @@ Operation Start :manual:`cmake(1)` in the server command mode, supplying the path to the build directory to process:: - cmake -E server + cmake -E server (--debug|--pipe ) -The server will start up and reply with an hello message on stdout:: +The server will communicate using stdin/stdout (with the ``--debug`` parameter) +or using a named pipe (with the ``--pipe `` parameter). + +When connecting to the server (via named pipe or by starting it in ``--debug`` +mode), the server will reply with a hello message:: [== CMake Server ==[ - {"supportedProtocolVersions":[{"major":0,"minor":1}],"type":"hello"} + {"supportedProtocolVersions":[{"major":1,"minor":0}],"type":"hello"} ]== CMake Server ==] Messages sent to and from the process are wrapped in magic strings:: @@ -65,7 +69,8 @@ Messages sent to and from the process are wrapped in magic strings:: } ]== CMake Server ==] -The server is now ready to accept further requests via stdin. +The server is now ready to accept further requests via the named pipe +or stdin. Debugging diff --git a/Source/CMakeLists.txt b/Source/CMakeLists.txt index a2dead6..5e136e4 100644 --- a/Source/CMakeLists.txt +++ b/Source/CMakeLists.txt @@ -789,6 +789,7 @@ target_link_libraries(cmake CMakeLib) if(CMake_HAVE_SERVER_MODE) add_library(CMakeServerLib cmServer.cxx cmServer.h +cmServerConnection.cxx cmServerConnection.h cmServerProtocol.cxx cmServerProtocol.h ) target_link_libraries(CMakeServerLib CMakeLib) diff --git a/Source/cmServer.cxx b/Source/cmServer.cxx index be001a7..56cd7ba 100644 --- a/Source/cmServer.cxx +++ b/Source/cmServer.cxx @@ -13,6 +13,7 @@ #include "cmServer.h" +#include "cmServerConnection.h" #include "cmServerProtocol.h" #include "cmSystemTools.h" #include "cmVersionMacros.h" @@ -40,57 +41,6 @@ static const std::string kMESSAGE_TYPE = "message"; static const std::string kSTART_MAGIC = "[== CMake Server ==["; static const std::string kEND_MAGIC = "]== CMake Server ==]"; -typedef struct -{ - uv_write_t req; - uv_buf_t buf; -} write_req_t; - -void alloc_buffer(uv_handle_t* handle, size_t suggested_size, uv_buf_t* buf) -{ - (void)handle; - *buf = uv_buf_init(static_cast(malloc(suggested_size)), - static_cast(suggested_size)); -} - -void free_write_req(uv_write_t* req) -{ - write_req_t* wr = reinterpret_cast(req); - free(wr->buf.base); - free(wr); -} - -void on_stdout_write(uv_write_t* req, int status) -{ - (void)status; - auto server = reinterpret_cast(req->data); - free_write_req(req); - server->PopOne(); -} - -void write_data(uv_stream_t* dest, std::string content, uv_write_cb cb) -{ - write_req_t* req = static_cast(malloc(sizeof(write_req_t))); - req->req.data = dest->data; - req->buf = uv_buf_init(static_cast(malloc(content.size())), - static_cast(content.size())); - memcpy(req->buf.base, content.c_str(), content.size()); - uv_write(reinterpret_cast(req), static_cast(dest), - &req->buf, 1, cb); -} - -void read_stdin(uv_stream_t* stream, ssize_t nread, const uv_buf_t* buf) -{ - if (nread > 0) { -