Skip to content

Commit

Permalink
Merge pull request #3635 from rcurtin/fix-windows-build-the-usual
Browse files Browse the repository at this point in the history
Attempt to fix Windows build
  • Loading branch information
rcurtin committed Apr 22, 2024
2 parents f32567f + ec9a6ce commit 3607ac8
Show file tree
Hide file tree
Showing 11 changed files with 90 additions and 4,100 deletions.
16 changes: 10 additions & 6 deletions .ci/ci.yaml
Expand Up @@ -15,7 +15,9 @@ jobs:
strategy:
matrix:
Plain:
CMakeArgs: '-DDEBUG=ON -DPROFILE=OFF -DBUILD_TESTS=ON -DBUILD_PYTHON_BINDINGS=OFF -DBUILD_JULIA_BINDINGS=OFF -DBUILD_GO_BINDINGS=OFF -DBUILD_R_BINDINGS=OFF'
# Precompiled headers with debug symbols can cause too much disk space /
# RAM usage.
CMakeArgs: '-DDEBUG=ON -DPROFILE=OFF -DBUILD_TESTS=ON -DBUILD_PYTHON_BINDINGS=OFF -DBUILD_JULIA_BINDINGS=OFF -DBUILD_GO_BINDINGS=OFF -DBUILD_R_BINDINGS=OFF -DUSE_PRECOMPILED_HEADERS=OFF'
Python:
binding: 'python'
python.version: '3.7'
Expand All @@ -39,22 +41,24 @@ jobs:
vmImage: macOS-latest
strategy:
matrix:
# clang on OS X segfaults when using precompiled headers, so we disable
# them.
Plain:
CMakeArgs: '-DDEBUG=ON -DPROFILE=OFF -DBUILD_TESTS=ON -DBUILD_PYTHON_BINDINGS=OFF -DBUILD_JULIA_BINDINGS=OFF -DBUILD_GO_BINDINGS=OFF -DBUILD_R_BINDINGS=OFF'
CMakeArgs: '-DDEBUG=ON -DPROFILE=OFF -DBUILD_TESTS=ON -DBUILD_PYTHON_BINDINGS=OFF -DBUILD_JULIA_BINDINGS=OFF -DBUILD_GO_BINDINGS=OFF -DBUILD_R_BINDINGS=OFF -DUSE_PRECOMPILED_HEADERS=OFF'
python.version: '3.8'
Python:
binding: 'python'
python.version: '3.8'
CMakeArgs: '-DDEBUG=ON -DPROFILE=OFF -DBUILD_TESTS=ON -DBUILD_PYTHON_BINDINGS=ON -DBUILD_JULIA_BINDINGS=OFF -DBUILD_GO_BINDINGS=OFF -DBUILD_R_BINDINGS=OFF'
CMakeArgs: '-DDEBUG=ON -DPROFILE=OFF -DBUILD_TESTS=ON -DBUILD_PYTHON_BINDINGS=ON -DBUILD_JULIA_BINDINGS=OFF -DBUILD_GO_BINDINGS=OFF -DBUILD_R_BINDINGS=OFF -DUSE_PRECOMPILED_HEADERS=OFF'
Julia:
python.version: '3.8'
julia.version: '1.6.3'
CMakeArgs: '-DDEBUG=ON -DPROFILE=OFF -DBUILD_TESTS=ON -DBUILD_JULIA_BINDINGS=ON -DBUILD_PYTHON_BINDINGS=OFF -DBUILD_GO_BINDINGS=OFF -DBUILD_R_BINDINGS=OFF'
CMakeArgs: '-DDEBUG=ON -DPROFILE=OFF -DBUILD_TESTS=ON -DBUILD_JULIA_BINDINGS=ON -DBUILD_PYTHON_BINDINGS=OFF -DBUILD_GO_BINDINGS=OFF -DBUILD_R_BINDINGS=OFF -DUSE_PRECOMPILED_HEADERS=OFF'
Go:
binding: 'go'
python.version: '3.8'
go.version: '1.11.0'
CMakeArgs: '-DDEBUG=ON -DPROFILE=OFF -DBUILD_TESTS=ON -DBUILD_PYTHON_BINDINGS=OFF -DBUILD_JULIA_BINDINGS=OFF -DBUILD_GO_BINDINGS=ON -DBUILD_R_BINDINGS=OFF'
CMakeArgs: '-DDEBUG=ON -DPROFILE=OFF -DBUILD_TESTS=ON -DBUILD_PYTHON_BINDINGS=OFF -DBUILD_JULIA_BINDINGS=OFF -DBUILD_GO_BINDINGS=ON -DBUILD_R_BINDINGS=OFF -DUSE_PRECOMPILED_HEADERS=OFF'

