diff options
author | Alexey Samsonov <samsonov@google.com> | 2013-08-29 10:49:04 +0000 |
---|---|---|
committer | Alexey Samsonov <samsonov@google.com> | 2013-08-29 10:49:04 +0000 |
commit | 38a61aa7d3fc1deeb612e02863f0fbb417cda612 (patch) | |
tree | ee7c38dba7932f75a02e6c5990c99f69bb2b7a1c | |
parent | 5fa3d5d7ec35a704c6362d8d04f03023bb6e95e8 (diff) | |
download | compiler-rt-38a61aa7d3fc1deeb612e02863f0fbb417cda612.tar.gz compiler-rt-38a61aa7d3fc1deeb612e02863f0fbb417cda612.tar.bz2 compiler-rt-38a61aa7d3fc1deeb612e02863f0fbb417cda612.tar.xz |
[sanitizer] Refine CMake rules for generating exported symbols and lint checking
git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@189577 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r-- | CMakeLists.txt | 4 | ||||
-rw-r--r-- | cmake/Modules/SanitizerUtils.cmake | 22 | ||||
-rw-r--r-- | lib/sanitizer_common/CMakeLists.txt | 12 | ||||
-rw-r--r-- | lib/sanitizer_common/tests/CMakeLists.txt | 5 |
4 files changed, 24 insertions, 19 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt index 7d1d0f66..72b9371d 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -191,6 +191,10 @@ add_subdirectory(include) set(SANITIZER_COMMON_LIT_TEST_DEPS clang clang-headers FileCheck count not llvm-nm llvm-symbolizer compiler-rt-headers) +# Check code style when running lit tests for sanitizers. +if(UNIX) + list(APPEND SANITIZER_COMMON_LIT_TEST_DEPS SanitizerLintCheck) +endif() add_subdirectory(lib) diff --git a/cmake/Modules/SanitizerUtils.cmake b/cmake/Modules/SanitizerUtils.cmake index a443b191..aa7be300 100644 --- a/cmake/Modules/SanitizerUtils.cmake +++ b/cmake/Modules/SanitizerUtils.cmake @@ -3,6 +3,9 @@ include(LLVMParseArguments) set(SANITIZER_GEN_DYNAMIC_LIST ${COMPILER_RT_SOURCE_DIR}/lib/sanitizer_common/scripts/gen_dynamic_list.py) +set(SANITIZER_LINT_SCRIPT + ${COMPILER_RT_SOURCE_DIR}/lib/sanitizer_common/scripts/check_lint.sh) + # Create a target "<name>-symbols" that would generate the list of symbols # that need to be exported from sanitizer runtime "<name>". Function # interceptors are exported automatically, user can also provide files with @@ -11,13 +14,28 @@ set(SANITIZER_GEN_DYNAMIC_LIST macro(add_sanitizer_rt_symbols name) get_target_property(libfile ${name} LOCATION) set(symsfile "${libfile}.syms") - add_custom_target(${name}-symbols ALL + add_custom_command(OUTPUT ${symsfile} COMMAND ${PYTHON_EXECUTABLE} ${SANITIZER_GEN_DYNAMIC_LIST} ${libfile} ${ARGN} > ${symsfile} DEPENDS ${name} ${SANITIZER_GEN_DYNAMIC_LIST} ${ARGN} WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} - VERBATIM + COMMENT "Generating exported symbols for ${name}" + VERBATIM) + add_custom_target(${name}-symbols ALL + DEPENDS ${symsfile} SOURCES ${SANITIZER_GEN_DYNAMIC_LIST} ${ARGN}) install(FILES ${symsfile} DESTINATION ${COMPILER_RT_LIBRARY_INSTALL_DIR}) endmacro() + +# Add target to check code style for sanitizer runtimes. +if(UNIX) + add_custom_target(SanitizerLintCheck + COMMAND LLVM_CHECKOUT=${LLVM_MAIN_SRC_DIR} SILENT=1 TMPDIR= + PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE} + ${SANITIZER_LINT_SCRIPT} + DEPENDS ${SANITIZER_LINT_SCRIPT} + COMMENT "Running lint check for sanitizer sources..." + VERBATIM) +endif() + diff --git a/lib/sanitizer_common/CMakeLists.txt b/lib/sanitizer_common/CMakeLists.txt index 7f7f23a7..3b4ce221 100644 --- a/lib/sanitizer_common/CMakeLists.txt +++ b/lib/sanitizer_common/CMakeLists.txt @@ -100,18 +100,6 @@ else() endforeach() endif() -# Add target to check code style for sanitizer runtimes. -if(UNIX) - set(SANITIZER_LINT_SCRIPT ${CMAKE_CURRENT_SOURCE_DIR}/scripts/check_lint.sh) - add_custom_target(SanitizerLintCheck ALL - COMMAND LLVM_CHECKOUT=${LLVM_MAIN_SRC_DIR} SILENT=1 TMPDIR= - PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE} - ${SANITIZER_LINT_SCRIPT} - DEPENDS ${SANITIZER_LINT_SCRIPT} - COMMENT "Running lint check for sanitizer sources..." - VERBATIM) -endif() - # Unit tests for common sanitizer runtime. if(LLVM_INCLUDE_TESTS) add_subdirectory(tests) diff --git a/lib/sanitizer_common/tests/CMakeLists.txt b/lib/sanitizer_common/tests/CMakeLists.txt index f96347d0..d7ccc788 100644 --- a/lib/sanitizer_common/tests/CMakeLists.txt +++ b/lib/sanitizer_common/tests/CMakeLists.txt @@ -166,8 +166,3 @@ if(ANDROID) # Add unit test to test suite. add_dependencies(SanitizerUnitTests SanitizerTest) endif() - -# Check code style as a part of check-sanitizer command. -if(UNIX) - add_dependencies(SanitizerUnitTests SanitizerLintCheck) -endif() |