Skip to content

Commit c5cda62

Browse files
committed
Remove Boost. Fix typos.
1 parent ab03136 commit c5cda62

File tree

3 files changed

+34
-54
lines changed

3 files changed

+34
-54
lines changed

.github/scripts/cibw_before_build_linux.sh

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ PROJECT_DIR="$(cd "$1" && pwd)"
77
INSTALL_PREFIX="/opt/gtdynamics-deps"
88
NUM_CORES=$(nproc)
99

10-
# 1. Setup Environment
10+
# Setup Environment
1111
source ${INSTALL_PREFIX}/env.sh
1212
PYTHON_EXE=$(which python)
1313
PYTHON_VERSION=$($PYTHON_EXE -c "import sys; print(f'{sys.version_info.major}.{sys.version_info.minor}')")
@@ -22,7 +22,7 @@ GTSAM_SOURCE="${INSTALL_PREFIX}/gtsam_source"
2222
GTSAM_BUILD="${INSTALL_PREFIX}/gtsam_build_py${PYTHON_VERSION}"
2323
GTSAM_PREFIX="${INSTALL_PREFIX}/gtsam_py${PYTHON_VERSION}"
2424

25-
# 2. Build and INSTALL GTSAM to Clean Prefix
25+
# Build and INSTALL GTSAM
2626
echo "Building GTSAM..."
2727
rm -rf ${GTSAM_BUILD} ${GTSAM_PREFIX}
2828
mkdir -p ${GTSAM_BUILD}
@@ -42,12 +42,12 @@ cmake ${GTSAM_SOURCE} \
4242
-DGTSAM_BUILD_TESTS=OFF \
4343
-DGTSAM_BUILD_EXAMPLES_ALWAYS=OFF \
4444
-DGTSAM_INSTALL_EXAMPLES=OFF \
45-
-DGTSAM_BUILD_UNSTABLE=OFF
45+
-DGTSAM_BUILD_UNSTABLE=ON
4646

4747
cmake --build . --config Release -j${NUM_CORES}
48-
cmake --install .
48+
cmake --install .
4949

50-
# 3. Stage GTSAM using your Working Copy Logic
50+
# Stage GTSAM
5151
echo "Staging GTSAM Python package for bundling..."
5252
GTSAM_PY_SRC="${GTSAM_BUILD}/python/gtsam"
5353
GTSAM_PY_DST="${PROJECT_DIR}/python/gtsam"
@@ -67,7 +67,7 @@ done
6767

6868
rm -rf ${GTSAM_PY_DST}/tests ${GTSAM_PY_DST}/examples ${GTSAM_PY_DST}/notebooks ${GTSAM_PY_DST}/__pycache__
6969

70-
# 4. Finalize Environment for GTDynamics
70+
# Finalize Environment for GTDynamics
7171
export GTSAM_DIR="${GTSAM_PREFIX}/lib/cmake/GTSAM"
7272
export CMAKE_PREFIX_PATH="${GTSAM_PREFIX}:${CMAKE_PREFIX_PATH}"
7373
export LD_LIBRARY_PATH="${GTSAM_PREFIX}/lib:${LD_LIBRARY_PATH}"
@@ -79,7 +79,7 @@ ln -sf ${GTSAM_PREFIX} ${INSTALL_PREFIX}/gtsam_current
7979
sed -i 's/Interpreter Development/Interpreter Development.Module/g' \
8080
${GTSAM_PREFIX}/lib/cmake/gtwrap/GtwrapUtils.cmake
8181

82-
# 5. Build and INSTALL GTDynamics
82+
# Build and INSTALL GTDynamics
8383
echo "Building GTDynamics C++ extension..."
8484
GTD_BUILD="${INSTALL_PREFIX}/gtd_build_py${PYTHON_VERSION}"
8585
GTD_PREFIX="${INSTALL_PREFIX}/gtd_py${PYTHON_VERSION}"
@@ -104,7 +104,7 @@ cmake --build . --config Release --target gtdynamics_py -j${NUM_CORES}
104104
cmake --install .
105105

106106

107-
# 6. Stage GTDynamics extension
107+
# Stage GTDynamics
108108
echo "Staging GTDynamics extension..."
109109
GTD_PY_STAGING="${GTD_BUILD}/python/gtdynamics"
110110

