Skip to content
Open
Show file tree
Hide file tree
Changes from 8 commits
Commits
Show all changes
36 commits
Select commit Hold shift + click to select a range
f3493a8
Modularize
Bill-hbrhbr Oct 3, 2025
5abd02d
Remove unnecessary flattening of dep task files
Bill-hbrhbr Oct 4, 2025
57f72d7
remove unused metadata file
Bill-hbrhbr Oct 4, 2025
2f1addb
Fix init task namespaces
Bill-hbrhbr Oct 4, 2025
6a0b116
use proper includes
Bill-hbrhbr Oct 4, 2025
a802146
Properly design taskfile includes
Bill-hbrhbr Oct 5, 2025
2eee3c7
Merge branch 'main' into modularize-deps-tasks
Bill-hbrhbr Oct 5, 2025
9160b55
misc reorder of mariadb-connector-cpp task entries according to taskf…
Bill-hbrhbr Oct 5, 2025
f2b0917
Apply suggestions from code review
Bill-hbrhbr Oct 5, 2025
07914d6
Move antlr-jar into its own file
Bill-hbrhbr Oct 6, 2025
d5c0969
complete gen args for mariadb connector and utfcpp
Bill-hbrhbr Oct 6, 2025
9d462b7
Fix variable include order
Bill-hbrhbr Oct 6, 2025
c07595e
Change antlr-runtime to be a nice cmake lib for install tasks
Bill-hbrhbr Oct 6, 2025
5664d7c
test doing antlr-runtime last
Bill-hbrhbr Oct 7, 2025
5338f73
fix namespace
Bill-hbrhbr Oct 7, 2025
bde48cb
revert to before antlr change
Bill-hbrhbr Oct 7, 2025
7d42269
Merge branch 'main' into modularize-deps-tasks
Bill-hbrhbr Oct 7, 2025
7e8221d
Change installation method of antlr
Bill-hbrhbr Oct 7, 2025
eb23f83
Apply suggestions from code review
Bill-hbrhbr Oct 7, 2025
5a2150c
Disable build testing flags for libraries where applicable.
Bill-hbrhbr Oct 13, 2025
fd97c77
Merge branch 'main' into modularize-deps-tasks
sitaowang1998 Oct 13, 2025
c890b06
Revert "Disable build testing flags for libraries where applicable."
Bill-hbrhbr Oct 14, 2025
a958ed1
sanitize build flags
Bill-hbrhbr Oct 14, 2025
40f25e2
Merge branch 'main' into modularize-deps-tasks
Bill-hbrhbr Oct 14, 2025
4a6e774
Apply suggestions from code review
Bill-hbrhbr Oct 14, 2025
544b0c9
fix bug
Bill-hbrhbr Oct 14, 2025
1bcc79a
Properly checksum all installation tasks
Bill-hbrhbr Oct 16, 2025
2c12c0f
Merge branch 'main' into modularize-deps-tasks
Bill-hbrhbr Oct 16, 2025
9b40052
yaml lint fix
Bill-hbrhbr Oct 16, 2025
6437a3d
change utfcpp back to use source
Bill-hbrhbr Oct 16, 2025
c34e19b
Improve var usage
Bill-hbrhbr Oct 23, 2025
99b7880
revert install skipping mechanism
Bill-hbrhbr Oct 23, 2025
2347c8b
remove antlr-jar checksum mechanism
Bill-hbrhbr Oct 23, 2025
0340a96
Merge branch 'main' into modularize-deps-tasks
Bill-hbrhbr Oct 23, 2025
15ac898
Apply suggestions from code review
Bill-hbrhbr Oct 23, 2025
a143bda
misc fixes
Bill-hbrhbr Oct 23, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion taskfile.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -127,7 +127,7 @@ tasks:
- "clp-mcp-server"
- "clp-package-utils"
- "clp-py-utils"
- "deps:spider"
- "deps:spider:spider-dep"
- "init"
- "job-orchestration"
- "package-venv"
Expand Down
365 changes: 365 additions & 0 deletions taskfiles/deps/cmake-libs.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,365 @@
version: "3"

vars:
# Library names
G_BOOST_LIB_NAME: "Boost"
G_FMT_LIB_NAME: "fmt"
G_GSL_LIB_NAME: "Microsoft.GSL"

