]> granicus.if.org Git - clang/commitdiff
clang-format vs plugin: set version number from cmake (PR20307)
authorHans Wennborg <hans@hanshq.net>
Mon, 21 Jul 2014 21:48:06 +0000 (21:48 +0000)
committerHans Wennborg <hans@hanshq.net>
Mon, 21 Jul 2014 21:48:06 +0000 (21:48 +0000)
Previously it was hard-coded to 1.0, which meant the installer would
not install the plugin over previous versions.

This commit makes us use LLVM's major.minor.patch version from cmake,
or whatever CLANG_FORMAT_VS_VERSION is set to when configuring the build.

It's pretty dirty to update a configuration file in the source directory
from the cmake build like this. However, the plugin build is already
dirty in this regard since it builds in the source dir when visual studio,
and then copies out the resulting vsix.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@213584 91177308-0d34-0410-b5e6-96231b3b80d8

tools/clang-format-vs/CMakeLists.txt
tools/clang-format-vs/source.extension.vsixmanifest.in [moved from tools/clang-format-vs/ClangFormat/source.extension.vsixmanifest with 78% similarity]

index f883a986e5f26cf978c52128754665e78ea08ebb..b1101928aa51d9b822623f6bbd663449b598b824 100644 (file)
@@ -6,9 +6,16 @@ if (BUILD_CLANG_FORMAT_VS_PLUGIN)
       "${CMAKE_CURRENT_SOURCE_DIR}/ClangFormat/clang-format.exe"
       DEPENDS clang-format)
 
+  if (NOT CLANG_FORMAT_VS_VERSION)
+    set(CLANG_FORMAT_VS_VERSION "${LLVM_VERSION_MAJOR}.${LLVM_VERSION_MINOR}.${LLVM_VERSION_PATCH}")
+  endif()
+
+  configure_file("source.extension.vsixmanifest.in"
+      "${CMAKE_CURRENT_SOURCE_DIR}/ClangFormat/source.extension.vsixmanifest")
+
   add_custom_target(clang_format_vsix ALL
       devenv "${CMAKE_CURRENT_SOURCE_DIR}/ClangFormat.sln" /Build Release
-      DEPENDS clang_format_exe_for_vsix
+      DEPENDS clang_format_exe_for_vsix "${CMAKE_CURRENT_SOURCE_DIR}/ClangFormat/source.extension.vsixmanifest"
       COMMAND ${CMAKE_COMMAND} -E copy_if_different
       "${CMAKE_CURRENT_SOURCE_DIR}/ClangFormat/bin/Release/ClangFormat.vsix"
       "${LLVM_TOOLS_BINARY_DIR}/${CMAKE_CFG_INTDIR}/ClangFormat.vsix"
similarity index 78%
rename from tools/clang-format-vs/ClangFormat/source.extension.vsixmanifest
rename to tools/clang-format-vs/source.extension.vsixmanifest.in
index 39d30f0f15e992497c72e11b7dd44733e056bdb2..ed0e72e35512048722acbf34cbfd79fb6c7a8e67 100644 (file)
@@ -1,10 +1,10 @@
 <?xml version="1.0" encoding="utf-8"?>\r
-<Vsix Version="1.0.0" xmlns="http://schemas.microsoft.com/developer/vsx-schema/2010">\r
+<Vsix Version="1.0" xmlns="http://schemas.microsoft.com/developer/vsx-schema/2010">\r
   <Identifier Id="20dbc914-1c7a-4992-b236-ef58b37850eb">\r
     <Name>ClangFormat</Name>\r
     <Author>LLVM</Author>\r
-    <Version>1.0</Version>\r
-    <Description xml:space="preserve">Information about my package</Description>\r
+    <Version>@CLANG_FORMAT_VS_VERSION@</Version>\r
+    <Description xml:space="preserve">A tool to format C/C++/Obj-C code.</Description>\r
     <Locale>1033</Locale>\r
     <InstalledByMsi>false</InstalledByMsi>\r
     <SupportedProducts>\r