cmake-init
CMake
cmake-init | CMake | |
---|---|---|
164 | 32 | |
1,866 | 6,520 | |
- | 1.3% | |
8.1 | 10.0 | |
about 2 months ago | 1 day ago | |
CMake | C | |
GNU General Public License v3.0 only | GNU General Public License v3.0 or later |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
cmake-init
-
CMake install schema for single- and multi-config generators
https://github.com/friendlyanon/cmake-init This is how you do CMake properly. If you deviate from its install rules you are highly likely to do something wrong.
-
cgen: another declarative CMake configuration generator
CMake itself is as declarative as a build systems need to be. For anything nontrivial, these "declarative" solutions all fall apart. Just use https://github.com/friendlyanon/cmake-init, learn CMake and you won't have any issues.
-
How does one actually build a C++ project
If you want something with a (mostly) Just Works experience then just use https://github.com/friendlyanon/cmake-init
- CMakeList.txt, add_executable vs. add_library vs. target_link_libraries vs. target_link_directories
- Check out my tasks.json for C++ of VScode
- Clang++ Halp
-
Putting libraries in program folder
For CMake basics check out the official "Getting started" tutorial: https://cmake.org/cmake/help/latest/guide/tutorial/index.html, as well as Introduction to Modern CMake. You can also get inspired by the CMake project generator cmake-init
- Recourses to help understand libraries/projects and setting them up?
-
How to Create a Modern C Project with CMake and Conan
You can just use https://github.com/friendlyanon/cmake-init to get a CMake + Conan C project ready to go with a short little command: cmake-init --c -e -p conan coolio
- CMake template
CMake
-
Installer script for CMake, Ninja, and Meson
I thought I would share my custom installer script for the latest GitHub versions of CMake, Ninja, and Meson.
-
CMake can't find glut
The same thing probably applies if you use the FindGlut.cmake module which is documented here: https://cmake.org/cmake/help/latest/module/FindGLUT.html
-
FFmpeg Build Script that uses API calls to get the latest versions of each package + extra modules
building cmake - version 3.26.3 ==================================== Downloading https://github.com/kitware/cmake/archive/refs/tags/v3.26.3.tar.gz as cmake-3.26.3.tar.gz Download Completed File extracted: cmake-3.26.3.tar.gz $ ./configure --prefix=/root/ffmpeg-build-script/workspace --parallel=40 --enable-ccache -- -DCMAKE_USE_OPENSSL=OFF $ make -j 40
-
I can't run my c++ project having Python.h header using cmake in Windows
find_package(Python3 ...) will look for a file FindPython3.cmake shipped with CMake. I urge you to try to go over its contents to get an idea of what it does underneath.
-
using a library from a github repository in cmake project
The file FindSomePKG.cmake (module approach) is supposed to be written either by you (you write it manually and put in a cmake subdirectory in your git repo) or it's an official package file shipped along with CMake, e.g FindOpenSSL.cmake with documentation here.
- Install CMake on Windows
-
Install MariaDB from Source Code on Ubuntu
sudo apt-get install build-essential libncurses5-dev gnutls-dev bison zlib1g-dev ccache libssl-dev # Get cmake # Downloaded under ~/ wget https://github.com/Kitware/CMake/releases/download/v3.25.2/cmake-3.25.2.tar.gz cd cmake-3.25.2 ~/cmake-3.25.2 $ ./bootstrap ~/cmake-3.25.2 $ make ~/cmake-3.25.2 $ sudo make install
-
Adding “invariant” clauses to C++ via GCC plugin to enable Design-by-Contract
Note that `assert`s are disabled if you define the macro `NDEBUG`, e.g. https://godbolt.org/z/hMWo8KM7q
CMake adds these flags to release builds: https://github.com/Kitware/CMake/blob/e1eacbe2c522a8bf9a82af...
Would be nice to have a non-macro solution for controlling behavior at configure time, but the `NDEBUG` macro is basically already your `DEBUG` constexpr.
-
CLion 2022.3 Released!
It's open-source. It might get merged in!
-
Couchbase Node SDK on Docker
FROM node:16 WORKDIR /cmake COPY cmake-3.25.0-rc4-linux-x86_64.sh ./ # OR # RUN apt update && apt install -y g++ wget bash # RUN wget https://github.com/Kitware/CMake/releases/download/v3.25.0-rc4/cmake-3.25.0-rc4-linux-x86_64.sh RUN ./cmake-3.25.0-rc4-linux-x86_64.sh --skip-license && rm cmake-3.25.0-rc4-linux-x86_64.sh ENV PATH="$PATH:/cmake/bin" WORKDIR /app RUN npm i [email protected] COPY package.json . COPY package-lock.json . RUN npm --verbose i COPY . . RUN npm --verbose run build
What are some alternatives?
meson - The Meson Build System
w64devkit - Portable C and C++ Development Kit for x64 (and x86) Windows
gcc
xmake - 🔥 A cross-platform build utility based on Lua
ninja - a small build system with a focus on speed
fastbuild - High performance build system for Windows, OSX and Linux. Supporting caching, network distribution and more.
awesome-bazel - A curated list of Bazel rules, tooling and resources.
ModernCppStarter - 🚀 Kick-start your C++! A template for modern C++ projects using CMake, CI, code coverage, clang-format, reproducible dependency management and much more.
bazel-remote - A remote cache for Bazel
llvm-mingw - An LLVM/Clang/LLD based mingw-w64 toolchain
Boost.Beast - HTTP and WebSocket built on Boost.Asio in C++11