# NOTE: For dependencies built using CMake, we set CMP0074 to NEW whenever:
# - a component's minimum required CMake version is less than 3.27 (where CMP0074 defaults to OLD);
# and
# - the component depends on another via `<lib_name>_ROOT`.
tasks:
absl:
internal: true
run: "once"
cmds:
- task: "utils:install-remote-cmake-lib"
vars:
CMAKE_GEN_ARGS:
- "-DCMAKE_BUILD_TYPE=Release"
- "-DCMAKE_CXX_STANDARD=20"
- "-DCMAKE_INSTALL_MESSAGE=LAZY"
LIB_NAME: "absl"
TARBALL_SHA256: "7262daa7c1711406248c10f41026d685e88223bc92817d16fb93c19adb57f669"
TARBALL_URL: "https://github.com/abseil/abseil-cpp/releases/download/20250512.0/\
abseil-cpp-20250512.0.tar.gz"

catch2:
internal: true
run: "once"
cmds:
- task: "utils:install-remote-cmake-lib"
vars:
CMAKE_GEN_ARGS:
- "-DBUILD_TESTING=OFF"
- "-DCMAKE_BUILD_TYPE=Release"
- "-DCMAKE_CXX_STANDARD=20"
- "-DCMAKE_CXX_STANDARD_REQUIRED=ON"
- "-DCMAKE_INSTALL_MESSAGE=LAZY"
LIB_NAME: "Catch2"
TARBALL_SHA256: "1ab2de20460d4641553addfdfe6acd4109d871d5531f8f519a52ea4926303087"
TARBALL_URL: "https://github.com/catchorg/Catch2/archive/refs/tags/v3.8.0.tar.gz"

date:
internal: true
run: "once"
cmds:
- task: "utils:install-remote-cmake-lib"
vars:
CMAKE_GEN_ARGS:
- "-DCMAKE_BUILD_TYPE=Release"
- "-DCMAKE_INSTALL_MESSAGE=LAZY"
LIB_NAME: "date"
TARBALL_SHA256: "7a390f200f0ccd207e8cff6757e04817c1a0aec3e327b006b7eb451c57ee3538"
TARBALL_URL: "https://github.com/HowardHinnant/date/archive/refs/tags/v3.0.1.tar.gz"

fmt:
internal: true
run: "once"
cmds:
- task: "utils:install-remote-cmake-lib"
vars:
CMAKE_GEN_ARGS:
- "-DCMAKE_BUILD_TYPE=Release"
- "-DCMAKE_INSTALL_MESSAGE=LAZY"
- "-DFMT_DOC=OFF"
- "-DFMT_TEST=OFF"
LIB_NAME: "{{.G_FMT_LIB_NAME}}"
TARBALL_SHA256: "bc23066d87ab3168f27cef3e97d545fa63314f5c79df5ea444d41d56f962c6af"
TARBALL_URL: "https://github.com/fmtlib/fmt/archive/refs/tags/11.2.0.tar.gz"

liblzma:
internal: true
vars:
COMMON_CMAKE_GEN_ARGS:
- "-DBUILD_TESTING=OFF"
- "-DCMAKE_BUILD_TYPE=Release"
- "-DCMAKE_INSTALL_MESSAGE=LAZY"
- "-DXZ_DOC=OFF"
- "-DXZ_TOOL_LZMADEC=OFF"
- "-DXZ_TOOL_LZMAINFO=OFF"
- "-DXZ_TOOL_SCRIPTS=OFF"
- "-DXZ_TOOL_SYMLINKS_LZMA=OFF"
- "-DXZ_TOOL_XZ=OFF"
- "-DXZ_TOOL_XZDEC=OFF"
TARBALL_SHA256: "507825b599356c10dca1cd720c9d0d0c9d5400b9de300af00e4d1ea150795543"
TARBALL_URL: "https://github.com/tukaani-project/xz/releases/download/v5.8.1/xz-5.8.1.tar.gz"
run: "once"
deps:
- task: "liblzma-install"
vars:
BUILD_SHARED_LIBS: true
COMMON_CMAKE_GEN_ARGS:
ref: ".COMMON_CMAKE_GEN_ARGS"
TARBALL_SHA256: "{{.TARBALL_SHA256}}"
TARBALL_URL: "{{.TARBALL_URL}}"
- task: "liblzma-install"
vars:
BUILD_SHARED_LIBS: false
COMMON_CMAKE_GEN_ARGS:
ref: ".COMMON_CMAKE_GEN_ARGS"
TARBALL_SHA256: "{{.TARBALL_SHA256}}"
TARBALL_URL: "{{.TARBALL_URL}}"

