llvm_add_library ignores `BUILD_SHARED_LIBS` `STATIC` is explicitly specified. This restores the `BUILD_SHARED_LIBS` behavior to the clang build.
llvm-svn: 361271
if(ARG_SHARED)
set(LIBTYPE SHARED)
else()
- set(LIBTYPE STATIC OBJECT)
+ # llvm_add_library ignores BUILD_SHARED_LIBS if STATIC is explicitly set,
+ # so we need to handle it here.
+ if(BUILD_SHARED_LIBS)
+ set(LIBTYPE SHARED OBJECT)
+ else()
+ set(LIBTYPE STATIC OBJECT)
+ endif()
set_property(GLOBAL APPEND PROPERTY CLANG_STATIC_LIBS ${name})
endif()
llvm_add_library(${name} ${LIBTYPE} ${ARG_UNPARSED_ARGUMENTS} ${srcs})