r213584 - clang-format vs plugin: set version number from cmake (PR20307)

Hans Wennborg hans at hanshq.net
Mon Jul 21 14:48:06 PDT 2014


Author: hans
Date: Mon Jul 21 16:48:06 2014
New Revision: 213584

URL: http://llvm.org/viewvc/llvm-project?rev=213584&view=rev
Log:
clang-format vs plugin: set version number from cmake (PR20307)

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.

Added:
    cfe/trunk/tools/clang-format-vs/source.extension.vsixmanifest.in
      - copied, changed from r213579, cfe/trunk/tools/clang-format-vs/ClangFormat/source.extension.vsixmanifest
Removed:
    cfe/trunk/tools/clang-format-vs/ClangFormat/source.extension.vsixmanifest
Modified:
    cfe/trunk/tools/clang-format-vs/CMakeLists.txt

Modified: cfe/trunk/tools/clang-format-vs/CMakeLists.txt
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/tools/clang-format-vs/CMakeLists.txt?rev=213584&r1=213583&r2=213584&view=diff
==============================================================================
--- cfe/trunk/tools/clang-format-vs/CMakeLists.txt (original)
+++ cfe/trunk/tools/clang-format-vs/CMakeLists.txt Mon Jul 21 16:48:06 2014
@@ -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"

Removed: cfe/trunk/tools/clang-format-vs/ClangFormat/source.extension.vsixmanifest
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/tools/clang-format-vs/ClangFormat/source.extension.vsixmanifest?rev=213583&view=auto
==============================================================================
--- cfe/trunk/tools/clang-format-vs/ClangFormat/source.extension.vsixmanifest (original)
+++ cfe/trunk/tools/clang-format-vs/ClangFormat/source.extension.vsixmanifest (removed)
@@ -1,31 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<Vsix Version="1.0.0" xmlns="http://schemas.microsoft.com/developer/vsx-schema/2010">
-  <Identifier Id="20dbc914-1c7a-4992-b236-ef58b37850eb">
-    <Name>ClangFormat</Name>
-    <Author>LLVM</Author>
-    <Version>1.0</Version>
-    <Description xml:space="preserve">Information about my package</Description>
-    <Locale>1033</Locale>
-    <InstalledByMsi>false</InstalledByMsi>
-    <SupportedProducts>
-      <VisualStudio Version="10.0">
-        <Edition>Pro</Edition>
-      </VisualStudio>
-      <VisualStudio Version="11.0">
-        <Edition>Pro</Edition>
-      </VisualStudio>
-      <VisualStudio Version="12.0">
-        <Edition>Pro</Edition>
-      </VisualStudio>
-    </SupportedProducts>
-    <SupportedFrameworkRuntimeEdition MinVersion="4.0" MaxVersion="4.0" />
-  </Identifier>
-  <References>
-        <Reference Id="Microsoft.VisualStudio.MPF" MinVersion="10.0">
-            <Name>Visual Studio MPF</Name>
-        </Reference>
-  </References>
-  <Content>
-    <VsPackage>|%CurrentProject%;PkgdefProjectOutputGroup|</VsPackage>
-  </Content>
-</Vsix>

Copied: cfe/trunk/tools/clang-format-vs/source.extension.vsixmanifest.in (from r213579, cfe/trunk/tools/clang-format-vs/ClangFormat/source.extension.vsixmanifest)
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/tools/clang-format-vs/source.extension.vsixmanifest.in?p2=cfe/trunk/tools/clang-format-vs/source.extension.vsixmanifest.in&p1=cfe/trunk/tools/clang-format-vs/ClangFormat/source.extension.vsixmanifest&r1=213579&r2=213584&rev=213584&view=diff
==============================================================================
--- cfe/trunk/tools/clang-format-vs/ClangFormat/source.extension.vsixmanifest (original)
+++ cfe/trunk/tools/clang-format-vs/source.extension.vsixmanifest.in Mon Jul 21 16:48:06 2014
@@ -1,10 +1,10 @@
 <?xml version="1.0" encoding="utf-8"?>
-<Vsix Version="1.0.0" xmlns="http://schemas.microsoft.com/developer/vsx-schema/2010">
+<Vsix Version="1.0" xmlns="http://schemas.microsoft.com/developer/vsx-schema/2010">
   <Identifier Id="20dbc914-1c7a-4992-b236-ef58b37850eb">
     <Name>ClangFormat</Name>
     <Author>LLVM</Author>
-    <Version>1.0</Version>
-    <Description xml:space="preserve">Information about my package</Description>
+    <Version>@CLANG_FORMAT_VS_VERSION@</Version>
+    <Description xml:space="preserve">A tool to format C/C++/Obj-C code.</Description>
     <Locale>1033</Locale>
     <InstalledByMsi>false</InstalledByMsi>
     <SupportedProducts>





More information about the cfe-commits mailing list