I have recently started setting up my own libraries and projects using a cross platform build system ( Files, visual studio solutions / projects on demand etc.) and I have participated in a problem that has already been resolved.
The issue I have raised is: When there is dependency in an application, where there is dependency then the application is being linked, the dependency and all its sub-dependencies should be linked also in a recurring fashion. Moves forward like
(For the sake of reasoning we assume that we are working specifically with stable libraries.)
- TopLevelApp.exe <
- dependency_A
- dependency_A -1
- dependency_A -2
- dependency_B
- dependency_ B-1
- dependency_B-2
Then in this example, TopLevelApp dependency_A, dependency_A -1 , Dependency_A -2 etc. and also the same for B. I think the responsibility of remembering all of these goals in the target application is very favorable. There is also the issue of the same version of dependency used in all the targets (assuming that certain goals depend on the same things, such as promoting).
Now all the libraries need to be connected and there is no way to be around it. What I see is a build system that manages it for you. So whatever you have to do is specify that you depend on something and the appropriate reliance of that library will be automatically drawn.
The build system I see is premake which does not handle it (as far as I can determine). Does anyone know about a build system that handles it? And if not, why not?
It is controlled that the typical method library you depend on is telling you that its In return, what is needed for it and which version is a link against it is one way of doing this. For example, if you open the pkg-config name_of_package --cflags, it will print the required flag, which will include the flag required to add indirect dependency headers. Similarly, the PKG-config name_offpackage - DLF will print the required linker flags, which includes its specialty along with that particular library. For the manufacturing system, my recommendation must be used. If it was found - - In CMake, Dependency FIND_PACKAGE (name_of_package), which in turn defines variable name_of_package_FOUND as 1, then the package was not found, and this is also found through an invocation of libraries and headers Routes name_of_package_LIBRARIES and name_of_package_INCLUDE_DIRS define that package as well as its reliability for libraries and headers, according to which the FIND_PACKAGE mechanism is written through third party pluggable module In, and so when the system is _LIBRARIES and _INCLUDE_DIRS considered variables are of such set that dependency dependency recursively, not properly all modules of the last I checked.
Comments
Post a Comment