[Cmake-commits] CMake branch, master, updated. v2.8.11.2-876-gfa97f43
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 fa97f43c81eac8379317a22d6d668984d2349fb0 (commit) from 6a3958b374463067d279ea1e5efe14b1d2f7f967 (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=fa97f43c81eac8379317a22d6d668984d2349fb0 commit fa97f43c81eac8379317a22d6d668984d2349fb0 Author: Kitware Robot AuthorDate: Tue Oct 1 00:01:06 2013 -0400 Commit: Kitware Robot CommitDate: Tue Oct 1 00:01:06 2013 -0400 CMake Nightly Date Stamp diff --git a/Source/CMakeVersion.cmake b/Source/CMakeVersion.cmake index ca78968..1b0177e 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 20130930) +set(CMake_VERSION_TWEAK 20131001) #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
[Cmake-commits] CMake branch, next, updated. v2.8.11.2-4383-g8f1e318
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 8f1e31821673570e3ac3297eb07b83afaeacb091 (commit) via df9aaf5be89ebf601d1ea4096cdf6d89a01ee71f (commit) from ec3a3610ecf97dd539f695b97cf7483d6ff4f208 (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=8f1e31821673570e3ac3297eb07b83afaeacb091 commit 8f1e31821673570e3ac3297eb07b83afaeacb091 Merge: ec3a361 df9aaf5 Author: Patrick Reynolds AuthorDate: Mon Sep 30 22:54:18 2013 -0400 Commit: CMake Topic Stage CommitDate: Mon Sep 30 22:54:18 2013 -0400 Merge topic 'Add-coverage.py-Coverage' into next df9aaf5 Fixing an unused parameter warning. http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=df9aaf5be89ebf601d1ea4096cdf6d89a01ee71f commit df9aaf5be89ebf601d1ea4096cdf6d89a01ee71f Author: Patrick Reynolds AuthorDate: Mon Sep 30 22:53:03 2013 -0400 Commit: Patrick Reynolds CommitDate: Mon Sep 30 22:53:03 2013 -0400 Fixing an unused parameter warning. diff --git a/Source/CTest/cmParsePythonCoverage.cxx b/Source/CTest/cmParsePythonCoverage.cxx index 49432ed..ff5cb0c 100644 --- a/Source/CTest/cmParsePythonCoverage.cxx +++ b/Source/CTest/cmParsePythonCoverage.cxx @@ -85,7 +85,10 @@ protected: } } - virtual void EndElement(const char* name) {} + virtual void EndElement(const char* name) + { +(void) name; + } private: --- Summary of changes: Source/CTest/cmParsePythonCoverage.cxx |5 - 1 files changed, 4 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-4381-gec3a361
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 ec3a3610ecf97dd539f695b97cf7483d6ff4f208 (commit) via acbb5a3a5b5366e791aa561eb77366869ab3a1c4 (commit) via 6a3958b374463067d279ea1e5efe14b1d2f7f967 (commit) via 6f74212360a2decdc19a038f2b8bec50cc58f8fd (commit) via 1bf010ae98312451274f5774c90bae4e1f290dfd (commit) from cd5d958fcfd904bc33a4673009fd066f92c457ee (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=ec3a3610ecf97dd539f695b97cf7483d6ff4f208 commit ec3a3610ecf97dd539f695b97cf7483d6ff4f208 Merge: cd5d958 acbb5a3 Author: Stephen Kelly AuthorDate: Mon Sep 30 18:03:40 2013 -0400 Commit: CMake Topic Stage CommitDate: Mon Sep 30 18:03:40 2013 -0400 Merge topic 'FindQt4-clear-variable' into next acbb5a3 FindQt4: Clear the QT_QMAKE_EXECUTABLE variable if Qt4 is not found. 6a3958b CMake Nightly Date Stamp 6f74212 CMake Nightly Date Stamp 1bf010a CMake Nightly Date Stamp http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=acbb5a3a5b5366e791aa561eb77366869ab3a1c4 commit acbb5a3a5b5366e791aa561eb77366869ab3a1c4 Author: Stephen Kelly AuthorDate: Tue Oct 1 00:01:57 2013 +0200 Commit: Stephen Kelly CommitDate: Tue Oct 1 00:01:57 2013 +0200 FindQt4: Clear the QT_QMAKE_EXECUTABLE variable if Qt4 is not found. If Qt 5 is found, it will be populated, and will result in later errors. diff --git a/Modules/FindQt4.cmake b/Modules/FindQt4.cmake index 1d17ba3..ad1d5e5 100644 --- a/Modules/FindQt4.cmake +++ b/Modules/FindQt4.cmake @@ -525,6 +525,9 @@ endfunction() function(_QT4_FIND_QMAKE QMAKE_NAMES QMAKE_RESULT VERSION_RESULT) list(LENGTH QMAKE_NAMES QMAKE_NAMES_LEN) if(${QMAKE_NAMES_LEN} EQUAL 0) +if (NOT QT_QMAKE_EXECUTABLE OR NOT "${major}" EQUAL 4) + set(QT_QMAKE_EXECUTABLE QT_QMAKE_EXECUTABLE-NOTFOUND CACHE FILEPATH "" FORCE) +endif() return() endif() list(GET QMAKE_NAMES 0 QMAKE_NAME) --- Summary of changes: Modules/FindQt4.cmake |3 +++ Source/CMakeVersion.cmake |2 +- 2 files changed, 4 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-4376-gcd5d958
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 cd5d958fcfd904bc33a4673009fd066f92c457ee (commit) via 962220a220477574820223d1db1fdf0fbcc34279 (commit) from 803fd65ef2f5d7b841cc4c4ef66acbf1164f80cd (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=cd5d958fcfd904bc33a4673009fd066f92c457ee commit cd5d958fcfd904bc33a4673009fd066f92c457ee Merge: 803fd65 962220a Author: Daniele E. Domenichelli AuthorDate: Mon Sep 30 17:44:55 2013 -0400 Commit: CMake Topic Stage CommitDate: Mon Sep 30 17:44:55 2013 -0400 Merge topic 'FindGTK2-targets' into next 962220a FindGTK2: Run tests if target was created http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=962220a220477574820223d1db1fdf0fbcc34279 commit 962220a220477574820223d1db1fdf0fbcc34279 Author: Daniele E. Domenichelli AuthorDate: Mon Sep 30 23:44:32 2013 +0200 Commit: Daniele E. Domenichelli CommitDate: Mon Sep 30 23:44:32 2013 +0200 FindGTK2: Run tests if target was created diff --git a/Tests/FindGTK2/CMakeLists.txt b/Tests/FindGTK2/CMakeLists.txt index 5b16297..1c5987c 100644 --- a/Tests/FindGTK2/CMakeLists.txt +++ b/Tests/FindGTK2/CMakeLists.txt @@ -30,7 +30,7 @@ endif() # Test GTK2 targets -if(GTK2_GLIB_FOUND) +if(TARGET GTK2::glib) add_test(GTK2Targets.glib ${CMAKE_CTEST_COMMAND} --build-and-test "${CMake_SOURCE_DIR}/Tests/FindGTK2/glib" @@ -43,7 +43,7 @@ if(GTK2_GLIB_FOUND) ) endif() -if(GTK2_GOBJECT_FOUND) +if(TARGET GTK2::gobject) add_test(GTK2Targets.gobject ${CMAKE_CTEST_COMMAND} --build-and-test "${CMake_SOURCE_DIR}/Tests/FindGTK2/gobject" @@ -56,7 +56,7 @@ if(GTK2_GOBJECT_FOUND) ) endif() -if(GTK2_GIO_FOUND) +if(TARGET GTK2::gio) add_test(GTK2Targets.gio ${CMAKE_CTEST_COMMAND} --build-and-test "${CMake_SOURCE_DIR}/Tests/FindGTK2/gio" @@ -69,7 +69,7 @@ if(GTK2_GIO_FOUND) ) endif() -if(GTK2_GMODULE_FOUND) +if(TARGET GTK2::gmodule) add_test(GTK2Targets.gmodule ${CMAKE_CTEST_COMMAND} --build-and-test "${CMake_SOURCE_DIR}/Tests/FindGTK2/gmodule" @@ -82,7 +82,7 @@ if(GTK2_GMODULE_FOUND) ) endif() -if(GTK2_GTHREAD_FOUND) +if(TARGET GTK2::gthread) add_test(GTK2Targets.gthread ${CMAKE_CTEST_COMMAND} --build-and-test "${CMake_SOURCE_DIR}/Tests/FindGTK2/gthread" @@ -95,7 +95,7 @@ if(GTK2_GTHREAD_FOUND) ) endif() -if(GTK2_ATK_FOUND) +if(TARGET GTK2::atk) add_test(GTK2Targets.atk ${CMAKE_CTEST_COMMAND} --build-and-test "${CMake_SOURCE_DIR}/Tests/FindGTK2/atk" @@ -108,7 +108,7 @@ if(GTK2_ATK_FOUND) ) endif() -if(GTK2_GDK_PIXBUF_FOUND) +if(TARGET GTK2::gdk_pixbuf) add_test(GTK2Targets.gdk_pixbuf ${CMAKE_CTEST_COMMAND} --build-and-test "${CMake_SOURCE_DIR}/Tests/FindGTK2/gdk_pixbuf" @@ -121,7 +121,7 @@ if(GTK2_GDK_PIXBUF_FOUND) ) endif() -if(GTK2_CAIRO_FOUND) +if(TARGET GTK2::cairo) add_test(GTK2Targets.cairo ${CMAKE_CTEST_COMMAND} --build-and-test "${CMake_SOURCE_DIR}/Tests/FindGTK2/cairo" @@ -134,7 +134,7 @@ if(GTK2_CAIRO_FOUND) ) endif() -if(GTK2_PANGO_FOUND) +if(TARGET GTK2::pango) add_test(GTK2Targets.pango ${CMAKE_CTEST_COMMAND} --build-and-test "${CMake_SOURCE_DIR}/Tests/FindGTK2/pango" @@ -147,7 +147,7 @@ if(GTK2_PANGO_FOUND) ) endif() -if(GTK2_PANGOCAIRO_FOUND) +if(TARGET GTK2::pangocairo) add_test(GTK2Targets.pangocairo ${CMAKE_CTEST_COMMAND} --build-and-test "${CMake_SOURCE_DIR}/Tests/FindGTK2/pangocairo" @@ -160,7 +160,7 @@ if(GTK2_PANGOCAIRO_FOUND) ) endif() -if(GTK2_PANGOXFT_FOUND) +if(TARGET GTK2::pangoxft) add_test(GTK2Targets.pangoxft ${CMAKE_CTEST_COMMAND} --build-and-test "${CMake_SOURCE_DIR}/Tests/FindGTK2/pangoxft" @@ -173,7 +173,7 @@ if(GTK2_PANGOXFT_FOUND) ) endif() -if(GTK2_PANGOFT2_FOUND) +if(TARGET GTK2::pangoft2) add_test(GTK2Targets.pangoft2 ${CMAKE_CTEST_COMMAND} --build-and-test "${CMake_SOURCE_DIR}/Tests/FindGTK2/pangoft2" @@ -186,7 +186,7 @@ if(GTK2_PANGOFT2_FOUND) ) endif() -if(GTK2_GDK_FOUND) +if(TARGET GTK2::gdk) add_test(GTK2Targets.gdk ${CMAKE_CTEST_COMMAND} --build-and-test "${CMake_SOURCE_DIR}/Tests/FindGTK2/gdk" @@ -199,7 +199,7 @@ if(GTK2_GDK_FOUND) ) endif() -if(GTK2_GTK_FOUND) +if(TARGET GTK2::gtk) add_test(GTK2Targets.gtk ${CMAKE_CTEST_COMMAND} --build-and-test "${CMake_SOURCE_DIR}/Tests/FindGTK2/gtk" @@ -212,7 +212,7 @@ if(GTK2_GTK_FOUND) ) endif() -if(GTK2_SIGC++_FOUND) +if(TARGET GTK2::sigc++) add_test(GTK2Targets.sigc++ ${CMAKE_CTEST_COMMAND} --build-and-test "${CMak
[Cmake-commits] CMake branch, next, updated. v2.8.11.2-4374-g803fd65
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 803fd65ef2f5d7b841cc4c4ef66acbf1164f80cd (commit) via 59f11d3871e803cfc5a4d79d0634eaf342468b8f (commit) from 7d1bdc4634f7846c1c716883c45f4e506f6377fe (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=803fd65ef2f5d7b841cc4c4ef66acbf1164f80cd commit 803fd65ef2f5d7b841cc4c4ef66acbf1164f80cd Merge: 7d1bdc4 59f11d3 Author: Daniele E. Domenichelli AuthorDate: Mon Sep 30 17:33:23 2013 -0400 Commit: CMake Topic Stage CommitDate: Mon Sep 30 17:33:23 2013 -0400 Merge topic 'FindGTK2-targets' into next 59f11d3 FindGTK2.cmake: Change extra includes -> optional and remove warning http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=59f11d3871e803cfc5a4d79d0634eaf342468b8f commit 59f11d3871e803cfc5a4d79d0634eaf342468b8f Author: Daniele E. Domenichelli AuthorDate: Mon Sep 30 23:32:36 2013 +0200 Commit: Daniele E. Domenichelli CommitDate: Mon Sep 30 23:32:36 2013 +0200 FindGTK2.cmake: Change extra includes -> optional and remove warning On some version they are not required diff --git a/Modules/FindGTK2.cmake b/Modules/FindGTK2.cmake index 8b5a897..548e63d 100644 --- a/Modules/FindGTK2.cmake +++ b/Modules/FindGTK2.cmake @@ -457,7 +457,7 @@ function(_GTK2_ADD_TARGET _var) string(TOLOWER "${_var}" _basename) -cmake_parse_arguments(_${_var} "" "" "GTK2_DEPENDS;GTK2_OPTIONAL_DEPENDS;EXTRA_INCLUDES" ${ARGN}) +cmake_parse_arguments(_${_var} "" "" "GTK2_DEPENDS;GTK2_OPTIONAL_DEPENDS;OPTIONAL_INCLUDES" ${ARGN}) if(GTK2_${_var}_FOUND AND NOT TARGET GTK2::${_basename}) # Do not create the target if dependencies are missing @@ -467,12 +467,6 @@ function(_GTK2_ADD_TARGET _var) endif() endforeach() -foreach(_include ${_${_var}_EXTRA_INCLUDES}) -if(NOT _include) -message(WARNING "FindGTK2: ${_include} not found while creating target GTK2::${_basename}") -endif() -endforeach() - add_library(GTK2::${_basename} UNKNOWN IMPORTED) if(GTK2_${_var}_LIBRARY_RELEASE) @@ -501,8 +495,8 @@ function(_GTK2_ADD_TARGET _var) _GTK2_ADD_TARGET_DEPENDS(${_var} ${_${_var}_GTK2_DEPENDS} ${_${_var}_GTK2_OPTIONAL_DEPENDS}) endif() -if(_${_var}_EXTRA_INCLUDES) -_GTK2_ADD_TARGET_INCLUDE_DIRS(${_var} ${_${_var}_EXTRA_INCLUDES}) +if(_${_var}_OPTIONAL_INCLUDES) +_GTK2_ADD_TARGET_INCLUDE_DIRS(${_var} ${_${_var}_OPTIONAL_INCLUDES}) endif() if(GTK2_USE_IMPORTED_TARGETS) @@ -644,11 +638,11 @@ foreach(_GTK2_component ${GTK2_FIND_COMPONENTS}) _GTK2_FIND_LIBRARY(PANGOFT2 pangoft2 false true) _GTK2_ADD_TARGET (PANGOFT2 GTK2_DEPENDS pango gobject glib -EXTRA_INCLUDES ${FREETYPE_INCLUDE_DIR_ft2build} ${FREETYPE_INCLUDE_DIR_freetype2}) +OPTIONAL_INCLUDES ${FREETYPE_INCLUDE_DIR_ft2build} ${FREETYPE_INCLUDE_DIR_freetype2}) _GTK2_FIND_LIBRARY(PANGOXFT pangoxft false true) _GTK2_ADD_TARGET (PANGOXFT GTK2_DEPENDS pangoft2 pango gobject glib -EXTRA_INCLUDES ${FREETYPE_INCLUDE_DIR_ft2build} ${FREETYPE_INCLUDE_DIR_freetype2}) +OPTIONAL_INCLUDES ${FREETYPE_INCLUDE_DIR_ft2build} ${FREETYPE_INCLUDE_DIR_freetype2}) _GTK2_FIND_INCLUDE_DIR(GDK gdk/gdk.h) _GTK2_FIND_INCLUDE_DIR(GDKCONFIG gdkconfig.h) @@ -696,14 +690,14 @@ foreach(_GTK2_component ${GTK2_FIND_COMPONENTS}) _GTK2_FIND_INCLUDE_DIR(CAIROMMCONFIG cairommconfig.h) _GTK2_FIND_LIBRARY(CAIROMM cairomm true true) _GTK2_ADD_TARGET (CAIROMM GTK2_DEPENDS cairo sigc++ - EXTRA_INCLUDES ${FREETYPE_INCLUDE_DIR_ft2build} ${FREETYPE_INCLUDE_DIR_freetype2}) + OPTIONAL_INCLUDES ${FREETYPE_INCLUDE_DIR_ft2build} ${FREETYPE_INCLUDE_DIR_freetype2}) _GTK2_FIND_INCLUDE_DIR(PANGOMM pangomm.h) _GTK2_FIND_INCLUDE_DIR(PANGOMMCONFIG pangommconfig.h) _GTK2_FIND_LIBRARY(PANGOMM pangomm true true) _GTK2_ADD_TARGET (PANGOMM GTK2_DEPENDS glibmm pangocairo sigc++ pango cairo gobject glib GTK2_OPTIONAL_DEPENDS cairomm - EXTRA_INCLUDES ${FREETYPE_INCLUDE_DIR_ft2build} ${FREETYPE_INCLUDE_DIR_freetype2}) + OPTIONAL_INCLUDES ${FR
[Cmake-commits] CMake branch, next, updated. v2.8.11.2-4372-g7d1bdc4
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 7d1bdc4634f7846c1c716883c45f4e506f6377fe (commit) via 2ede565e7bb9e0cd2e1cb91104f194b7c6797173 (commit) from 8b2eb31aa2d35897bd4b88ec4ee26f93cf1ee83f (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=7d1bdc4634f7846c1c716883c45f4e506f6377fe commit 7d1bdc4634f7846c1c716883c45f4e506f6377fe Merge: 8b2eb31 2ede565 Author: Patrick Reynolds AuthorDate: Mon Sep 30 15:33:05 2013 -0400 Commit: CMake Topic Stage CommitDate: Mon Sep 30 15:33:05 2013 -0400 Merge topic 'Add-coverage.py-Coverage' into next 2ede565 Removing warnings be reordering member declarations of parser. http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=2ede565e7bb9e0cd2e1cb91104f194b7c6797173 commit 2ede565e7bb9e0cd2e1cb91104f194b7c6797173 Author: Patrick Reynolds AuthorDate: Mon Sep 30 15:32:43 2013 -0400 Commit: Patrick Reynolds CommitDate: Mon Sep 30 15:32:43 2013 -0400 Removing warnings be reordering member declarations of parser. diff --git a/Source/CTest/cmParsePythonCoverage.cxx b/Source/CTest/cmParsePythonCoverage.cxx index ddd7945..49432ed 100644 --- a/Source/CTest/cmParsePythonCoverage.cxx +++ b/Source/CTest/cmParsePythonCoverage.cxx @@ -91,8 +91,8 @@ private: typedef cmCTestCoverageHandlerContainer::SingleFileCoverageVector FileLinesType; - cmCTestCoverageHandlerContainer& Coverage; cmCTest* CTest; + cmCTestCoverageHandlerContainer& Coverage; std::string CurFileName; }; --- Summary of changes: Source/CTest/cmParsePythonCoverage.cxx |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-4370-g8b2eb31
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 8b2eb31aa2d35897bd4b88ec4ee26f93cf1ee83f (commit) via dccd4949c05dbabbbdbeb67be2e8d618157099d5 (commit) from 92e0db00464f447dbab81d2cf94fec16ba8dcbd8 (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=8b2eb31aa2d35897bd4b88ec4ee26f93cf1ee83f commit 8b2eb31aa2d35897bd4b88ec4ee26f93cf1ee83f Merge: 92e0db0 dccd494 Author: Brad King AuthorDate: Mon Sep 30 15:06:05 2013 -0400 Commit: CMake Topic Stage CommitDate: Mon Sep 30 15:06:05 2013 -0400 Merge topic 'fix-duplicate-custom-commands' into next dccd494 Use first custom command for the same output (#14446) http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=dccd4949c05dbabbbdbeb67be2e8d618157099d5 commit dccd4949c05dbabbbdbeb67be2e8d618157099d5 Author: Brad King AuthorDate: Mon Sep 30 09:27:49 2013 -0400 Commit: Brad King CommitDate: Mon Sep 30 15:03:00 2013 -0400 Use first custom command for the same output (#14446) In buggy code like add_custom_command( OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/out.h MAIN_DEPENDENCY ${CMAKE_CURRENT_SOURCE_DIR}/out.h.in ...) add_custom_command( OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/out.h ...) that has more than one rule to generate the same output CMake has always used the first rule. However, since commit 2268c41a (Optimize custom command full-path dependency lookup, 2013-08-06) we update the map from output to cmSourceFile for every rule generating an output, effectively keeping the last command instead of the first. Fix this regression by checking for each map update if the output already has an entry. If so, keep only the original entry. The VS 8 generator triggers this with a special case for generate.stamp rules that differ between ZERO_CHECK and normal targets, so do not warn for now. Leave a TODO comment for warning in the future. diff --git a/Source/cmMakefile.cxx b/Source/cmMakefile.cxx index 08c9763..848b1f1 100644 --- a/Source/cmMakefile.cxx +++ b/Source/cmMakefile.cxx @@ -1033,6 +1033,19 @@ void cmMakefile::UpdateOutputToSourceMap(std::string const& output, cmSourceFile* source) { + OutputToSourceMap::iterator i = this->OutputToSource.find(output); + if(i != this->OutputToSource.end()) +{ +// Multiple custom commands produce the same output but may +// be attached to a different source file (MAIN_DEPENDENCY). +// LinearGetSourceFileWithOutput would return the first one, +// so keep the mapping for the first one. +// +// TODO: Warn the user about this case. However, the VS 8 generator +// triggers it for separate generate.stamp rules in ZERO_CHECK and +// individual targets. +return; +} this->OutputToSource[output] = source; } --- 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, next, updated. v2.8.11.2-4368-g92e0db0
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 92e0db00464f447dbab81d2cf94fec16ba8dcbd8 (commit) via 3e888cacac372295a5bbd00eee9e68d8a3226101 (commit) from d821938693a7bd425a810712c56a719e95aba71c (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=92e0db00464f447dbab81d2cf94fec16ba8dcbd8 commit 92e0db00464f447dbab81d2cf94fec16ba8dcbd8 Merge: d821938 3e888ca Author: Brad King AuthorDate: Mon Sep 30 15:02:05 2013 -0400 Commit: CMake Topic Stage CommitDate: Mon Sep 30 15:02:05 2013 -0400 Merge topic 'fix-duplicate-custom-commands' into next 3e888ca Do not warn on multiple custom commands for the same output (#14446) diff --cc Tests/RunCMake/CMakeLists.txt index e8001aa,1b9c17b..7fc3203 --- a/Tests/RunCMake/CMakeLists.txt +++ b/Tests/RunCMake/CMakeLists.txt @@@ -85,9 -85,7 +85,8 @@@ if(NOT WIN32 endif() endif() add_RunCMake_test(CompatibleInterface) +add_RunCMake_test(Syntax) - add_RunCMake_test(add_custom_command) add_RunCMake_test(add_dependencies) add_RunCMake_test(build_command) add_RunCMake_test(find_package) http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=3e888cacac372295a5bbd00eee9e68d8a3226101 commit 3e888cacac372295a5bbd00eee9e68d8a3226101 Author: Brad King AuthorDate: Mon Sep 30 14:57:11 2013 -0400 Commit: Brad King CommitDate: Mon Sep 30 14:57:11 2013 -0400 Do not warn on multiple custom commands for the same output (#14446) The VS 8 generator triggers the warning, and it is possible there are valid use cases with different rules to generate the same output going into different targets with different MAIN_DEPENDENCY options. Leave a TODO comment for warning in the future. diff --git a/Source/cmMakefile.cxx b/Source/cmMakefile.cxx index 292bc86..848b1f1 100644 --- a/Source/cmMakefile.cxx +++ b/Source/cmMakefile.cxx @@ -1036,13 +1036,14 @@ cmMakefile::UpdateOutputToSourceMap(std::string const& output, OutputToSourceMap::iterator i = this->OutputToSource.find(output); if(i != this->OutputToSource.end()) { -cmOStringStream m; -m << - "Attempt to add a custom command to generate\n" - " " << output << "\n" - "but source file \"" << i->second->GetLocation().GetName() << - "\" already has a custom command to generate it."; -this->IssueMessage(cmake::AUTHOR_WARNING, m.str()); +// Multiple custom commands produce the same output but may +// be attached to a different source file (MAIN_DEPENDENCY). +// LinearGetSourceFileWithOutput would return the first one, +// so keep the mapping for the first one. +// +// TODO: Warn the user about this case. However, the VS 8 generator +// triggers it for separate generate.stamp rules in ZERO_CHECK and +// individual targets. return; } this->OutputToSource[output] = source; diff --git a/Tests/RunCMake/CMakeLists.txt b/Tests/RunCMake/CMakeLists.txt index e2b1cec..1b9c17b 100644 --- a/Tests/RunCMake/CMakeLists.txt +++ b/Tests/RunCMake/CMakeLists.txt @@ -86,7 +86,6 @@ if(NOT WIN32) endif() add_RunCMake_test(CompatibleInterface) -add_RunCMake_test(add_custom_command) add_RunCMake_test(add_dependencies) add_RunCMake_test(build_command) add_RunCMake_test(find_package) diff --git a/Tests/RunCMake/add_custom_command/CMakeLists.txt b/Tests/RunCMake/add_custom_command/CMakeLists.txt deleted file mode 100644 index e8db6b0..000 --- a/Tests/RunCMake/add_custom_command/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/add_custom_command/DuplicateOutput-stderr.txt b/Tests/RunCMake/add_custom_command/DuplicateOutput-stderr.txt deleted file mode 100644 index 6ee49ec..000 --- a/Tests/RunCMake/add_custom_command/DuplicateOutput-stderr.txt +++ /dev/null @@ -1,9 +0,0 @@ -CMake Warning \(dev\) at DuplicateOutput.cmake:6 \(add_custom_command\): - Attempt to add a custom command to generate - -.*/Tests/RunCMake/add_custom_command/DuplicateOutput-build/out.h - - but source file "out.h.in" already has a custom command to generate it. -Call Stack \(most recent call first\): - CMakeLists.txt:3 \(include\) -This warning is for project developers. Use -Wno-dev to suppress it. diff --git a/Tests/RunCMake/add_custom_command/DuplicateOutput.cmake b/Tests/RunCMake/add_custom_command/DuplicateOutput.cmake deleted file mode 100644 index 7adc97c..000 --- a/Tests/RunCMake/add_custom_command/DuplicateOutput.cmake +++ /dev/null @@ -1,9 +0,0 @@ -add_custom_command( - OUTPUT ou
[Cmake-commits] CMake branch, next, updated. v2.8.11.2-4366-gd821938
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 d821938693a7bd425a810712c56a719e95aba71c (commit) via 1783c540201efd100ad5913b11bb6adf4bfe989a (commit) from fdc5a144f00c0c55410ea8bf9f4002332d82ea47 (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=d821938693a7bd425a810712c56a719e95aba71c commit d821938693a7bd425a810712c56a719e95aba71c Merge: fdc5a14 1783c54 Author: Patrick Reynolds AuthorDate: Mon Sep 30 14:53:34 2013 -0400 Commit: CMake Topic Stage CommitDate: Mon Sep 30 14:53:34 2013 -0400 Merge topic 'Add-coverage.py-Coverage' into next 1783c54 Remove call to base class default contructor. http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=1783c540201efd100ad5913b11bb6adf4bfe989a commit 1783c540201efd100ad5913b11bb6adf4bfe989a Author: Patrick Reynolds AuthorDate: Mon Sep 30 14:53:27 2013 -0400 Commit: Patrick Reynolds CommitDate: Mon Sep 30 14:53:27 2013 -0400 Remove call to base class default contructor. Some compilers complained. diff --git a/Source/CTest/cmParsePythonCoverage.cxx b/Source/CTest/cmParsePythonCoverage.cxx index 56a36fa..ddd7945 100644 --- a/Source/CTest/cmParsePythonCoverage.cxx +++ b/Source/CTest/cmParsePythonCoverage.cxx @@ -12,7 +12,6 @@ public: XMLParser(cmCTest* ctest, cmCTestCoverageHandlerContainer& cont) : CTest(ctest), Coverage(cont) { -cmXMLParser::cmXMLParser(); } virtual ~XMLParser() --- Summary of changes: Source/CTest/cmParsePythonCoverage.cxx |1 - 1 files changed, 0 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-4364-gfdc5a14
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 fdc5a144f00c0c55410ea8bf9f4002332d82ea47 (commit) via ddc5cbeb49830139bea09b64d27b2383e0704e57 (commit) via eeb110aa1d6ae0eba760d7eaab40fcbb93aa3bb0 (commit) via a1bf495c19da468c1fb3790b939f0ba7e50117da (commit) via cb2d8b5fb51bd6151b8276a6c3ce923f0dc4e2ed (commit) via 5d6b0907a23849f512bfb1058f536b490bff5359 (commit) via 6ee1404ba1e646c590980c52682ae43a6564b4d3 (commit) from ec046f40850478b2f914650fb154688bfaaca7af (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=fdc5a144f00c0c55410ea8bf9f4002332d82ea47 commit fdc5a144f00c0c55410ea8bf9f4002332d82ea47 Merge: ec046f4 ddc5cbe Author: Patrick Reynolds AuthorDate: Mon Sep 30 14:31:03 2013 -0400 Commit: CMake Topic Stage CommitDate: Mon Sep 30 14:31:03 2013 -0400 Merge topic 'Add-coverage.py-Coverage' into next ddc5cbe Improving python coverage error handling. eeb110a Cleaning up logging output and eliminating redundant comments. a1bf495 Fix the failing coverage test by removing an off-by-one error. cb2d8b5 Adding a test for Python coverage.py xml output. 5d6b090 Pull the coverage.xml file from the binary directory. 6ee1404 Adding support for the Python coverage.py tool. http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=ddc5cbeb49830139bea09b64d27b2383e0704e57 commit ddc5cbeb49830139bea09b64d27b2383e0704e57 Author: Patrick Reynolds AuthorDate: Sun Sep 29 14:06:49 2013 -0400 Commit: Patrick Reynolds CommitDate: Sun Sep 29 14:06:49 2013 -0400 Improving python coverage error handling. Properly incrementing the Error variable and output a message with the ERROR context where appropriate. diff --git a/Source/CTest/cmCTestCoverageHandler.cxx b/Source/CTest/cmCTestCoverageHandler.cxx index a577fb9..ef071b9 100644 --- a/Source/CTest/cmCTestCoverageHandler.cxx +++ b/Source/CTest/cmCTestCoverageHandler.cxx @@ -394,6 +394,7 @@ int cmCTestCoverageHandler::ProcessHandler() return error; } file_count += this->HandlePythonCoverage(&cont); + error = cont.Error; if ( file_count < 0 ) { return error; diff --git a/Source/CTest/cmParsePythonCoverage.cxx b/Source/CTest/cmParsePythonCoverage.cxx index e5153c7..56a36fa 100644 --- a/Source/CTest/cmParsePythonCoverage.cxx +++ b/Source/CTest/cmParsePythonCoverage.cxx @@ -39,9 +39,10 @@ protected: std::ifstream fin(this->CurFileName.c_str()); if(!fin) { -cmCTestLog(this->CTest, HANDLER_VERBOSE_OUTPUT, +cmCTestLog(this->CTest, ERROR_MESSAGE, "Python Coverage: Error opening " << this->CurFileName << std::endl); +this->Coverage.Error++; break; } http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=eeb110aa1d6ae0eba760d7eaab40fcbb93aa3bb0 commit eeb110aa1d6ae0eba760d7eaab40fcbb93aa3bb0 Author: Patrick Reynolds AuthorDate: Sun Sep 29 13:55:51 2013 -0400 Commit: Patrick Reynolds CommitDate: Sun Sep 29 13:55:51 2013 -0400 Cleaning up logging output and eliminating redundant comments. diff --git a/Source/CTest/cmParsePythonCoverage.cxx b/Source/CTest/cmParsePythonCoverage.cxx index 39cfe5f..e5153c7 100644 --- a/Source/CTest/cmParsePythonCoverage.cxx +++ b/Source/CTest/cmParsePythonCoverage.cxx @@ -30,7 +30,7 @@ protected: { if(strcmp(atts[tagCount], "filename") == 0) { - cmCTestLog(this->CTest, HANDLER_VERBOSE_OUTPUT, "filename: " + cmCTestLog(this->CTest, HANDLER_VERBOSE_OUTPUT, "Reading file: " << atts[tagCount+1] << std::endl); this->CurFileName = this->Coverage.SourceDir + "/" + atts[tagCount+1]; @@ -83,15 +83,9 @@ protected: ++tagCount; } } -/*cmCTestLog(this->CTest, HANDLER_VERBOSE_OUTPUT, "Starting tag: " << name - << std::endl);*/ } - virtual void EndElement(const char* name) - { -/*cmCTestLog(this->CTest, HANDLER_VERBOSE_OUTPUT, "Ending tag: " << name - << std::endl);*/ - } + virtual void EndElement(const char* name) {} private: http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=a1bf495c19da468c1fb3790b939f0ba7e50117da commit a1bf495c19da468c1fb3790b939f0ba7e50117da Author: Patrick Reynolds AuthorDate: Sun Sep 29 13:55:16 2013 -0400 Commit: Patrick Reynolds CommitDate: Sun Sep 29 13:55:16 2013 -0400 Fix the failing coverage test by removing an off-by-one error. diff --git a/Source/CTes
[Cmake-commits] CMake branch, next, updated. v2.8.11.2-4357-gec046f4
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 ec046f40850478b2f914650fb154688bfaaca7af (commit) via 9a435e716b0b7f326fbeefeec2a1c1e20d128b66 (commit) from 4f3b3f79bb62701b1338de22c1d99758db1d3acd (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=ec046f40850478b2f914650fb154688bfaaca7af commit ec046f40850478b2f914650fb154688bfaaca7af Merge: 4f3b3f7 9a435e7 Author: Stephen Kelly AuthorDate: Mon Sep 30 13:00:00 2013 -0400 Commit: CMake Topic Stage CommitDate: Mon Sep 30 13:00:00 2013 -0400 Merge topic 'INTERFACE_LIBRARY-target-type' into next 9a435e7 Replace generated export headers with defines. http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=9a435e716b0b7f326fbeefeec2a1c1e20d128b66 commit 9a435e716b0b7f326fbeefeec2a1c1e20d128b66 Author: Stephen Kelly AuthorDate: Mon Sep 30 18:58:22 2013 +0200 Commit: Stephen Kelly CommitDate: Mon Sep 30 18:58:22 2013 +0200 Replace generated export headers with defines. The generated headers are not used, but pic_test.h is used instead, which depends on the definition of PIC_TEST_BUILD_DLL. diff --git a/Tests/PositionIndependentTargets/interface/CMakeLists.txt b/Tests/PositionIndependentTargets/interface/CMakeLists.txt index 8595ffc..65f3b76 100644 --- a/Tests/PositionIndependentTargets/interface/CMakeLists.txt +++ b/Tests/PositionIndependentTargets/interface/CMakeLists.txt @@ -5,18 +5,16 @@ set_property(TARGET piciface PROPERTY INTERFACE_POSITION_INDEPENDENT_CODE ON) add_executable(test_empty_iface "${CMAKE_CURRENT_SOURCE_DIR}/../pic_main.cpp") target_link_libraries(test_empty_iface piciface) -include(GenerateExportHeader) - add_library(sharedlib SHARED "${CMAKE_CURRENT_SOURCE_DIR}/../pic_lib.cpp") target_link_libraries(sharedlib piciface) -generate_export_header(sharedlib) +set_property(TARGET sharedlib PROPERTY DEFINE_SYMBOL PIC_TEST_BUILD_DLL) add_executable(test_iface_via_shared "${CMAKE_CURRENT_SOURCE_DIR}/../pic_main.cpp") target_link_libraries(test_iface_via_shared sharedlib) add_library(sharedlibpic SHARED "${CMAKE_CURRENT_SOURCE_DIR}/../pic_lib.cpp") set_property(TARGET sharedlibpic PROPERTY INTERFACE_POSITION_INDEPENDENT_CODE ON) -generate_export_header(sharedlibpic) +set_property(TARGET sharedlibpic PROPERTY DEFINE_SYMBOL PIC_TEST_BUILD_DLL) add_library(shared_iface INTERFACE) target_link_libraries(shared_iface INTERFACE sharedlibpic) --- Summary of changes: .../interface/CMakeLists.txt |6 ++ 1 files changed, 2 insertions(+), 4 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-4355-g4f3b3f7
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 4f3b3f79bb62701b1338de22c1d99758db1d3acd (commit) via fb8329d630d11d7ca9b7b288307c3c2bde3d7bf1 (commit) from 73a36cae17a1ff85c4ab65c289222e1d0ef4236e (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=4f3b3f79bb62701b1338de22c1d99758db1d3acd commit 4f3b3f79bb62701b1338de22c1d99758db1d3acd Merge: 73a36ca fb8329d Author: Stephen Kelly AuthorDate: Mon Sep 30 12:03:45 2013 -0400 Commit: CMake Topic Stage CommitDate: Mon Sep 30 12:03:45 2013 -0400 Merge topic 'INTERFACE_LIBRARY-target-type' into next fb8329d Make the dummy method public. http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=fb8329d630d11d7ca9b7b288307c3c2bde3d7bf1 commit fb8329d630d11d7ca9b7b288307c3c2bde3d7bf1 Author: Stephen Kelly AuthorDate: Mon Sep 30 17:58:24 2013 +0200 Commit: Stephen Kelly CommitDate: Mon Sep 30 17:58:24 2013 +0200 Make the dummy method public. This may satisfy the Watcom compiler: D:\Dashboards\My Tests\CMake\Tests\PositionIndependentTargets\pic_lib.cpp(7): Warning! W011: col(1) all members are private Linking CXX static library test_target_static_library_properties.lib [ 53%] Built target test_target_static_library_properties Scanning dependencies of target sharedlib [ 61%] Building CXX object interface/CMakeFiles/sharedlib.dir/__/pic_lib.cpp.obj Linking CXX shared library sharedlib.dll Error! No exports in 'sharedlib.dll' Error(E42): Last command making (interface\sharedlib.dll) returned a bad status Error(E02): Make execution terminated Error(E42): Last command making (interface\CMakeFiles\sharedlib.dir\all) returned a bad status Error(E02): Make execution terminated Error(E42): Last command making (all) returned a bad status Error(E02): Make execution terminated diff --git a/Tests/PositionIndependentTargets/pic_lib.cpp b/Tests/PositionIndependentTargets/pic_lib.cpp index b8b25a3..b4d8aae 100644 --- a/Tests/PositionIndependentTargets/pic_lib.cpp +++ b/Tests/PositionIndependentTargets/pic_lib.cpp @@ -3,6 +3,7 @@ class PIC_TEST_EXPORT Dummy { +public: int dummy(); }; --- Summary of changes: Tests/PositionIndependentTargets/pic_lib.cpp |1 + 1 files changed, 1 insertions(+), 0 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-4353-g73a36ca
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 73a36cae17a1ff85c4ab65c289222e1d0ef4236e (commit) via 68bfed63764c19a63bc76ac9be45b44034ade874 (commit) from 5e530c1f1d16a33ad01b9832a68a8d3a491bb4c0 (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=73a36cae17a1ff85c4ab65c289222e1d0ef4236e commit 73a36cae17a1ff85c4ab65c289222e1d0ef4236e Merge: 5e530c1 68bfed6 Author: Brad King AuthorDate: Mon Sep 30 09:54:30 2013 -0400 Commit: CMake Topic Stage CommitDate: Mon Sep 30 09:54:30 2013 -0400 Merge topic 'fix-duplicate-custom-commands' into next 68bfed6 Warn and skip multiple custom commands for the same output (#14446) diff --cc Tests/RunCMake/CMakeLists.txt index 7fc3203,e2b1cec..e8001aa --- a/Tests/RunCMake/CMakeLists.txt +++ b/Tests/RunCMake/CMakeLists.txt @@@ -85,8 -85,8 +85,9 @@@ if(NOT WIN32 endif() endif() add_RunCMake_test(CompatibleInterface) +add_RunCMake_test(Syntax) + add_RunCMake_test(add_custom_command) add_RunCMake_test(add_dependencies) add_RunCMake_test(build_command) add_RunCMake_test(find_package) http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=68bfed63764c19a63bc76ac9be45b44034ade874 commit 68bfed63764c19a63bc76ac9be45b44034ade874 Author: Brad King AuthorDate: Mon Sep 30 09:27:49 2013 -0400 Commit: Brad King CommitDate: Mon Sep 30 09:39:42 2013 -0400 Warn and skip multiple custom commands for the same output (#14446) In buggy code like add_custom_command( OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/out.h MAIN_DEPENDENCY ${CMAKE_CURRENT_SOURCE_DIR}/out.h.in ...) add_custom_command( OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/out.h ...) that has more than one rule to generate the same output CMake has always used the first rule. However, since commit 2268c41a (Optimize custom command full-path dependency lookup, 2013-08-06) we update the map from output to cmSourceFile for every rule generating an output, effectively keeping the last command instead of the first. Fix this regression by checking for each map update if the output already has an entry. If so, keep only the original entry. Also generate a warning to help authors track down such cases and fix their projects. diff --git a/Source/cmMakefile.cxx b/Source/cmMakefile.cxx index 08c9763..292bc86 100644 --- a/Source/cmMakefile.cxx +++ b/Source/cmMakefile.cxx @@ -1033,6 +1033,18 @@ void cmMakefile::UpdateOutputToSourceMap(std::string const& output, cmSourceFile* source) { + OutputToSourceMap::iterator i = this->OutputToSource.find(output); + if(i != this->OutputToSource.end()) +{ +cmOStringStream m; +m << + "Attempt to add a custom command to generate\n" + " " << output << "\n" + "but source file \"" << i->second->GetLocation().GetName() << + "\" already has a custom command to generate it."; +this->IssueMessage(cmake::AUTHOR_WARNING, m.str()); +return; +} this->OutputToSource[output] = source; } diff --git a/Tests/RunCMake/CMakeLists.txt b/Tests/RunCMake/CMakeLists.txt index 1b9c17b..e2b1cec 100644 --- a/Tests/RunCMake/CMakeLists.txt +++ b/Tests/RunCMake/CMakeLists.txt @@ -86,6 +86,7 @@ if(NOT WIN32) endif() add_RunCMake_test(CompatibleInterface) +add_RunCMake_test(add_custom_command) add_RunCMake_test(add_dependencies) add_RunCMake_test(build_command) add_RunCMake_test(find_package) diff --git a/Tests/RunCMake/add_custom_command/CMakeLists.txt b/Tests/RunCMake/add_custom_command/CMakeLists.txt new file mode 100644 index 000..e8db6b0 --- /dev/null +++ b/Tests/RunCMake/add_custom_command/CMakeLists.txt @@ -0,0 +1,3 @@ +cmake_minimum_required(VERSION 2.8) +project(${RunCMake_TEST} NONE) +include(${RunCMake_TEST}.cmake) diff --git a/Tests/RunCMake/add_custom_command/DuplicateOutput-stderr.txt b/Tests/RunCMake/add_custom_command/DuplicateOutput-stderr.txt new file mode 100644 index 000..6ee49ec --- /dev/null +++ b/Tests/RunCMake/add_custom_command/DuplicateOutput-stderr.txt @@ -0,0 +1,9 @@ +CMake Warning \(dev\) at DuplicateOutput.cmake:6 \(add_custom_command\): + Attempt to add a custom command to generate + +.*/Tests/RunCMake/add_custom_command/DuplicateOutput-build/out.h + + but source file "out.h.in" already has a custom command to generate it. +Call Stack \(most recent call first\): + CMakeLists.txt:3 \(include\) +This warning is for project developers. Use -Wno-dev to suppress it. diff --git a/Tests/RunCMake/add_custom_command/DuplicateOutput.cmake b/Tests/RunCM