diff options
author | John Szakmeister <john@szakmeister.net> | 2014-12-03 07:29:03 -0500 |
---|---|---|
committer | John Szakmeister <john@szakmeister.net> | 2014-12-03 07:29:03 -0500 |
commit | 41f1678767071b037e0097e7c46eeecbe6bd6df4 (patch) | |
tree | d344b84f027e3833aa1d70647b3642018ab7fab6 | |
parent | 53bccaaf99cc9564fe5096d37e9aacfd19e3d2d4 (diff) | |
download | rneovim-41f1678767071b037e0097e7c46eeecbe6bd6df4.tar.gz rneovim-41f1678767071b037e0097e7c46eeecbe6bd6df4.tar.bz2 rneovim-41f1678767071b037e0097e7c46eeecbe6bd6df4.zip |
Revert "Merge pull request #1587 from equalsraf/tb-env-configs"
This reverts commit 53bccaaf99cc9564fe5096d37e9aacfd19e3d2d4, reversing
changes made to 4049002f6b1f6db33a497c1f8473ab15233395d5.
-rw-r--r-- | .ci/clang-asan.sh | 4 | ||||
-rw-r--r-- | src/nvim/CMakeLists.txt | 43 | ||||
-rw-r--r-- | src/nvim/po/CMakeLists.txt | 3 |
3 files changed, 27 insertions, 23 deletions
diff --git a/.ci/clang-asan.sh b/.ci/clang-asan.sh index 9cc2ad12ad..b1909ea689 100644 --- a/.ci/clang-asan.sh +++ b/.ci/clang-asan.sh @@ -25,16 +25,18 @@ symbolizer=/usr/local/clang-$clang_version/bin/llvm-symbolizer setup_prebuilt_deps x64 +export SANITIZE=1 export ASAN_SYMBOLIZER_PATH=$symbolizer export ASAN_OPTIONS="detect_leaks=1:log_path=$tmpdir/asan" export TSAN_OPTIONS="external_symbolizer_path=$symbolizer:log_path=$tmpdir/tsan" +export SKIP_UNITTEST=1 export UBSAN_OPTIONS="log_path=$tmpdir/ubsan" # not sure if this works CMAKE_EXTRA_FLAGS="-DTRAVIS_CI_BUILD=ON -DUSE_GCOV=ON" # Build and output version info. -$MAKE_CMD CMAKE_EXTRA_FLAGS="$CMAKE_EXTRA_FLAGS -DSANITIZE=ON" nvim +$MAKE_CMD CMAKE_EXTRA_FLAGS="$CMAKE_EXTRA_FLAGS" nvim build/bin/nvim --version # Run functional tests. diff --git a/src/nvim/CMakeLists.txt b/src/nvim/CMakeLists.txt index 27d9f1b9c3..2867857fb3 100644 --- a/src/nvim/CMakeLists.txt +++ b/src/nvim/CMakeLists.txt @@ -1,10 +1,5 @@ include(CheckLibraryExists) -option(SANITIZE "Enable Clang sanitizers for nvim binary" OFF) -if(SANITIZE AND NOT CMAKE_C_COMPILER_ID MATCHES "Clang") - message(WARNING "SANITIZE" is only supported for Clang) -endif() - set(GENERATED_DIR ${PROJECT_BINARY_DIR}/src/nvim/auto) set(DISPATCH_GENERATOR ${PROJECT_SOURCE_DIR}/scripts/msgpack-gen.lua) file(GLOB API_HEADERS api/*.h) @@ -99,6 +94,19 @@ endforeach() set_source_files_properties( ${CONV_SOURCES} PROPERTIES COMPILE_FLAGS "${COMPILE_FLAGS} -Wno-conversion") +if(CMAKE_C_COMPILER_ID MATCHES "Clang") + if(DEFINED ENV{SANITIZE}) + message(STATUS "Enabling the sanitizers") + add_definitions(-DEXITFREE) # is this necessary for LeakSanitizer? + add_definitions(-fno-sanitize-recover -fno-omit-frame-pointer + -fno-optimize-sibling-calls -fsanitize=address -fsanitize=undefined) + set(CMAKE_EXE_LINKER_FLAGS + "-fsanitize=address -fsanitize=undefined ${CMAKE_EXE_LINKER_FLAGS}") + set(CMAKE_SHARED_LINKER_FLAGS + "-fsanitize=address -fsanitize=undefined ${CMAKE_SHARED_LINKER_FLAGS}") + endif() +endif() + get_directory_property(gen_cdefs COMPILE_DEFINITIONS) foreach(gen_cdef ${gen_cdefs} DO_NOT_DEFINE_EMPTY_ATTRIBUTES) if(NOT "${gen_cdef}" MATCHES "INCLUDE_GENERATED_DECLARATIONS") @@ -113,10 +121,6 @@ endforeach() string(TOUPPER "${CMAKE_BUILD_TYPE}" build_type) set(gen_cflags "${gen_cflags} ${CMAKE_C_FLAGS_${build_type}} ${CMAKE_C_FLAGS}") -if (SANITIZE) - set(gen_cflags "${gen_cflags} -DEXITFREE") -endif() - foreach(sfile ${NEOVIM_SOURCES} "${PROJECT_SOURCE_DIR}/src/nvim/regexp_nfa.c") get_filename_component(full_d ${sfile} PATH) @@ -196,20 +200,17 @@ list(APPEND NVIM_LINK_LIBRARIES m ${CMAKE_THREAD_LIBS_INIT}) -add_executable(nvim ${NEOVIM_GENERATED_SOURCES} ${NEOVIM_SOURCES} - ${NEOVIM_HEADERS}) -target_link_libraries(nvim ${NVIM_LINK_LIBRARIES}) -install_helper(TARGETS nvim) - -if(SANITIZE) - message(STATUS "Enabling Clang sanitizers for nvim") - set_property(TARGET nvim APPEND_STRING PROPERTY COMPILE_FLAGS "-DEXITFREE ") - set_property(TARGET nvim APPEND_STRING PROPERTY COMPILE_FLAGS "-fno-sanitize-recover -fno-omit-frame-pointer -fno-optimize-sibling-calls -fsanitize=address -fsanitize=undefined ") - set_property(TARGET nvim APPEND_STRING PROPERTY LINK_FLAGS "-fsanitize=address -fsanitize=undefined ") +if(NOT DEFINED ENV{SKIP_EXEC}) + add_executable(nvim ${NEOVIM_GENERATED_SOURCES} ${NEOVIM_SOURCES} + ${NEOVIM_HEADERS}) + target_link_libraries(nvim ${NVIM_LINK_LIBRARIES}) + install_helper(TARGETS nvim) endif() -add_library(nvim-test MODULE EXCLUDE_FROM_ALL ${NEOVIM_GENERATED_SOURCES} +if(NOT DEFINED ENV{SKIP_UNITTEST}) + add_library(nvim-test MODULE EXCLUDE_FROM_ALL ${NEOVIM_GENERATED_SOURCES} ${NEOVIM_SOURCES} ${NEOVIM_HEADERS}) -target_link_libraries(nvim-test ${NVIM_LINK_LIBRARIES}) + target_link_libraries(nvim-test ${NVIM_LINK_LIBRARIES}) +endif() add_subdirectory(po) diff --git a/src/nvim/po/CMakeLists.txt b/src/nvim/po/CMakeLists.txt index 443f3c6595..6a56e302e9 100644 --- a/src/nvim/po/CMakeLists.txt +++ b/src/nvim/po/CMakeLists.txt @@ -2,7 +2,8 @@ find_package(Gettext) find_program(XGETTEXT_PRG xgettext) find_program(ICONV_PRG iconv) -if(HAVE_WORKING_LIBINTL AND GETTEXT_FOUND AND XGETTEXT_PRG AND ICONV_PRG) +if(HAVE_WORKING_LIBINTL AND GETTEXT_FOUND AND XGETTEXT_PRG AND ICONV_PRG AND + NOT DEFINED ENV{SKIP_EXEC}) set(ENV{OLD_PO_FILE_INPUT} yes) set(ENV{OLD_PO_FILE_OUTPUT} yes) |