Skip to content

Commit e3438e4

Browse files
committed
Install both static and shared libs
1 parent 6f4f052 commit e3438e4

File tree

1 file changed

+48
-19
lines changed

1 file changed

+48
-19
lines changed

cmake/modules/AddSwift.cmake

Lines changed: 48 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -1741,30 +1741,59 @@ function(add_swift_library name)
17411741
endif()
17421742
endif()
17431743

1744-
# For all other targets we just install the lib at the arch subdirectory
1745-
if(SWIFTLIB_SHARED)
1746-
set(resource_dir "swift")
1744+
# For all other targets we just install the lib at the arch
1745+
# subdirectory
1746+
if(NOT SWIFTLIB_SHARED AND SWIFTLIB_STATIC)
1747+
# This is a special case where the library is explicitly so
1748+
# we install it into both static and shared lib folder
17471749
set(file_permissions
1748-
OWNER_READ OWNER_WRITE OWNER_EXECUTE
1749-
GROUP_READ GROUP_EXECUTE
1750-
WORLD_READ WORLD_EXECUTE)
1750+
OWNER_READ OWNER_WRITE
1751+
GROUP_READ
1752+
WORLD_READ)
17511753
set(install_libpath
1752-
"${SWIFTLIB_DIR}/${SWIFT_SDK_${sdk}_LIB_SUBDIR}/${arch}/${CMAKE_SHARED_LIBRARY_PREFIX}${name}${CMAKE_SHARED_LIBRARY_SUFFIX}")
1754+
"${SWIFTLIB_DIR}/${SWIFT_SDK_${sdk}_LIB_SUBDIR}/${arch}/${CMAKE_STATIC_LIBRARY_PREFIX}${name}${CMAKE_STATIC_LIBRARY_SUFFIX}")
1755+
1756+
swift_install_in_component("${SWIFTLIB_INSTALL_IN_COMPONENT}"
1757+
FILES "${install_libpath}"
1758+
DESTINATION "lib${LLVM_LIBDIR_SUFFIX}/swift/${SWIFT_SDK_${sdk}_LIB_SUBDIR}/${arch}"
1759+
PERMISSIONS ${file_permissions})
1760+
1761+
swift_install_in_component("${SWIFTLIB_INSTALL_IN_COMPONENT}"
1762+
FILES "${install_libpath}"
1763+
DESTINATION "lib${LLVM_LIBDIR_SUFFIX}/swift_static/${SWIFT_SDK_${sdk}_LIB_SUBDIR}/${arch}"
1764+
PERMISSIONS ${file_permissions})
17531765

17541766
else()
1755-
set(resource_dir "swift_static")
1756-
set(file_permissions
1757-
OWNER_READ OWNER_WRITE
1758-
GROUP_READ
1759-
WORLD_READ)
1760-
set(install_libpath
1761-
"${SWIFTLIB_DIR}/${SWIFT_SDK_${sdk}_LIB_SUBDIR}/${arch}/${CMAKE_STATIC_LIBRARY_PREFIX}${name}${CMAKE_STATIC_LIBRARY_SUFFIX}")
1762-
endif()
1767+
if(SWIFTLIB_SHARED)
1768+
set(resource_dir "swift")
1769+
set(file_permissions
1770+
OWNER_READ OWNER_WRITE OWNER_EXECUTE
1771+
GROUP_READ GROUP_EXECUTE
1772+
WORLD_READ WORLD_EXECUTE)
1773+
set(install_libpath
1774+
"${SWIFTLIB_DIR}/${SWIFT_SDK_${sdk}_LIB_SUBDIR}/${arch}/${CMAKE_SHARED_LIBRARY_PREFIX}${name}${CMAKE_SHARED_LIBRARY_SUFFIX}")
1775+
1776+
swift_install_in_component("${SWIFTLIB_INSTALL_IN_COMPONENT}"
1777+
FILES "${install_libpath}"
1778+
DESTINATION "lib${LLVM_LIBDIR_SUFFIX}/${resource_dir}/${SWIFT_SDK_${sdk}_LIB_SUBDIR}/${arch}"
1779+
PERMISSIONS ${file_permissions})
1780+
endif()
17631781

1764-
swift_install_in_component("${SWIFTLIB_INSTALL_IN_COMPONENT}"
1765-
FILES "${install_libpath}"
1766-
DESTINATION "lib${LLVM_LIBDIR_SUFFIX}/${resource_dir}/${SWIFT_SDK_${sdk}_LIB_SUBDIR}/${arch}"
1767-
PERMISSIONS ${file_permissions})
1782+
if(SWIFTLIB_STATIC)
1783+
set(resource_dir "swift_static")
1784+
set(file_permissions
1785+
OWNER_READ OWNER_WRITE
1786+
GROUP_READ
1787+
WORLD_READ)
1788+
set(install_libpath
1789+
"${SWIFTSTATICLIB_DIR}/${SWIFT_SDK_${sdk}_LIB_SUBDIR}/${arch}/${CMAKE_STATIC_LIBRARY_PREFIX}${name}${CMAKE_STATIC_LIBRARY_SUFFIX}")
1790+
1791+
swift_install_in_component("${SWIFTLIB_INSTALL_IN_COMPONENT}"
1792+
FILES "${install_libpath}"
1793+
DESTINATION "lib${LLVM_LIBDIR_SUFFIX}/${resource_dir}/${SWIFT_SDK_${sdk}_LIB_SUBDIR}/${arch}"
1794+
PERMISSIONS ${file_permissions})
1795+
endif()
1796+
endif()
17681797
endforeach()
17691798
endif()
17701799
endif()

0 commit comments

Comments
 (0)