Skip to content

Commit

Permalink
Merge pull request #92 from minrk/restore-windows
Browse files Browse the repository at this point in the history
  • Loading branch information
minrk authored May 10, 2024
2 parents 2733897 + f5c0025 commit 35dbb3f
Show file tree
Hide file tree
Showing 13 changed files with 267 additions and 19 deletions.
52 changes: 52 additions & 0 deletions .azure-pipelines/azure-pipelines-win.yml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 2 additions & 0 deletions .ci_support/linux_64_.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,8 @@ fortran_compiler:
- gfortran
fortran_compiler_version:
- '12'
gmp:
- '6'
libblas:
- 3.9 *netlib
libcblas:
Expand Down
2 changes: 2 additions & 0 deletions .ci_support/linux_aarch64_.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,8 @@ fortran_compiler:
- gfortran
fortran_compiler_version:
- '12'
gmp:
- '6'
libblas:
- 3.9 *netlib
libcblas:
Expand Down
2 changes: 2 additions & 0 deletions .ci_support/linux_ppc64le_.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,8 @@ fortran_compiler:
- gfortran
fortran_compiler_version:
- '12'
gmp:
- '6'
libblas:
- 3.9 *netlib
libcblas:
Expand Down
6 changes: 4 additions & 2 deletions .ci_support/osx_64_.yaml
Original file line number Diff line number Diff line change
@@ -1,13 +1,13 @@
MACOSX_DEPLOYMENT_TARGET:
- '10.9'
- '10.13'
c_compiler:
- clang
c_compiler_version:
- '16'
c_stdlib:
- macosx_deployment_target
c_stdlib_version:
- '10.9'
- '10.13'
channel_sources:
- conda-forge
channel_targets:
Expand All @@ -20,6 +20,8 @@ fortran_compiler:
- gfortran
fortran_compiler_version:
- '12'
gmp:
- '6'
libblas:
- 3.9 *netlib
libcblas:
Expand Down
2 changes: 2 additions & 0 deletions .ci_support/osx_arm64_.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,8 @@ fortran_compiler:
- gfortran
fortran_compiler_version:
- '12'
gmp:
- '6'
libblas:
- 3.9 *netlib
libcblas:
Expand Down
26 changes: 26 additions & 0 deletions .ci_support/win_64_.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
c_compiler:
- vs2019
c_stdlib:
- vs
channel_sources:
- conda-forge
channel_targets:
- conda-forge main
cxx_compiler:
- vs2019
fortran_compiler:
- flang
fortran_compiler_version:
- '5'
libblas:
- 3.9 *netlib
libcblas:
- 3.9 *netlib
liblapack:
- 3.9 *netlib
metis:
- 5.1.0
target_platform:
- win-64
tbb_devel:
- '2021'
125 changes: 125 additions & 0 deletions .scripts/run_win_build.bat

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

7 changes: 7 additions & 0 deletions README.md

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

3 changes: 2 additions & 1 deletion azure-pipelines.yml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

21 changes: 21 additions & 0 deletions recipe/bld.bat
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
setlocal EnableDelayedExpansion

cmake -B build ^
-G "Ninja" ^
-DSUITESPARSE_ENABLE_PROJECTS="suitesparse_config;amd;btf;camd;ccolamd;colamd;cholmod;cxsparse;ldl;klu;umfpack;paru;rbio;spqr" ^
-DBLA_VENDOR:STRING="" ^
-DBUILD_SHARED_LIBS=ON ^
-DBUILD_STATIC_LIBS=OFF ^
-DCMAKE_BUILD_TYPE:STRING=Release ^
-DCMAKE_INSTALL_PREFIX:PATH="%LIBRARY_PREFIX%" ^
-DCMAKE_PREFIX_PATH:PATH="%LIBRARY_PREFIX%" ^
-DSUITESPARSE_HAS_FORTRAN:BOOL=ON ^
-DCMAKE_Fortran_COMPILER=flang.exe ^
%CMAKE_ARGS%
if errorlevel 1 exit 1

cmake --build build --verbose
if errorlevel 1 exit 1

