From 586448763eb9d2369c04f5cdbff0ecff9751a0f9 Mon Sep 17 00:00:00 2001 From: Hans Wennborg Date: Mon, 21 Jul 2014 21:48:06 +0000 Subject: [PATCH] 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. llvm-svn: 213584 --- clang/tools/clang-format-vs/CMakeLists.txt | 9 ++++++++- ...e.extension.vsixmanifest => source.extension.vsixmanifest.in} | 6 +++--- 2 files changed, 11 insertions(+), 4 deletions(-) rename clang/tools/clang-format-vs/{ClangFormat/source.extension.vsixmanifest => source.extension.vsixmanifest.in} (78%) diff --git a/clang/tools/clang-format-vs/CMakeLists.txt b/clang/tools/clang-format-vs/CMakeLists.txt index f883a98..b110192 100644 --- a/clang/tools/clang-format-vs/CMakeLists.txt +++ b/clang/tools/clang-format-vs/CMakeLists.txt @@ -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" diff --git a/clang/tools/clang-format-vs/ClangFormat/source.extension.vsixmanifest b/clang/tools/clang-format-vs/source.extension.vsixmanifest.in similarity index 78% rename from clang/tools/clang-format-vs/ClangFormat/source.extension.vsixmanifest rename to clang/tools/clang-format-vs/source.extension.vsixmanifest.in index 39d30f0..ed0e72e 100644 --- a/clang/tools/clang-format-vs/ClangFormat/source.extension.vsixmanifest +++ b/clang/tools/clang-format-vs/source.extension.vsixmanifest.in @@ -1,10 +1,10 @@  - + ClangFormat LLVM - 1.0 - Information about my package + @CLANG_FORMAT_VS_VERSION@ + A tool to format C/C++/Obj-C code. 1033 false -- 2.7.4