Index: tools/clang/plugins/CMakeLists.txt |
diff --git a/tools/clang/plugins/CMakeLists.txt b/tools/clang/plugins/CMakeLists.txt |
index e4eea86c7bf1f1675310cd1bb97678fd7b0e8a1b..d17de19fcd09d79a5a41860469a9dd97a557f29a 100644 |
--- a/tools/clang/plugins/CMakeLists.txt |
+++ b/tools/clang/plugins/CMakeLists.txt |
@@ -1,33 +1,15 @@ |
-set(plugin_sources |
- ChromeClassTester.cpp |
- FindBadConstructsAction.cpp |
- FindBadConstructsConsumer.cpp) |
+add_llvm_loadable_module(libFindBadConstructs |
+ 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) |
+add_dependencies(libFindBadConstructs clang) |
- cr_install(TARGETS libFindBadConstructs LIBRARY DESTINATION lib) |
+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() |
+cr_add_test(plugins_test |
+ ${CMAKE_CURRENT_SOURCE_DIR}/tests/test.sh |
+ ${CMAKE_BINARY_DIR}/bin/clang |
+ $<TARGET_FILE:libFindBadConstructs> |
+ ) |