aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorJohn Szakmeister <john@szakmeister.net>2014-12-03 07:29:03 -0500
committerJohn Szakmeister <john@szakmeister.net>2014-12-03 07:29:03 -0500
commit41f1678767071b037e0097e7c46eeecbe6bd6df4 (patch)
treed344b84f027e3833aa1d70647b3642018ab7fab6 /src
parent53bccaaf99cc9564fe5096d37e9aacfd19e3d2d4 (diff)
downloadrneovim-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.
Diffstat (limited to 'src')
-rw-r--r--src/nvim/CMakeLists.txt43
-rw-r--r--src/nvim/po/CMakeLists.txt3
2 files changed, 24 insertions, 22 deletions
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)