diff --git a/.github/workflows/push.yml b/.github/workflows/push.yml index 02965b4..44c076f 100644 --- a/.github/workflows/push.yml +++ b/.github/workflows/push.yml @@ -24,11 +24,11 @@ jobs: strategy: fail-fast: false matrix: - platform: [ubuntu-latest, macos-latest, windows-latest, macos-13] + platform: [ubuntu-latest, macos-latest, windows-latest, macos-15-intel] steps: - uses: actions/checkout@v4 - name: Build wheels - uses: pypa/cibuildwheel@v2.22.0 + uses: pypa/cibuildwheel@v3.2.1 - uses: actions/upload-artifact@v4 with: path: ./wheelhouse/*.whl diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index e8bbe50..7960211 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -11,11 +11,11 @@ jobs: runs-on: ${{matrix.platform}} strategy: matrix: - platform: [ubuntu-latest, macos-latest, windows-latest, macos-13] + platform: [ubuntu-latest, macos-latest, windows-latest, macos-15-intel] steps: - uses: actions/checkout@v4 - name: Build wheels - uses: pypa/cibuildwheel@v2.22.0 + uses: pypa/cibuildwheel@v3.2.1 - uses: actions/upload-artifact@v4 with: path: ./wheelhouse/*.whl diff --git a/build_dependencies/install_linux.sh b/build_dependencies/install_linux.sh index 202c386..ad899cf 100644 --- a/build_dependencies/install_linux.sh +++ b/build_dependencies/install_linux.sh @@ -1,6 +1,13 @@ # exit immediately on any failed step set -xe +# get cmake from pip so we can version-lock +pip install cmake==3.31.6 +# Set CMAKE variable to use the cmake in the same directory as python +export CMAKE="$(dirname $(which python))/cmake" + +$CMAKE --version + mkdir -p deps cd deps @@ -17,28 +24,29 @@ rm -rf fcl git clone --depth 1 --branch v0.7.0 https://github.com/ambi-robotics/fcl.git # Install eigen -cmake -B build -S eigen-3.3.9 -cmake --install build +$CMAKE -B build -S eigen-3.3.9 +$CMAKE --install build # Build and install libccd cd libccd -cmake . -D ENABLE_DOUBLE_PRECISION=ON +$CMAKE . -DENABLE_DOUBLE_PRECISION=ON make -j4 make install cd .. # Build and install octomap cd octomap -cmake . -D CMAKE_BUILD_TYPE=Release -D BUILD_OCTOVIS_SUBPROJECT=OFF -D BUILD_DYNAMICETD3D_SUBPROJECT=OFF +$CMAKE . -DCMAKE_BUILD_TYPE=Release -DBUILD_OCTOVIS_SUBPROJECT=OFF -DBUILD_DYNAMICETD3D_SUBPROJECT=OFF -DCMAKE_CXX_STANDARD=17 -DCMAKE_CXX_STANDARD_REQUIRED=ON -DCMAKE_CXX_FLAGS="-std=c++17 -Wno-error=template-id-cdtor" make -j4 make install cd .. # Build and install fcl cd fcl -cmake . +$CMAKE . make -j4 make install cd .. -cd .. +# Update library cache so the system can find the newly installed libraries +ldconfig diff --git a/build_dependencies/install_macos.sh b/build_dependencies/install_macos.sh index 0c579bb..0ab672c 100644 --- a/build_dependencies/install_macos.sh +++ b/build_dependencies/install_macos.sh @@ -1,6 +1,11 @@ # exit immediately on any failed step set -xe -pip install cmake +pip install cmake==3.31.6 + +# Set CMAKE variable to use the cmake in the same directory as python +export CMAKE="$(dirname $(which python))/cmake" + +$CMAKE --version mkdir -p deps cd deps @@ -19,26 +24,26 @@ rm -rf fcl git clone --depth 1 --branch v0.7.0 https://github.com/ambi-robotics/fcl.git # Install eigen -cmake -B build -S eigen -sudo cmake --install build +$CMAKE -B build -S eigen +sudo $CMAKE --install build # Build and install libccd cd libccd -cmake . -D ENABLE_DOUBLE_PRECISION=ON +$CMAKE . -D ENABLE_DOUBLE_PRECISION=ON make -j4 sudo make install cd .. # Build and install octomap cd octomap -cmake . -D CMAKE_BUILD_TYPE=Release -D BUILD_OCTOVIS_SUBPROJECT=OFF -D BUILD_DYNAMICETD3D_SUBPROJECT=OFF +$CMAKE . -D CMAKE_BUILD_TYPE=Release -D BUILD_OCTOVIS_SUBPROJECT=OFF -D BUILD_DYNAMICETD3D_SUBPROJECT=OFF make -j4 sudo make install cd .. # Build and install fcl cd fcl -cmake . +$CMAKE . make -j4 sudo make install cd .. diff --git a/pyproject.toml b/pyproject.toml index dae65b4..44a7709 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -97,12 +97,13 @@ ignore = [ [tool.cibuildwheel] -skip = ["pp*", "*musllinux*"] +skip = ["*musllinux*"] test-requires = "pytest" test-command = "pytest {package}/tests" [tool.cibuildwheel.linux] before-all = "bash build_dependencies/install_linux.sh" +repair-wheel-command = "LD_LIBRARY_PATH=/usr/local/lib64 auditwheel repair -w {dest_dir} {wheel}" archs = ["x86_64"] [tool.cibuildwheel.macos] diff --git a/setup.py b/setup.py index 15e69dd..9ebe01f 100644 --- a/setup.py +++ b/setup.py @@ -43,7 +43,7 @@ def get_include_dirs(): def get_libraries_dir(): if is_nix_platform(sys.platform): - lib_dirs = ["/usr/lib", "/usr/local/lib"] + lib_dirs = ["/usr/lib", "/usr/local/lib", "/usr/lib64", "/usr/local/lib64"] if "LD_LIBRARY_PATH" in os.environ: lib_dirs += os.environ["LD_LIBRARY_PATH"].split(":") diff --git a/src/fcl/version.py b/src/fcl/version.py index 4338f6c..3517f47 100644 --- a/src/fcl/version.py +++ b/src/fcl/version.py @@ -1 +1 @@ -__version__ = "0.7.0.8" +__version__ = "0.7.0.9"