mirror of
https://github.com/webinstall/webi-installers.git
synced 2026-05-16 21:56:33 +00:00
Stacked on the modifications PR. Now that no live code path references
the per-package fetchers, the shared HTTP/parsing helpers, the
in-process normalizer, or the example template, delete them. Pure
deletion — no behavior change.
- ~93 per-package <pkg>/releases.js fetcher modules.
- _common/{brew,fetcher,git-tag,gitea,github,github-source,
githubish,githubish-source}.js shared HTTP/parsing helpers.
- _webi/normalize.js in-process normalization layer (cache files
arrive normalized from webicached).
- _example/releases.js fetcher template for new packages.
The Go cache daemon (webicached) is now the sole producer of release
metadata; the Node process never makes an upstream request.
title, homepage, tagline
| title | homepage | tagline |
|---|---|---|
| CMake | https://github.com/Kitware/CMake | CMake is a cross-platform, open-source build system generator |
To update or switch versions, run webi cmake@stable (or @v2, @beta, etc).
Files
These are the files / directories that are created and/or modified with this install:
~/.config/envman/PATH.env
~/.local/bin/cmake
~/.local/opt/cmake
Cheat Sheet
CMake is a cross-platform alternative to autoconf that works on Windows, Mac, and Linux
A project structure looks like this:
my-project/
├── build/
├── CMakeLists.txt
├── hello-world*
└── hello-world.cpp
And can be built my running cmake from the build directory:
pushd ./build/
cmake ../
make
How to create a Hello World with CMake
Lets create a hello world program in C++ and build it with CMake.
-
Create a project directory
mkdir ./my-project/ pushd ./my-project/ -
Create a Hello World C++ file named
hello-world.cpphello-world.cpp:#include <iostream> int main(int argc, char** argv) { std::cout << "Hello World!" << std::endl; return 0; } -
Create a
CMakeLists.txtto compile our codeCMakeLists.txt:project{hello-world} cmake_minimum_required(VERSION 3.10) add_executable(hello-world hello-world.cpp) -
Create a build directory and build the binary
mkdir ./build/ pushd ./build/ cmake ../ make -
Test the built binary:
./hello-world