diff options
author | Hans Wennborg <hans@hanshq.net> | 2013-12-03 18:02:51 +0000 |
---|---|---|
committer | Hans Wennborg <hans@hanshq.net> | 2013-12-03 18:02:51 +0000 |
commit | ea654c32d9d69ff1ece6211fc5cf92f1e0a9e3e2 (patch) | |
tree | 43b3dca287b5d0ef9d10cb1d7759920f86cf2e4d /tools | |
parent | 95cedc0524d4c3888ce725395ecc8a6b2faffa89 (diff) | |
download | clang-ea654c32d9d69ff1ece6211fc5cf92f1e0a9e3e2.tar.gz clang-ea654c32d9d69ff1ece6211fc5cf92f1e0a9e3e2.tar.bz2 clang-ea654c32d9d69ff1ece6211fc5cf92f1e0a9e3e2.tar.xz |
CMake: enable building the clang-format vs plugin
This makes it possible to build the clang-format vs plugin from the cmake build.
It is a hack, as it shells out to "devenv" to actually build it, but it's hidden
away in a corner behind a flag, and it provides a convenient way of building the
plug-in from the command-line together with the rest of clang.
Differential Revision: http://llvm-reviews.chandlerc.com/D2310
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@196299 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'tools')
-rw-r--r-- | tools/CMakeLists.txt | 1 | ||||
-rw-r--r-- | tools/clang-format-vs/CMakeLists.txt | 16 | ||||
-rw-r--r-- | tools/clang-format-vs/README.txt | 3 |
3 files changed, 20 insertions, 0 deletions
diff --git a/tools/CMakeLists.txt b/tools/CMakeLists.txt index fef0adc621..58be615e85 100644 --- a/tools/CMakeLists.txt +++ b/tools/CMakeLists.txt @@ -2,6 +2,7 @@ add_subdirectory(diagtool) add_subdirectory(driver) if(CLANG_ENABLE_REWRITER) add_subdirectory(clang-format) + add_subdirectory(clang-format-vs) endif() if(CLANG_ENABLE_ARCMT) diff --git a/tools/clang-format-vs/CMakeLists.txt b/tools/clang-format-vs/CMakeLists.txt new file mode 100644 index 0000000000..f38213f0e3 --- /dev/null +++ b/tools/clang-format-vs/CMakeLists.txt @@ -0,0 +1,16 @@ +option(BUILD_CLANG_FORMAT_VS_PLUGIN "Build clang-format VS plugin" OFF) +if (BUILD_CLANG_FORMAT_VS_PLUGIN) + add_custom_target(clang_format_exe_for_vsix + ${CMAKE_COMMAND} -E copy_if_different + "${LLVM_TOOLS_BINARY_DIR}/clang-format.exe" + "${CMAKE_CURRENT_SOURCE_DIR}/ClangFormat/clang-format.exe" + DEPENDS clang-format) + + add_custom_target(clang_format_vsix ALL + devenv "${CMAKE_CURRENT_SOURCE_DIR}/ClangFormat.sln" /Build Release + DEPENDS clang_format_exe_for_vsix + COMMAND ${CMAKE_COMMAND} -E copy_if_different + "${CMAKE_CURRENT_SOURCE_DIR}/ClangFormat/bin/Release/ClangFormat.vsix" + "${LLVM_TOOLS_BINARY_DIR}/ClangFormat.vsix" + DEPENDS clang_format_exe_for_vsix) +endif() diff --git a/tools/clang-format-vs/README.txt b/tools/clang-format-vs/README.txt index d74060e19a..b87df6e923 100644 --- a/tools/clang-format-vs/README.txt +++ b/tools/clang-format-vs/README.txt @@ -8,3 +8,6 @@ Build prerequisites are: clang-format.exe must be copied into the ClangFormat/ directory before building.
It will be bundled into the .vsix file.
+
+The extension can be built manually from ClangFormat.sln (e.g. by opening it in
+Visual Studio), or with cmake by setting the BUILD_CLANG_FORMAT_VS_PLUGIN flag.
|