4 ms·
I may have missed how but.. Cmake solves the problem of "locate the library FOO of version X.Y, add the compilation flags, link flags, include folder, link fol
by bleair 10y ago
I may have missed how but..
Cmake solves the problem of "locate the library FOO of version X.Y, add the compilation flags, link flags, include folder, link folder, static link options, dynamic link options" and all the other details needed to make use of another software component. Sometimes that component is found in my operating systems "default" spot and other times it's in an install directory that I explicitly input. How do I tell Tup to find these components/libraries and then have Tup also add in everything needed for all the commands related to building things that use that component.
Also, I often have very different components going into different build targets that my project makes. How do the rules chain and build. In other words, just because I link one of my libraries with libssl doesn't mean I want every single source file and library I create in my project to then be linked with ssl
- aseipp 10y ago> How do I tell Tup to find these components/libraries and then have Tup also add in everything needed for all the commands related to building things that use that component. You don't do that, because it's not really the job of Tup to do that. It's better to think of it as an alternative to Make as opposed to CMake, really. Because CMake is more like a generic build system (which is 'compiled' to a variety of other systems), with a billion built in rules and utilities and libraries for making the common cases easy amongst all them. Tup is really just not in the same design space, although it is still a build tool. It'd probably be more appropriate to think of Tup as a thing that CMake would target, like Makefiles, MSVC Projects, or Ninja build files.
- bluejekyll 10y ago> just because I link one of my libraries with libssl doesn't mean I want every single source file and library I create in my project to then be linked with ssl Is this because you want to guarantee that all libraries have the dependencies explicitly defined? If nothing in that library is used, I don't think it has an effect on the output. Honestly just curious, bc it sounds like a pain to declare different sets of libraries inside the same project.