Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1444)

Unified Diff: tools/clang/plugins/CMakeLists.txt

Issue 1385193002: Bisect clang Base URL: https://chromium.googlesource.com/v8/v8.git@master
Patch Set: 246985 Created 5 years, 2 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « tools/clang/empty_string/tests/test-original.cc ('k') | tools/clang/plugins/ChromeClassTester.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: tools/clang/plugins/CMakeLists.txt
diff --git a/tools/clang/plugins/CMakeLists.txt b/tools/clang/plugins/CMakeLists.txt
new file mode 100644
index 0000000000000000000000000000000000000000..e4eea86c7bf1f1675310cd1bb97678fd7b0e8a1b
--- /dev/null
+++ b/tools/clang/plugins/CMakeLists.txt
@@ -0,0 +1,33 @@
+set(plugin_sources
+ ChromeClassTester.cpp
+ FindBadConstructsAction.cpp
+ FindBadConstructsConsumer.cpp)
+
+if(WIN32)
+ # Clang doesn't support loadable modules on Windows. Unfortunately, building
+ # the plugin as a static library and linking clang against it doesn't work.
+ # Since clang doesn't reference any symbols in our static library, the linker
+ # strips it out completely.
+ # Instead, we rely on the fact that the SOURCES property of a target is no
+ # read-only after CMake 3.1 and use it to compile the plugin directly into
+ # clang...
+ cmake_minimum_required(VERSION 3.1)
+ # Paths must be absolute, since we're modifying a target in another directory.
+ set(absolute_sources "")
+ foreach(source ${plugin_sources})
+ list(APPEND absolute_sources ${CMAKE_CURRENT_SOURCE_DIR}/${source})
+ endforeach()
+ set_property(TARGET clang APPEND PROPERTY SOURCES ${absolute_sources})
+else()
+ add_llvm_loadable_module(libFindBadConstructs ${plugin_sources})
+ add_dependencies(libFindBadConstructs clang)
+
+ cr_install(TARGETS libFindBadConstructs LIBRARY DESTINATION lib)
+
+ # TODO(dcheng): Rewrite the test framework so it works on Windows too.
+ cr_add_test(plugins_test
+ ${CMAKE_CURRENT_SOURCE_DIR}/tests/test.sh
+ ${CMAKE_BINARY_DIR}/bin/clang
+ $<TARGET_FILE:libFindBadConstructs>
+ )
+endif()
« no previous file with comments | « tools/clang/empty_string/tests/test-original.cc ('k') | tools/clang/plugins/ChromeClassTester.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698