r309557 - [CMake][Modules] libclang: Ignore _CINDEX_LIB_ and CLANG_TOOL_EXTRA_BUILD for -fmodules.
NAKAMURA Takumi via cfe-commits
cfe-commits at lists.llvm.org
Mon Jul 31 04:45:20 PDT 2017
Author: chapuni
Date: Mon Jul 31 04:45:20 2017
New Revision: 309557
URL: http://llvm.org/viewvc/llvm-project?rev=309557&view=rev
Log:
[CMake][Modules] libclang: Ignore _CINDEX_LIB_ and CLANG_TOOL_EXTRA_BUILD for -fmodules.
CLANG_TOOL_EXTRA_BUILD doesn't affect headers.
_CINDEX_LIB_ is defined when the target is SHARED.
On Win32, it affects clang-c/Platform.h and it shouldn't be ignored.
This is part of https://reviews.llvm.org/D35559
Modified:
cfe/trunk/tools/libclang/CMakeLists.txt
Modified: cfe/trunk/tools/libclang/CMakeLists.txt
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/tools/libclang/CMakeLists.txt?rev=309557&r1=309556&r2=309557&view=diff
==============================================================================
--- cfe/trunk/tools/libclang/CMakeLists.txt (original)
+++ cfe/trunk/tools/libclang/CMakeLists.txt Mon Jul 31 04:45:20 2017
@@ -51,6 +51,9 @@ if (TARGET clangTidyPlugin)
add_definitions(-DCLANG_TOOL_EXTRA_BUILD)
list(APPEND LIBS clangTidyPlugin)
list(APPEND LIBS clangIncludeFixerPlugin)
+ if(LLVM_ENABLE_MODULES)
+ list(APPEND LLVM_COMPILE_FLAGS "-fmodules-ignore-macro=CLANG_TOOL_EXTRA_BUILD")
+ endif()
endif ()
find_library(DL_LIBRARY_PATH dl)
@@ -115,6 +118,12 @@ if(ENABLE_SHARED)
PROPERTIES
VERSION ${LIBCLANG_LIBRARY_VERSION}
DEFINE_SYMBOL _CINDEX_LIB_)
+ # FIXME: _CINDEX_LIB_ affects dllexport/dllimport on Win32.
+ if(LLVM_ENABLE_MODULES AND NOT WIN32)
+ target_compile_options(libclang PRIVATE
+ "-fmodules-ignore-macro=_CINDEX_LIB_"
+ )
+ endif()
endif()
endif()
More information about the cfe-commits
mailing list