[Cmake-commits] CMake branch, next, updated. v2.8.11.2-3691-gdeaaba2
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 deaaba2b2c2012fec53a7f6ab93e7b985dbd61fa (commit) via 2a0241a90a821fe334ea0942b6eb9d97605d9ed9 (commit) from 1b4d3bf95e2f1e37b3ac223ffab20175f996ebe9 (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 - http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=deaaba2b2c2012fec53a7f6ab93e7b985dbd61fa commit deaaba2b2c2012fec53a7f6ab93e7b985dbd61fa Merge: 1b4d3bf 2a0241a Author: Brad King brad.k...@kitware.com AuthorDate: Tue Aug 6 09:00:53 2013 -0400 Commit: CMake Topic Stage kwro...@kitware.com CommitDate: Tue Aug 6 09:00:53 2013 -0400 Merge topic 'osx-no-command-line-tools' into next 2a0241a OS X: Ask Xcode for compiler only if it is NOTFOUND http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=2a0241a90a821fe334ea0942b6eb9d97605d9ed9 commit 2a0241a90a821fe334ea0942b6eb9d97605d9ed9 Author: Brad King brad.k...@kitware.com AuthorDate: Tue Aug 6 08:56:30 2013 -0400 Commit: Brad King brad.k...@kitware.com CommitDate: Tue Aug 6 08:56:30 2013 -0400 OS X: Ask Xcode for compiler only if it is NOTFOUND If the user explicitly sets CMAKE_LANG_COMPILER to an empty string then honor it instead of asking Xcode for a compiler. diff --git a/Modules/CMakeDetermineCompiler.cmake b/Modules/CMakeDetermineCompiler.cmake index 1763c96..f522c44 100644 --- a/Modules/CMakeDetermineCompiler.cmake +++ b/Modules/CMakeDetermineCompiler.cmake @@ -71,7 +71,7 @@ macro(_cmake_find_compiler lang) unset(_languages) # Look for a make tool provided by Xcode - if(NOT CMAKE_${lang}_COMPILER AND CMAKE_HOST_APPLE) + if(CMAKE_${lang}_COMPILER STREQUAL CMAKE_${lang}_COMPILER-NOTFOUND AND CMAKE_HOST_APPLE) foreach(comp ${CMAKE_${lang}_COMPILER_LIST}) execute_process(COMMAND xcrun --find ${comp} OUTPUT_VARIABLE _xcrun_out OUTPUT_STRIP_TRAILING_WHITESPACE --- Summary of changes: Modules/CMakeDetermineCompiler.cmake |2 +- 1 files changed, 1 insertions(+), 1 deletions(-) hooks/post-receive -- CMake ___ Cmake-commits mailing list Cmake-commits@cmake.org http://public.kitware.com/cgi-bin/mailman/listinfo/cmake-commits
[Cmake-commits] CMake branch, next, updated. v2.8.11.2-3693-g2a18adb
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 2a18adb84108878563871539073d6cc0bb4bfb73 (commit) via 03ab170fe0ad8fa44083dc2e2a6f662be480c9ff (commit) from deaaba2b2c2012fec53a7f6ab93e7b985dbd61fa (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 - http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=2a18adb84108878563871539073d6cc0bb4bfb73 commit 2a18adb84108878563871539073d6cc0bb4bfb73 Merge: deaaba2 03ab170 Author: Brad King brad.k...@kitware.com AuthorDate: Tue Aug 6 09:04:14 2013 -0400 Commit: CMake Topic Stage kwro...@kitware.com CommitDate: Tue Aug 6 09:04:14 2013 -0400 Merge topic 'osx-no-command-line-tools' into next 03ab170 OS X: Enable command-line build without tools in PATH http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=03ab170fe0ad8fa44083dc2e2a6f662be480c9ff commit 03ab170fe0ad8fa44083dc2e2a6f662be480c9ff Author: Brad King brad.k...@kitware.com AuthorDate: Mon Aug 5 13:48:09 2013 -0400 Commit: Brad King brad.k...@kitware.com CommitDate: Tue Aug 6 09:00:18 2013 -0400 OS X: Enable command-line build without tools in PATH Teach modules CMakeDetermineCompiler and CMakeUnixFindMake to ask Xcode where to find the compiler or make tools, using 'xcrun --find', if none is found in the PATH. Teach module Platform/Darwin to add the path to the SDK to CMAKE_SYSTEM_PREFIX_PATH so that find_* command look there. Also add the SDK /usr/include directory to the implicit include list in CMAKE_${lang}_IMPLICIT_INCLUDE_DIRECTORIES to suppress explicit -I options for it. diff --git a/Modules/CMakeDetermineCompiler.cmake b/Modules/CMakeDetermineCompiler.cmake index 2d12c07..f522c44 100644 --- a/Modules/CMakeDetermineCompiler.cmake +++ b/Modules/CMakeDetermineCompiler.cmake @@ -69,4 +69,17 @@ macro(_cmake_find_compiler lang) endif() unset(_${lang}_COMPILER_HINTS) unset(_languages) + + # Look for a make tool provided by Xcode + if(CMAKE_${lang}_COMPILER STREQUAL CMAKE_${lang}_COMPILER-NOTFOUND AND CMAKE_HOST_APPLE) +foreach(comp ${CMAKE_${lang}_COMPILER_LIST}) + execute_process(COMMAND xcrun --find ${comp} +OUTPUT_VARIABLE _xcrun_out OUTPUT_STRIP_TRAILING_WHITESPACE +ERROR_VARIABLE _xcrun_err) + if(_xcrun_out) +set_property(CACHE CMAKE_${lang}_COMPILER PROPERTY VALUE ${_xcrun_out}) +break() + endif() +endforeach() + endif() endmacro() diff --git a/Modules/CMakeUnixFindMake.cmake b/Modules/CMakeUnixFindMake.cmake index c75cf7c..3714926 100644 --- a/Modules/CMakeUnixFindMake.cmake +++ b/Modules/CMakeUnixFindMake.cmake @@ -14,3 +14,13 @@ find_program(CMAKE_MAKE_PROGRAM NAMES gmake make smake) mark_as_advanced(CMAKE_MAKE_PROGRAM) + +# Look for a make tool provided by Xcode +if(NOT CMAKE_MAKE_PROGRAM AND CMAKE_HOST_APPLE) + execute_process(COMMAND xcrun --find make +OUTPUT_VARIABLE _xcrun_out OUTPUT_STRIP_TRAILING_WHITESPACE +ERROR_VARIABLE _xcrun_err) + if(_xcrun_out) +set_property(CACHE CMAKE_MAKE_PROGRAM PROPERTY VALUE ${_xcrun_out}) + endif() +endif() diff --git a/Modules/Platform/Darwin.cmake b/Modules/Platform/Darwin.cmake index 865cc8e..db8c7ef 100644 --- a/Modules/Platform/Darwin.cmake +++ b/Modules/Platform/Darwin.cmake @@ -326,6 +326,12 @@ set(CMAKE_SYSTEM_APPBUNDLE_PATH unset(_apps_paths) include(Platform/UnixPaths) +if(_CMAKE_OSX_SYSROOT_PATH AND EXISTS ${_CMAKE_OSX_SYSROOT_PATH}/usr/include) + list(APPEND CMAKE_SYSTEM_PREFIX_PATH ${_CMAKE_OSX_SYSROOT_PATH}/usr) + foreach(lang C CXX) +list(APPEND CMAKE_${lang}_IMPLICIT_INCLUDE_DIRECTORIES ${_CMAKE_OSX_SYSROOT_PATH}/usr/include) + endforeach() +endif() list(APPEND CMAKE_SYSTEM_PREFIX_PATH /sw# Fink /opt/local # MacPorts --- Summary of changes: hooks/post-receive -- CMake ___ Cmake-commits mailing list Cmake-commits@cmake.org http://public.kitware.com/cgi-bin/mailman/listinfo/cmake-commits
[Cmake-commits] CMake branch, master, updated. v2.8.11.2-694-g87e0e6e
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 87e0e6e497b76f4ab7292cca34bd7c006832723b (commit) via 370bf554151a1b272baf62a0ce9823cf9995116e (commit) from 0174133dfd1f46662bb517677d3bf0a765b11e3e (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 - http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=87e0e6e497b76f4ab7292cca34bd7c006832723b commit 87e0e6e497b76f4ab7292cca34bd7c006832723b Merge: 0174133 370bf55 Author: Brad King brad.k...@kitware.com AuthorDate: Tue Aug 6 09:07:21 2013 -0400 Commit: CMake Topic Stage kwro...@kitware.com CommitDate: Tue Aug 6 09:07:21 2013 -0400 Merge topic 'ALIAS-targets' 370bf55 Add the ALIAS target concept for libraries and executables. --- Summary of changes: Source/cmAddDependenciesCommand.cxx|7 ++ Source/cmAddExecutableCommand.cxx | 72 ++ Source/cmAddExecutableCommand.h| 13 +++ Source/cmAddLibraryCommand.cxx | 80 Source/cmAddLibraryCommand.h | 13 +++ Source/cmExportCommand.cxx |9 ++ Source/cmGeneratorExpressionEvaluator.cxx | 12 +++ Source/cmGetPropertyCommand.cxx| 12 +++ Source/cmGetTargetPropertyCommand.cxx | 25 +-- Source/cmGlobalGenerator.cxx | 26 ++- Source/cmGlobalGenerator.h |7 ++- Source/cmInstallCommand.cxx|9 ++ Source/cmMakefile.cxx | 50 +++- Source/cmMakefile.h|7 +- Source/cmSetPropertyCommand.cxx|5 + Source/cmSetTargetPropertiesCommand.cxx|5 + Source/cmTarget.cxx|6 ++ Source/cmTargetLinkLibrariesCommand.cxx|5 + Source/cmTargetPropCommandBase.cxx |5 + Tests/AliasTarget/CMakeLists.txt | 47 Tests/AliasTarget/bat.cpp | 28 +++ Tests/AliasTarget/commandgenerator.cpp | 15 Tests/AliasTarget/empty.cpp|7 ++ Tests/AliasTarget/object.cpp |5 + Tests/AliasTarget/object.h |4 + Tests/AliasTarget/targetgenerator.cpp | 13 +++ Tests/CMakeLists.txt |1 + Tests/CTestTestDepends/CMakeLists.txt |3 +- Tests/GeneratorExpression/CMakeLists.txt |8 ++ Tests/GeneratorExpression/check-part3.cmake|4 + Tests/GeneratorExpression/empty.cpp|6 +- Tests/RunCMake/CMakeLists.txt |1 + .../{CMP0004 = alias_targets}/CMakeLists.txt |0 Tests/RunCMake/alias_targets/RunCMakeTest.cmake| 20 + .../add_dependencies-result.txt} |0 .../alias_targets/add_dependencies-stderr.txt |5 + .../RunCMake/alias_targets/add_dependencies.cmake |9 ++ .../add_executable-library-result.txt} |0 .../add_executable-library-stderr.txt |5 + .../alias_targets/add_executable-library.cmake |6 ++ .../add_library-executable-result.txt} |0 .../add_library-executable-stderr.txt |5 + .../alias_targets/add_library-executable.cmake |6 ++ .../alias-target-result.txt} |0 .../RunCMake/alias_targets/alias-target-stderr.txt |5 + Tests/RunCMake/alias_targets/alias-target.cmake|8 ++ .../RunCMake/{CMP0022 = alias_targets}/empty.cpp |0 .../exclude-from-all-result.txt} |0 .../alias_targets/exclude-from-all-stderr.txt |4 + .../RunCMake/alias_targets/exclude-from-all.cmake |6 ++ .../export-result.txt} |0 Tests/RunCMake/alias_targets/export-stderr.txt |4 + Tests/RunCMake/alias_targets/export.cmake |8 ++ .../imported-result.txt} |0 Tests/RunCMake/alias_targets/imported-stderr.txt |4 + .../imported-target-result.txt}|0 .../alias_targets/imported-target-stderr.txt |5 + Tests/RunCMake/alias_targets/imported-target.cmake |6 ++ Tests/RunCMake/alias_targets/imported.cmake|2 + .../install-export-result.txt} |0 .../alias_targets/install-export-stderr.txt|4 +
[Cmake-commits] CMake branch, next, updated. v2.8.11.2-3698-gd67cc53
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 d67cc53a2836d98bfc7941bfc6b27472377d135e (commit) via eccb39d7f44f97d395b75b985b4e18178b72df8c (commit) from 016d4daba022d713beff5d3abf99c01b417ba40f (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 - http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=d67cc53a2836d98bfc7941bfc6b27472377d135e commit d67cc53a2836d98bfc7941bfc6b27472377d135e Merge: 016d4da eccb39d Author: Brad King brad.k...@kitware.com AuthorDate: Tue Aug 6 10:22:33 2013 -0400 Commit: CMake Topic Stage kwro...@kitware.com CommitDate: Tue Aug 6 10:22:33 2013 -0400 Merge topic 'vs-no-GetSourceFileWithOutput' into next eccb39d VS 6,7: Refactor local generators to avoid GetSourceFileWithOutput http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=eccb39d7f44f97d395b75b985b4e18178b72df8c commit eccb39d7f44f97d395b75b985b4e18178b72df8c Author: Brad King brad.k...@kitware.com AuthorDate: Tue Aug 6 10:17:37 2013 -0400 Commit: Brad King brad.k...@kitware.com CommitDate: Tue Aug 6 10:20:03 2013 -0400 VS 6,7: Refactor local generators to avoid GetSourceFileWithOutput Use the cmSourceFile returned by AddCustomCommandToOutput instead of throwing out the return value and looking it up with GetSourceFileWithOutput. diff --git a/Source/cmLocalVisualStudio6Generator.cxx b/Source/cmLocalVisualStudio6Generator.cxx index 667d86f..e5b4057 100644 --- a/Source/cmLocalVisualStudio6Generator.cxx +++ b/Source/cmLocalVisualStudio6Generator.cxx @@ -573,22 +573,20 @@ cmLocalVisualStudio6Generator // Add the rule with the given dependencies and commands. const char* no_main_dependency = 0; - this-Makefile-AddCustomCommandToOutput(output, - depends, - no_main_dependency, - origCommand.GetCommandLines(), - comment.c_str(), - origCommand.GetWorkingDirectory()); + if(cmSourceFile* outsf = + this-Makefile-AddCustomCommandToOutput( + output, depends, no_main_dependency, + origCommand.GetCommandLines(), comment.c_str(), + origCommand.GetWorkingDirectory())) +{ +target.AddSourceFile(outsf); +} // Replace the dependencies with the output of this rule so that the // next rule added will run after this one. depends.clear(); depends.push_back(output); - // Add a source file representing this output to the project. - cmSourceFile* outsf = this-Makefile-GetSourceFileWithOutput(output); - target.AddSourceFile(outsf); - // Free the fake output name. delete [] output; } diff --git a/Source/cmLocalVisualStudio7Generator.cxx b/Source/cmLocalVisualStudio7Generator.cxx index 672edf4..2bb5ad0 100644 --- a/Source/cmLocalVisualStudio7Generator.cxx +++ b/Source/cmLocalVisualStudio7Generator.cxx @@ -146,11 +146,10 @@ void cmLocalVisualStudio7Generator::FixGlobalTargets() force += /; force += tgt.GetName(); force += _force; - this-Makefile-AddCustomCommandToOutput(force.c_str(), no_depends, - no_main_dependency, - force_commands, , 0, true); if(cmSourceFile* file = - this-Makefile-GetSourceFileWithOutput(force.c_str())) + this-Makefile-AddCustomCommandToOutput( + force.c_str(), no_depends, no_main_dependency, + force_commands, , 0, true)) { tgt.AddSourceFile(file); } --- Summary of changes: Source/cmLocalVisualStudio6Generator.cxx | 18 -- Source/cmLocalVisualStudio7Generator.cxx |7 +++ 2 files changed, 11 insertions(+), 14 deletions(-) hooks/post-receive -- CMake ___ Cmake-commits mailing list Cmake-commits@cmake.org http://public.kitware.com/cgi-bin/mailman/listinfo/cmake-commits
[Cmake-commits] CMake branch, next, updated. v2.8.11.2-3705-g6568c4a
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 6568c4a37ec615e5a3dc4908377ad5dfd6661bde (commit) via e59d61d58a645c0ede270115d0b10286271881be (commit) via 8e93fee04e56cf8368340ba5170368fc478c412c (commit) via 854e9bac14dab38261ad85a0291fe03aae449fe4 (commit) via 15da32a5a55cd219a97e8b88742a2ea5145bfbd8 (commit) via 8d3a6c02ee0f88a8c70cde9f3b52c062b6968f43 (commit) via 06d6fc42053663c2bec34618f9132b7ac0402e30 (commit) from d67cc53a2836d98bfc7941bfc6b27472377d135e (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 - http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=6568c4a37ec615e5a3dc4908377ad5dfd6661bde commit 6568c4a37ec615e5a3dc4908377ad5dfd6661bde Merge: d67cc53 e59d61d Author: Ben Boeckel ben.boec...@kitware.com AuthorDate: Tue Aug 6 14:28:36 2013 -0400 Commit: CMake Topic Stage kwro...@kitware.com CommitDate: Tue Aug 6 14:28:36 2013 -0400 Merge topic 'dev/fix-variable-watch-crash' into next e59d61d Remove variable_watch watches on destruction 8e93fee Check newValue for NULL 854e9ba Don't share memory for variable_watch callbacks 15da32a Allow specifying the data to match in RemoveWatch 8d3a6c0 Match client_data as well for finding duplicates 06d6fc4 Add test for watching a variable multiple times http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=e59d61d58a645c0ede270115d0b10286271881be commit e59d61d58a645c0ede270115d0b10286271881be Author: Ben Boeckel maths...@gmail.com AuthorDate: Tue Aug 6 14:18:58 2013 -0400 Commit: Ben Boeckel maths...@gmail.com CommitDate: Tue Aug 6 14:32:55 2013 -0400 Remove variable_watch watches on destruction This cleans out old watches. Now that watches are completely separate, if we don't remove all of the old watches, the following happens: variable_watch(watched call1) variable_watch(watched call2) set(bar ${watched}) (in ccmake): configure configure makes the output: configure call1 call2 configure call1 call2 call1 call2 since the old watches are still valid. diff --git a/Source/cmVariableWatchCommand.cxx b/Source/cmVariableWatchCommand.cxx index 25bf450..bd161f9 100644 --- a/Source/cmVariableWatchCommand.cxx +++ b/Source/cmVariableWatchCommand.cxx @@ -101,6 +101,18 @@ cmVariableWatchCommand::cmVariableWatchCommand() } // +cmVariableWatchCommand::~cmVariableWatchCommand() +{ + std::setstd::string::const_iterator it; + for ( it = this-WatchedVariables.begin(); it != this-WatchedVariables.end(); +++it ) +{ +this-Makefile-GetCMakeInstance()-GetVariableWatch()-RemoveWatch( + *it, cmVariableWatchCommandVariableAccessed); +} +} + +// bool cmVariableWatchCommand ::InitialPass(std::vectorstd::string const args, cmExecutionStatus ) { @@ -128,6 +140,7 @@ bool cmVariableWatchCommand data-InCallback = false; data-Command = command; + this-WatchedVariables.insert(variable); if ( !this-Makefile-GetCMakeInstance()-GetVariableWatch()-AddWatch( variable, cmVariableWatchCommandVariableAccessed, data, deleteVariableWatchCallbackData) ) diff --git a/Source/cmVariableWatchCommand.h b/Source/cmVariableWatchCommand.h index 295a64a..545535c 100644 --- a/Source/cmVariableWatchCommand.h +++ b/Source/cmVariableWatchCommand.h @@ -32,6 +32,9 @@ public: //! Default constructor cmVariableWatchCommand(); + //! Destructor. + ~cmVariableWatchCommand(); + /** * This is called when the command is first encountered in * the CMakeLists.txt file. @@ -75,6 +78,9 @@ public: } cmTypeMacro(cmVariableWatchCommand, cmCommand); + +protected: + std::setstd::string WatchedVariables; }; http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=8e93fee04e56cf8368340ba5170368fc478c412c commit 8e93fee04e56cf8368340ba5170368fc478c412c Author: Ben Boeckel maths...@gmail.com AuthorDate: Tue Aug 6 14:32:19 2013 -0400 Commit: Ben Boeckel maths...@gmail.com CommitDate: Tue Aug 6 14:32:19 2013 -0400 Check newValue for NULL On read access, newValue can be NULL since there is no new value, so use the empty string instead. diff --git a/Source/cmVariableWatchCommand.cxx b/Source/cmVariableWatchCommand.cxx index 63069d0..25bf450 100644 --- a/Source/cmVariableWatchCommand.cxx +++ b/Source/cmVariableWatchCommand.cxx @@ -80,7 +80,7 @@ static void
[Cmake-commits] CMake branch, next, updated. v2.8.11.2-3708-g2f5bb2d
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 2f5bb2df18b65553041433ca34ad84a65d34e9c5 (commit) via 2314115b3d612a8e2f501276b32c80bcad144f06 (commit) via 1d2eb8729d1f61ab2eee8253d4243dd69e9175a9 (commit) from 6568c4a37ec615e5a3dc4908377ad5dfd6661bde (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 - http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=2f5bb2df18b65553041433ca34ad84a65d34e9c5 commit 2f5bb2df18b65553041433ca34ad84a65d34e9c5 Merge: 6568c4a 2314115 Author: Ben Boeckel ben.boec...@kitware.com AuthorDate: Tue Aug 6 16:10:58 2013 -0400 Commit: CMake Topic Stage kwro...@kitware.com CommitDate: Tue Aug 6 16:10:58 2013 -0400 Merge topic 'dev/fix-variable-watch-crash' into next 2314115 Fix style in destructor 1d2eb87 Merge WatchTwice into existing variable_watch test http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=2314115b3d612a8e2f501276b32c80bcad144f06 commit 2314115b3d612a8e2f501276b32c80bcad144f06 Author: Ben Boeckel maths...@gmail.com AuthorDate: Tue Aug 6 15:17:55 2013 -0400 Commit: Ben Boeckel maths...@gmail.com CommitDate: Tue Aug 6 16:10:32 2013 -0400 Fix style in destructor diff --git a/Source/cmVariableWatchCommand.cxx b/Source/cmVariableWatchCommand.cxx index bd161f9..4eff19e 100644 --- a/Source/cmVariableWatchCommand.cxx +++ b/Source/cmVariableWatchCommand.cxx @@ -104,7 +104,8 @@ cmVariableWatchCommand::cmVariableWatchCommand() cmVariableWatchCommand::~cmVariableWatchCommand() { std::setstd::string::const_iterator it; - for ( it = this-WatchedVariables.begin(); it != this-WatchedVariables.end(); + for ( it = this-WatchedVariables.begin(); +it != this-WatchedVariables.end(); ++it ) { this-Makefile-GetCMakeInstance()-GetVariableWatch()-RemoveWatch( http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=1d2eb8729d1f61ab2eee8253d4243dd69e9175a9 commit 1d2eb8729d1f61ab2eee8253d4243dd69e9175a9 Author: Ben Boeckel maths...@gmail.com AuthorDate: Tue Aug 6 14:40:33 2013 -0400 Commit: Ben Boeckel maths...@gmail.com CommitDate: Tue Aug 6 14:40:33 2013 -0400 Merge WatchTwice into existing variable_watch test diff --git a/Tests/RunCMake/CMakeLists.txt b/Tests/RunCMake/CMakeLists.txt index 367c2b9..6d1bca2 100644 --- a/Tests/RunCMake/CMakeLists.txt +++ b/Tests/RunCMake/CMakeLists.txt @@ -117,4 +117,3 @@ endif() add_RunCMake_test(File_Generate) add_RunCMake_test(ExportWithoutLanguage) add_RunCMake_test(target_link_libraries) -add_RunCMake_test(WatchTwice) diff --git a/Tests/RunCMake/WatchTwice/CMakeLists.txt b/Tests/RunCMake/WatchTwice/CMakeLists.txt deleted file mode 100644 index e8db6b0..000 --- a/Tests/RunCMake/WatchTwice/CMakeLists.txt +++ /dev/null @@ -1,3 +0,0 @@ -cmake_minimum_required(VERSION 2.8) -project(${RunCMake_TEST} NONE) -include(${RunCMake_TEST}.cmake) diff --git a/Tests/RunCMake/WatchTwice/RunCMakeTest.cmake b/Tests/RunCMake/WatchTwice/RunCMakeTest.cmake deleted file mode 100644 index 19205b2..000 --- a/Tests/RunCMake/WatchTwice/RunCMakeTest.cmake +++ /dev/null @@ -1,3 +0,0 @@ -include(RunCMake) - -run_cmake(WatchTwice) diff --git a/Tests/RunCMake/variable_watch/RunCMakeTest.cmake b/Tests/RunCMake/variable_watch/RunCMakeTest.cmake index 8d20476..9becb4c 100644 --- a/Tests/RunCMake/variable_watch/RunCMakeTest.cmake +++ b/Tests/RunCMake/variable_watch/RunCMakeTest.cmake @@ -2,3 +2,4 @@ include(RunCMake) run_cmake(ModifiedAccess) run_cmake(NoWatcher) +run_cmake(WatchTwice) diff --git a/Tests/RunCMake/WatchTwice/WatchTwice-stderr.txt b/Tests/RunCMake/variable_watch/WatchTwice-stderr.txt similarity index 100% rename from Tests/RunCMake/WatchTwice/WatchTwice-stderr.txt rename to Tests/RunCMake/variable_watch/WatchTwice-stderr.txt diff --git a/Tests/RunCMake/WatchTwice/WatchTwice.cmake b/Tests/RunCMake/variable_watch/WatchTwice.cmake similarity index 100% rename from Tests/RunCMake/WatchTwice/WatchTwice.cmake rename to Tests/RunCMake/variable_watch/WatchTwice.cmake --- Summary of changes: Source/cmVariableWatchCommand.cxx |3 ++- Tests/RunCMake/CMakeLists.txt |1 - Tests/RunCMake/WatchTwice/CMakeLists.txt |3 --- Tests/RunCMake/WatchTwice/RunCMakeTest.cmake |3 --- Tests/RunCMake/variable_watch/RunCMakeTest.cmake |1 + .../WatchTwice-stderr.txt |0 .../WatchTwice.cmake |0 7 files changed, 3 insertions(+), 8 deletions(-) delete mode 100644 Tests/RunCMake/WatchTwice/CMakeLists.txt delete mode 100644
[Cmake-commits] CMake branch, next, updated. v2.8.11.2-3718-g21e61f0
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 21e61f055931d7e561b4ef4cab60ea7797fdf809 (commit) via 56e770fa9288a5801322f36442483e96cffc8a61 (commit) via cf4364cbb2e8640c50c30ab2267ef0c685dd4af9 (commit) via 6379d729a2b19a2d8391ca7cf39008372aaf0a71 (commit) via 9df982572ca2c3f22e3625f204b8e5c155d4f3d6 (commit) via f92f3ffc7648de08005600f14465433cfba84bbc (commit) via faad4e183d81e0ed5c6e1ae64ac23db95837ef71 (commit) via 8c0a98e0dabb9fab5fa31a8b9aac2f8191ba46ed (commit) via dc1c6546704bc277e7c884a53e538ee5d8b831c8 (commit) via 8d1fc6c88946f6dd18c6f17d4f6f8825547972ef (commit) from 2f5bb2df18b65553041433ca34ad84a65d34e9c5 (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 - http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=21e61f055931d7e561b4ef4cab60ea7797fdf809 commit 21e61f055931d7e561b4ef4cab60ea7797fdf809 Merge: 2f5bb2d 56e770f Author: Ben Boeckel ben.boec...@kitware.com AuthorDate: Tue Aug 6 16:11:55 2013 -0400 Commit: CMake Topic Stage kwro...@kitware.com CommitDate: Tue Aug 6 16:11:55 2013 -0400 Merge topic 'dev/fix-variable-watch-crash' into next 56e770f variable_watch: Check newValue for NULL cf4364c variable_watch: Don't share memory for callbacks 6379d72 variable_watch: Fix a typo in the error message 9df9825 variable_watch: Prevent making extra entries in the watch map f92f3ff variable_watch: Allow specifying the data to match in RemoveWatch faad4e1 variable_watch: Match client_data when finding duplicates 8c0a98e variable_watch: Add a deleter for the client data dc1c654 variable_watch: Store client data as pointers 8d1fc6c variable_watch: Add test for watching a variable multiple times http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=56e770fa9288a5801322f36442483e96cffc8a61 commit 56e770fa9288a5801322f36442483e96cffc8a61 Author: Ben Boeckel maths...@gmail.com AuthorDate: Tue Aug 6 14:32:19 2013 -0400 Commit: Ben Boeckel maths...@gmail.com CommitDate: Tue Aug 6 15:35:31 2013 -0400 variable_watch: Check newValue for NULL On read access, newValue can be NULL since there is no new value, so use the empty string instead. diff --git a/Source/cmVariableWatchCommand.cxx b/Source/cmVariableWatchCommand.cxx index 3b75ade..4eff19e 100644 --- a/Source/cmVariableWatchCommand.cxx +++ b/Source/cmVariableWatchCommand.cxx @@ -80,7 +80,7 @@ static void cmVariableWatchCommandVariableAccessed( { cmOStringStream msg; msg Variable \ variable.c_str() \ was accessed using - accessString with value \ newValue \.; + accessString with value \ (newValue?newValue:) \.; makefile-IssueMessage(cmake::LOG, msg.str()); } http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=cf4364cbb2e8640c50c30ab2267ef0c685dd4af9 commit cf4364cbb2e8640c50c30ab2267ef0c685dd4af9 Author: Ben Boeckel maths...@gmail.com AuthorDate: Fri Aug 2 15:41:45 2013 -0400 Commit: Ben Boeckel maths...@gmail.com CommitDate: Tue Aug 6 15:35:31 2013 -0400 variable_watch: Don't share memory for callbacks The command itself is owned by the cmMakefile class, but the cmVariableWatch which holds a pointer to the cmVariableWatchCommand via the client_data for the callback outlives the cmMakefile class in the Qt GUI. This means that when the cmMakefile is destroyed, the variable watch is still in effect, but with a stale pointer. To fix this, each callback is now a separate entity completely and doesn't rely on the command which spawned it at all. An example CMakeLists.txt which demonstrates the issue (only displayed in cmake-gui, so no tests can be written for it): set(var 0) variable_watch(var) diff --git a/Source/cmVariableWatchCommand.cxx b/Source/cmVariableWatchCommand.cxx index 2b81d79..3b75ade 100644 --- a/Source/cmVariableWatchCommand.cxx +++ b/Source/cmVariableWatchCommand.cxx @@ -14,63 +14,27 @@ #include cmVariableWatch.h // -static void cmVariableWatchCommandVariableAccessed( - const std::string variable, int access_type, void* client_data, - const char* newValue, const cmMakefile* mf) +struct cmVariableWatchCallbackData { - cmVariableWatchCommand* command -= static_castcmVariableWatchCommand*(client_data); - command-VariableAccessed(variable, access_type, newValue, mf); -} + bool InCallback; + std::string Command; +}; //
[Cmake-commits] CMake branch, next, updated. v2.8.11.2-3720-g1849419
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 1849419857cb7f960e71af4f99be9327ce3f4675 (commit) via 2268c41a057d948ad6773c5145ee5bf6d19ea3bf (commit) from 21e61f055931d7e561b4ef4cab60ea7797fdf809 (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 - http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=1849419857cb7f960e71af4f99be9327ce3f4675 commit 1849419857cb7f960e71af4f99be9327ce3f4675 Merge: 21e61f0 2268c41 Author: Brad King brad.k...@kitware.com AuthorDate: Tue Aug 6 16:18:22 2013 -0400 Commit: CMake Topic Stage kwro...@kitware.com CommitDate: Tue Aug 6 16:18:22 2013 -0400 Merge topic 'optimize-custom-command-dependencies' into next 2268c41 Optimize custom command full-path dependency lookup http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=2268c41a057d948ad6773c5145ee5bf6d19ea3bf commit 2268c41a057d948ad6773c5145ee5bf6d19ea3bf Author: Nicolas Despres nicolas.desp...@gmail.com AuthorDate: Tue Aug 6 18:12:50 2013 +0200 Commit: Brad King brad.k...@kitware.com CommitDate: Tue Aug 6 16:17:13 2013 -0400 Optimize custom command full-path dependency lookup In the common case of custom command dependencies specified via full path optimize the implementation of GetSourceFileWithOutput using a (hash) map. This is significantly faster than the existing linear search. In the non-full-path case fall back to the existing linear suffix search. diff --git a/Source/cmMakefile.cxx b/Source/cmMakefile.cxx index aae92dd..08c9763 100644 --- a/Source/cmMakefile.cxx +++ b/Source/cmMakefile.cxx @@ -150,6 +150,7 @@ cmMakefile::cmMakefile(const cmMakefile mf): Internal(new Internals) this-Initialize(); this-CheckSystemVars = mf.CheckSystemVars; this-ListFileStack = mf.ListFileStack; + this-OutputToSource = mf.OutputToSource; } // @@ -1010,11 +1011,32 @@ cmMakefile::AddCustomCommandToOutput(const std::vectorstd::string outputs, cc-SetEscapeOldStyle(escapeOldStyle); cc-SetEscapeAllowMakeVars(true); file-SetCustomCommand(cc); +this-UpdateOutputToSourceMap(outputs, file); } return file; } // +void +cmMakefile::UpdateOutputToSourceMap(std::vectorstd::string const outputs, +cmSourceFile* source) +{ + for(std::vectorstd::string::const_iterator o = outputs.begin(); + o != outputs.end(); ++o) +{ +this-UpdateOutputToSourceMap(*o, source); +} +} + +// +void +cmMakefile::UpdateOutputToSourceMap(std::string const output, +cmSourceFile* source) +{ + this-OutputToSource[output] = source; +} + +// cmSourceFile* cmMakefile::AddCustomCommandToOutput(const char* output, const std::vectorstd::string depends, @@ -1994,7 +2016,7 @@ cmMakefile::AddNewTarget(cmTarget::TargetType type, const char* name) return it-second; } -cmSourceFile *cmMakefile::GetSourceFileWithOutput(const char *cname) +cmSourceFile *cmMakefile::LinearGetSourceFileWithOutput(const char *cname) { std::string name = cname; std::string out; @@ -2030,6 +2052,25 @@ cmSourceFile *cmMakefile::GetSourceFileWithOutput(const char *cname) return 0; } +cmSourceFile *cmMakefile::GetSourceFileWithOutput(const char *cname) +{ + std::string name = cname; + + // If the queried path is not absolute we use the backward compatible + // linear-time search for an output with a matching suffix. + if(!cmSystemTools::FileIsFullPath(cname)) +{ +return LinearGetSourceFileWithOutput(cname); +} + // Otherwise we use an efficient lookup map. + OutputToSourceMap::iterator o = this-OutputToSource.find(name); + if (o != this-OutputToSource.end()) +{ +return (*o).second; +} + return 0; +} + #if defined(CMAKE_BUILD_WITH_CMAKE) cmSourceGroup* cmMakefile::GetSourceGroup(const std::vectorstd::stringname) { diff --git a/Source/cmMakefile.h b/Source/cmMakefile.h index 711a208..8bce9fd 100644 --- a/Source/cmMakefile.h +++ b/Source/cmMakefile.h @@ -29,6 +29,9 @@ #include cmsys/auto_ptr.hxx #include cmsys/RegularExpression.hxx +#if defined(CMAKE_BUILD_WITH_CMAKE) +# include cmsys/hash_map.hxx +#endif class cmFunctionBlocker; class cmCommand; @@ -1039,6 +1042,26 @@ private: bool GeneratingBuildSystem; + /** + * Old version of GetSourceFileWithOutput(const
[Cmake-commits] CMake branch, next, updated. v2.8.11.2-3735-gc24b5e6
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 c24b5e610c5e8ad462c16debd67f2d84480b17fb (commit) via a3b86cf7117661d9b93d9ab10d5120c3bf6ccac4 (commit) via 5b141a7b293bc26b35fc1b3320931f8cc16901a1 (commit) via 1ed726a46c11ac3b9836b210584cd90e91ae3174 (commit) via dba225db334a89aae3835d98f200bb1ce3eb8753 (commit) from f7621eb082b53a9dff05259ec66bec3dd524639d (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 - http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=c24b5e610c5e8ad462c16debd67f2d84480b17fb commit c24b5e610c5e8ad462c16debd67f2d84480b17fb Merge: f7621eb a3b86cf Author: Brad King brad.k...@kitware.com AuthorDate: Tue Aug 6 16:54:56 2013 -0400 Commit: Brad King brad.k...@kitware.com CommitDate: Tue Aug 6 16:54:56 2013 -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/cgi-bin/mailman/listinfo/cmake-commits
[Cmake-commits] CMake branch, master, updated. v2.8.11.2-704-g1ed726a
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 1ed726a46c11ac3b9836b210584cd90e91ae3174 (commit) via 28e770cf6eb1be898e6904e85849f701ab71b5c1 (commit) from dba225db334a89aae3835d98f200bb1ce3eb8753 (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 - http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=1ed726a46c11ac3b9836b210584cd90e91ae3174 commit 1ed726a46c11ac3b9836b210584cd90e91ae3174 Merge: dba225d 28e770c Author: Brad King brad.k...@kitware.com AuthorDate: Tue Aug 6 16:55:10 2013 -0400 Commit: CMake Topic Stage kwro...@kitware.com CommitDate: Tue Aug 6 16:55:10 2013 -0400 Merge topic 'vs-masm' 28e770c VS10: Add support for assembler code (#11536) --- Summary of changes: Source/cmGlobalVisualStudio10Generator.cxx | 11 ++ Source/cmGlobalVisualStudio10Generator.h |4 ++ Source/cmVisualStudio10TargetGenerator.cxx | 47 --- 3 files changed, 50 insertions(+), 12 deletions(-) hooks/post-receive -- CMake ___ Cmake-commits mailing list Cmake-commits@cmake.org http://public.kitware.com/cgi-bin/mailman/listinfo/cmake-commits
[Cmake-commits] CMake branch, master, updated. v2.8.11.2-706-g5b141a7
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 5b141a7b293bc26b35fc1b3320931f8cc16901a1 (commit) via bd827f98efc1d4294b9a7d0fc134629b7507f4a1 (commit) from 1ed726a46c11ac3b9836b210584cd90e91ae3174 (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 - http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=5b141a7b293bc26b35fc1b3320931f8cc16901a1 commit 5b141a7b293bc26b35fc1b3320931f8cc16901a1 Merge: 1ed726a bd827f9 Author: Brad King brad.k...@kitware.com AuthorDate: Tue Aug 6 16:55:15 2013 -0400 Commit: CMake Topic Stage kwro...@kitware.com CommitDate: Tue Aug 6 16:55:15 2013 -0400 Merge topic 'peheader' bd827f9 WIN: Use COFF file header header for architecture detection (#14083) --- Summary of changes: Modules/CMakeDetermineCompilerId.cmake | 29 + Modules/Platform/Windows-MSVC.cmake|7 --- 2 files changed, 29 insertions(+), 7 deletions(-) hooks/post-receive -- CMake ___ Cmake-commits mailing list Cmake-commits@cmake.org http://public.kitware.com/cgi-bin/mailman/listinfo/cmake-commits
[Cmake-commits] CMake branch, master, updated. v2.8.11.2-710-g726fa61
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 726fa61b59c20ea657091fa870bf7eba77dfaa75 (commit) from a3b86cf7117661d9b93d9ab10d5120c3bf6ccac4 (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 - http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=726fa61b59c20ea657091fa870bf7eba77dfaa75 commit 726fa61b59c20ea657091fa870bf7eba77dfaa75 Author: Kitware Robot kwro...@kitware.com AuthorDate: Wed Aug 7 00:01:08 2013 -0400 Commit: Kitware Robot kwro...@kitware.com CommitDate: Wed Aug 7 00:01:08 2013 -0400 CMake Nightly Date Stamp diff --git a/Source/CMakeVersion.cmake b/Source/CMakeVersion.cmake index ef7c8fb..d3c2f18 100644 --- a/Source/CMakeVersion.cmake +++ b/Source/CMakeVersion.cmake @@ -2,5 +2,5 @@ set(CMake_VERSION_MAJOR 2) set(CMake_VERSION_MINOR 8) set(CMake_VERSION_PATCH 11) -set(CMake_VERSION_TWEAK 20130806) +set(CMake_VERSION_TWEAK 20130807) #set(CMake_VERSION_RC 1) --- Summary of changes: Source/CMakeVersion.cmake |2 +- 1 files changed, 1 insertions(+), 1 deletions(-) hooks/post-receive -- CMake ___ Cmake-commits mailing list Cmake-commits@cmake.org http://public.kitware.com/cgi-bin/mailman/listinfo/cmake-commits