Skip to content

Commit

Permalink
[CutBranching] New wrapper for maximum independent set (#8394)
Browse files Browse the repository at this point in the history
* Update build_tarballs.jl

* Update build_tarballs.jl

* [CutBranching] new wrapper

CutBranching_jll provides a julia wrapper for the CutBranching C++ solver for maximum independent set by Demian Hespe, Sebastian Lamm, and Christian Schorr

* Update build_tarballs.jl

* Update build_tarballs.jl

* Update build_tarballs.jl

* Update C/CutBranching/build_tarballs.jl

Co-authored-by: Mosè Giordano <giordano@users.noreply.github.com>

* Update C/CutBranching/build_tarballs.jl

Co-authored-by: Mosè Giordano <giordano@users.noreply.github.com>

* Update build_tarballs.jl

---------

Co-authored-by: Mosè Giordano <giordano@users.noreply.github.com>
  • Loading branch information
claud10cv and giordano authored Apr 7, 2024
1 parent 00c54f2 commit 64244fc
Showing 1 changed file with 47 additions and 0 deletions.
47 changes: 47 additions & 0 deletions C/CutBranching/build_tarballs.jl
Original file line number Diff line number Diff line change
@@ -0,0 +1,47 @@
# Note that this script can accept some limited command-line arguments, run
# `julia build_tarballs.jl --help` to see a usage message.
using BinaryBuilder, Pkg

name = "CutBranching"
version = v"0.1.0"

# Collection of sources required to complete build
sources = [
GitSource("https://github.com/claud10cv/CutBranching.git", "892d48d21b815b6fb55580b33a99e7f251b37e54")
]

# Bash recipe for building across all platforms
script = raw"""
cd $WORKSPACE/srcdir/CutBranching/
Julia_PREFIX=${prefix}
cmake -B build \
-DCMAKE_INSTALL_PREFIX=${prefix} \
-DCMAKE_TOOLCHAIN_FILE=${CMAKE_TARGET_TOOLCHAIN} \
-DCMAKE_BUILD_TYPE=Release \
-DJulia_PREFIX=${Julia_PREFIX} \
-DJlCxx_DIR=$prefix/lib/cmake/JlCxx
cmake --build build --parallel ${nproc}
cmake --install build
"""

# These are the platforms we will build for by default, unless further
# platforms are passed in on the command line
include("../../L/libjulia/common.jl")
platforms = supported_platforms()
filter!(x -> libc(x) != "musl", platforms)
filter!(!Sys.iswindows, platforms)

# The products that we will ensure are always built
products = [
LibraryProduct(["libmiscb", "miscblib"], :miscb)
]

# Dependencies that must be installed before this package can be built
dependencies = [
Dependency("libcxxwrap_julia_jll"; compat = "~0.12.2"),
BuildDependency(PackageSpec(; name = "libjulia_jll", version = v"1.10.9"))

]

# Build the tarballs, and possibly a `build.jl` as well.
build_tarballs(ARGS, name, version, sources, script, platforms, products, dependencies; julia_compat="1.6", preferred_gcc_version = v"9.1.0")

0 comments on commit 64244fc

Please sign in to comment.