Update CHANGELOG.md and README.md for ROCm 6.2
Change-Id: If062cb23290469beef0b04a146c485602377be5d Signed-off-by: Galantsev, Dmitrii <dmitrii.galantsev@amd.com>
Tá an tiomantas seo le fáil i:
@@ -24,3 +24,4 @@ docs/_doxygen/
|
||||
|
||||
# misc
|
||||
__pycache__/
|
||||
authentication/CA/
|
||||
|
||||
@@ -2,6 +2,15 @@
|
||||
|
||||
Full documentation for RDC is available at [ROCm DataCenter Tool User Guide](https://rocm.docs.amd.com/projects/rdc/en/latest/).
|
||||
|
||||
## RDC for ROCm 6.2.0
|
||||
|
||||
- Added [rocprofiler](https://github.com/ROCm/rocprofiler) dmon metrics
|
||||
- Added new ECC metrics
|
||||
- Added [ROCmValidationSuite](https://github.com/ROCm/ROCmValidationSuite) diagnostic command
|
||||
- Fully migrated to [AMDSMI](https://github.com/ROCm/amdsmi)
|
||||
- Removed RASLIB dependency and blobs
|
||||
- Removed [rocm_smi_lib](https://github.com/ROCm/rocm_smi_lib) dependency
|
||||
|
||||
## RDC for ROCm 6.1.0
|
||||
|
||||
- Added `--address` flag to rdcd
|
||||
|
||||
+11
-31
@@ -26,9 +26,18 @@ cmake_minimum_required(VERSION 3.15)
|
||||
set(RDC "rdc" CACHE INTERNAL "")
|
||||
set(RDC_PACKAGE ${RDC} CACHE STRING "")
|
||||
|
||||
# ROCM_DIR should be passed in via command line
|
||||
set(ROCM_DIR "/opt/rocm" CACHE PATH "ROCm directory.")
|
||||
if(DEFINED ROCM_PATH)
|
||||
message(WARNING "ROCM_PATH is not used by the build process! Did you mean to set ROCM_DIR instead?")
|
||||
endif()
|
||||
|
||||
# Default libdir to "lib", this skips GNUInstallDirs from trying to take a guess if it's unset:
|
||||
set(CMAKE_INSTALL_LIBDIR "lib" CACHE STRING "Library install directory")
|
||||
|
||||
# Usually ROCM tools are installed into /opt/rocm
|
||||
set(CMAKE_INSTALL_PREFIX ${ROCM_DIR} CACHE PATH "Default installation directory.")
|
||||
|
||||
set(CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/cmake_modules/" CACHE INTERNAL "Default module path.")
|
||||
# Include common cmake modules
|
||||
include(utils)
|
||||
@@ -69,9 +78,6 @@ if(DEFINED ENV{ADDRESS_SANITIZER})
|
||||
endif()
|
||||
option(ADDRESS_SANITIZER "Enable address sanitizer" ${ADDRESS_SANITIZER_DEFAULT})
|
||||
|
||||
# File reorganization enable/disable
|
||||
option(FILE_REORG_BACKWARD_COMPATIBILITY "Enable File Reorg with backward compatibility" OFF)
|
||||
|
||||
option(CMAKE_VERBOSE_MAKEFILE "Enable verbose output" OFF)
|
||||
|
||||
option(CMAKE_EXPORT_COMPILE_COMMANDS "Export compile commands for linters and autocompleters" ON)
|
||||
@@ -88,20 +94,13 @@ project(${RDC}
|
||||
# this must go after project()
|
||||
include(GNUInstallDirs)
|
||||
|
||||
# ROCM_DIR should be passed in via command line; it will be used
|
||||
# in sub-projects. Override with -DROCM_DIR=
|
||||
set(ROCM_DIR "/opt/rocm" CACHE PATH "ROCm directory.")
|
||||
set(ROCM_PATH "${ROCM_DIR}" CACHE PATH "ROCm directory.")
|
||||
|
||||
set(COMMON_DIR "${CMAKE_CURRENT_SOURCE_DIR}/common")
|
||||
|
||||
set(GRPC_ROOT_DEFAULT "/usr")
|
||||
set(GRPC_ROOT ${GRPC_ROOT_DEFAULT} CACHE STRING "GRPC installation directory.")
|
||||
set(GRPC_ROOT ${GRPC_ROOT_DEFAULT} CACHE PATH "GRPC installation directory.")
|
||||
set(GRPC_DESIRED_VERSION 1.61.0 CACHE STRING "GRPC desired package version.")
|
||||
set(RDC_SHARE_INSTALL_PREFIX "share/${RDC}" CACHE INTERNAL "Tests and Example install directory")
|
||||
|
||||
set(CMAKE_INSTALL_PREFIX ${ROCM_DIR} CACHE STRING "Default installation directory.")
|
||||
|
||||
# add package search paths
|
||||
list(APPEND CMAKE_PREFIX_PATH
|
||||
${GRPC_ROOT}
|
||||
@@ -120,7 +119,7 @@ set(CPACK_PACKAGE_VENDOR "Advanced Micro Devices, Inc." CACHE STRING "")
|
||||
set(CPACK_PACKAGE_CONTACT "RDC Support <rdc.support@amd.com>" CACHE STRING "")
|
||||
set(CPACK_PACKAGE_DESCRIPTION_SUMMARY "Radeon Data Center Tools" CACHE STRING "")
|
||||
set(CPACK_PACKAGE_DESCRIPTION "This package contains the AMD ${CPACK_PACKAGE_DESCRIPTION_SUMMARY}." CACHE STRING "")
|
||||
set(CPACK_PACKAGING_INSTALL_PREFIX "${CMAKE_INSTALL_PREFIX}" CACHE STRING "Default packaging prefix.")
|
||||
set(CPACK_PACKAGING_INSTALL_PREFIX "${CMAKE_INSTALL_PREFIX}" CACHE PATH "Default packaging prefix.")
|
||||
set(CPACK_RESOURCE_FILE_LICENSE "${CMAKE_CURRENT_SOURCE_DIR}/LICENSE" CACHE INTERNAL "")
|
||||
set(CPACK_RPM_PACKAGE_LICENSE "MIT" CACHE INTERNAL "")
|
||||
set(CPACK_GENERATOR "DEB;RPM" CACHE STRING "Default packaging generators.")
|
||||
@@ -375,25 +374,6 @@ configure_file(
|
||||
configure_file(
|
||||
"${PROJECT_SOURCE_DIR}/src/RPM_postun.in"
|
||||
"${PROJECT_SOURCE_DIR}/RPM/rpm_postun" FILE_PERMISSIONS ${INST_SCR_PERM})
|
||||
#backward compatibility for file reorganization
|
||||
if(FILE_REORG_BACKWARD_COMPATIBILITY)
|
||||
# To enable/disable #error in wrapper header files
|
||||
if(NOT DEFINED ROCM_HEADER_WRAPPER_WERROR)
|
||||
if(DEFINED ENV{ROCM_HEADER_WRAPPER_WERROR})
|
||||
set(ROCM_HEADER_WRAPPER_WERROR "$ENV{ROCM_HEADER_WRAPPER_WERROR}"
|
||||
CACHE STRING "Header wrapper warnings as errors.")
|
||||
else()
|
||||
set(ROCM_HEADER_WRAPPER_WERROR "OFF" CACHE STRING "Header wrapper warnings as errors.")
|
||||
endif()
|
||||
endif()
|
||||
if(ROCM_HEADER_WRAPPER_WERROR)
|
||||
set(deprecated_error 1)
|
||||
else()
|
||||
set(deprecated_error 0)
|
||||
endif()
|
||||
|
||||
include(rdc-backward-compat)
|
||||
endif()
|
||||
if(DEFINED ENV{ROCM_LIBPATCH_VERSION})
|
||||
set(CPACK_PACKAGE_VERSION "${CPACK_PACKAGE_VERSION}.$ENV{ROCM_LIBPATCH_VERSION}")
|
||||
message("Using CPACK_PACKAGE_VERSION ${CPACK_PACKAGE_VERSION}")
|
||||
|
||||
+39
-18
@@ -9,7 +9,11 @@ The ROCm™ Data Center Tool simplifies the administration and addresses key inf
|
||||
|
||||
For up-to-date document and how to start using RDC from pre-built packages, please refer to the [**ROCm DataCenter Tool User Guide**](https://rocm.docs.amd.com/projects/rdc/en/latest/)
|
||||
|
||||
For certificate generation, please refer to [**RDC Developer Handbook**#generate-files-for-authentication](https://rocm.docs.amd.com/projects/rdc/en/latest/install/handbook.html#generate-files-for-authentication)
|
||||
## Certificate generation
|
||||
|
||||
For certificate generation, please refer to
|
||||
[**RDC Developer Handbook**#generate-files-for-authentication](https://rocm.docs.amd.com/projects/rdc/en/latest/install/handbook.html#generate-files-for-authentication)
|
||||
Or read the concise guide under authentication/readme.txt
|
||||
|
||||
## Supported platforms
|
||||
|
||||
@@ -45,9 +49,9 @@ The following tools are required for gRPC build & installation
|
||||
|
||||
### Download and build gRPC
|
||||
|
||||
By default (without using CMAKE_INSTALL_PREFIX option), gRPC will install to /usr/local lib, include and bin directories.
|
||||
By default (without using CMAKE_INSTALL_PREFIX option), gRPC will install to `/usr/local` lib, include and bin directories.
|
||||
It is highly recommended to install gRPC into a unique directory.
|
||||
Below example installs gRPC into /opt/grpc
|
||||
Below example installs gRPC into `/opt/grpc`
|
||||
|
||||
git clone -b v1.61.0 https://github.com/grpc/grpc --depth=1 --shallow-submodules --recurse-submodules
|
||||
cd grpc
|
||||
@@ -69,9 +73,13 @@ Clone the RDC source code from GitHub and use CMake to build and install
|
||||
|
||||
git clone https://github.com/ROCm/rdc
|
||||
cd rdc
|
||||
mkdir -p build
|
||||
# default installation location is /opt/rocm, specify with -DROCM_DIR or -DCMAKE_INSTALL_PREFIX
|
||||
cmake -B build -DGRPC_ROOT="$GRPC_ROOT"
|
||||
# enable rocprofiler (optional)
|
||||
cmake -B build -DBUILD_PROFILER=ON
|
||||
# enable RVS (optional)
|
||||
cmake -B build -DBUILD_RVS=ON
|
||||
# build and install
|
||||
make -C build -j $(nproc)
|
||||
make -C build install
|
||||
|
||||
@@ -89,10 +97,10 @@ The user can choose to not build RDC diagnostic ROCM Run time. This will elimina
|
||||
|
||||
## Update System Library Path
|
||||
|
||||
RDC_LIB_DIR=/opt/rocm/rdc/lib
|
||||
GRPC_LIB_DIR=/opt/grpc/lib
|
||||
echo -e "${GRPC_LIB_DIR}\n${GRPC_LIB_DIR}64" | sudo tee /etc/ld.so.conf.d/x86_64-librdc_client.conf
|
||||
echo -e "${RDC_LIB_DIR}\n${RDC_LIB_DIR}64" | sudo tee -a /etc/ld.so.conf.d/x86_64-librdc_client.conf
|
||||
RDC_LIB_DIR=/opt/rocm/lib/rdc
|
||||
GRPC_LIB_DIR="${RDC_LIB_DIR}/grpc/lib\n/opt/grpc/lib"
|
||||
echo -e "${RDC_LIB_DIR}" | sudo tee /etc/ld.so.conf.d/x86_64-librdc_client.conf
|
||||
echo -e "${GRPC_LIB_DIR}" | sudo tee -a /etc/ld.so.conf.d/x86_64-librdc_client.conf
|
||||
ldconfig
|
||||
|
||||
## Running RDC
|
||||
@@ -111,26 +119,37 @@ When *rdcd* is started from a command-line the *capabilities* are determined by
|
||||
## NOTE: Replace /opt/rocm with specific rocm version if needed
|
||||
|
||||
## To run with authentication. Ensure SSL keys are setup properly
|
||||
## version will be the version number(ex:3.10.0) of ROCm where RDC was packaged with
|
||||
/opt/rocm/rdc/bin/rdcd ## rdcd is started with monitor-only capabilities
|
||||
sudo /opt/rocm/rdc/bin/rdcd ## rdcd is started will full-capabilities
|
||||
/opt/rocm/bin/rdcd ## rdcd is started with monitor-only capabilities
|
||||
sudo /opt/rocm/bin/rdcd ## rdcd is started will full-capabilities
|
||||
|
||||
## To run without authentication. SSL key & certificates are not required.
|
||||
## version will be the version number(ex:3.10.0) of ROCm where RDC was packaged with
|
||||
/opt/rocm/rdc/bin/rdcd -u ## rdcd is started with monitor-only capabilities
|
||||
sudo /opt/rocm/rdc/bin/rdcd -u ## rdcd is started will full-capabilities
|
||||
/opt/rocm/bin/rdcd -u ## rdcd is started with monitor-only capabilities
|
||||
sudo /opt/rocm/bin/rdcd -u ## rdcd is started will full-capabilities
|
||||
|
||||
### Start RDCD using systemd
|
||||
|
||||
*rdcd* can be started by using the systemctl command. You can copy /opt/rocm/rdc/lib/rdc.service, which is installed with RDC, to the systemd folder. This file has 2 lines that control what *capabilities* with which *rdcd* will run. If left uncommented, rdcd will run with full-capabilities.
|
||||
*rdcd* can be started by using the systemctl command. You can copy `/opt/rocm/libexec/rdc/rdc.service`, which is installed with RDC, to the systemd folder. This file has 2 lines that control what *capabilities* with which *rdcd* will run. If left uncommented, rdcd will run with full-capabilities.
|
||||
|
||||
## file: /opt/rocm/rdc/lib/rdc.service
|
||||
## file: /opt/rocm/libexec/rdc/rdc.service
|
||||
## Comment the following two lines to run with monitor-only capabilities
|
||||
CapabilityBoundingSet=CAP_DAC_OVERRIDE
|
||||
AmbientCapabilities=CAP_DAC_OVERRIDE
|
||||
|
||||
systemctl start rdc ## start rdc as systemd service
|
||||
|
||||
Additional options can be passed to *rdcd* by modifying `/opt/rocm/etc/rdc_options`
|
||||
|
||||
## file: /opt/rocm/etc/rdc_options
|
||||
# Append 'rdc' daemon parameters here
|
||||
RDC_OPTS="-p 50051 -u -d"
|
||||
|
||||
Example above does the following:
|
||||
|
||||
- Use port 50051
|
||||
- Use unauthenticated mode
|
||||
- Enable debug messages
|
||||
- **NOTE:** You must add `-u` flag to `rdci` calls as well
|
||||
|
||||
## Invoke RDC using ROCm™ Data Center Interface (RDCI)
|
||||
|
||||
RDCI provides command-line interface to all RDC features. This CLI can be run locally or remotely. Refer to [**user guide**](https://rocm.docs.amd.com/projects/rdc/en/latest/how-to/features.html) for the current list of features.
|
||||
@@ -140,7 +159,7 @@ RDCI provides command-line interface to all RDC features. This CLI can be run lo
|
||||
## NOTE: option -u (for unauthenticated) is required if rdcd was started in this mode
|
||||
## Assuming that rdc is installed into /opt/rocm
|
||||
|
||||
cd /opt/rocm/rdc/bin
|
||||
cd /opt/rocm/bin
|
||||
./rdci discovery -l <-u> ## list available GPUs in localhost
|
||||
./rdci discovery <host> -l <-u> ## list available GPUs in host machine
|
||||
./rdci dmon <host> <-u> -l ## list most GPU counters
|
||||
@@ -160,8 +179,10 @@ If rdcd was started as a systemd service, then use journalctl to view rdcd logs
|
||||
To run rdcd with debug log from command-line use
|
||||
version will be the version number(ex:3.10.0) of ROCm where RDC was packaged with
|
||||
|
||||
RDC_LOG=DEBUG /opt/rocm/rdc/bin/rdcd
|
||||
RDC_LOG=DEBUG /opt/rocm/bin/rdcd
|
||||
|
||||
RDC_LOG=DEBUG also works on rdci
|
||||
|
||||
ERROR, INFO, DEBUG logging levels are supported
|
||||
|
||||
Additional logging messages can be enabled with `RSMI_LOGGING=3`
|
||||
|
||||
@@ -0,0 +1,11 @@
|
||||
# How-to generate authentication files
|
||||
|
||||
1. Modify openssl.cnf to match your company info
|
||||
2. ./01gen_root_cert.sh
|
||||
3. ./02gen_ssl_artifacts.sh
|
||||
4. cd CA/artifacts
|
||||
5. sudo ./install_client.sh /etc/rdc
|
||||
6. sudo ./install_server.sh /etc/rdc
|
||||
|
||||
For a full guide refer to:
|
||||
https://rocm.docs.amd.com/projects/rdc/en/latest/install/handbook.html#generate-files-for-authentication
|
||||
@@ -1,114 +0,0 @@
|
||||
# Copyright (c) 2022 Advanced Micro Devices, Inc. All Rights Reserved.
|
||||
# Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
# of this software and associated documentation files (the "Software"), to deal
|
||||
# in the Software without restriction, including without limitation the rights
|
||||
# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
# copies of the Software, and to permit persons to whom the Software is
|
||||
# furnished to do so, subject to the following conditions:
|
||||
#
|
||||
# The above copyright notice and this permission notice shall be included in
|
||||
# all copies or substantial portions of the Software.
|
||||
#
|
||||
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
# THE SOFTWARE.
|
||||
|
||||
cmake_minimum_required(VERSION 3.16.8)
|
||||
|
||||
set(RDC_WRAPPER_DIR ${CMAKE_CURRENT_BINARY_DIR}/wrapper_dir)
|
||||
set(RDC_WRAPPER_INC_DIR ${RDC_WRAPPER_DIR}/include/rdc)
|
||||
set(RDC_WRAPPER_LIB_DIR ${RDC_WRAPPER_DIR}/lib)
|
||||
set(RDC_WRAPPER_BIN_DIR ${RDC_WRAPPER_DIR}/bin)
|
||||
set(RDC_SRC_INC_DIR ${PROJECT_SOURCE_DIR}/include/rdc)
|
||||
|
||||
#use header template file and generate wrapper header files
|
||||
function(generate_wrapper_header)
|
||||
file(MAKE_DIRECTORY ${RDC_WRAPPER_INC_DIR})
|
||||
#Only rdc.h header file used in packaging
|
||||
# set include guard
|
||||
set(include_guard "RDC_WRAPPER_INCLUDE_RDC_H")
|
||||
#set #include statement
|
||||
set(file_name "rdc.h")
|
||||
set(header_name ${file_name})
|
||||
set(include_statements "#include \"../../../${CMAKE_INSTALL_INCLUDEDIR}/rdc/${file_name}\"\n")
|
||||
configure_file(${PROJECT_SOURCE_DIR}/src/header_template.hpp.in ${RDC_WRAPPER_INC_DIR}/${file_name})
|
||||
endfunction()
|
||||
|
||||
# function to create symlink to libraries
|
||||
function(create_library_symlink)
|
||||
file(MAKE_DIRECTORY ${RDC_WRAPPER_LIB_DIR})
|
||||
set(LIB_RDC "librdc.so")
|
||||
set(LIB_RDC_BOOTSTRAP "librdc_bootstrap.so")
|
||||
set(LIB_RDC_CLIENT "librdc_client.so")
|
||||
set(MAJ_VERSION "${VERSION_MAJOR}")
|
||||
set(SO_VERSION "${VERSION_MAJOR}.${VERSION_MINOR}")
|
||||
set(library_files "${LIB_RDC}" "${LIB_RDC}.${MAJ_VERSION}" "${LIB_RDC}.${SO_VERSION}")
|
||||
set(library_files "${library_files}" "${LIB_RDC_BOOTSTRAP}" "${LIB_RDC_BOOTSTRAP}.${MAJ_VERSION}" "${LIB_RDC_BOOTSTRAP}.${SO_VERSION}" )
|
||||
set(library_files "${library_files}" "${LIB_RDC_CLIENT}" "${LIB_RDC_CLIENT}.${MAJ_VERSION}" "${LIB_RDC_CLIENT}.${SO_VERSION}" )
|
||||
|
||||
foreach(file_name ${library_files})
|
||||
add_custom_target(link_${file_name} ALL
|
||||
WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
|
||||
COMMAND ${CMAKE_COMMAND} -E create_symlink
|
||||
../../${CMAKE_INSTALL_LIBDIR}/${file_name} ${RDC_WRAPPER_LIB_DIR}/${file_name})
|
||||
endforeach()
|
||||
# Symlink for private libraries
|
||||
set(LIB_RDC_ROCR "librdc_rocr.so")
|
||||
set(LIB_RDC_ROCP "librdc_rocp.so")
|
||||
set(LIB_RDC_RVS "librdc_rvs.so")
|
||||
set(LIB_RDC_CLIENT_SMI "librdc_client_smi.so")
|
||||
set(library_files "${LIB_RDC_ROCR}" "${LIB_RDC_ROCR}.${MAJ_VERSION}" "${LIB_RDC_ROCR}.${SO_VERSION}" )
|
||||
set(library_files "${LIB_RDC_ROCP}" "${LIB_RDC_ROCP}.${MAJ_VERSION}" "${LIB_RDC_ROCP}.${SO_VERSION}" )
|
||||
set(library_files "${library_files}" "${LIB_RDC_CLIENT_SMI}" "${LIB_RDC_CLIENT_SMI}.${MAJ_VERSION}" "${LIB_RDC_CLIENT_SMI}.${SO_VERSION}" )
|
||||
set(library_files "${library_files}" "${LIB_RDC_RVS}")
|
||||
|
||||
foreach(file_name ${library_files})
|
||||
add_custom_target(link_${file_name} ALL
|
||||
WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
|
||||
COMMAND ${CMAKE_COMMAND} -E create_symlink
|
||||
../../${CMAKE_INSTALL_LIBDIR}/${RDC}/${file_name} ${RDC_WRAPPER_LIB_DIR}/${file_name})
|
||||
endforeach()
|
||||
# create symlink to grpc directory
|
||||
# this helps avoid using LD_LIBRARY_PATH
|
||||
if(BUILD_STANDALONE)
|
||||
set(file_name "grpc")
|
||||
add_custom_target(link_${file_name} ALL
|
||||
WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
|
||||
COMMAND ${CMAKE_COMMAND} -E create_symlink
|
||||
../../${CMAKE_INSTALL_LIBDIR}/${RDC}/${file_name} ${RDC_WRAPPER_LIB_DIR}/${file_name})
|
||||
endif()
|
||||
# create symlink to rdc.service
|
||||
set(file_name "rdc.service")
|
||||
add_custom_target(link_${file_name} ALL
|
||||
WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
|
||||
COMMAND ${CMAKE_COMMAND} -E create_symlink
|
||||
../../${CMAKE_INSTALL_LIBEXECDIR}/${RDC}/${file_name} ${RDC_WRAPPER_LIB_DIR}/${file_name})
|
||||
endfunction()
|
||||
|
||||
# function to create symlink to binaries
|
||||
function(create_binary_symlink)
|
||||
file(MAKE_DIRECTORY ${RDC_WRAPPER_BIN_DIR})
|
||||
# create symlink for rdcd and rdci
|
||||
set(binary_files "rdcd" "rdci")
|
||||
foreach(file_name ${binary_files})
|
||||
add_custom_target(link_${file_name} ALL
|
||||
WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
|
||||
COMMAND ${CMAKE_COMMAND} -E create_symlink
|
||||
../../${CMAKE_INSTALL_BINDIR}/${file_name} ${RDC_WRAPPER_BIN_DIR}/${file_name})
|
||||
endforeach()
|
||||
endfunction()
|
||||
|
||||
# Use template header file and generate wrapper header files
|
||||
generate_wrapper_header()
|
||||
install(DIRECTORY ${RDC_WRAPPER_INC_DIR} DESTINATION DESTINATION ${RDC}/include COMPONENT ${CLIENT_COMPONENT})
|
||||
|
||||
# Create symlink to library files
|
||||
create_library_symlink()
|
||||
install(DIRECTORY ${RDC_WRAPPER_LIB_DIR} DESTINATION ${RDC} COMPONENT ${CLIENT_COMPONENT})
|
||||
# Create symlink to library binaries
|
||||
create_binary_symlink()
|
||||
install(DIRECTORY ${RDC_WRAPPER_BIN_DIR} DESTINATION ${RDC} COMPONENT ${CLIENT_COMPONENT})
|
||||
Tagairt in Eagrán Nua
Cuir bac ar úsáideoir