.github/scripts/cibw_before_build_macos.sh

Lines changed: 18 additions & 38 deletions
Original file line numberDiff line numberDiff line change
@@ -42,56 +42,42 @@ cd ${GTSAM_BUILD}
4242
cmake ${GTSAM_SOURCE} \
4343
-DCMAKE_BUILD_TYPE=Release \
4444
-DCMAKE_INSTALL_PREFIX=${GTSAM_PREFIX} \
45-
-DCMAKE_OSX_DEPLOYMENT_TARGET=${MACOSX_DEPLOYMENT_TARGET} \
46-
-DGTSAM_BUILD_TESTS=OFF \
47-
-DGTSAM_BUILD_UNSTABLE=ON \
48-
-DGTSAM_USE_QUATERNIONS=OFF \
49-
-DGTSAM_WITH_TBB=OFF \
50-
-DGTSAM_BUILD_EXAMPLES_ALWAYS=OFF \
51-
-DGTSAM_BUILD_WITH_MARCH_NATIVE=OFF \
5245
-DGTSAM_BUILD_PYTHON=ON \
53-
-DGTSAM_UNSTABLE_BUILD_PYTHON=ON \
5446
-DGTSAM_PYTHON_VERSION=${PYTHON_VERSION} \
5547
-DPYTHON_EXECUTABLE:FILEPATH=${PYTHON_EXE} \
56-
-DGTSAM_ALLOW_DEPRECATED_SINCE_V43=OFF \
57-
-DBOOST_ROOT=${BOOST_ROOT} \
58-
-DCMAKE_CXX_FLAGS="-faligned-new"
48+
-DGTSAM_ENABLE_BOOST_SERIALIZATION=OFF \
49+
-DGTSAM_USE_BOOST_FEATURES=OFF \
50+
-DCMAKE_CXX_FLAGS="-faligned-new -Wno-error=free-nonheap-object" \
51+
-DCMAKE_POSITION_INDEPENDENT_CODE=ON \
52+
-DCMAKE_INSTALL_LIBDIR=lib \
53+
-DGTSAM_BUILD_TESTS=OFF \
54+
-DGTSAM_BUILD_EXAMPLES_ALWAYS=OFF \
55+
-DGTSAM_INSTALL_EXAMPLES=OFF \
56+
-DGTSAM_BUILD_UNSTABLE=ON
5957

6058
cmake --build . --config Release -j${NUM_CORES}
6159
cmake --install .
6260

63-
# Install GTSAM Python package into the build environment
64-
# (needed so that gtwrap/cmake can find it during GTDynamics build)
65-
echo "Installing GTSAM Python package..."
66-
cd ${GTSAM_BUILD}/python
67-
$PYTHON_EXE -m pip install .
6861

69-
# Copy the gtsam Python package into the source tree so hatchling bundles
70-
# it directly inside the gtdynamics wheel. This eliminates the need for
71-
# a separate gtsam-develop pip package.
72-
echo "Copying gtsam Python package into source tree for bundling..."
62+
# Stage GTSAM
63+
echo "Staging GTSAM Python package for bundling..."
7364
GTSAM_PY_SRC="${GTSAM_BUILD}/python/gtsam"
7465
GTSAM_PY_DST="${PROJECT_DIR}/python/gtsam"
7566
rm -rf ${GTSAM_PY_DST}
7667
mkdir -p ${GTSAM_PY_DST}
7768

