|
1 | 1 | # SPDX-FileCopyrightText: NVIDIA CORPORATION & AFFILIATES |
2 | | -# Copyright (c) 2022-2023 NVIDIA CORPORATION & AFFILIATES. All rights reserved. |
| 2 | +# Copyright (c) 2022-2024 NVIDIA CORPORATION & AFFILIATES. All rights reserved. |
3 | 3 | # |
4 | 4 | # Licensed under the Apache License, Version 2.0 (the "License"); |
5 | 5 | # you may not use this file except in compliance with the License. |
@@ -31,26 +31,91 @@ install( |
31 | 31 | DIRECTORY gxf/core/include/ |
32 | 32 | DESTINATION share/${PROJECT_NAME}/gxf/include/ |
33 | 33 | ) |
34 | | -# GXF ext headers |
35 | | -install( |
36 | | - DIRECTORY gxf/ext/include/ |
37 | | - DESTINATION share/${PROJECT_NAME}/gxf/include/ |
38 | | -) |
39 | 34 |
|
40 | 35 | # Install extensions directory |
41 | 36 | if( ${ARCHITECTURE} STREQUAL "x86_64" ) |
42 | | - install(DIRECTORY gxf/core/lib/gxf_x86_64_cuda_11_8/ DESTINATION share/${PROJECT_NAME}/gxf/lib) |
43 | | - install(DIRECTORY gxf/ext/lib/gxf_x86_64_cuda_11_8/ DESTINATION share/${PROJECT_NAME}/gxf/lib) |
| 37 | + install(DIRECTORY gxf/core/lib/gxf_x86_64_cuda_12_2/ DESTINATION share/${PROJECT_NAME}/gxf/lib) |
| 38 | + install(FILES gxf/core/lib/gxf_x86_64_cuda_12_2/core/libgxf_core.so DESTINATION lib) |
| 39 | + install(FILES gxf/core/lib/gxf_x86_64_cuda_12_2/logger/libgxf_logger.so DESTINATION lib) |
| 40 | + install(FILES gxf/core/lib/gxf_x86_64_cuda_12_2/multimedia/libgxf_multimedia.so DESTINATION lib) |
| 41 | + install(FILES gxf/core/lib/gxf_x86_64_cuda_12_2/cuda/libgxf_cuda.so DESTINATION lib) |
44 | 42 | elseif( ${ARCHITECTURE} STREQUAL "aarch64" ) |
45 | | - install(DIRECTORY gxf/core/lib/gxf_jetpack51/ DESTINATION share/${PROJECT_NAME}/gxf/lib) |
46 | | - install(DIRECTORY gxf/ext/lib/gxf_jetpack51/ DESTINATION share/${PROJECT_NAME}/gxf/lib) |
| 43 | + install(DIRECTORY gxf/core/lib/gxf_jetpack60/ DESTINATION share/${PROJECT_NAME}/gxf/lib) |
| 44 | + install(FILES gxf/core/lib/gxf_jetpack60/core/libgxf_core.so DESTINATION lib) |
| 45 | + install(FILES gxf/core/lib/gxf_jetpack60/logger/libgxf_logger.so DESTINATION lib) |
| 46 | + install(FILES gxf/core/lib/gxf_jetpack60/multimedia/libgxf_multimedia.so DESTINATION lib) |
| 47 | + install(FILES gxf/core/lib/gxf_jetpack60/cuda/libgxf_cuda.so DESTINATION lib) |
47 | 48 | endif() |
48 | 49 |
|
49 | 50 | # Register cmake in install. |
50 | 51 | ament_index_register_resource(isaac_ros_gxf_cmake_path CONTENT |
51 | 52 | "${CMAKE_INSTALL_PREFIX}/share/${PROJECT_NAME}/cmake") |
52 | 53 | list(APPEND ${PROJECT_NAME}_CONFIG_EXTRAS cmake/isaac_ros_gxf-extras.cmake) |
53 | 54 |
|
| 55 | +# Core |
| 56 | +add_library(Core INTERFACE) |
| 57 | +set_target_properties(Core PROPERTIES |
| 58 | + INTERFACE_INCLUDE_DIRECTORIES |
| 59 | + "$<INSTALL_PREFIX>/share/${PROJECT_NAME}/gxf/include" |
| 60 | +) |
| 61 | +set_property(TARGET Core PROPERTY |
| 62 | + INTERFACE_LINK_LIBRARIES |
| 63 | + magic_enum::magic_enum |
| 64 | + "$<INSTALL_PREFIX>/lib/libgxf_core.so" |
| 65 | +) |
| 66 | + |
| 67 | +# Logger |
| 68 | +add_library(Logger INTERFACE) |
| 69 | +set_target_properties(Logger PROPERTIES |
| 70 | + INTERFACE_LINK_LIBRARIES |
| 71 | + "$<INSTALL_PREFIX>/share/${PROJECT_NAME}/gxf/lib/logger/libgxf_logger.so" |
| 72 | + INTERFACE_INCLUDE_DIRECTORIES |
| 73 | + "$<INSTALL_PREFIX>/share/${PROJECT_NAME}/gxf/include" |
| 74 | +) |
| 75 | + |
| 76 | +# Std |
| 77 | +add_library(Std INTERFACE) |
| 78 | +set_target_properties(Std PROPERTIES |
| 79 | + INTERFACE_LINK_LIBRARIES |
| 80 | + "$<INSTALL_PREFIX>/share/${PROJECT_NAME}/gxf/lib/std/libgxf_std.so" |
| 81 | + INTERFACE_INCLUDE_DIRECTORIES |
| 82 | + "$<INSTALL_PREFIX>/share/${PROJECT_NAME}/gxf/include" |
| 83 | +) |
| 84 | + |
| 85 | +# Multimedia |
| 86 | +add_library(Multimedia INTERFACE) |
| 87 | +set_target_properties(Multimedia PROPERTIES |
| 88 | + INTERFACE_LINK_LIBRARIES |
| 89 | + "$<INSTALL_PREFIX>/share/${PROJECT_NAME}/gxf/lib/multimedia/libgxf_multimedia.so" |
| 90 | + INTERFACE_INCLUDE_DIRECTORIES |
| 91 | + "$<INSTALL_PREFIX>/share/${PROJECT_NAME}/gxf/include" |
| 92 | +) |
| 93 | + |
| 94 | +# Serialization |
| 95 | +add_library(Serialization INTERFACE) |
| 96 | +set_target_properties(Serialization PROPERTIES |
| 97 | + INTERFACE_LINK_LIBRARIES |
| 98 | + "$<INSTALL_PREFIX>/share/${PROJECT_NAME}/gxf/lib/serialization/libgxf_serialization.so" |
| 99 | + INTERFACE_INCLUDE_DIRECTORIES |
| 100 | + "$<INSTALL_PREFIX>/share/${PROJECT_NAME}/gxf/include" |
| 101 | +) |
| 102 | + |
| 103 | +# Cuda |
| 104 | +add_library(Cuda INTERFACE) |
| 105 | +set_target_properties(Cuda PROPERTIES |
| 106 | + INTERFACE_LINK_LIBRARIES |
| 107 | + "$<INSTALL_PREFIX>/share/${PROJECT_NAME}/gxf/lib/cuda/libgxf_cuda.so" |
| 108 | + INTERFACE_INCLUDE_DIRECTORIES |
| 109 | + "$<INSTALL_PREFIX>/share/${PROJECT_NAME}/gxf/include" |
| 110 | +) |
| 111 | + |
| 112 | +install(TARGETS Core Logger Std Multimedia Serialization Cuda |
| 113 | + EXPORT export_${PROJECT_NAME} |
| 114 | + LIBRARY DESTINATION lib |
| 115 | + ARCHIVE DESTINATION lib |
| 116 | + RUNTIME DESTINATION bin) |
| 117 | +ament_export_targets(export_${PROJECT_NAME} HAS_LIBRARY_TARGET) |
| 118 | + |
54 | 119 | if(BUILD_TESTING) |
55 | 120 | find_package(ament_lint_auto REQUIRED) |
56 | 121 |
|
|
0 commit comments