Skip to content

Commit 24d97b5

Browse files
committed
Fixing sdist local build
1 parent a4b7c25 commit 24d97b5

File tree

3 files changed

+45
-32
lines changed

3 files changed

+45
-32
lines changed

.github/workflows/build-wheels.yml

Lines changed: 0 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -122,13 +122,6 @@ jobs:
122122
name: sdist
123123
path: dist
124124

125-
- name: Examinate sdist artifact
126-
shell: bash
127-
run: |
128-
gunzip dist/${{ needs.build_sdist.outputs.sdist_name }}
129-
tar -xvf dist/*.tar
130-
ls -la dist/tiledb/
131-
132125
- name: Install sdist artifact
133126
run: pip install --verbose dist/${{ needs.build_sdist.outputs.sdist_name }}
134127

tiledb/CMakeLists.txt

Lines changed: 26 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -43,49 +43,61 @@ endif()
4343

4444
install(TARGETS main DESTINATION tiledb)
4545

46+
# Handle TileDB shared library installation and RPATH setup
4647
if(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-
7685
else()
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()
90102
endif()
91103

tiledb/libtiledb/CMakeLists.txt

Lines changed: 19 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -59,18 +59,26 @@ endif()
5959

6060
install(TARGETS libtiledb DESTINATION tiledb)
6161

62-
if(NOT TILEDB_DOWNLOADED)
63-
# If using external TileDB core library force it to be linked at runtime using RPATH
62+
# Set RPATH for proper library resolution at runtime
63+
if(APPLE)
64+
message(STATUS "Setting RPATH for target \"libtiledb\" to @loader_path")
65+
set_target_properties(libtiledb PROPERTIES
66+
INSTALL_RPATH "@loader_path"
67+
BUILD_WITH_INSTALL_RPATH TRUE
68+
)
69+
elseif(UNIX)
70+
message(STATUS "Setting RPATH for target \"libtiledb\" to \$ORIGIN")
71+
set_target_properties(libtiledb PROPERTIES
72+
INSTALL_RPATH "\$ORIGIN"
73+
BUILD_WITH_INSTALL_RPATH TRUE
74+
)
75+
else()
76+
# For Windows or other platforms, use absolute path
6477
get_property(TILEDB_LOCATION TARGET TileDB::tiledb_shared PROPERTY LOCATION)
6578
get_filename_component(TILEDB_LOCATION ${TILEDB_LOCATION} DIRECTORY)
6679
message(STATUS "Setting RPATH for target \"libtiledb\" to ${TILEDB_LOCATION}")
67-
68-
if(APPLE)
69-
set_target_properties(libtiledb PROPERTIES
70-
INSTALL_RPATH "@rpath"
71-
BUILD_WITH_INSTALL_RPATH TRUE
72-
)
73-
else()
74-
set_target_properties(libtiledb PROPERTIES INSTALL_RPATH ${TILEDB_LOCATION})
75-
endif()
80+
set_target_properties(libtiledb PROPERTIES
81+
INSTALL_RPATH ${TILEDB_LOCATION}
82+
BUILD_WITH_INSTALL_RPATH TRUE
83+
)
7684
endif()

0 commit comments

Comments
 (0)