cmake-init-use-pkg-config
Using a dependency that does not support clients using CMake (by friendlyanon)
cppfront
CMake wrapper around the cppfront repository (by modern-cmake)
Our great sponsors
cmake-init-use-pkg-config | cppfront | |
---|---|---|
2 | 4 | |
4 | 63 | |
- | - | |
2.6 | 4.9 | |
over 2 years ago | about 1 month ago | |
CMake | CMake | |
- | - |
The number of mentions indicates the total number of mentions that we've tracked plus the number of user suggested alternatives.
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.
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-use-pkg-config
Posts with mentions or reviews of cmake-init-use-pkg-config.
We have used some of these posts to build our list of alternatives
and similar projects. The last one was on 2022-11-14.
-
Good reasons to NOT use CMake
You have to realize that the point of using CMake is not entirely about your project, but about downstream users who wish to use CMake as well. If you do not support clients using CMake (i.e. install a CMake package) you are forcing every downstream user to figure your requirements out by themselves, which even for a project with no dependencies is non-trivial: https://github.com/friendlyanon/cmake-init-use-pkg-config
-
cmake-init - The missing CMake project initializer, now with Conan and vcpkg templates!
See this example from the wiki. This one tries to use unofficial vcpkg package nd targets, then falls back to pkg config, then falls back to find_* commands. This is probably more than what you are asking, but you can put anything in the find module, even code that vendors projects, although I highly recommend against any form of vendoring (manual, git, FetchContent, etc). Vendoring only causes problems for packagers.
cppfront
Posts with mentions or reviews of cppfront.
We have used some of these posts to build our list of alternatives
and similar projects. The last one was on 2024-03-31.
-
Cpp2 and cppfront – An experimental 'C++ syntax 2' and its first compiler
Any good CMake integration besides https://github.com/modern-cmake/cppfront?
-
Good reasons to NOT use CMake
For another example, the CMake wrapper I wrote for cppfront automatically translates .cpp2 files to .cpp. This is simply impossible in Meson which, again, requires end-users to find the cppfront binary, write a generator rule, and then run it.
-
Using cppfront with Meson
And this is the equivalent CMake code using the modern-cmake/cppfront project:
-
Using cpp2/cppfront with CMake
cmake_minimum_required(VERSION 3.23) project(example) include(FetchContent) FetchContent_Declare( cppfront GIT_REPOSITORY https://github.com/modern-cmake/cppfront.git GIT_TAG main # or an actual git SHA if you don't like to live dangerously ) FetchContent_MakeAvailable(cppfront) add_executable(main main.cpp2)
What are some alternatives?
When comparing cmake-init-use-pkg-config and cppfront you can also consider the following projects:
cmake-init - The missing CMake project initializer
meson-brainfuck - A proof that Meson is actually Turing-Complete
cmake-init-fetchcontent - Example for optionally vendoring using FetchContent
ProxImaL - A domain-specific language for image optimization.
meson - The Meson Build System
cmake_format - Source code formatter for cmake listfiles.