[libc-commits] [libc] b22f448 - [libc] Add a target "install-llvmlibc" to install LLVM libc static archive.
Siva Chandra via libc-commits
libc-commits at lists.llvm.org
Sun Mar 21 21:45:52 PDT 2021
Author: Siva Chandra
Date: 2021-03-22T04:45:14Z
New Revision: b22f448c21e718a3b6219df89169f38d436189c6
URL: https://github.com/llvm/llvm-project/commit/b22f448c21e718a3b6219df89169f38d436189c6
DIFF: https://github.com/llvm/llvm-project/commit/b22f448c21e718a3b6219df89169f38d436189c6.diff
LOG: [libc] Add a target "install-llvmlibc" to install LLVM libc static archive.
Added:
Modified:
libc/CMakeLists.txt
libc/lib/CMakeLists.txt
Removed:
################################################################################
diff --git a/libc/CMakeLists.txt b/libc/CMakeLists.txt
index 95c3b6c66b59..7054bfc5d148 100644
--- a/libc/CMakeLists.txt
+++ b/libc/CMakeLists.txt
@@ -5,14 +5,16 @@ cmake_minimum_required(VERSION 3.13.4)
cmake_policy(SET CMP0076 OLD)
list(APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/cmake/modules")
-# The top-level source directory of libc.
+# The top-level sourse and binary directories.
set(LIBC_SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR})
+set(LIBC_BINARY_DIR ${CMAKE_CURRENT_BINARY_DIR})
# The top-level directory in which libc is being built.
set(LIBC_BUILD_DIR ${CMAKE_CURRENT_BINARY_DIR})
# Path libc/scripts directory.
set(LIBC_BUILD_SCRIPTS_DIR "${LIBC_SOURCE_DIR}/utils/build_scripts")
+set(LIBC_INSTALL_PREFIX "" CACHE STRING "Define libc destination prefix.")
set(LIBC_TARGET_OS ${CMAKE_SYSTEM_NAME})
string(TOLOWER ${LIBC_TARGET_OS} LIBC_TARGET_OS)
diff --git a/libc/lib/CMakeLists.txt b/libc/lib/CMakeLists.txt
index b8ca13b27124..7d99bd9cebf8 100644
--- a/libc/lib/CMakeLists.txt
+++ b/libc/lib/CMakeLists.txt
@@ -3,3 +3,22 @@ add_entrypoint_library(
DEPENDS
${TARGET_LLVMLIBC_ENTRYPOINTS}
)
+
+if(LLVM_ENABLE_PER_TARGET_RUNTIME_DIR)
+ set(LIBC_INSTALL_LIBRARY_DIR lib${LLVM_LIBDIR_SUFFIX}/${LLVM_DEFAULT_TARGET_TRIPLE})
+else()
+ set(LIBC_INSTALL_LIBRARY_DIR lib${LLVM_LIBDIR_SUFFIX})
+endif()
+
+install(
+ TARGETS llvmlibc
+ ARCHIVE DESTINATION ${LIBC_INSTALL_PREFIX}/${LIBC_INSTALL_LIBRARY_DIR}
+ COMPONENT llvmlibc
+)
+
+add_custom_target(
+ install-llvmlibc
+ DEPENDS llvmlibc
+ COMMAND "${CMAKE_COMMAND}" -DCMAKE_INSTALL_COMPONENT=llvmlibc
+ -P "${LIBC_BINARY_DIR}/cmake_install.cmake"
+)
More information about the libc-commits
mailing list