liblzma-install:
internal: true
requires:
vars: ["BUILD_SHARED_LIBS", "COMMON_CMAKE_GEN_ARGS", "TARBALL_SHA256", "TARBALL_URL"]
cmds:
- task: "utils:install-remote-cmake-lib"
vars:
CMAKE_GEN_ARGS:
- "-DBUILD_SHARED_LIBS={{ if .BUILD_SHARED_LIBS }}ON{{ else }}OFF{{ end }}"
- >-
{{ join " " .COMMON_CMAKE_GEN_ARGS }}
LIB_NAME: "LibLZMA-{{ if .BUILD_SHARED_LIBS }}shared{{ else }}static{{ end }}"
TARBALL_SHA256: "{{.TARBALL_SHA256}}"
TARBALL_URL: "{{.TARBALL_URL}}"

log-surgeon:
internal: true
run: "once"
deps:
- "fmt"
- "microsoft.gsl"
cmds:
- task: "utils:install-remote-cmake-lib"
vars:
CMAKE_GEN_ARGS:
- "-C {{.G_DEPS_CPP_CMAKE_SETTINGS_DIR}}/{{.G_FMT_LIB_NAME}}.cmake"
- "-C {{.G_DEPS_CPP_CMAKE_SETTINGS_DIR}}/{{.G_GSL_LIB_NAME}}.cmake"
- "-DCMAKE_BUILD_TYPE=Release"
- "-DCMAKE_INSTALL_MESSAGE=LAZY"
- "-Dlog_surgeon_BUILD_TESTING=OFF"
LIB_NAME: "log_surgeon"
TARBALL_SHA256: "69a99e0804a52c6b6397c5e7eabecc9bb4915d0145632c66fc63ad13678ff56a"
TARBALL_URL: "https://github.com/y-scope/log-surgeon/archive/a722d07.tar.gz"

lz4:
internal: true
run: "once"
cmds:
- task: "utils:install-remote-cmake-lib"
vars:
CMAKE_GEN_ARGS:
- "-DBUILD_SHARED_LIBS=ON"
- "-DBUILD_STATIC_LIBS=ON"
- "-DCMAKE_BUILD_TYPE=Release"
- "-DCMAKE_INSTALL_MESSAGE=LAZY"
- "-DLZ4_BUILD_CLI=OFF"
CMAKE_SOURCE_DIR: "build/cmake"
LIB_NAME: "lz4"
TARBALL_SHA256: "537512904744b35e232912055ccf8ec66d768639ff3abe5788d90d792ec5f48b"
TARBALL_URL: "https://github.com/lz4/lz4/releases/download/v1.10.0/lz4-1.10.0.tar.gz"

mariadb-connector-cpp:
internal: true
platforms: ["linux"]
preconditions:
# NOTE: The MariaDB connector is only required for building Spider, which is only supported on
# Ubuntu. `INSTALL_LAYOUT` is currently hardcoded to "DEB". To support other Linux distros:
# - Update the precondition accordingly.
# - Make `INSTALL_LAYOUT` configurable.
- >-
source /etc/os-release && [[ "$ID" == "ubuntu" ]]
run: "once"
cmds:
- task: "utils:install-remote-cmake-lib"
vars:
CMAKE_GEN_ARGS:
- "-DUSE_SYSTEM_INSTALLED_LIB=ON"
- "-DINSTALL_LAYOUT=DEB"
LIB_NAME: "mariadb-connector-cpp"
TARBALL_SHA256: "0e3dfe9f2bc3f7bb6f7c159009556290064a7c23402ea08019fa8aebfc3ff2c9"
TARBALL_URL: "https://github.com/mariadb-corporation/mariadb-connector-cpp/archive/refs/\
tags/1.1.5.tar.gz"

microsoft.gsl:
internal: true
run: "once"
cmds:
- task: "utils:install-remote-cmake-lib"
vars:
CMAKE_GEN_ARGS:
- "-DCMAKE_BUILD_TYPE=Release"
- "-DCMAKE_INSTALL_MESSAGE=LAZY"
- "-DGSL_TEST=OFF"
LIB_NAME: "{{.G_GSL_LIB_NAME}}"
TARBALL_SHA256: "f0e32cb10654fea91ad56bde89170d78cfbf4363ee0b01d8f097de2ba49f6ce9"
TARBALL_URL: "https://github.com/microsoft/GSL/archive/refs/tags/v4.0.0.tar.gz"

