diff options
Diffstat (limited to 'src/nvim/CMakeLists.txt')
-rw-r--r-- | src/nvim/CMakeLists.txt | 22 |
1 files changed, 14 insertions, 8 deletions
diff --git a/src/nvim/CMakeLists.txt b/src/nvim/CMakeLists.txt index 0fc7c780ca..06957dd77d 100644 --- a/src/nvim/CMakeLists.txt +++ b/src/nvim/CMakeLists.txt @@ -381,9 +381,14 @@ if(WIN32) list(APPEND NVIM_LINK_LIBRARIES ${WINPTY_LIBRARIES}) endif() +# Use "luv" as imported library, to work around CMake using "-lluv" for +# "luv.so". #10407 +add_library(luv UNKNOWN IMPORTED) +set_property(TARGET luv PROPERTY IMPORTED_LOCATION ${LIBLUV_LIBRARIES}) + # Put these last on the link line, since multiple things may depend on them. list(APPEND NVIM_LINK_LIBRARIES - ${LIBLUV_LIBRARIES} + luv ${LIBUV_LIBRARIES} ${MSGPACK_LIBRARIES} ${LIBVTERM_LIBRARIES} @@ -401,6 +406,7 @@ endif() set(NVIM_EXEC_LINK_LIBRARIES ${NVIM_LINK_LIBRARIES} ${LUA_PREFERRED_LIBRARIES}) +# Add IPO flags (for LTO), or error if CMake does not know the flags. #8654 if(POLICY CMP0069) cmake_policy(SET CMP0069 NEW) endif() @@ -546,19 +552,19 @@ if(CLANG_ASAN_UBSAN) else() set(SANITIZE_RECOVER -fno-sanitize-recover) # Clang 3.5- endif() - set_property(TARGET nvim APPEND_STRING PROPERTY COMPILE_FLAGS "-DEXITFREE ") - set_property(TARGET nvim APPEND_STRING PROPERTY COMPILE_FLAGS "${SANITIZE_RECOVER} -fno-omit-frame-pointer -fno-optimize-sibling-calls -fsanitize=address -fsanitize=undefined -fsanitize-blacklist=${PROJECT_SOURCE_DIR}/src/.asan-blacklist") + set_property(TARGET nvim APPEND PROPERTY COMPILE_DEFINITIONS EXITFREE) + set_property(TARGET nvim APPEND PROPERTY COMPILE_OPTIONS ${SANITIZE_RECOVER} -fno-omit-frame-pointer -fno-optimize-sibling-calls -fsanitize=address -fsanitize=undefined -fsanitize-blacklist=${PROJECT_SOURCE_DIR}/src/.asan-blacklist) set_property(TARGET nvim APPEND_STRING PROPERTY LINK_FLAGS "-fsanitize=address -fsanitize=undefined ") elseif(CLANG_MSAN) message(STATUS "Enabling Clang memory sanitizer for nvim.") - set_property(TARGET nvim APPEND_STRING PROPERTY COMPILE_FLAGS "-DEXITFREE ") - set_property(TARGET nvim APPEND_STRING PROPERTY COMPILE_FLAGS "-fsanitize=memory -fsanitize-memory-track-origins -fno-omit-frame-pointer -fno-optimize-sibling-calls ") + set_property(TARGET nvim APPEND PROPERTY COMPILE_DEFINITIONS EXITFREE) + set_property(TARGET nvim APPEND PROPERTY COMPILE_OPTIONS -fsanitize=memory -fsanitize-memory-track-origins -fno-omit-frame-pointer -fno-optimize-sibling-calls) set_property(TARGET nvim APPEND_STRING PROPERTY LINK_FLAGS "-fsanitize=memory -fsanitize-memory-track-origins ") elseif(CLANG_TSAN) message(STATUS "Enabling Clang thread sanitizer for nvim.") - set_property(TARGET nvim APPEND_STRING PROPERTY COMPILE_FLAGS "-DEXITFREE ") - set_property(TARGET nvim APPEND_STRING PROPERTY COMPILE_FLAGS "-fsanitize=thread ") - set_property(TARGET nvim APPEND_STRING PROPERTY COMPILE_FLAGS "-fPIE ") + set_property(TARGET nvim APPEND PROPERTY COMPILE_DEFINITIONS EXITFREE) + set_property(TARGET nvim APPEND PROPERTY COMPILE_OPTIONS -fsanitize=thread) + set_property(TARGET nvim APPEND PROPERTY COMPILE_OPTIONS -fPIE) set_property(TARGET nvim APPEND_STRING PROPERTY LINK_FLAGS "-fsanitize=thread ") endif() |