[cfe-commits] r127566 - /cfe/trunk/tools/libclang/CMakeLists.txt
Oscar Fuentes
ofv at wanadoo.es
Sun Mar 13 08:10:24 PDT 2011
Author: ofv
Date: Sun Mar 13 10:10:24 2011
New Revision: 127566
URL: http://llvm.org/viewvc/llvm-project?rev=127566&view=rev
Log:
Build libclang as a static library too. Now tested on Windows!
On Windows only the shared library is created. The reason for this is
that clang.lib the static library would clash with clang.lib the
export library of the dll.
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=127566&r1=127565&r2=127566&view=diff
==============================================================================
--- cfe/trunk/tools/libclang/CMakeLists.txt (original)
+++ cfe/trunk/tools/libclang/CMakeLists.txt Sun Mar 13 10:10:24 2011
@@ -1,5 +1,3 @@
-set(SHARED_LIBRARY TRUE)
-
set(LLVM_USED_LIBS
clangFrontend
clangDriver
@@ -15,7 +13,7 @@
mc
)
-add_clang_library(libclang
+set(SOURCES
CIndex.cpp
CIndexCXX.cpp
CIndexCodeCompletion.cpp
@@ -27,34 +25,44 @@
CXString.cpp
CXType.cpp
../../include/clang-c/Index.h
-)
-
-if(${CMAKE_SYSTEM_NAME} MATCHES "Darwin")
- # Darwin-specific linker flags
+ )
- set(LIBCLANG_LINK_FLAGS "-Wl,-compatibility_version -Wl,1")
-
- set(LIBCLANG_LINK_FLAGS
- "${LIBCLANG_LINK_FLAGS} -Wl,-dead_strip -Wl,-seg1addr -Wl,0xE0000000")
+if( LLVM_ENABLE_PIC )
+ set(SHARED_LIBRARY TRUE)
+ add_clang_library(libclang ${SOURCES})
set_target_properties(libclang
PROPERTIES
- LINK_FLAGS "${LIBCLANG_LINK_FLAGS}"
- INSTALL_NAME_DIR "@executable_path/../lib")
+ OUTPUT_NAME "clang"
+ VERSION ${LIBCLANG_LIBRARY_VERSION}
+ DEFINE_SYMBOL _CINDEX_LIB_)
+
+ if(${CMAKE_SYSTEM_NAME} MATCHES "Darwin")
+ set(LIBCLANG_LINK_FLAGS "-Wl,-compatibility_version -Wl,1"
+ " -Wl,-dead_strip -Wl,-seg1addr -Wl,0xE0000000")
+ set_target_properties(libclang
+ PROPERTIES
+ LINK_FLAGS "${LIBCLANG_LINK_FLAGS}"
+ INSTALL_NAME_DIR "@executable_path/../lib")
+ endif()
+
+ if(MSVC)
+ # windows.h doesn't compile with /Za
+ get_target_property(NON_ANSI_COMPILE_FLAGS libclang COMPILE_FLAGS)
+ string(REPLACE "/Za" "" NON_ANSI_COMPILE_FLAGS ${NON_ANSI_COMPILE_FLAGS})
+ set_target_properties(libclang PROPERTIES
+ COMPILE_FLAGS ${NON_ANSI_COMPILE_FLAGS})
+ endif()
+
+ set(LIBCLANG_STATIC_TARGET_NAME libclang_static)
+else()
+ set(LIBCLANG_STATIC_TARGET_NAME libclang)
endif()
-# Versioning information
-set_target_properties(libclang PROPERTIES VERSION ${LIBCLANG_LIBRARY_VERSION})
+if( NOT BUILD_SHARED_LIBS AND NOT WIN32 )
+ add_clang_library(${LIBCLANG_STATIC_TARGET_NAME} STATIC ${SOURCES})
-if(MSVC)
- # windows.h doesn't compile with /Za
- get_target_property(NON_ANSI_COMPILE_FLAGS libclang COMPILE_FLAGS)
- string(REPLACE /Za "" NON_ANSI_COMPILE_FLAGS ${NON_ANSI_COMPILE_FLAGS})
- set_target_properties(libclang PROPERTIES COMPILE_FLAGS ${NON_ANSI_COMPILE_FLAGS})
-endif(MSVC)
-
-set_target_properties(libclang
- PROPERTIES
- PREFIX "" # Otherwise we get liblibclang.so
- LINKER_LANGUAGE CXX
- DEFINE_SYMBOL _CINDEX_LIB_)
+ set_target_properties(${LIBCLANG_STATIC_TARGET_NAME}
+ PROPERTIES
+ OUTPUT_NAME "clang")
+endif()
More information about the cfe-commits
mailing list