3 ms·
In my experience the short answer is that there are no declarative build tools for C or C++. The longer answer is that there are no declarative build tools bec
by GrantMoyer 2y ago
In my experience the short answer is that there are no declarative build tools for C or C++.
The longer answer is that there are no declarative build tools because all the build tools aim to support all the insane build requirements of existing C or C++ projects. At that point embedding a turing complete scripting language actually makes for simpler build descriptions than some massive declarative system trying to handle all the corner cases.
Of course, that raises the question: why don't any C or C++ build tools limit themselves to some sane subset of build requirements? That, I don't have a good answer for.
- mid-kid 2y agoIn general this exists in order to detect features of the target compiler, libraries, platform and etc. A lot of languages can get away with making assumptions, due to either having only one implementation/compiler, supporting very few platforms/architectures or being otherwise insensitive to the environment.