agentsclimarketplace

Build system configuration identification

Skill HolobiomicsLab/asb-skill-collections/collections/metabolomics/v2/skills/build-system-configuration-identification

Curated, evidence-grounded skill and software-tool collections for scientific AI agents, generated by the AgenticScienceBuilder

Install
npx -y skills add HolobiomicsLab/asb-skill-collections --skill build-system-configuration-identification

Assembled from the repository path, not quoted from the project. Check it against their README if it does not work.

One thing to look at

  • 14 stars14 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.

What its author says it does

Copied from the file, not written here

Use when you have cloned a source repository and need to compile it on a supported operating system (Windows 10, Ubuntu 22.04, macOS 12+ ARM64) but do not know what build tools, dependencies, or compilation commands are required.

The file declares its own license as CC-BY-4.0. That is the author’s claim about this one file, and it is not the same thing as the license GitHub reports for the repository, which is listed with the other numbers below.

SKILL.md

8.0 KB, ~1.5k tokens by cl100k_base, as published. Nobody here has run it

build-system-configuration-identification

Summary

Identify and analyze the build configuration file(s) in a source repository to determine dependencies, compilation targets, and platform-specific requirements before attempting cross-platform compilation. This skill enables reproducible builds by extracting metadata about the build system (e.g., Maven, Gradle, CMake, qmake) and its configuration parameters.

When to use

You have cloned a source repository and need to compile it on a supported operating system (Windows 10, Ubuntu 22.04, macOS 12+ ARM64) but do not know what build tools, dependencies, or compilation commands are required. Use this skill when the repository structure is unfamiliar or when you need to verify platform-specific build requirements before proceeding.

When NOT to use

  • The software is distributed as a pre-compiled binary or wheel (no build system analysis needed).
  • You are working with a containerized build (Docker) where the Dockerfile already specifies all dependencies — extract from the Dockerfile instead.
  • The repository has no build configuration file or is a documentation-only or data-only repository.

Inputs

  • GitHub repository URL or local repository clone
  • Target operating system (Windows 10, Ubuntu 22.04, macOS 12+ ARM64, or Linux distribution)

Outputs

  • Build configuration file(s) identified (path and format)
  • List of platform-specific dependencies and versions
  • Build command sequence (qmake/cmake/mvn invocation)
  • Optional: Dependency installation commands per OS

How to apply

Inspect the repository root and key subdirectories for build configuration files such as pom.xml (Maven), build.gradle (Gradle), CMakeLists.txt (CMake), LipidSpace.pro (qmake), setup.py (Python setuptools), or Dockerfile (containerized builds). Extract platform-specific dependencies listed in the configuration (e.g., Qt6, OpenSSL, compiler flags, GPU acceleration options like CUDA). For multi-platform projects, cross-reference the identified build system with platform-specific prerequisites documented in the README (e.g., Homebrew packages on macOS, apt packages on Ubuntu). Document the exact qmake or make commands required (e.g., 'qmake6 LipidSpace.pro && make'). Verify that dependency versions match the documented target OS versions to avoid incompatibility.

Related tools

Examples

git clone --recurse-submodules [redacted-email]:lifs-tools/lipidspace.git && cd lipidspace && qmake6 LipidSpace.pro && make

Evaluation signals

  • Build configuration file (e.g., LipidSpace.pro, CMakeLists.txt) exists in repository root and is parseable for key parameters (target OS, Qt version, compiler flags).
  • All declared dependencies in the build configuration can be installed via the documented package manager (Homebrew on macOS, apt on Ubuntu).
  • Platform-specific build commands complete without syntax or configuration errors (qmake6 successfully generates makefiles; cmake finds all required libraries).
  • Generated build artifacts (executable, .dylib, .so, or .dll) are present in the expected output directory after compilation.
  • Documented build command sequence matches the repository's CI/CD workflow file (e.g., GitHub Actions .yml) for that platform.

Limitations

  • ARM64 builds on macOS require custom compilation of OpenXLSX from source (pre-built binaries not provided for all architectures); this adds build time and complexity.
  • Some Qt6 dependencies may not be available in older package manager versions; Ubuntu 22.04 is the minimum tested version on Linux.
  • Optional NVIDIA CUDA acceleration for GPU-based distance calculations requires L4-family GPUs and separate CUDA installation; build succeeds without it but performance is reduced.
  • The cppgoslin library must be separately installed and made discoverable via library paths (DYLD_LIBRARY_PATH on macOS, LD_LIBRARY_PATH on Linux) after identifying it in the build configuration.
  • Build errors related to missing includes (e.g., 'lipidspace/CBTableWidget.h not found') indicate outdated cppgoslin; build configuration identification alone does not resolve this — reinstallation of the dependency is required.

Evidence

  • [other] Inspect the repository structure and identify the build configuration file (e.g., pom.xml, build.gradle, CMakeLists.txt, or setup.py).: "Inspect the repository structure and identify the build configuration file (e.g., pom.xml, build.gradle, CMakeLists.txt, or setup.py)."
  • [other] Install platform-specific build dependencies and runtime requirements (e.g., Java Development Kit for Maven-based projects, compilers, or runtime libraries).: "Install platform-specific build dependencies and runtime requirements (e.g., Java Development Kit for Maven-based projects, compilers, or runtime libraries)."
  • [readme] On Ubuntu 22.04, you can run sudo apt install build-essential libfontconfig1 qt6-base-dev qt6-base-dev-tools libqt6svg6-dev libqt6charts6-dev libopenblas-dev libomp-dev mesa-common-dev libglu1-mesa-dev libc6 libstdc++6 libssl-dev: "On Ubuntu 22.04, you can run sudo apt install build-essential libfontconfig1 qt6-base-dev qt6-base-dev-tools libqt6svg6-dev libqt6charts6-dev libopenblas-dev libomp-dev mesa-common-dev"
  • [readme] brew install qt libomp openssl@3 cmake git: "brew install qt libomp openssl@3 cmake git"
  • [readme] OpenXLSX must be built from source for ARM64. A build script is provided in the repository root: "OpenXLSX must be built from source for ARM64. A build script is provided in the repository root"
  • [readme] git clone --recurse-submodules [redacted-email]:lifs-tools/lipidspace.git: "git clone --recurse-submodules [redacted-email]:lifs-tools/lipidspace.git"
  • [readme] LipidSpace has been built and tested under Windows 10, Ubuntu 22.04 Linux, and macOS 12+ (ARM64 / Apple Silicon).: "LipidSpace has been built and tested under Windows 10, Ubuntu 22.04 Linux, and macOS 12+ (ARM64 / Apple Silicon)."

Keep looking

Skills are one crate of 328,083. Ordering is by how many stacks a row turns up in, so the top of any crate is what has actually been picked rather than what has the most stars.