diff --git a/CMakeLists.txt b/CMakeLists.txt index 1be646dfd2e32586c695613a11e842bd88158461..e366275af9624be1cb2e7a28de50a8f7c8e44fbf 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -41,6 +41,10 @@ if (CMAKE_COMPILER_IS_GNUCXX) set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fno-common -Woverloaded-virtual -pedantic -Wno-long-long -Wall -W -Wno-unused-parameter -Wwrite-strings") endif () +if (APPLE) + set(CMAKE_MODULE_LINKER_FLAGS "-Wl,-flat_namespace -Wl,-undefined -Wl,suppress") +endif () + macro(add_clang_library name) set(srcs ${ARGN}) if(MSVC_IDE OR XCODE) @@ -54,7 +58,9 @@ macro(add_clang_library name) ../../include/clang${dir}/*.def) set(srcs ${srcs} ${headers}) endif(MSVC_IDE OR XCODE) - if (SHARED_LIBRARY) + if (MODULE) + set(libkind MODULE) + elseif (SHARED_LIBRARY) set(libkind SHARED) else() set(libkind) diff --git a/examples/PrintFunctionNames/CMakeLists.txt b/examples/PrintFunctionNames/CMakeLists.txt index 49dd22ad8d0d65f15a76abab73baba375c59da41..5ea75db42e02cd3766721bada9a6c40afceadeab 100644 --- a/examples/PrintFunctionNames/CMakeLists.txt +++ b/examples/PrintFunctionNames/CMakeLists.txt @@ -1,26 +1,10 @@ -set(SHARED_LIBRARY TRUE) +set(MODULE TRUE) set(LLVM_NO_RTTI 1) -set(LLVM_USED_LIBS - clangIndex - clangFrontend - clangDriver - clangSema - clangAnalysis - clangAST - clangParse - clangLex - clangBasic) - -set( LLVM_LINK_COMPONENTS - bitreader - mc - core - ) - add_clang_library(PrintFunctionNames PrintFunctionNames.cpp) set_target_properties(PrintFunctionNames PROPERTIES - LINKER_LANGUAGE CXX) + LINKER_LANGUAGE CXX + PREFIX "") diff --git a/examples/clang-interpreter/CMakeLists.txt b/examples/clang-interpreter/CMakeLists.txt index 0f63b5f5b91bb5c338fa42d4022d1dcec8f9ec56..1aa9b2b592241a065430a0ff9ca9dfb976adaa0f 100644 --- a/examples/clang-interpreter/CMakeLists.txt +++ b/examples/clang-interpreter/CMakeLists.txt @@ -18,8 +18,10 @@ set(LLVM_LINK_COMPONENTS jit interpreter nativecodegen + asmparser bitreader bitwriter + codegen ipo selectiondag ) diff --git a/tools/libclang/CMakeLists.txt b/tools/libclang/CMakeLists.txt index 62c973852dc1eb43028395691fdd0db300193326..562b17ef01bec1d78d5696b01b0f60d98f526b81 100644 --- a/tools/libclang/CMakeLists.txt +++ b/tools/libclang/CMakeLists.txt @@ -3,8 +3,9 @@ set(SHARED_LIBRARY TRUE) set(LLVM_NO_RTTI 1) set(LLVM_USED_LIBS - clangFrontend + clangFrontend clangDriver + clangCodeGen clangSema clangAnalysis clangAST