From 4d509437cb23f372845fba98fc8d57887c53fa70 Mon Sep 17 00:00:00 2001 From: Kai Wang Date: Mon, 11 Jan 2021 06:55:41 +0000 Subject: cmDepends: disable long line dependencies for nmake This is a follow-up to commit b696f78073 (cmDepends: merge dependers of depend makefile, 2020-12-18). NMake of visual studio has many versions that not support long line dependencies of make rule. Signed-off-by: Wangkai Fixes: #21681 --- Source/cmGlobalNMakeMakefileGenerator.cxx | 2 ++ Tests/IncludeDirectories/CMakeLists.txt | 8 +------- 2 files changed, 3 insertions(+), 7 deletions(-) diff --git a/Source/cmGlobalNMakeMakefileGenerator.cxx b/Source/cmGlobalNMakeMakefileGenerator.cxx index c4bec23..36f583f 100644 --- a/Source/cmGlobalNMakeMakefileGenerator.cxx +++ b/Source/cmGlobalNMakeMakefileGenerator.cxx @@ -21,6 +21,8 @@ cmGlobalNMakeMakefileGenerator::cmGlobalNMakeMakefileGenerator(cmake* cm) this->PassMakeflags = true; this->UnixCD = false; this->MakeSilentFlag = "/nologo"; + // nmake breaks on '!' in long-line dependencies + this->ToolSupportsLongLineDependencies = false; } void cmGlobalNMakeMakefileGenerator::EnableLanguage( diff --git a/Tests/IncludeDirectories/CMakeLists.txt b/Tests/IncludeDirectories/CMakeLists.txt index d980a52..d4c19c7 100644 --- a/Tests/IncludeDirectories/CMakeLists.txt +++ b/Tests/IncludeDirectories/CMakeLists.txt @@ -67,13 +67,7 @@ else() endif() # Test escaping of special characters in include directory paths. -set(special_chars "~@&{}()'") -if(NOT (CMAKE_GENERATOR STREQUAL "NMake Makefiles" AND - "x${CMAKE_C_COMPILER_ID}" STREQUAL "xMSVC" AND - "${CMAKE_C_COMPILER_VERSION}" VERSION_LESS 13.0)) - # NMake from VS 6 mistakes '!' in a path after a line continuation for a directive. - string(APPEND special_chars "!") -endif() +set(special_chars "~@&{}()!'") if(NOT CMAKE_GENERATOR MATCHES "(Unix|MinGW|MSYS) Makefiles") # when compiler is used for dependencies, special characters for make are not escaped string(APPEND special_chars "%") -- cgit v0.12