diff --git a/CMakeLists.txt b/CMakeLists.txt index 806b825..4b330f9 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -104,6 +104,7 @@ option(LIBUNWIND_ENABLE_ASSERTIONS "Enable assertions independent of build mode. option(LIBUNWIND_ENABLE_PEDANTIC "Compile with pedantic enabled." ON) option(LIBUNWIND_ENABLE_WERROR "Fail and stop if a warning is triggered." OFF) option(LIBUNWIND_ENABLE_SHARED "Build libunwind as a shared library." ON) +option(LIBUNWIND_ENABLE_STATIC "Build libunwind as a static library." OFF) option(LIBUNWIND_ENABLE_CROSS_UNWINDING "Enable cross-platform unwinding support." OFF) option(LIBUNWIND_ENABLE_ARM_WMMX "Enable unwinding support for ARM WMMX registers." OFF) diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index b7c2d63..7c453de 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -51,8 +51,10 @@ set(LIBUNWIND_SOURCES if (LIBUNWIND_ENABLE_SHARED) add_library(unwind SHARED ${LIBUNWIND_SOURCES} ${LIBUNWIND_HEADERS}) -else() - add_library(unwind STATIC ${LIBUNWIND_SOURCES} ${LIBUNWIND_HEADERS}) +endif() +if (LIBUNWIND_ENABLE_STATIC) + add_library(unwind_static STATIC ${LIBUNWIND_SOURCES} ${LIBUNWIND_HEADERS}) + set_target_properties(unwind_static PROPERTIES OUTPUT_NAME unwind) endif () # Generate library list. @@ -109,7 +111,9 @@ set_property(SOURCE ${LIBUNWIND_CXX_SOURCES} set_property(SOURCE ${LIBUNWIND_C_SOURCES} APPEND_STRING PROPERTY COMPILE_FLAGS " ${CMAKE_C_FLAGS} ${LIBUNWIND_C_FLAGS}") -install(TARGETS unwind - LIBRARY DESTINATION lib${LLVM_LIBDIR_SUFFIX} - ARCHIVE DESTINATION lib${LLVM_LIBDIR_SUFFIX}) - +if (LIBUNWIND_ENABLE_SHARED) + install(TARGETS unwind LIBRARY DESTINATION lib${LLVM_LIBDIR_SUFFIX}) +endif () +if (LIBUNWIND_ENABLE_STATIC) + install(TARGETS unwind_static ARCHIVE DESTINATION lib${LLVM_LIBDIR_SUFFIX}) +endif ()