mongocxx:
internal: true
vars:
VERSION: "r4.1.1"
run: "once"
cmds:
- task: "utils:install-remote-cmake-lib"
vars:
CMAKE_GEN_ARGS:
- "-DBUILD_SHARED_AND_STATIC_LIBS=ON"
- "-DBUILD_SHARED_LIBS_WITH_STATIC_MONGOC=ON"
- "-DCMAKE_BUILD_TYPE=Release"
- "-DCMAKE_INSTALL_MESSAGE=LAZY"
- "-DENABLE_UNINSTALL=OFF"
LIB_NAME: "mongocxx"
TARBALL_SHA256: "19dff3cf834a3e09229260f22a0325820a7e30c78b294db91794dd934776b33a"
TARBALL_URL: "https://github.com/mongodb/mongo-cxx-driver/releases/download/{{.VERSION}}\
/mongo-cxx-driver-{{.VERSION}}.tar.gz"

msgpack-cxx:
internal: true
vars:
VERSION: "7.0.0"
run: "once"
deps:
- task: "boost"
cmds:
- task: "utils:install-remote-cmake-lib"
vars:
CMAKE_GEN_ARGS:
- "-C {{.G_DEPS_CPP_CMAKE_SETTINGS_DIR}}/{{.G_BOOST_LIB_NAME}}.cmake"
- "-DCMAKE_BUILD_TYPE=Release"
- "-DCMAKE_INSTALL_MESSAGE=LAZY"
- "-DCMAKE_POLICY_DEFAULT_CMP0074=NEW"
- "-DMSGPACK_BUILD_DOCS=OFF"
- "-DMSGPACK_CXX20=ON"
LIB_NAME: "msgpack-cxx"
TARBALL_SHA256: "7504b7af7e7b9002ce529d4f941e1b7fb1fb435768780ce7da4abaac79bb156f"
TARBALL_URL: "https://github.com/msgpack/msgpack-c/releases/download/cpp-{{.VERSION}}\
/msgpack-cxx-{{.VERSION}}.tar.gz"

nlohmann_json:
internal: true
run: "once"
cmds:
- task: "utils:install-remote-cmake-lib"
vars:
CMAKE_GEN_ARGS:
- "-DCMAKE_BUILD_TYPE=Release"
- "-DCMAKE_INSTALL_MESSAGE=LAZY"
- "-DJSON_BuildTests=OFF"
LIB_NAME: "nlohmann_json"
TARBALL_SHA256: "0d8ef5af7f9794e3263480193c491549b2ba6cc74bb018906202ada498a79406"

# NOTE: We use the GitHub-generated source tarball for this version rather than the
# release tarball, since the latter is served from githubusercontent.com which is blocked
# by some developers' firewalls. The contents of the former are a superset of the latter.
TARBALL_URL: "https://github.com/nlohmann/json/archive/refs/tags/v3.11.3.tar.gz"

simdjson:
internal: true
run: "once"
cmds:
- task: "utils:install-remote-cmake-lib"
vars:
CMAKE_GEN_ARGS:
- "-DCMAKE_BUILD_TYPE=Release"
- "-DCMAKE_INSTALL_MESSAGE=LAZY"
LIB_NAME: "simdjson"
TARBALL_SHA256: "07a1bb3587aac18fd6a10a83fe4ab09f1100ab39f0cb73baea1317826b9f9e0d"
TARBALL_URL: "https://github.com/simdjson/simdjson/archive/refs/tags/v3.13.0.tar.gz"

spdlog:
internal: true
run: "once"
deps:
- "fmt"
cmds:
- task: "utils:install-remote-cmake-lib"
vars:
CMAKE_GEN_ARGS:
- "-C {{.G_DEPS_CPP_CMAKE_SETTINGS_DIR}}/{{.G_FMT_LIB_NAME}}.cmake"
- "-DCMAKE_BUILD_TYPE=Release"
- "-DCMAKE_INSTALL_MESSAGE=LAZY"
- "-DCMAKE_POLICY_DEFAULT_CMP0074=NEW"
- "-DSPDLOG_BUILD_EXAMPLE=OFF"
- "-DSPDLOG_BUILD_EXAMPLE_HO=OFF"
- "-DSPDLOG_FMT_EXTERNAL=ON"
LIB_NAME: "spdlog"
TARBALL_SHA256: "15a04e69c222eb6c01094b5c7ff8a249b36bb22788d72519646fb85feb267e67"

# NOTE: Since spdlog depends on fmt, we need to choose a version of spdlog that's
# compatible with the version of fmt we use.
TARBALL_URL: "https://github.com/gabime/spdlog/archive/refs/tags/v1.15.3.tar.gz"