cmake --install build --verbose
if errorlevel 1 exit 1
3 changes: 1 addition & 2 deletions recipe/build.sh
Original file line number Diff line number Diff line change
Expand Up @@ -15,12 +15,11 @@ if [[ "${target_platform}" != "${build_platform}" ]]; then
export CMAKE_ARGS="${CMAKE_ARGS} -DCMAKE_CROSSCOMPILING=ON"
fi

# add
# can add lagraph and -DSUITESPARSE_USE_SYSTEM_GRAPHBLAS after packaging 9.1
cmake -B build \
-DSUITESPARSE_ENABLE_PROJECTS="suitesparse_config;amd;btf;camd;ccolamd;colamd;cholmod;cxsparse;ldl;klu;umfpack;paru;rbio;spqr;spex" \
-DBLA_VENDOR="Generic" \
-DBLAS_LIBRARIES="$PREFIX/lib/libblas${SHLIB_EXT};$PREFIX/lib/libcblas${SHLIB_EXT}" \
-DBLA_PREFER_PKGCONFIG=ON \
-DBUILD_SHARED_LIBS=ON \
-DBUILD_STATIC_LIBS=OFF \
${CMAKE_ARGS}
Expand Down
35 changes: 21 additions & 14 deletions recipe/meta.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -9,8 +9,7 @@ source:
sha256: 529b067f5d80981f45ddf6766627b8fc5af619822f068f342aab776e683df4f3

build:
skip: true # [win]
number: 0
number: 1
run_exports:
- {{ pin_subpackage("suitesparse") }}

Expand All @@ -22,30 +21,38 @@ requirements:
- {{ compiler('fortran') }}
- cmake
- make
- pkg-config
host:
- libblas
- blas-devel
- libcblas
- liblapack
- tbb-devel
- metis
- mpfr
- gmp # [not win]
- mpfr # [not win]

test:
commands:
# graphblas and mongoose are omitted
- test ! -f ${PREFIX}/bin/mongoose
- test ! -f ${PREFIX}/include/GraphBLAS.h
- test ! -f ${PREFIX}/include/Mongoose.hpp
- test ! -f ${PREFIX}/lib/libgraphblas${SHLIB_EXT}
- test ! -f ${PREFIX}/lib/libmongoose${SHLIB_EXT}
- test ! -f ${PREFIX}/lib/libgraphblas.a
- test ! -f ${PREFIX}/lib/libmongoose.a
- test ! -f ${PREFIX}/bin/mongoose # [not win]
- test ! -f ${PREFIX}/include/GraphBLAS.h # [not win]
- test ! -f ${PREFIX}/include/Mongoose.hpp # [not win]
- test ! -f ${PREFIX}/lib/libgraphblas${SHLIB_EXT} # [not win]
- test ! -f ${PREFIX}/lib/libmongoose${SHLIB_EXT} # [not win]
- test ! -f ${PREFIX}/lib/libgraphblas.a # [not win]
- test ! -f ${PREFIX}/lib/libmongoose.a # [not win]

- test -f ${PREFIX}/include/suitesparse/amd.h # [not win]
- test -f ${PREFIX}/include/suitesparse/umfpack.h # [not win]
- if not exist %LIBRARY_PREFIX%\include\suitesparse\amd.h exit 1 # [win]
- if not exist %LIBRARY_PREFIX%\include\suitesparse\umfpack.h exit 1 # [win]

- test -f ${PREFIX}/include/suitesparse/amd.h
- test -f ${PREFIX}/include/suitesparse/umfpack.h
{% for name in ['amd', 'btf', 'camd', 'ccolamd', 'cholmod', 'colamd', 'cxsparse', 'klu', 'ldl', 'rbio', 'spqr', 'suitesparseconfig', 'umfpack'] %}
- test -f ${PREFIX}/lib/lib{{ name }}${SHLIB_EXT}
- test ! -f ${PREFIX}/lib/lib{{ name }}.a
- test -f ${PREFIX}/lib/lib{{ name }}${SHLIB_EXT} # [not win]
- test ! -f ${PREFIX}/lib/lib{{ name }}.a # [not win]
- if not exist %LIBRARY_PREFIX%\\bin\\{{ name }}.dll exit 1 # [win]
- if not exist %LIBRARY_PREFIX%\\lib\\{{ name }}.lib exit 1 # [win]
{% endfor %}

about:
Expand Down

0 comments on commit 35dbb3f

Please sign in to comment.