diff options
Diffstat (limited to 'Source')
-rw-r--r-- | Source/CMakeLists.txt | 56 | ||||
-rw-r--r-- | Source/cmGeneratorTarget.cxx | 4 | ||||
-rw-r--r-- | Source/cmUuid.cxx | 10 |
3 files changed, 63 insertions, 7 deletions
diff --git a/Source/CMakeLists.txt b/Source/CMakeLists.txt index a79366e..708aec7 100644 --- a/Source/CMakeLists.txt +++ b/Source/CMakeLists.txt @@ -929,6 +929,44 @@ if(WIN32 OR CMAKE_SYSTEM_NAME STREQUAL "Linux") ) endif() +if(CMake_BUILD_PCH) + target_precompile_headers(CMakeLib PRIVATE + "$<$<COMPILE_LANGUAGE:CXX>:<string$<ANGLE-R>>" + "$<$<COMPILE_LANGUAGE:CXX>:<iostream$<ANGLE-R>>" + "$<$<COMPILE_LANGUAGE:CXX>:<sstream$<ANGLE-R>>" + "$<$<COMPILE_LANGUAGE:CXX>:<iomanip$<ANGLE-R>>" + "$<$<COMPILE_LANGUAGE:CXX>:<cm/memory$<ANGLE-R>>" + "$<$<COMPILE_LANGUAGE:CXX>:<cm3p/cppdap/protocol.h$<ANGLE-R>>" + "$<$<COMPILE_LANGUAGE:CXX>:cmMakefile.h>" + "$<$<COMPILE_LANGUAGE:CXX>:cmGlobalGenerator.h>" + "$<$<COMPILE_LANGUAGE:CXX>:cmLocalGenerator.h>" + "$<$<COMPILE_LANGUAGE:CXX>:cmGeneratorTarget.h>" + "$<$<COMPILE_LANGUAGE:CXX>:cmGeneratorExpression.h>" + "$<$<COMPILE_LANGUAGE:CXX>:cmArgumentParser.h>" + "$<$<COMPILE_LANGUAGE:CXX>:cmake.h>" + "$<$<COMPILE_LANGUAGE:CXX>:cmCMakePath.h>" + "$<$<COMPILE_LANGUAGE:CXX>:cmDebuggerPipeConnection.h>" + "$<$<COMPILE_LANGUAGE:CXX>:cmCurl.h>") + + set_source_files_properties( + "LexerParser/cmFortranLexer.cxx" + PROPERTIES SKIP_PRECOMPILE_HEADERS ON) + + if(WIN32) + target_precompile_headers(CMakeLib PRIVATE + "$<$<COMPILE_LANGUAGE:CXX>:<cm3p/uv.h$<ANGLE-R>>" + "$<$<COMPILE_LANGUAGE:CXX>:cmVSSetupHelper.h>") + set_source_files_properties("LexerParser/cmFortranParser.cxx" PROPERTIES SKIP_PRECOMPILE_HEADERS ON) + else() + set_source_files_properties( + "LexerParser/cmCommandArgumentLexer.cxx" + "LexerParser/cmGccDepfileLexer.cxx" + "LexerParser/cmExprLexer.cxx" + "LexerParser/cmDependsJavaLexer.cxx" + PROPERTIES SKIP_PRECOMPILE_HEADERS ON) + endif() +endif() + # Temporary variable for tools targets set(_tools) @@ -1041,6 +1079,24 @@ target_include_directories( ) target_link_libraries(CTestLib PUBLIC CMakeLib) +if(CMake_BUILD_PCH) + target_precompile_headers(CTestLib PRIVATE + "cmDuration.h" + "cmMakefile.h" + "cmSystemTools.h" + "cmGlobalGenerator.h" + "cmake.h" + "CTest/cmCTestGenericHandler.h" + "<sstream>" + "<cm3p/uv.h>") + + if(WIN32) + target_precompile_headers(CTestLib PRIVATE "cmCurl.h" "CTest/cmCTestMultiProcessHandler.h") + else() + set_source_files_properties("LexerParser/cmCTestResourceGroupsLexer.cxx" PROPERTIES SKIP_PRECOMPILE_HEADERS ON) + endif() +endif() + # # Build CPackLib # diff --git a/Source/cmGeneratorTarget.cxx b/Source/cmGeneratorTarget.cxx index 357d0a6..bce409b 100644 --- a/Source/cmGeneratorTarget.cxx +++ b/Source/cmGeneratorTarget.cxx @@ -1493,9 +1493,9 @@ std::string AddLangSpecificInterfaceIncludeDirectories( } std::string directories; - if (const auto* interface = target->GetLinkInterfaceLibraries( + if (const auto* link_interface = target->GetLinkInterfaceLibraries( config, root, LinkInterfaceFor::Usage)) { - for (const cmLinkItem& library : interface->Libraries) { + for (const cmLinkItem& library : link_interface->Libraries) { if (const cmGeneratorTarget* dependency = library.Target) { if (cm::contains(dependency->GetAllConfigCompileLanguages(), lang)) { auto* lg = dependency->GetLocalGenerator(); diff --git a/Source/cmUuid.cxx b/Source/cmUuid.cxx index 6688668..5f5d3e4 100644 --- a/Source/cmUuid.cxx +++ b/Source/cmUuid.cxx @@ -104,20 +104,20 @@ std::string cmUuid::BinaryToString(const unsigned char* input) const size_t bytes = kUuidGroups[i]; for (size_t j = 0; j < bytes; ++j) { - unsigned char byte = input[inputIndex++]; - output += this->ByteToHex(byte); + unsigned char inputByte = input[inputIndex++]; + output += this->ByteToHex(inputByte); } } return output; } -std::string cmUuid::ByteToHex(unsigned char byte) const +std::string cmUuid::ByteToHex(unsigned char inputByte) const { std::string result(" "); for (int i = 0; i < 2; ++i) { - unsigned char rest = byte % 16; - byte /= 16; + unsigned char rest = inputByte % 16; + inputByte /= 16; char c = (rest < 0xA) ? static_cast<char>('0' + rest) : static_cast<char>('a' + (rest - 0xA)); result.at(1 - i) = c; |