[Cmake-commits] CMake branch, master, updated. v3.8.0-1019-ge80e8eb

Kitware Robot kwrobot at kitware.com
Mon May 1 09:25:05 EDT 2017


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  e80e8eb609cc7dd8c4dca46b9c2819afd2293229 (commit)
       via  79f4a772dc268cdd5d2bc4ec51b5f57cf26b1751 (commit)
       via  a2a13e8b48b5b55f2c6fd4e457936f91fe23f699 (commit)
       via  6b7ec8ea1c3cfbfeb46c5f12a3304f292a1b88bb (commit)
       via  7f4eaf234820be3e62217c4a7597d7ef96179e97 (commit)
       via  9bad0dfccedcc1cd71ee2579486f6729cb9d7749 (commit)
       via  8927e913f780fa62c540063b8a5cfe0dcbfdd288 (commit)
       via  6555286c5551e3e051ba9814e9f02f62b2963446 (commit)
       via  54a4d28dcffddda52b886af091ddeb3d955c0b17 (commit)
       via  7d057b2738e229192ae5afe71d50354681813235 (commit)
       via  b13bc8659f87567b1b091806d42f5023b2a6b48b (commit)
      from  033d4f37a7a31c640294924f732d0f735bdcacbc (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 -----------------------------------------------------------------
https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=e80e8eb609cc7dd8c4dca46b9c2819afd2293229
commit e80e8eb609cc7dd8c4dca46b9c2819afd2293229
Merge: 79f4a77 7f4eaf2
Author:     Brad King <brad.king at kitware.com>
AuthorDate: Mon May 1 13:18:00 2017 +0000
Commit:     Kitware Robot <kwrobot at kitware.com>
CommitDate: Mon May 1 09:18:06 2017 -0400

    Merge topic 'yacclex-clang-tidy'
    
    7f4eaf23 LexerParser: disable clang-tidy checks
    9bad0dfc LexerParser: move to custom directory
    8927e913 CMakeLists: remove option to regenerate yacc/lex
    
    Acked-by: Kitware Robot <kwrobot at kitware.com>
    Merge-request: !775


https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=79f4a772dc268cdd5d2bc4ec51b5f57cf26b1751
commit 79f4a772dc268cdd5d2bc4ec51b5f57cf26b1751
Merge: a2a13e8 b13bc86
Author:     Brad King <brad.king at kitware.com>
AuthorDate: Mon May 1 13:16:34 2017 +0000
Commit:     Kitware Robot <kwrobot at kitware.com>
CommitDate: Mon May 1 09:16:39 2017 -0400

    Merge topic 'qt-clang-tidy'
    
    b13bc865 Disable clang-tidy checks on files generated by Qt
    
    Acked-by: Kitware Robot <kwrobot at kitware.com>
    Merge-request: !777


https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=a2a13e8b48b5b55f2c6fd4e457936f91fe23f699
commit a2a13e8b48b5b55f2c6fd4e457936f91fe23f699
Merge: 6b7ec8e 7d057b2
Author:     Brad King <brad.king at kitware.com>
AuthorDate: Mon May 1 13:15:40 2017 +0000
Commit:     Kitware Robot <kwrobot at kitware.com>
CommitDate: Mon May 1 09:15:46 2017 -0400

    Merge topic 'ipo-clang'
    
    7d057b27 Clang IPO (LTO) support
    
    Acked-by: Kitware Robot <kwrobot at kitware.com>
    Merge-request: !717


https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=6b7ec8ea1c3cfbfeb46c5f12a3304f292a1b88bb
commit 6b7ec8ea1c3cfbfeb46c5f12a3304f292a1b88bb
Merge: 033d4f3 6555286
Author:     Brad King <brad.king at kitware.com>
AuthorDate: Mon May 1 13:14:49 2017 +0000
Commit:     Kitware Robot <kwrobot at kitware.com>
CommitDate: Mon May 1 09:15:07 2017 -0400

    Merge topic 'xl-enhancements'
    
    6555286c XL: Add C and C++ language level flags
    54a4d28d XL: Add additional regex for bogus compile options
    
    Acked-by: Kitware Robot <kwrobot at kitware.com>
    Merge-request: !776


https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=7f4eaf234820be3e62217c4a7597d7ef96179e97
commit 7f4eaf234820be3e62217c4a7597d7ef96179e97
Author:     Daniel Pfeifer <daniel at pfeifer-mail.de>
AuthorDate: Fri Apr 28 20:26:55 2017 +0200
Commit:     Daniel Pfeifer <daniel at pfeifer-mail.de>
CommitDate: Fri Apr 28 23:10:39 2017 +0200

    LexerParser: disable clang-tidy checks

diff --git a/Source/LexerParser/.clang-tidy b/Source/LexerParser/.clang-tidy
new file mode 100644
index 0000000..52b11bf
--- /dev/null
+++ b/Source/LexerParser/.clang-tidy
@@ -0,0 +1,6 @@
+---
+# We want to disable all checks for generated code.  However, clang-tidy will
+# assume we did not configure it correctly.  Just add one check that will never
+# be found.
+Checks: '-*,llvm-twine-local'
+...

https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=9bad0dfccedcc1cd71ee2579486f6729cb9d7749
commit 9bad0dfccedcc1cd71ee2579486f6729cb9d7749
Author:     Daniel Pfeifer <daniel at pfeifer-mail.de>
AuthorDate: Fri Apr 28 20:26:55 2017 +0200
Commit:     Daniel Pfeifer <daniel at pfeifer-mail.de>
CommitDate: Fri Apr 28 23:10:39 2017 +0200

    LexerParser: move to custom directory

diff --git a/Source/.gitattributes b/Source/.gitattributes
index f69ad9d..0f829a3 100644
--- a/Source/.gitattributes
+++ b/Source/.gitattributes
@@ -1,20 +1,2 @@
-/cmCommandArgumentLexer.cxx        generated
-/cmCommandArgumentLexer.h          generated
-/cmCommandArgumentParser.cxx       generated
-/cmCommandArgumentParserTokens.h   generated
-/cmDependsJavaLexer.cxx            generated
-/cmDependsJavaLexer.h              generated
-/cmDependsJavaParser.cxx           generated
-/cmDependsJavaParserTokens.h       generated
-/cmExprLexer.cxx                   generated
-/cmExprLexer.h                     generated
-/cmExprParser.cxx                  generated
-/cmExprParserTokens.h              generated
-/cmFortranLexer.cxx                generated
-/cmFortranLexer.h                  generated
-/cmFortranParser.cxx               generated
-/cmFortranParserTokens.h           generated
-/cmListFileLexer.c                 generated
-
 # Do not format third-party sources.
 /kwsys/**                                  -format.clang-format
diff --git a/Source/CMakeLists.txt b/Source/CMakeLists.txt
index 7c72a11..1ea75bf 100644
--- a/Source/CMakeLists.txt
+++ b/Source/CMakeLists.txt
@@ -78,6 +78,7 @@ configure_file(
 include_directories(
   "${CMake_BINARY_DIR}/Source"
   "${CMake_SOURCE_DIR}/Source"
+  "${CMake_SOURCE_DIR}/Source/LexerParser"
   ${CMAKE_ZLIB_INCLUDES}
   ${CMAKE_EXPAT_INCLUDES}
   ${CMAKE_TAR_INCLUDES}
@@ -102,14 +103,40 @@ endif()
 # Sources for CMakeLib
 #
 set(SRCS
+  # Lexers/Parsers
+  LexerParser/cmCommandArgumentLexer.cxx
+  LexerParser/cmCommandArgumentLexer.h
+  LexerParser/cmCommandArgumentLexer.in.l
+  LexerParser/cmCommandArgumentParser.cxx
+  LexerParser/cmCommandArgumentParserTokens.h
+  LexerParser/cmCommandArgumentParser.y
+  LexerParser/cmDependsJavaLexer.cxx
+  LexerParser/cmDependsJavaLexer.h
+  LexerParser/cmDependsJavaLexer.in.l
+  LexerParser/cmDependsJavaParser.cxx
+  LexerParser/cmDependsJavaParserTokens.h
+  LexerParser/cmDependsJavaParser.y
+  LexerParser/cmExprLexer.cxx
+  LexerParser/cmExprLexer.h
+  LexerParser/cmExprLexer.in.l
+  LexerParser/cmExprParser.cxx
+  LexerParser/cmExprParserTokens.h
+  LexerParser/cmExprParser.y
+  LexerParser/cmFortranLexer.cxx
+  LexerParser/cmFortranLexer.h
+  LexerParser/cmFortranLexer.in.l
+  LexerParser/cmFortranParser.cxx
+  LexerParser/cmFortranParserTokens.h
+  LexerParser/cmFortranParser.y
+  LexerParser/cmListFileLexer.c
+  LexerParser/cmListFileLexer.in.l
+
   cmArchiveWrite.cxx
   cmBase32.cxx
   cmCacheManager.cxx
   cmCacheManager.h
   cmCLocaleEnvironmentScope.h
   cmCLocaleEnvironmentScope.cxx
-  cmCommandArgumentLexer.cxx
-  cmCommandArgumentParser.cxx
   cmCommandArgumentParserHelper.cxx
   cmCommonTargetGenerator.cxx
   cmCommonTargetGenerator.h
@@ -141,8 +168,6 @@ set(SRCS
   cmDependsFortran.h
   cmDependsJava.cxx
   cmDependsJava.h
-  cmDependsJavaLexer.cxx
-  cmDependsJavaParser.cxx
   cmDependsJavaParserHelper.cxx
   cmDependsJavaParserHelper.h
   cmDocumentation.cxx
@@ -151,8 +176,6 @@ set(SRCS
   cmDynamicLoader.cxx
   cmDynamicLoader.h
   ${ELF_SRCS}
-  cmExprLexer.cxx
-  cmExprParser.cxx
   cmExprParserHelper.cxx
   cmExportBuildAndroidMKGenerator.h
   cmExportBuildAndroidMKGenerator.cxx
@@ -192,10 +215,6 @@ set(SRCS
   cmFilePathChecksum.h
   cmFileTimeComparison.cxx
   cmFileTimeComparison.h
-  cmFortranLexer.cxx
-  cmFortranLexer.h
-  cmFortranParser.cxx
-  cmFortranParser.h
   cmFortranParserImpl.cxx
   cmGeneratedFileStream.cxx
   cmGeneratorExpressionContext.cxx
@@ -247,7 +266,6 @@ set(SRCS
   cmLinkLineDeviceComputer.h
   cmListFileCache.cxx
   cmListFileCache.h
-  cmListFileLexer.c
   cmLocalCommonGenerator.cxx
   cmLocalCommonGenerator.h
   cmLocalGenerator.cxx
diff --git a/Source/.gitattributes b/Source/LexerParser/.gitattributes
similarity index 88%
copy from Source/.gitattributes
copy to Source/LexerParser/.gitattributes
index f69ad9d..47eedfb 100644
--- a/Source/.gitattributes
+++ b/Source/LexerParser/.gitattributes
@@ -15,6 +15,3 @@
 /cmFortranParser.cxx               generated
 /cmFortranParserTokens.h           generated
 /cmListFileLexer.c                 generated
-
-# Do not format third-party sources.
-/kwsys/**                                  -format.clang-format
diff --git a/Source/cmCommandArgumentLexer.cxx b/Source/LexerParser/cmCommandArgumentLexer.cxx
similarity index 100%
rename from Source/cmCommandArgumentLexer.cxx
rename to Source/LexerParser/cmCommandArgumentLexer.cxx
diff --git a/Source/cmCommandArgumentLexer.h b/Source/LexerParser/cmCommandArgumentLexer.h
similarity index 100%
rename from Source/cmCommandArgumentLexer.h
rename to Source/LexerParser/cmCommandArgumentLexer.h
diff --git a/Source/cmCommandArgumentLexer.in.l b/Source/LexerParser/cmCommandArgumentLexer.in.l
similarity index 100%
rename from Source/cmCommandArgumentLexer.in.l
rename to Source/LexerParser/cmCommandArgumentLexer.in.l
diff --git a/Source/cmCommandArgumentParser.cxx b/Source/LexerParser/cmCommandArgumentParser.cxx
similarity index 100%
rename from Source/cmCommandArgumentParser.cxx
rename to Source/LexerParser/cmCommandArgumentParser.cxx
diff --git a/Source/cmCommandArgumentParser.y b/Source/LexerParser/cmCommandArgumentParser.y
similarity index 99%
rename from Source/cmCommandArgumentParser.y
rename to Source/LexerParser/cmCommandArgumentParser.y
index d6c8312..55a88df 100644
--- a/Source/cmCommandArgumentParser.y
+++ b/Source/LexerParser/cmCommandArgumentParser.y
@@ -189,4 +189,3 @@ void cmCommandArgument_yyerror(yyscan_t yyscanner, const char* message)
 {
   yyGetParser->Error(message);
 }
-
diff --git a/Source/cmCommandArgumentParserTokens.h b/Source/LexerParser/cmCommandArgumentParserTokens.h
similarity index 100%
rename from Source/cmCommandArgumentParserTokens.h
rename to Source/LexerParser/cmCommandArgumentParserTokens.h
diff --git a/Source/cmDependsJavaLexer.cxx b/Source/LexerParser/cmDependsJavaLexer.cxx
similarity index 100%
rename from Source/cmDependsJavaLexer.cxx
rename to Source/LexerParser/cmDependsJavaLexer.cxx
diff --git a/Source/cmDependsJavaLexer.h b/Source/LexerParser/cmDependsJavaLexer.h
similarity index 100%
rename from Source/cmDependsJavaLexer.h
rename to Source/LexerParser/cmDependsJavaLexer.h
diff --git a/Source/cmDependsJavaLexer.in.l b/Source/LexerParser/cmDependsJavaLexer.in.l
similarity index 100%
rename from Source/cmDependsJavaLexer.in.l
rename to Source/LexerParser/cmDependsJavaLexer.in.l
diff --git a/Source/cmDependsJavaParser.cxx b/Source/LexerParser/cmDependsJavaParser.cxx
similarity index 100%
rename from Source/cmDependsJavaParser.cxx
rename to Source/LexerParser/cmDependsJavaParser.cxx
diff --git a/Source/cmDependsJavaParser.y b/Source/LexerParser/cmDependsJavaParser.y
similarity index 99%
rename from Source/cmDependsJavaParser.y
rename to Source/LexerParser/cmDependsJavaParser.y
index 1137f39..f7eb228 100644
--- a/Source/cmDependsJavaParser.y
+++ b/Source/LexerParser/cmDependsJavaParser.y
@@ -242,7 +242,7 @@ jp_DECIMALINTEGERLITERAL
   yyGetParser->SetCurrentCombine("");
 }
 |
-jp_HEXINTEGERLITERAL	
+jp_HEXINTEGERLITERAL
 {
   jpElementStart(1);
   jpCheckEmpty(1);
@@ -3212,4 +3212,3 @@ void cmDependsJava_yyerror(yyscan_t yyscanner, const char* message)
 {
   yyGetParser->Error(message);
 }
-
diff --git a/Source/cmDependsJavaParserTokens.h b/Source/LexerParser/cmDependsJavaParserTokens.h
similarity index 100%
rename from Source/cmDependsJavaParserTokens.h
rename to Source/LexerParser/cmDependsJavaParserTokens.h
diff --git a/Source/cmExprLexer.cxx b/Source/LexerParser/cmExprLexer.cxx
similarity index 100%
rename from Source/cmExprLexer.cxx
rename to Source/LexerParser/cmExprLexer.cxx
diff --git a/Source/cmExprLexer.h b/Source/LexerParser/cmExprLexer.h
similarity index 100%
rename from Source/cmExprLexer.h
rename to Source/LexerParser/cmExprLexer.h
diff --git a/Source/cmExprLexer.in.l b/Source/LexerParser/cmExprLexer.in.l
similarity index 100%
rename from Source/cmExprLexer.in.l
rename to Source/LexerParser/cmExprLexer.in.l
diff --git a/Source/cmExprParser.cxx b/Source/LexerParser/cmExprParser.cxx
similarity index 99%
rename from Source/cmExprParser.cxx
rename to Source/LexerParser/cmExprParser.cxx
index 19efca1..67664a5 100644
--- a/Source/cmExprParser.cxx
+++ b/Source/LexerParser/cmExprParser.cxx
@@ -1696,4 +1696,3 @@ void cmExpr_yyerror(yyscan_t yyscanner, const char* message)
 {
   cmExpr_yyget_extra(yyscanner)->Error(message);
 }
-
diff --git a/Source/cmExprParser.y b/Source/LexerParser/cmExprParser.y
similarity index 99%
rename from Source/cmExprParser.y
rename to Source/LexerParser/cmExprParser.y
index 220f7c8..d1c3a97 100644
--- a/Source/cmExprParser.y
+++ b/Source/LexerParser/cmExprParser.y
@@ -162,4 +162,3 @@ void cmExpr_yyerror(yyscan_t yyscanner, const char* message)
 {
   cmExpr_yyget_extra(yyscanner)->Error(message);
 }
-
diff --git a/Source/cmExprParserTokens.h b/Source/LexerParser/cmExprParserTokens.h
similarity index 100%
rename from Source/cmExprParserTokens.h
rename to Source/LexerParser/cmExprParserTokens.h
diff --git a/Source/cmFortranLexer.cxx b/Source/LexerParser/cmFortranLexer.cxx
similarity index 100%
rename from Source/cmFortranLexer.cxx
rename to Source/LexerParser/cmFortranLexer.cxx
diff --git a/Source/cmFortranLexer.h b/Source/LexerParser/cmFortranLexer.h
similarity index 100%
rename from Source/cmFortranLexer.h
rename to Source/LexerParser/cmFortranLexer.h
diff --git a/Source/cmFortranLexer.in.l b/Source/LexerParser/cmFortranLexer.in.l
similarity index 100%
rename from Source/cmFortranLexer.in.l
rename to Source/LexerParser/cmFortranLexer.in.l
diff --git a/Source/cmFortranParser.cxx b/Source/LexerParser/cmFortranParser.cxx
similarity index 100%
rename from Source/cmFortranParser.cxx
rename to Source/LexerParser/cmFortranParser.cxx
diff --git a/Source/cmFortranParser.y b/Source/LexerParser/cmFortranParser.y
similarity index 100%
rename from Source/cmFortranParser.y
rename to Source/LexerParser/cmFortranParser.y
diff --git a/Source/cmFortranParserTokens.h b/Source/LexerParser/cmFortranParserTokens.h
similarity index 100%
rename from Source/cmFortranParserTokens.h
rename to Source/LexerParser/cmFortranParserTokens.h
diff --git a/Source/cmListFileLexer.c b/Source/LexerParser/cmListFileLexer.c
similarity index 100%
rename from Source/cmListFileLexer.c
rename to Source/LexerParser/cmListFileLexer.c
diff --git a/Source/cmListFileLexer.in.l b/Source/LexerParser/cmListFileLexer.in.l
similarity index 100%
rename from Source/cmListFileLexer.in.l
rename to Source/LexerParser/cmListFileLexer.in.l
diff --git a/bootstrap b/bootstrap
index e957e82..9ac3904 100755
--- a/bootstrap
+++ b/bootstrap
@@ -240,6 +240,10 @@ CMAKE_UNUSED_SOURCES="\
 "
 
 CMAKE_CXX_SOURCES="\
+  LexerParser/cmCommandArgumentLexer \
+  LexerParser/cmCommandArgumentParser \
+  LexerParser/cmExprLexer \
+  LexerParser/cmExprParser \
   cmAddCustomCommandCommand \
   cmAddCustomTargetCommand \
   cmAddDefinitionsCommand \
@@ -255,8 +259,6 @@ CMAKE_CXX_SOURCES="\
   cmCPackPropertiesGenerator \
   cmCacheManager \
   cmCommand \
-  cmCommandArgumentLexer \
-  cmCommandArgumentParser \
   cmCommandArgumentParserHelper \
   cmCommandArgumentsHelper \
   cmCommands \
@@ -288,8 +290,6 @@ CMAKE_CXX_SOURCES="\
   cmExportSet \
   cmExportSetMap \
   cmExportTryCompileFileGenerator \
-  cmExprLexer \
-  cmExprParser \
   cmExprParserHelper \
   cmExternalMakefileProjectGenerator \
   cmFileCommand \
@@ -417,7 +417,7 @@ if ${cmake_system_mingw}; then
 fi
 
 CMAKE_C_SOURCES="\
-  cmListFileLexer \
+  LexerParser/cmListFileLexer \
   "
 
 if ${cmake_system_mingw}; then
@@ -810,6 +810,11 @@ if [ ! -d "cmsys" ]; then
   cmake_error 4 "Cannot create directory ${cmake_bootstrap_dir}/cmsys"
 fi
 
+[ -d "LexerParser" ] || mkdir "LexerParser"
+if [ ! -d "LexerParser" ]; then
+  cmake_error 5 "Cannot create directory ${cmake_bootstrap_dir}/LexerParser"
+fi
+
 # Delete all the bootstrap files
 rm -f "${cmake_bootstrap_dir}/cmake_bootstrap.log"
 rm -f "${cmake_bootstrap_dir}/cmConfigure.h${_tmp}"
@@ -1431,9 +1436,15 @@ cmake_cxx_flags_SystemTools="
   -DKWSYS_CXX_HAS_UTIMENSAT=${KWSYS_CXX_HAS_UTIMENSAT}
   -DKWSYS_CXX_HAS_UTIMES=${KWSYS_CXX_HAS_UTIMES}
 "
-cmake_c_flags="${cmake_c_flags}-I`cmake_escape \"${cmake_bootstrap_dir}\"` -I`cmake_escape \"${cmake_source_dir}/Source\"` \
+cmake_c_flags="${cmake_c_flags} \
+  -I`cmake_escape \"${cmake_bootstrap_dir}\"` \
+  -I`cmake_escape \"${cmake_source_dir}/Source\"` \
+  -I`cmake_escape \"${cmake_source_dir}/Source/LexerParser\"` \
   -I`cmake_escape \"${cmake_source_dir}/Utilities\"`"
-cmake_cxx_flags="${cmake_cxx_flags} -I`cmake_escape \"${cmake_bootstrap_dir}\"` -I`cmake_escape \"${cmake_source_dir}/Source\"` \
+cmake_cxx_flags="${cmake_cxx_flags} \
+  -I`cmake_escape \"${cmake_bootstrap_dir}\"` \
+  -I`cmake_escape \"${cmake_source_dir}/Source\"` \
+  -I`cmake_escape \"${cmake_source_dir}/Source/LexerParser\"` \
   -I`cmake_escape \"${cmake_source_dir}/Utilities\"`"
 echo "cmake: ${objs}" > "${cmake_bootstrap_dir}/Makefile"
 echo "	${cmake_cxx_compiler} ${cmake_ld_flags} ${cmake_cxx_flags} ${objs} -o cmake" >> "${cmake_bootstrap_dir}/Makefile"

https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=8927e913f780fa62c540063b8a5cfe0dcbfdd288
commit 8927e913f780fa62c540063b8a5cfe0dcbfdd288
Author:     Daniel Pfeifer <daniel at pfeifer-mail.de>
AuthorDate: Fri Apr 28 20:26:55 2017 +0200
Commit:     Daniel Pfeifer <daniel at pfeifer-mail.de>
CommitDate: Fri Apr 28 20:42:30 2017 +0200

    CMakeLists: remove option to regenerate yacc/lex

diff --git a/Source/CMakeLists.txt b/Source/CMakeLists.txt
index 8d683cb3f..7c72a11 100644
--- a/Source/CMakeLists.txt
+++ b/Source/CMakeLists.txt
@@ -88,61 +88,6 @@ include_directories(
 # let cmake know it is supposed to use it
 add_definitions(-DCMAKE_BUILD_WITH_CMAKE)
 
-option(CMAKE_REGENERATE_YACCLEX
-  "Regenerate YACC and LEXX files" OFF)
-mark_as_advanced(CMAKE_REGENERATE_YACCLEX)
-if(CMAKE_REGENERATE_YACCLEX)
-  set(parsersLexers cmFortran cmCommandArgument cmExpr)
-  find_program(YACC_EXECUTABLE
-    NAMES yacc bison
-    PATHS /usr/bin
-    DOC "Yacc or Bison executable")
-  find_program(FLEX_EXECUTABLE
-    NAMES flex
-    PATHS /usr/bin
-    DOC "Flex executable")
-  mark_as_advanced(YACC_EXECUTABLE FLEX_EXECUTABLE)
-  if(YACC_EXECUTABLE)
-    set(BISON_FLAGS)
-    if(YACC_EXECUTABLE MATCHES "bison")
-      set(BISON_FLAGS "--yacc")
-    endif()
-    set(yacc_files)
-    foreach(name ${parsersLexers})
-      set(src "${CMAKE_CURRENT_SOURCE_DIR}/${name}Parser.y")
-      set(dst "${CMAKE_CURRENT_BINARY_DIR}/${name}Parser.cxx")
-      set(hdr "${CMAKE_CURRENT_BINARY_DIR}/${name}ParserTokens.h")
-      add_custom_command(
-        OUTPUT "${dst}"
-        DEPENDS "${src}"
-        COMMAND
-        ${YACC_EXECUTABLE}
-        --name-prefix=${name}_yy --defines=${hdr} -o${dst} ${src}
-        )
-      set(yacc_files ${yacc_files} "${dst}")
-    endforeach()
-    add_custom_target(RerunYacc DEPENDS ${yacc_files})
-  endif()
-  if(FLEX_EXECUTABLE)
-    set(lex_files)
-    foreach(name ${parsersLexers})
-      set(src "${CMAKE_CURRENT_SOURCE_DIR}/${name}Lexer.in.l")
-      set(dst "${CMAKE_CURRENT_BINARY_DIR}/${name}Lexer.cxx")
-      set(hdr "${CMAKE_CURRENT_BINARY_DIR}/${name}Lexer.h")
-      add_custom_command(
-        OUTPUT "${dst}"
-        DEPENDS "${src}"
-        COMMAND
-        ${FLEX_EXECUTABLE}
-        --prefix=${name}_yy --header-file=${hdr} -o${dst} ${src}
-        )
-      set(lex_files ${lex_files} "${dst}")
-    endforeach()
-    add_custom_target(RerunLex DEPENDS ${lex_files})
-  endif()
-
-endif()
-
 # Check if we can build the ELF parser.
 if(CMAKE_USE_ELF_PARSER)
   set(ELF_SRCS cmELF.h cmELF.cxx)

https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=6555286c5551e3e051ba9814e9f02f62b2963446
commit 6555286c5551e3e051ba9814e9f02f62b2963446
Author:     Chuck Atkins <chuck.atkins at kitware.com>
AuthorDate: Thu Apr 27 21:16:04 2017 +0000
Commit:     Chuck Atkins <chuck.atkins at kitware.com>
CommitDate: Fri Apr 28 11:48:32 2017 -0400

    XL: Add C and C++ language level flags

diff --git a/Modules/Compiler/XL-C.cmake b/Modules/Compiler/XL-C.cmake
index f14373d..ac84da2 100644
--- a/Modules/Compiler/XL-C.cmake
+++ b/Modules/Compiler/XL-C.cmake
@@ -3,5 +3,50 @@ __compiler_xl(C)
 string(APPEND CMAKE_C_FLAGS_RELEASE_INIT " -DNDEBUG")
 string(APPEND CMAKE_C_FLAGS_MINSIZEREL_INIT " -DNDEBUG")
 
-# -qthreaded     = Ensures that all optimizations will be thread-safe
+# -qthreaded = Ensures that all optimizations will be thread-safe
 string(APPEND CMAKE_C_FLAGS_INIT " -qthreaded")
+
+# XL v13.1.1 for Linux ppc64 little-endian switched to using a clang based
+# front end and accepts the -std= option while only reserving -qlanglevel= for
+# compatibility.  All other versions (previous versions on Linux ppc64
+# little-endian, all versions on Linux ppc64 big-endian, all versions on AIX
+# and BGQ, etc) are derived from the UNIX compiler and only accept the
+# -qlanglvl option.
+if (CMAKE_SYSTEM MATCHES "Linux.*ppc64le" AND
+    CMAKE_C_COMPILER_VERSION VERSION_GREATER_EQUAL 13.1.1)
+  set(CMAKE_C90_STANDARD_COMPILE_OPTION  "-std=c89")
+  set(CMAKE_C90_EXTENSION_COMPILE_OPTION "-std=gnu89")
+  set(CMAKE_C99_STANDARD_COMPILE_OPTION  "-std=c99")
+  set(CMAKE_C99_EXTENSION_COMPILE_OPTION "-std=gnu99")
+  if (CMAKE_C_COMPILER_VERSION VERSION_GREATER_EQUAL 13.1.2)
+    set(CMAKE_C11_STANDARD_COMPILE_OPTION  "-std=c11")
+    set(CMAKE_C11_EXTENSION_COMPILE_OPTION "-std=gnu11")
+  else ()
+    set(CMAKE_C11_STANDARD_COMPILE_OPTION "-qlanglvl=extc1x")
+    set(CMAKE_C11_EXTENSION_COMPILE_OPTION "-qlanglvl=extc1x")
+  endif ()
+else ()
+  if (CMAKE_C_COMPILER_VERSION VERSION_GREATER_EQUAL 10.1)
+    set(CMAKE_C90_STANDARD_COMPILE_OPTION "-qlanglvl=stdc89")
+    set(CMAKE_C90_EXTENSION_COMPILE_OPTION "-qlanglvl=extc89")
+    set(CMAKE_C99_STANDARD_COMPILE_OPTION "-qlanglvl=stdc99")
+    set(CMAKE_C99_EXTENSION_COMPILE_OPTION "-qlanglvl=extc99")
+    if (CMAKE_C_COMPILER_VERSION VERSION_GREATER_EQUAL 12.1)
+      set(CMAKE_C11_STANDARD_COMPILE_OPTION "-qlanglvl=extc1x")
+      set(CMAKE_C11_EXTENSION_COMPILE_OPTION "-qlanglvl=extc1x")
+    endif ()
+  endif ()
+endif()
+
+if (CMAKE_C_COMPILER_VERSION VERSION_GREATER_EQUAL 10.1)
+  if (NOT CMAKE_C_COMPILER_FORCED)
+    if (NOT CMAKE_C_STANDARD_COMPUTED_DEFAULT)
+      message(FATAL_ERROR "CMAKE_C_STANDARD_COMPUTED_DEFAULT should be set for ${CMAKE_C_COMPILER_ID} (${CMAKE_C_COMPILER}) version ${CMAKE_C_COMPILER_VERSION}")
+    else ()
+      set(CMAKE_C_STANDARD_DEFAULT ${CMAKE_C_STANDARD_COMPUTED_DEFAULT})
+    endif ()
+  elseif (NOT CMAKE_C_STANDARD_COMPUTED_DEFAULT)
+    # Compiler id was forced so just guess the default standard level.
+    set(CMAKE_C_STANDARD_DEFAULT 90)
+  endif ()
+endif ()
diff --git a/Modules/Compiler/XL-CXX.cmake b/Modules/Compiler/XL-CXX.cmake
index 4fdc43e..98ccb29 100644
--- a/Modules/Compiler/XL-CXX.cmake
+++ b/Modules/Compiler/XL-CXX.cmake
@@ -3,8 +3,60 @@ __compiler_xl(CXX)
 string(APPEND CMAKE_CXX_FLAGS_RELEASE_INIT " -DNDEBUG")
 string(APPEND CMAKE_CXX_FLAGS_MINSIZEREL_INIT " -DNDEBUG")
 
-# -qthreaded     = Ensures that all optimizations will be thread-safe
+# -qthreaded = Ensures that all optimizations will be thread-safe
 string(APPEND CMAKE_CXX_FLAGS_INIT " -qthreaded")
 
+# XL v13.1.1 for Linux ppc64 little-endian switched to using a clang based
+# front end and accepts the -std= option while only reserving -qlanglevel= for
+# compatibility.  All other versions (previous versions on Linux ppc64
+# little-endian, all versions on Linux ppc64 big-endian, all versions on AIX
+# and BGQ, etc) are derived from the UNIX compiler and only accept the
+# -qlanglvl option.
+if (CMAKE_SYSTEM MATCHES "Linux.*ppc64")
+  if (CMAKE_SYSTEM MATCHES "Linux.*ppc64le" AND
+      CMAKE_CXX_COMPILER_VERSION VERSION_GREATER_EQUAL 13.1.1)
+    set(CMAKE_CXX98_STANDARD_COMPILE_OPTION "-std=c++98")
+    set(CMAKE_CXX98_EXTENSION_COMPILE_OPTION "-std=gnu++98")
+    if (CMAKE_CXX_COMPILER_VERSION VERSION_GREATER_EQUAL 13.1.2)
+      set(CMAKE_CXX11_STANDARD_COMPILE_OPTION "-std=c++11")
+      set(CMAKE_CXX11_EXTENSION_COMPILE_OPTION "-std=gnu++11")
+      set(CMAKE_CXX14_STANDARD_COMPILE_OPTION "-std=c++1y")
+      set(CMAKE_CXX14_EXTENSION_COMPILE_OPTION "-qlanglvl=extended1y")
+    else ()
+      set(CMAKE_CXX11_STANDARD_COMPILE_OPTION "-qlanglvl=extended0x")
+      set(CMAKE_CXX11_EXTENSION_COMPILE_OPTION "-qlanglvl=extended0x")
+    endif ()
+  else ()
+    # The non-clang based Linux ppc64 compiler, both big-endian and
+    # little-endian lacks, the non-extension language level flags
+    if (CMAKE_CXX_COMPILER_VERSION VERSION_GREATER_EQUAL 10.1)
+      set(CMAKE_CXX98_STANDARD_COMPILE_OPTION "-qlanglvl=extended")
+      set(CMAKE_CXX98_EXTENSION_COMPILE_OPTION "-qlanglvl=extended")
+      set(CMAKE_CXX11_STANDARD_COMPILE_OPTION "-qlanglvl=extended0x")
+      set(CMAKE_CXX11_EXTENSION_COMPILE_OPTION "-qlanglvl=extended0x")
+    endif ()
+  endif ()
+else ()
+  if (CMAKE_CXX_COMPILER_VERSION VERSION_GREATER_EQUAL 10.1)
+    set(CMAKE_CXX98_STANDARD_COMPILE_OPTION "-qlanglvl=strict98")
+    set(CMAKE_CXX98_EXTENSION_COMPILE_OPTION "-qlanglvl=extended")
+    set(CMAKE_CXX11_STANDARD_COMPILE_OPTION "-qlanglvl=extended0x")
+    set(CMAKE_CXX11_EXTENSION_COMPILE_OPTION "-qlanglvl=extended0x")
+  endif ()
+endif ()
+
 set(CMAKE_CXX_COMPILE_OBJECT
   "<CMAKE_CXX_COMPILER> -+ <DEFINES> <INCLUDES> <FLAGS> -o <OBJECT> -c <SOURCE>")
+
+if (CMAKE_CXX_COMPILER_VERSION VERSION_GREATER_EQUAL 10.1)
+  if (NOT CMAKE_CXX_COMPILER_FORCED)
+    if (NOT CMAKE_CXX_STANDARD_COMPUTED_DEFAULT)
+      message(FATAL_ERROR "CMAKE_CXX_STANDARD_COMPUTED_DEFAULT should be set for ${CMAKE_CXX_COMPILER_ID} (${CMAKE_CXX_COMPILER}) version ${CMAKE_CXX_COMPILER_VERSION}")
+    else ()
+      set(CMAKE_CXX_STANDARD_DEFAULT ${CMAKE_CXX_STANDARD_COMPUTED_DEFAULT})
+    endif ()
+  elseif (NOT CMAKE_CXX_STANDARD_COMPUTED_DEFAULT)
+    # Compiler id was forced so just guess the default standard level.
+    set(CMAKE_CXX_STANDARD_DEFAULT 98)
+  endif ()
+endif ()

https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=54a4d28dcffddda52b886af091ddeb3d955c0b17
commit 54a4d28dcffddda52b886af091ddeb3d955c0b17
Author:     Chuck Atkins <chuck.atkins at kitware.com>
AuthorDate: Fri Apr 28 11:05:23 2017 -0400
Commit:     Chuck Atkins <chuck.atkins at kitware.com>
CommitDate: Fri Apr 28 11:08:41 2017 -0400

    XL: Add additional regex for bogus compile options

diff --git a/Modules/CMakeCheckCompilerFlagCommonPatterns.cmake b/Modules/CMakeCheckCompilerFlagCommonPatterns.cmake
index 1b5178d..e60ffe0 100644
--- a/Modules/CMakeCheckCompilerFlagCommonPatterns.cmake
+++ b/Modules/CMakeCheckCompilerFlagCommonPatterns.cmake
@@ -22,6 +22,7 @@ macro (CHECK_COMPILER_FLAG_COMMON_PATTERNS _VAR)
      FAIL_REGEX "[Ww]arning: [Oo]ption"                     # SunPro
      FAIL_REGEX "command option .* is not recognized"       # XL
      FAIL_REGEX "command option .* contains an incorrect subargument" # XL
+     FAIL_REGEX "Option .* is not recognized.  Option will be ignored." # XL
      FAIL_REGEX "not supported in this configuration. ignored"       # AIX
      FAIL_REGEX "File with unknown suffix passed to linker" # PGI
      FAIL_REGEX "[Uu]nknown switch"                         # PGI

https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=7d057b2738e229192ae5afe71d50354681813235
commit 7d057b2738e229192ae5afe71d50354681813235
Author:     Ruslan Baratov <ruslan_baratov at yahoo.com>
AuthorDate: Fri Apr 28 17:13:56 2017 +0300
Commit:     Ruslan Baratov <ruslan_baratov at yahoo.com>
CommitDate: Fri Apr 28 17:13:56 2017 +0300

    Clang IPO (LTO) support

diff --git a/Modules/Compiler/Clang-FindBinUtils.cmake b/Modules/Compiler/Clang-FindBinUtils.cmake
new file mode 100644
index 0000000..c81e77a
--- /dev/null
+++ b/Modules/Compiler/Clang-FindBinUtils.cmake
@@ -0,0 +1,25 @@
+if(NOT DEFINED _CMAKE_PROCESSING_LANGUAGE OR _CMAKE_PROCESSING_LANGUAGE STREQUAL "")
+  message(FATAL_ERROR "Internal error: _CMAKE_PROCESSING_LANGUAGE is not set")
+endif()
+
+# Try to find tools in the same directory as Clang itself
+get_filename_component(__clang_hint_1 "${CMAKE_${_CMAKE_PROCESSING_LANGUAGE}_COMPILER}" REALPATH)
+get_filename_component(__clang_hint_1 "${__clang_hint_1}" DIRECTORY)
+
+get_filename_component(__clang_hint_2 "${CMAKE_${_CMAKE_PROCESSING_LANGUAGE}_COMPILER}" DIRECTORY)
+
+set(__clang_hints ${__clang_hint_1} ${__clang_hint_2})
+
+# http://manpages.ubuntu.com/manpages/precise/en/man1/llvm-ar.1.html
+find_program(CMAKE_${_CMAKE_PROCESSING_LANGUAGE}_COMPILER_AR NAMES
+    "${_CMAKE_TOOLCHAIN_PREFIX}llvm-ar"
+    HINTS ${__clang_hints}
+    DOC "LLVM archiver"
+)
+
+# http://manpages.ubuntu.com/manpages/precise/en/man1/llvm-ranlib.1.html
+find_program(CMAKE_${_CMAKE_PROCESSING_LANGUAGE}_COMPILER_RANLIB NAMES
+    "${_CMAKE_TOOLCHAIN_PREFIX}llvm-ranlib"
+    HINTS ${__clang_hints}
+    DOC "Generate index for LLVM archive"
+)
diff --git a/Modules/Compiler/Clang.cmake b/Modules/Compiler/Clang.cmake
index 6b99a08..8c2f87d 100644
--- a/Modules/Compiler/Clang.cmake
+++ b/Modules/Compiler/Clang.cmake
@@ -28,12 +28,54 @@ else()
       set(CMAKE_${lang}_COMPILE_OPTIONS_EXTERNAL_TOOLCHAIN "--gcc-toolchain=")
     endif()
 
-    set(_CMAKE_IPO_SUPPORTED_BY_CMAKE NO)
-    set(_CMAKE_IPO_MAY_BE_SUPPORTED_BY_COMPILER NO)
+    set(_CMAKE_IPO_SUPPORTED_BY_CMAKE YES)
+    set(_CMAKE_IPO_MAY_BE_SUPPORTED_BY_COMPILER YES)
 
-    unset(CMAKE_${lang}_COMPILE_OPTIONS_IPO)
-    unset(CMAKE_${lang}_ARCHIVE_CREATE_IPO)
-    unset(CMAKE_${lang}_ARCHIVE_APPEND_IPO)
-    unset(CMAKE_${lang}_ARCHIVE_FINISH_IPO)
+    string(COMPARE EQUAL "${CMAKE_${lang}_COMPILER_ID}" "AppleClang" __is_apple_clang)
+
+    # '-flto=thin' available since Clang 3.9 and Xcode 8
+    # * http://clang.llvm.org/docs/ThinLTO.html#clang-llvm
+    # * https://trac.macports.org/wiki/XcodeVersionInfo
+    set(_CMAKE_LTO_THIN TRUE)
+    if(__is_apple_clang)
+      if(CMAKE_${lang}_COMPILER_VERSION VERSION_LESS 8.0)
+        set(_CMAKE_LTO_THIN FALSE)
+      endif()
+    else()
+      if(CMAKE_${lang}_COMPILER_VERSION VERSION_LESS 3.9)
+        set(_CMAKE_LTO_THIN FALSE)
+      endif()
+    endif()
+
+    if(_CMAKE_LTO_THIN)
+      set(CMAKE_${lang}_COMPILE_OPTIONS_IPO "-flto=thin")
+    else()
+      set(CMAKE_${lang}_COMPILE_OPTIONS_IPO "-flto")
+    endif()
+
+    if(ANDROID)
+      # https://github.com/android-ndk/ndk/issues/242
+      set(CMAKE_${lang}_LINK_OPTIONS_IPO "-fuse-ld=gold")
+    endif()
+
+    if(ANDROID OR __is_apple_clang)
+      set(__ar "${CMAKE_AR}")
+      set(__ranlib "${CMAKE_RANLIB}")
+    else()
+      set(__ar "${CMAKE_${lang}_COMPILER_AR}")
+      set(__ranlib "${CMAKE_${lang}_COMPILER_RANLIB}")
+    endif()
+
+    set(CMAKE_${lang}_ARCHIVE_CREATE_IPO
+      "${__ar} cr <TARGET> <LINK_FLAGS> <OBJECTS>"
+    )
+
+    set(CMAKE_${lang}_ARCHIVE_APPEND_IPO
+      "${__ar} r <TARGET> <LINK_FLAGS> <OBJECTS>"
+    )
+
+    set(CMAKE_${lang}_ARCHIVE_FINISH_IPO
+      "${__ranlib} <TARGET>"
+    )
   endmacro()
 endif()
diff --git a/Source/cmLocalGenerator.cxx b/Source/cmLocalGenerator.cxx
index 57b744c..33e32d1 100644
--- a/Source/cmLocalGenerator.cxx
+++ b/Source/cmLocalGenerator.cxx
@@ -915,6 +915,9 @@ void cmLocalGenerator::GetTargetFlags(
   const char* libraryLinkVariable =
     "CMAKE_SHARED_LINKER_FLAGS"; // default to shared library
 
+  const std::string linkLanguage =
+    linkLineComputer->GetLinkerLanguage(target, buildType);
+
   switch (target->GetType()) {
     case cmStateEnums::STATIC_LIBRARY:
       this->GetStaticLibraryFlags(linkFlags, buildType, target);
@@ -976,9 +979,6 @@ void cmLocalGenerator::GetTargetFlags(
         linkFlags += this->Makefile->GetSafeDefinition(build);
         linkFlags += " ";
       }
-
-      const std::string linkLanguage =
-        linkLineComputer->GetLinkerLanguage(target, buildType);
       if (linkLanguage.empty()) {
         cmSystemTools::Error(
           "CMake can not determine linker language for target: ",
@@ -1040,6 +1040,8 @@ void cmLocalGenerator::GetTargetFlags(
     default:
       break;
   }
+
+  this->AppendIPOLinkerFlags(linkFlags, target, config, linkLanguage);
 }
 
 void cmLocalGenerator::GetTargetCompileFlags(cmGeneratorTarget* target,
@@ -1769,6 +1771,38 @@ void cmLocalGenerator::AppendFlagEscape(std::string& flags,
   this->AppendFlags(flags, this->EscapeForShell(rawFlag));
 }
 
+void cmLocalGenerator::AppendIPOLinkerFlags(std::string& flags,
+                                            cmGeneratorTarget* target,
+                                            const std::string& config,
+                                            const std::string& lang)
+{
+  if (!target->IsIPOEnabled(config)) {
+    return;
+  }
+
+  switch (target->GetType()) {
+    case cmStateEnums::EXECUTABLE:
+    case cmStateEnums::SHARED_LIBRARY:
+    case cmStateEnums::MODULE_LIBRARY:
+      break;
+    default:
+      return;
+  }
+
+  const std::string name = "CMAKE_" + lang + "_LINK_OPTIONS_IPO";
+  const char* rawFlagsList = this->Makefile->GetDefinition(name);
+  if (rawFlagsList == CM_NULLPTR) {
+    return;
+  }
+
+  std::vector<std::string> flagsList;
+  cmSystemTools::ExpandListArgument(rawFlagsList, flagsList);
+  for (std::vector<std::string>::const_iterator oi = flagsList.begin();
+       oi != flagsList.end(); ++oi) {
+    this->AppendFlagEscape(flags, *oi);
+  }
+}
+
 void cmLocalGenerator::AppendDefines(std::set<std::string>& defines,
                                      const char* defines_list) const
 {
diff --git a/Source/cmLocalGenerator.h b/Source/cmLocalGenerator.h
index 2eda0e5..1a238a8 100644
--- a/Source/cmLocalGenerator.h
+++ b/Source/cmLocalGenerator.h
@@ -115,6 +115,9 @@ public:
   virtual void AppendFlags(std::string& flags, const char* newFlags);
   virtual void AppendFlagEscape(std::string& flags,
                                 const std::string& rawFlag);
+  void AppendIPOLinkerFlags(std::string& flags, cmGeneratorTarget* target,
+                            const std::string& config,
+                            const std::string& lang);
   ///! Get the include flags for the current makefile and language
   std::string GetIncludeFlags(const std::vector<std::string>& includes,
                               cmGeneratorTarget* target,
diff --git a/Source/cmMakefileExecutableTargetGenerator.cxx b/Source/cmMakefileExecutableTargetGenerator.cxx
index 272d45b..fb39f01 100644
--- a/Source/cmMakefileExecutableTargetGenerator.cxx
+++ b/Source/cmMakefileExecutableTargetGenerator.cxx
@@ -457,6 +457,9 @@ void cmMakefileExecutableTargetGenerator::WriteExecutableRule(bool relink)
     this->AddModuleDefinitionFlag(linkLineComputer.get(), linkFlags);
   }
 
+  this->LocalGenerator->AppendIPOLinkerFlags(linkFlags, this->GeneratorTarget,
+                                             this->ConfigName, linkLanguage);
+
   // Construct a list of files associated with this executable that
   // may need to be cleaned.
   std::vector<std::string> exeCleanFiles;
diff --git a/Source/cmMakefileLibraryTargetGenerator.cxx b/Source/cmMakefileLibraryTargetGenerator.cxx
index ec01208..5ee9f45 100644
--- a/Source/cmMakefileLibraryTargetGenerator.cxx
+++ b/Source/cmMakefileLibraryTargetGenerator.cxx
@@ -494,6 +494,8 @@ void cmMakefileLibraryTargetGenerator::WriteLibraryRules(
   // Create set of linking flags.
   std::string linkFlags;
   this->LocalGenerator->AppendFlags(linkFlags, extraFlags);
+  this->LocalGenerator->AppendIPOLinkerFlags(linkFlags, this->GeneratorTarget,
+                                             this->ConfigName, linkLanguage);
 
   // Add OSX version flags, if any.
   if (this->GeneratorTarget->GetType() == cmStateEnums::SHARED_LIBRARY ||

https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=b13bc8659f87567b1b091806d42f5023b2a6b48b
commit b13bc8659f87567b1b091806d42f5023b2a6b48b
Author:     Daniel Pfeifer <daniel at pfeifer-mail.de>
AuthorDate: Fri Apr 28 09:45:21 2017 +0200
Commit:     Daniel Pfeifer <daniel at pfeifer-mail.de>
CommitDate: Fri Apr 28 09:45:21 2017 +0200

    Disable clang-tidy checks on files generated by Qt

diff --git a/Source/QtDialog/CMakeLists.txt b/Source/QtDialog/CMakeLists.txt
index 2e11a8a..8619fe9 100644
--- a/Source/QtDialog/CMakeLists.txt
+++ b/Source/QtDialog/CMakeLists.txt
@@ -160,6 +160,19 @@ set(CMAKE_INCLUDE_CURRENT_DIR ON)
 add_executable(cmake-gui WIN32 MACOSX_BUNDLE ${SRCS} ${MANIFEST_FILE})
 target_link_libraries(cmake-gui CMakeLib ${QT_QTMAIN_LIBRARY} ${CMake_QT_LIBRARIES})
 
+# Files generated by MOC, RCC, and UIC may produce clang-tidy warnings.
+# We generate a dummy .clang-tidy file in the binary directory that disables
+# all clang-tidy checks except one that will never match.  This one check is
+# necessary; clang-tidy reports an error when no checks are enabled.
+# Since the Qt code generators will generate source files in the binary tree,
+# clang-tidy will load the configuration from this dummy file when the sources
+# are built.
+file(WRITE "${QtDialog_BINARY_DIR}/.clang-tidy" "
+---
+Checks: '-*,llvm-twine-local'
+...
+")
+
 if(APPLE)
   file(STRINGS "${CMake_SOURCE_DIR}/Copyright.txt" copyright_line
     LIMIT_COUNT 1 REGEX "^Copyright 2000-20[0-9][0-9] Kitware")

-----------------------------------------------------------------------

Summary of changes:
 Modules/CMakeCheckCompilerFlagCommonPatterns.cmake |    1 +
 Modules/Compiler/Clang-FindBinUtils.cmake          |   25 ++++++
 Modules/Compiler/Clang.cmake                       |   54 +++++++++--
 Modules/Compiler/XL-C.cmake                        |   47 +++++++++-
 Modules/Compiler/XL-CXX.cmake                      |   54 ++++++++++-
 Source/.gitattributes                              |   18 ----
 Source/CMakeLists.txt                              |   95 ++++++--------------
 Source/LexerParser/.clang-tidy                     |    6 ++
 Source/{ => LexerParser}/.gitattributes            |    3 -
 .../{ => LexerParser}/cmCommandArgumentLexer.cxx   |    0
 Source/{ => LexerParser}/cmCommandArgumentLexer.h  |    0
 .../{ => LexerParser}/cmCommandArgumentLexer.in.l  |    0
 .../{ => LexerParser}/cmCommandArgumentParser.cxx  |    0
 Source/{ => LexerParser}/cmCommandArgumentParser.y |    1 -
 .../cmCommandArgumentParserTokens.h                |    0
 Source/{ => LexerParser}/cmDependsJavaLexer.cxx    |    0
 Source/{ => LexerParser}/cmDependsJavaLexer.h      |    0
 Source/{ => LexerParser}/cmDependsJavaLexer.in.l   |    0
 Source/{ => LexerParser}/cmDependsJavaParser.cxx   |    0
 Source/{ => LexerParser}/cmDependsJavaParser.y     |    3 +-
 .../{ => LexerParser}/cmDependsJavaParserTokens.h  |    0
 Source/{ => LexerParser}/cmExprLexer.cxx           |    0
 Source/{ => LexerParser}/cmExprLexer.h             |    0
 Source/{ => LexerParser}/cmExprLexer.in.l          |    0
 Source/{ => LexerParser}/cmExprParser.cxx          |    1 -
 Source/{ => LexerParser}/cmExprParser.y            |    1 -
 Source/{ => LexerParser}/cmExprParserTokens.h      |    0
 Source/{ => LexerParser}/cmFortranLexer.cxx        |    0
 Source/{ => LexerParser}/cmFortranLexer.h          |    0
 Source/{ => LexerParser}/cmFortranLexer.in.l       |    0
 Source/{ => LexerParser}/cmFortranParser.cxx       |    0
 Source/{ => LexerParser}/cmFortranParser.y         |    0
 Source/{ => LexerParser}/cmFortranParserTokens.h   |    0
 Source/{ => LexerParser}/cmListFileLexer.c         |    0
 Source/{ => LexerParser}/cmListFileLexer.in.l      |    0
 Source/QtDialog/CMakeLists.txt                     |   13 +++
 Source/cmLocalGenerator.cxx                        |   40 ++++++++-
 Source/cmLocalGenerator.h                          |    3 +
 Source/cmMakefileExecutableTargetGenerator.cxx     |    3 +
 Source/cmMakefileLibraryTargetGenerator.cxx        |    2 +
 bootstrap                                          |   25 ++++--
 41 files changed, 285 insertions(+), 110 deletions(-)
 create mode 100644 Modules/Compiler/Clang-FindBinUtils.cmake
 create mode 100644 Source/LexerParser/.clang-tidy
 copy Source/{ => LexerParser}/.gitattributes (88%)
 rename Source/{ => LexerParser}/cmCommandArgumentLexer.cxx (100%)
 rename Source/{ => LexerParser}/cmCommandArgumentLexer.h (100%)
 rename Source/{ => LexerParser}/cmCommandArgumentLexer.in.l (100%)
 rename Source/{ => LexerParser}/cmCommandArgumentParser.cxx (100%)
 rename Source/{ => LexerParser}/cmCommandArgumentParser.y (99%)
 rename Source/{ => LexerParser}/cmCommandArgumentParserTokens.h (100%)
 rename Source/{ => LexerParser}/cmDependsJavaLexer.cxx (100%)
 rename Source/{ => LexerParser}/cmDependsJavaLexer.h (100%)
 rename Source/{ => LexerParser}/cmDependsJavaLexer.in.l (100%)
 rename Source/{ => LexerParser}/cmDependsJavaParser.cxx (100%)
 rename Source/{ => LexerParser}/cmDependsJavaParser.y (99%)
 rename Source/{ => LexerParser}/cmDependsJavaParserTokens.h (100%)
 rename Source/{ => LexerParser}/cmExprLexer.cxx (100%)
 rename Source/{ => LexerParser}/cmExprLexer.h (100%)
 rename Source/{ => LexerParser}/cmExprLexer.in.l (100%)
 rename Source/{ => LexerParser}/cmExprParser.cxx (99%)
 rename Source/{ => LexerParser}/cmExprParser.y (99%)
 rename Source/{ => LexerParser}/cmExprParserTokens.h (100%)
 rename Source/{ => LexerParser}/cmFortranLexer.cxx (100%)
 rename Source/{ => LexerParser}/cmFortranLexer.h (100%)
 rename Source/{ => LexerParser}/cmFortranLexer.in.l (100%)
 rename Source/{ => LexerParser}/cmFortranParser.cxx (100%)
 rename Source/{ => LexerParser}/cmFortranParser.y (100%)
 rename Source/{ => LexerParser}/cmFortranParserTokens.h (100%)
 rename Source/{ => LexerParser}/cmListFileLexer.c (100%)
 rename Source/{ => LexerParser}/cmListFileLexer.in.l (100%)


hooks/post-receive
-- 
CMake


More information about the Cmake-commits mailing list