From 87f36a4a96b7f772991e1bb5a869802af95565ea Mon Sep 17 00:00:00 2001 From: Riatre Foo Date: Mon, 6 Aug 2018 15:45:04 +0800 Subject: [PATCH] Fix compile on Windows + MSYS2-MinGW64 (#46) 1. libClangDriver.a shipped by MSYS2 needs -lversion which is not included in CMAKE_CXX_STANDARD_LIBRARIES by default. 2. Use string literal for DEFAULT_RESOURCE_DIRECTORY to support backslashes in path. --- CMakeLists.txt | 2 +- cmake/FindClang.cmake | 3 +++ 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index b3306340..faa640b1 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -124,7 +124,7 @@ endif() ### Definitions target_compile_definitions(ccls PRIVATE - DEFAULT_RESOURCE_DIRECTORY="${Clang_RESOURCE_DIR}") + DEFAULT_RESOURCE_DIRECTORY=R"\(${Clang_RESOURCE_DIR}\)") ### Includes diff --git a/cmake/FindClang.cmake b/cmake/FindClang.cmake index 6c4f4153..e4286d51 100644 --- a/cmake/FindClang.cmake +++ b/cmake/FindClang.cmake @@ -137,4 +137,7 @@ if(Clang_FOUND AND NOT TARGET Clang::Clang) find_package(Curses REQUIRED) find_package(ZLIB REQUIRED) set_property(TARGET Clang::Clang PROPERTY IMPORTED_LINK_INTERFACE_LIBRARIES "${_Clang_LIBRARIES};${CURSES_LIBRARIES};${ZLIB_LIBRARIES}") + if(MINGW) + set_property(TARGET Clang::Clang APPEND_STRING PROPERTY IMPORTED_LINK_INTERFACE_LIBRARIES ";version") + endif() endif()