utfcpp:
internal: true
run: "once"
cmds:
- task: "utils:install-remote-cmake-lib"
vars:
CMAKE_GEN_ARGS:
- "-DCMAKE_INSTALL_MESSAGE=LAZY"
LIB_NAME: "utfcpp"
TARBALL_SHA256: "6920a6a5d6a04b9a89b2a89af7132f8acefd46e0c2a7b190350539e9213816c0"
TARBALL_URL: "https://github.com/nemtrif/utfcpp/archive/refs/tags/v4.0.6.tar.gz"

yaml-cpp:
internal: true
run: "once"
cmds:
- task: "utils:install-remote-cmake-lib"
vars:
CMAKE_GEN_ARGS:
- "-DBUILD_TESTING=OFF"
- "-DCMAKE_BUILD_TYPE=Release"
- "-DCMAKE_INSTALL_MESSAGE=LAZY"
LIB_NAME: "yaml-cpp"
TARBALL_SHA256: "43e6a9fcb146ad871515f0d0873947e5d497a1c9c60c58cb102a97b47208b7c3"
TARBALL_URL: "https://github.com/jbeder/yaml-cpp/archive/refs/tags/yaml-cpp-0.7.0.tar.gz"

ystdlib:
internal: true
run: "once"
deps:
- task: "boost"
cmds:
- task: "utils:install-remote-cmake-lib"
vars:
CMAKE_GEN_ARGS:
- "-C {{.G_DEPS_CPP_CMAKE_SETTINGS_DIR}}/{{.G_BOOST_LIB_NAME}}.cmake"
- "-DCMAKE_POSITION_INDEPENDENT_CODE=ON"
- "-Dystdlib_BUILD_TESTING=OFF"
LIB_NAME: "ystdlib"
TARBALL_SHA256: "65990dc2bcc4a355c2181bfe31a7800f492309d1bcd340f52a34e85047e61bc8"
TARBALL_URL: "https://github.com/y-scope/ystdlib-cpp/archive/9ed78cd.tar.gz"

zlib:
internal: true
vars:
LIB_NAME: "zlib"
run: "once"
cmds:
- task: "utils:install-remote-cmake-lib"
vars:
CMAKE_GEN_ARGS:
- "-DBUILD_SHARED_LIBS=ON"
- "-DCMAKE_BUILD_TYPE=Release"
- "-DCMAKE_INSTALL_MESSAGE=LAZY"
- "-DCMAKE_INSTALL_PREFIX={{.G_DEPS_CPP_DIR}}/{{.LIB_NAME}}-install"
- "-DZLIB_BUILD_EXAMPLES=OFF"
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
- "-DZLIB_BUILD_EXAMPLES=OFF"
- "-DZLIB_BUILD_EXAMPLES=OFF"
- "-DZLIB_BUILD_TESTING=OFF"

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

ZLIB_BUILD_TESTING is not present in zlib-1.3.1

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

In 1.3.1, zlib uses enable_testing. However, it does not build test if example build if off. Same with utf8, let's leave it here with a comment.

LIB_NAME: "{{.LIB_NAME}}"
TARBALL_SHA256: "9a93b2b7dfdac77ceba5a558a580e74667dd6fede4585b91eefb60f03b72df23"
TARBALL_URL: "https://github.com/madler/zlib/releases/download/v1.3.1/zlib-1.3.1.tar.gz"

zstd:
internal: true
run: "once"
cmds:
- task: "utils:install-remote-cmake-lib"
vars:
CMAKE_GEN_ARGS:
- "-DCMAKE_BUILD_TYPE=Release"
- "-DCMAKE_INSTALL_MESSAGE=LAZY"
- "-DZSTD_BUILD_CONTRIB=OFF"
- "-DZSTD_BUILD_PROGRAMS=OFF"
- "-DZSTD_BUILD_SHARED=ON"
- "-DZSTD_BUILD_STATIC=ON"
- "-DZSTD_BUILD_TESTS=OFF"
CMAKE_SOURCE_DIR: "build/cmake"
LIB_NAME: "zstd"
TARBALL_SHA256: "eb33e51f49a15e023950cd7825ca74a4a2b43db8354825ac24fc1b7ee09e6fa3"
TARBALL_URL: "https://github.com/facebook/zstd/releases/download/v1.5.7/zstd-1.5.7.tar.gz"
Loading
Loading