diff options
-rw-r--r-- | Modules/CMakeCCompilerId.c.in | 6 | ||||
-rw-r--r-- | Modules/CMakeCXXCompilerId.cpp.in | 6 | ||||
-rw-r--r-- | Modules/CMakeFindDependencyMacro.cmake | 7 | ||||
-rw-r--r-- | Source/cmTarget.cxx | 7 | ||||
-rw-r--r-- | Tests/RunCMake/CMP0046/CMP0046-Duplicate-result.txt | 1 | ||||
-rw-r--r-- | Tests/RunCMake/CMP0046/CMP0046-Duplicate-stderr.txt | 10 | ||||
-rw-r--r-- | Tests/RunCMake/CMP0046/CMP0046-Duplicate.cmake | 9 | ||||
-rw-r--r-- | Tests/RunCMake/CMP0046/RunCMakeTest.cmake | 1 | ||||
-rw-r--r-- | Tests/RunCMake/CMP0046/empty.cpp | 7 |
9 files changed, 46 insertions, 8 deletions
diff --git a/Modules/CMakeCCompilerId.c.in b/Modules/CMakeCCompilerId.c.in index 52f9590..561ccf2 100644 --- a/Modules/CMakeCCompilerId.c.in +++ b/Modules/CMakeCCompilerId.c.in @@ -14,7 +14,11 @@ /* __INTEL_COMPILER = VRP */ # define COMPILER_VERSION_MAJOR DEC(__INTEL_COMPILER/100) # define COMPILER_VERSION_MINOR DEC(__INTEL_COMPILER/10 % 10) -# define COMPILER_VERSION_PATCH DEC(__INTEL_COMPILER % 10) +# if defined(__INTEL_COMPILER_UPDATE) +# define COMPILER_VERSION_PATCH DEC(__INTEL_COMPILER_UPDATE) +# else +# define COMPILER_VERSION_PATCH DEC(__INTEL_COMPILER % 10) +# endif # if defined(__INTEL_COMPILER_BUILD_DATE) /* __INTEL_COMPILER_BUILD_DATE = YYYYMMDD */ # define COMPILER_VERSION_TWEAK DEC(__INTEL_COMPILER_BUILD_DATE) diff --git a/Modules/CMakeCXXCompilerId.cpp.in b/Modules/CMakeCXXCompilerId.cpp.in index 25ceb3f..6c602d4 100644 --- a/Modules/CMakeCXXCompilerId.cpp.in +++ b/Modules/CMakeCXXCompilerId.cpp.in @@ -19,7 +19,11 @@ /* __INTEL_COMPILER = VRP */ # define COMPILER_VERSION_MAJOR DEC(__INTEL_COMPILER/100) # define COMPILER_VERSION_MINOR DEC(__INTEL_COMPILER/10 % 10) -# define COMPILER_VERSION_PATCH DEC(__INTEL_COMPILER % 10) +# if defined(__INTEL_COMPILER_UPDATE) +# define COMPILER_VERSION_PATCH DEC(__INTEL_COMPILER_UPDATE) +# else +# define COMPILER_VERSION_PATCH DEC(__INTEL_COMPILER % 10) +# endif # if defined(__INTEL_COMPILER_BUILD_DATE) /* __INTEL_COMPILER_BUILD_DATE = YYYYMMDD */ # define COMPILER_VERSION_TWEAK DEC(__INTEL_COMPILER_BUILD_DATE) diff --git a/Modules/CMakeFindDependencyMacro.cmake b/Modules/CMakeFindDependencyMacro.cmake index 99ffca8..73efaae 100644 --- a/Modules/CMakeFindDependencyMacro.cmake +++ b/Modules/CMakeFindDependencyMacro.cmake @@ -31,14 +31,17 @@ macro(find_dependency dep) if (NOT ${dep}_FOUND) set(cmake_fd_version) if (${ARGC} GREATER 1) - if (${ARGV1} STREQUAL EXACT) + if ("${ARGV1}" STREQUAL "") + message(FATAL_ERROR "Invalid arguments to find_dependency. VERSION is empty") + endif() + if ("${ARGV1}" STREQUAL EXACT) message(FATAL_ERROR "Invalid arguments to find_dependency. EXACT may only be specified if a VERSION is specified") endif() set(cmake_fd_version ${ARGV1}) endif() set(cmake_fd_exact_arg) if(${ARGC} GREATER 2) - if (NOT ${ARGV2} STREQUAL EXACT) + if (NOT "${ARGV2}" STREQUAL EXACT) message(FATAL_ERROR "Invalid arguments to find_dependency") endif() set(cmake_fd_exact_arg EXACT) diff --git a/Source/cmTarget.cxx b/Source/cmTarget.cxx index 84a9a7c..3fb79d8 100644 --- a/Source/cmTarget.cxx +++ b/Source/cmTarget.cxx @@ -403,11 +403,10 @@ void cmTarget::SetMakefile(cmMakefile* mf) //---------------------------------------------------------------------------- void cmTarget::AddUtility(const char *u, cmMakefile *makefile) { - this->Utilities.insert(u); - if(makefile) - { + if(this->Utilities.insert(u).second && makefile) + { makefile->GetBacktrace(UtilityBacktraces[u]); - } + } } //---------------------------------------------------------------------------- diff --git a/Tests/RunCMake/CMP0046/CMP0046-Duplicate-result.txt b/Tests/RunCMake/CMP0046/CMP0046-Duplicate-result.txt new file mode 100644 index 0000000..573541a --- /dev/null +++ b/Tests/RunCMake/CMP0046/CMP0046-Duplicate-result.txt @@ -0,0 +1 @@ +0 diff --git a/Tests/RunCMake/CMP0046/CMP0046-Duplicate-stderr.txt b/Tests/RunCMake/CMP0046/CMP0046-Duplicate-stderr.txt new file mode 100644 index 0000000..fb31d6d --- /dev/null +++ b/Tests/RunCMake/CMP0046/CMP0046-Duplicate-stderr.txt @@ -0,0 +1,10 @@ +CMake Warning \(dev\) at CMP0046-Duplicate.cmake:5 \(add_dependencies\): + Policy CMP0046 is not set: Error on non-existent dependency in + add_dependencies. Run "cmake --help-policy CMP0046" for policy details. + Use the cmake_policy command to set the policy and suppress this warning. + + The dependency target "ctgt_no_exist" of target "dummy" does not exist. +Call Stack \(most recent call first\): + CMP0046-Duplicate.cmake:8 \(add_dep\) + CMakeLists.txt:3 \(include\) +This warning is for project developers. Use -Wno-dev to suppress it. diff --git a/Tests/RunCMake/CMP0046/CMP0046-Duplicate.cmake b/Tests/RunCMake/CMP0046/CMP0046-Duplicate.cmake new file mode 100644 index 0000000..26e640b --- /dev/null +++ b/Tests/RunCMake/CMP0046/CMP0046-Duplicate.cmake @@ -0,0 +1,9 @@ + +add_library(dummy empty.cpp) + +macro(add_dep) + add_dependencies(dummy ctgt_no_exist) +endmacro() + +add_dep() +add_dep() diff --git a/Tests/RunCMake/CMP0046/RunCMakeTest.cmake b/Tests/RunCMake/CMP0046/RunCMakeTest.cmake index 5131e5b..0a39c76 100644 --- a/Tests/RunCMake/CMP0046/RunCMakeTest.cmake +++ b/Tests/RunCMake/CMP0046/RunCMakeTest.cmake @@ -6,3 +6,4 @@ run_cmake(CMP0046-WARN-missing-dependency) run_cmake(CMP0046-OLD-existing-dependency) run_cmake(CMP0046-NEW-existing-dependency) +run_cmake(CMP0046-Duplicate) diff --git a/Tests/RunCMake/CMP0046/empty.cpp b/Tests/RunCMake/CMP0046/empty.cpp new file mode 100644 index 0000000..bfbbdde --- /dev/null +++ b/Tests/RunCMake/CMP0046/empty.cpp @@ -0,0 +1,7 @@ +#ifdef _WIN32 +__declspec(dllexport) +#endif +int empty() +{ + return 0; +} |