Index: clang-tidy-vs/CMakeLists.txt =================================================================== --- clang-tidy-vs/CMakeLists.txt +++ clang-tidy-vs/CMakeLists.txt @@ -11,15 +11,25 @@ "${CLANG_SOURCE_DIR}/LICENSE.TXT" "${CMAKE_CURRENT_SOURCE_DIR}/ClangTidy/license.txt") + # Build number added to Clang version to ensure that new VSIX can be upgraded + string(TIMESTAMP CLANG_TIDY_VSIX_BUILD %y%m%d%H%M UTC) + if (NOT CLANG_TIDY_VS_VERSION) - set(CLANG_TIDY_VS_VERSION "${LLVM_VERSION_MAJOR}.${LLVM_VERSION_MINOR}.${LLVM_VERSION_PATCH}") + set(CLANG_TIDY_VS_VERSION "${LLVM_VERSION_MAJOR}.${LLVM_VERSION_MINOR}.${LLVM_VERSION_PATCH}.${CLANG_TIDY_VSIX_BUILD}") endif() configure_file("source.extension.vsixmanifest.in" "${CMAKE_CURRENT_SOURCE_DIR}/ClangTidy/source.extension.vsixmanifest") + find_program(NUGET_EXE nuget PATHS ${NUGET_EXE_DIR}) + if (NOT NUGET_EXE) + message(FATAL_ERROR "Could not find nuget.exe. Download from https://www.nuget.org/nuget.exe" + " and add parent directory to PATH or pass it via NUGET_EXE_DIR var.") + endif() + add_custom_target(clang_tidy_vsix ALL - devenv "${CMAKE_CURRENT_SOURCE_DIR}/ClangTidy.sln" /Build Release + COMMAND ${NUGET_EXE} restore "${CMAKE_CURRENT_SOURCE_DIR}/ClangTidy.sln" + COMMAND devenv "${CMAKE_CURRENT_SOURCE_DIR}/ClangTidy.sln" /Build Release DEPENDS clang_tidy_exe_for_vsix "${CMAKE_CURRENT_SOURCE_DIR}/ClangTidy/source.extension.vsixmanifest" COMMAND ${CMAKE_COMMAND} -E copy_if_different "${CMAKE_CURRENT_SOURCE_DIR}/ClangTidy/bin/Release/ClangTidy.vsix" Index: clang-tidy-vs/ClangTidy.sln =================================================================== --- clang-tidy-vs/ClangTidy.sln +++ clang-tidy-vs/ClangTidy.sln @@ -1,7 +1,7 @@  Microsoft Visual Studio Solution File, Format Version 12.00 -# Visual Studio 14 -VisualStudioVersion = 14.0.25123.0 +# Visual Studio 15 +VisualStudioVersion = 15.0.26403.7 MinimumVisualStudioVersion = 10.0.40219.1 Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ClangTidy", "ClangTidy\ClangTidy.csproj", "{BE261DA1-36C6-449A-95C5-4653A549170A}" EndProject Index: clang-tidy-vs/ClangTidy/ClangTidy.csproj =================================================================== --- clang-tidy-vs/ClangTidy/ClangTidy.csproj +++ clang-tidy-vs/ClangTidy/ClangTidy.csproj @@ -14,7 +14,7 @@ true Key.snk v4.5 - 14.0 + 15.0 @@ -63,13 +63,11 @@ - - @@ -254,7 +252,7 @@ - if not exist $(ProjectDir)Key.snk ("$(SDKToolsPath)\sn.exe" -k $(ProjectDir)Key.snk) + if not exist $(ProjectDir)Key.snk ("$(FrameworkSDKDir)Bin\NETFX 4.6 Tools\sn.exe" -k $(ProjectDir)Key.snk) @@ -264,4 +262,4 @@ --> - \ No newline at end of file + Index: clang-tidy-vs/ClangTidy/packages.config =================================================================== --- clang-tidy-vs/ClangTidy/packages.config +++ clang-tidy-vs/ClangTidy/packages.config @@ -3,4 +3,4 @@ - \ No newline at end of file +