78-
# Copy core Python files, extension module, and type stubs
7969
cp ${GTSAM_PY_SRC}/__init__.py ${GTSAM_PY_DST}/
8070
cp ${GTSAM_PY_SRC}/__init__.pyi ${GTSAM_PY_DST}/ 2>/dev/null || true
8171
cp ${GTSAM_PY_SRC}/*.py ${GTSAM_PY_DST}/
8272
find ${GTSAM_PY_SRC} -maxdepth 1 -name "gtsam*.so" -exec cp {} ${GTSAM_PY_DST}/ \;
8373

84-
# Copy sub-packages (utils, preamble, specializations, type stubs, Data)
8574
for subdir in utils preamble specializations gtsam Data; do
8675
if [ -d "${GTSAM_PY_SRC}/${subdir}" ]; then
8776
cp -r ${GTSAM_PY_SRC}/${subdir} ${GTSAM_PY_DST}/
8877
fi
8978
done
9079

91-
# Remove tests/examples/notebooks from bundled gtsam (not needed at runtime)
92-
rm -rf ${GTSAM_PY_DST}/tests ${GTSAM_PY_DST}/examples ${GTSAM_PY_DST}/notebooks
93-
rm -rf ${GTSAM_PY_DST}/__pycache__
94-
80+
rm -rf ${GTSAM_PY_DST}/tests ${GTSAM_PY_DST}/examples ${GTSAM_PY_DST}/notebooks ${GTSAM_PY_DST}/__pycache__
9581

9682
# Add rpath to GTSAM libraries for macOS
9783
for dylib in ${GTSAM_PREFIX}/lib/*.dylib; do
@@ -126,17 +112,19 @@ mkdir -p ${GTD_BUILD}
126112
cd ${GTD_BUILD}
127113
cmake ${PROJECT_DIR} \
128114
-DCMAKE_BUILD_TYPE=Release \
129-
-DCMAKE_OSX_DEPLOYMENT_TARGET=${MACOSX_DEPLOYMENT_TARGET} \
115+
-DCMAKE_INSTALL_PREFIX=${GTD_PREFIX} \
130116
-DGTSAM_DIR="${GTSAM_PREFIX}/lib/cmake/GTSAM" \
131117
-DGTDYNAMICS_BUILD_PYTHON=ON \
132118
-DGTDYNAMICS_BUILD_EXAMPLES=OFF \
133119
-DBUILD_TESTING=OFF \
134-
-DPython_EXECUTABLE:FILEPATH=${PYTHON_EXE} \
135120
-DPYTHON_EXECUTABLE:FILEPATH=${PYTHON_EXE} \
136-
-DBOOST_ROOT=${BOOST_ROOT} \
137-
-DCMAKE_CXX_FLAGS="-faligned-new"
121+
-DGTDYNAMICS_ENABLE_BOOST_SERIALIZATION=OFF \
122+
-DCMAKE_CXX_FLAGS="-faligned-new" \
123+
-DCMAKE_POSITION_INDEPENDENT_CODE=ON \
124+
-DCMAKE_INSTALL_LIBDIR=lib
138125

139126
cmake --build . --config Release --target gtdynamics_py -j${NUM_CORES}
127+
cmake --install .
140128

141129
# Copy the built Python extension (.so) into the source tree so that
142130
# hatchling (a pure-Python build backend) can package it into the wheel.
@@ -157,12 +145,4 @@ find ${GTD_PREFIX}/lib -name "libgtsam*.dylib" -delete
157145

158146
export DYLD_LIBRARY_PATH="${GTD_PREFIX}/lib:${DYLD_LIBRARY_PATH}"
159147

160-
echo "============================================"
161-
echo "GTSAM installed to: ${GTSAM_PREFIX}"
162-
echo "GTDynamics built at: ${GTD_BUILD}"
163-
echo "GTSAM_DIR=${GTSAM_DIR}"
164-
echo "CMAKE_PREFIX_PATH=${CMAKE_PREFIX_PATH}"
165-
echo "DYLD_LIBRARY_PATH=${DYLD_LIBRARY_PATH}"
166-
echo "============================================"
167-
168148
echo "before-build completed successfully for Python ${PYTHON_VERSION}!"

.github/workflows/build-wheels.yml

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -24,16 +24,16 @@ jobs:
2424
- os: ubuntu-latest
2525
cibw_archs: x86_64
2626
# Linux aarch64
27-
#- os: ubuntu-24.04-arm
28-
# cibw_archs: aarch64
27+
- os: ubuntu-24.04-arm
28+
cibw_archs: aarch64
2929
# macOS arm64 (macOS 14 Sonoma)
30-
#- os: macos-14
31-
# cibw_archs: arm64
32-
# macos_deployment_target: "14.0"
30+
- os: macos-14
31+
cibw_archs: arm64
32+
macos_deployment_target: "14.0"
3333
# macOS arm64 (macOS 15 Sequoia)
34-
#- os: macos-15
35-
# cibw_archs: arm64
36-
# macos_deployment_target: "15.0"
34+
- os: macos-15
35+
cibw_archs: arm64
36+
macos_deployment_target: "15.0"
3737

3838
steps:
3939
- name: Checkout repository

0 commit comments

Comments
 (0)