@@ -43,49 +43,61 @@ endif()
4343
4444install (TARGETS main DESTINATION tiledb)
4545
46+ # Handle TileDB shared library installation and RPATH setup
4647if (TILEDB_DOWNLOADED)
47-
4848 if (DEFINED ENV{RUNNER_TEMP})
49- # For CI builds
49+ # For CI builds - install to external directory
5050 set (TILEDB_EXTERNAL_DIR "$ENV{RUNNER_TEMP} /tiledb-external" )
51- message (STATUS "Installing TileDB to: ${TILEDB_EXTERNAL_DIR} " )
51+ message (STATUS "CI Build - installing TileDB to: ${TILEDB_EXTERNAL_DIR} " )
5252 install (IMPORTED_RUNTIME_ARTIFACTS TileDB::tiledb_shared
5353 DESTINATION "${TILEDB_EXTERNAL_DIR} " )
5454
55- # Set RPATH to use @rpath for proper library isolation on macOS
55+ # Set RPATH for CI builds
5656 if (APPLE )
5757 set_target_properties (main PROPERTIES
5858 INSTALL_RPATH "@rpath"
5959 BUILD_WITH_INSTALL_RPATH TRUE
6060 )
6161 else ()
62- set_target_properties (main PROPERTIES INSTALL_RPATH "${TILEDB_EXTERNAL_DIR} " )
62+ set_target_properties (main PROPERTIES
63+ INSTALL_RPATH "${TILEDB_EXTERNAL_DIR} "
64+ BUILD_WITH_INSTALL_RPATH TRUE
65+ )
6366 endif ()
6467 else ()
65- # For local builds - auditwheel is not present
68+ # For local builds - install to tiledb directory
69+ message (STATUS "Local Build - installing TileDB shared library to tiledb directory" )
6670 install (IMPORTED_RUNTIME_ARTIFACTS TileDB::tiledb_shared DESTINATION tiledb)
6771
68- if (APPLE )
69- set_target_properties (main PROPERTIES INSTALL_RPATH "@loader_path" )
72+ # Set RPATH for local builds
73+ if (APPLE )
74+ set_target_properties (main PROPERTIES
75+ INSTALL_RPATH "@loader_path"
76+ BUILD_WITH_INSTALL_RPATH TRUE
77+ )
7078 elseif (UNIX )
71- set_target_properties (main PROPERTIES INSTALL_RPATH "\$ ORIGIN" )
79+ set_target_properties (main PROPERTIES
80+ INSTALL_RPATH "\$ ORIGIN"
81+ BUILD_WITH_INSTALL_RPATH TRUE
82+ )
7283 endif ()
7384 endif ()
74-
75-
7685else ()
77- # If using external TileDB core library force it to be linked at runtime using RPATH
86+ # For external TileDB installations - no installation needed, just set RPATH
7887 get_property (TILEDB_LOCATION TARGET TileDB::tiledb_shared PROPERTY LOCATION )
7988 get_filename_component (TILEDB_LOCATION ${TILEDB_LOCATION} DIRECTORY )
80- message (STATUS "Setting RPATH for targets \" main \" and \" libtiledb \" to ${TILEDB_LOCATION} " )
89+ message (STATUS "External TileDB - setting RPATH to: ${TILEDB_LOCATION} " )
8190
8291 if (APPLE )
8392 set_target_properties (main PROPERTIES
8493 INSTALL_RPATH "@rpath"
8594 BUILD_WITH_INSTALL_RPATH TRUE
8695 )
8796 else ()
88- set_target_properties (main PROPERTIES INSTALL_RPATH ${TILEDB_LOCATION} )
97+ set_target_properties (main PROPERTIES
98+ INSTALL_RPATH ${TILEDB_LOCATION}
99+ BUILD_WITH_INSTALL_RPATH TRUE
100+ )
89101 endif ()
90102endif ()
91103
0 commit comments