From 19cb2ca47f2678a9eafc16f821fc786d3d8f5d0b Mon Sep 17 00:00:00 2001 From: Brad King Date: Tue, 11 Jan 2011 10:01:30 -0500 Subject: [PATCH] Disable SubDirSpaces parens with GNU Make 3.82 (#11654) GNU Make 3.82 incorrectly parses make dependencies involving parentheses in path names. See related upstream issue: http://savannah.gnu.org/bugs/?30612 Skip testing the ()-named subdirectory. --- Tests/SubDirSpaces/CMakeLists.txt | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/Tests/SubDirSpaces/CMakeLists.txt b/Tests/SubDirSpaces/CMakeLists.txt index a647fef30..879530b56 100644 --- a/Tests/SubDirSpaces/CMakeLists.txt +++ b/Tests/SubDirSpaces/CMakeLists.txt @@ -13,7 +13,15 @@ set(CMAKE_PAREN TRUE) IF("${CMAKE_MAKE_PROGRAM}" MATCHES "wmake") message("wmake does not support () in path") set(CMAKE_PAREN FALSE) -ENDIF("${CMAKE_MAKE_PROGRAM}" MATCHES "wmake") +elseif("${CMAKE_MAKE_PROGRAM}" MATCHES "make") + execute_process(COMMAND ${CMAKE_MAKE_PROGRAM} no_such_target --version + RESULT_VARIABLE res OUTPUT_VARIABLE out ERROR_VARIABLE out) + if("${out}" MATCHES "GNU Make 3.82") + # GNU Make 3.82 fails on parens: http://savannah.gnu.org/bugs/?30612 + message(STATUS "GNU Make 3.82 sometimes fails on () in path") + set(CMAKE_PAREN FALSE) + endif() +endif() IF(CMAKE_PAREN) ADD_DEFINITIONS(-DCMAKE_PAREN=1)