steps:
- template: macos-steps.yaml
Expand All @@ -67,7 +71,7 @@ jobs:
strategy:
matrix:
Plain:
CMakeArgs: '-DDEBUG=ON -DPROFILE=OFF -DBUILD_TESTS=ON -DBUILD_PYTHON_BINDINGS=OFF -DBUILD_GO_BINDINGS=OFF -DBUILD_R_BINDINGS=OFF -DCOTIRE_MINIMUM_NUMBER_OF_TARGET_SOURCES=100000'
CMakeArgs: '-DDEBUG=ON -DPROFILE=OFF -DBUILD_TESTS=ON -DBUILD_PYTHON_BINDINGS=OFF -DBUILD_GO_BINDINGS=OFF -DBUILD_R_BINDINGS=OFF'
python.version: '2.7'
CMakeGenerator: '-G "Visual Studio 17 2022"'
MSBuildVersion: '17.0'
Expand Down
2 changes: 0 additions & 2 deletions .ci/macos-steps.yaml
Expand Up @@ -13,7 +13,6 @@ steps:
- script: |
set -e
sudo xcode-select --switch /Applications/Xcode.app/Contents/Developer
unset BOOST_ROOT
brew install libomp openblas armadillo cereal ensmallen
if [ "$(binding)" == "python" ]; then
Expand All @@ -29,7 +28,6 @@ steps:

# Configure mlpack (CMake)
- script: |
unset BOOST_ROOT
mkdir build && cd build
if [ "$(binding)" == "go" ]; then
export GOPATH=$PWD/src/mlpack/bindings/go
Expand Down
9 changes: 7 additions & 2 deletions .ci/windows-steps.yaml
Expand Up @@ -9,7 +9,6 @@ steps:
# Fetch build dependencies
- powershell: |
nuget install OpenBLAS -o $(Agent.ToolsDirectory)
nuget install unofficial-flayan-cereal -o $(Agent.ToolsDirectory)
nuget install ensmallen -o $(Agent.ToolsDirectory) -Version 2.17.0
## Delete all ensmallen dependencies including armadillo headers, we do not need them here
Remove-Item $(Agent.ToolsDirectory)\ensmallen.2.17.0\installed\x64-linux\share -Force -Recurse
Expand All @@ -18,6 +17,12 @@ steps:
displayName: 'Fetch build dependencies'

# Get cereal
- bash: |
curl -L https://github.com/USCiLab/cereal/archive/refs/tags/v1.3.2.tar.gz -o cereal-1.3.2.tar.gz
tar -xvzf cereal-1.3.2.tar.gz
displayName: 'Download cereal'

# Configure armadillo
- bash: |
git clone --depth 1 https://github.com/mlpack/jenkins-conf.git conf
Expand Down Expand Up @@ -57,7 +62,7 @@ steps:
-DLAPACK_LIBRARIES:FILEPATH=$(Agent.ToolsDirectory)\OpenBLAS.0.2.14.1\lib\native\lib\x64\libopenblas.dll.a `
-DARMADILLO_INCLUDE_DIR="..\armadillo-9.800.6\tmp\include" `
-DARMADILLO_LIBRARY="..\armadillo-9.800.6\Release\armadillo.lib" `
-DCEREAL_INCLUDE_DIR=$(Agent.ToolsDirectory)\unofficial-flayan-cereal.1.2.2\build\native\include `
-DCEREAL_INCLUDE_DIR="..\cereal-1.3.2\include" `
-DENSMALLEN_INCLUDE_DIR=$(Agent.ToolsDirectory)\ensmallen.2.17.0\installed\x64-linux\include `
-DBUILD_JULIA_BINDINGS=OFF `
-DCMAKE_BUILD_TYPE=Release ..
Expand Down

0 comments on commit 3607ac8

Please sign in to comment.