![]() ![]() dpc (package collection) file, only the one file needs to be copied the. dcu files, if they are included with the distribution-must be in the Delphi Library Path. (For information about these files, see "Packages and standard DLLs.") To install or uninstall your own components, or components from a third-party vendor, follow these steps:ġ If you are installing a new package, copy or move the package files to a local directory. (See "Creating and editing packages" on page 16-7.) Your component source code must follow the model described in the Component Writer's Guide. ![]() If you've written your own components, create and compile a package that contains them. (I am talking from experience.) And there comes in handy the promotion to global scope (or just searching for Boost in the top-level CMakeLists.txt file).All components are installed in the IDE as packages. This is helpful in particular for larger (monolithic) projects, with different sub-parts, that all want to use some boost libraries, but require to always need the same version and do not want to search for Boost libraries in every subdirectory, again.ĬMake needs quite some time for searching the same Boost libraries over and over again. If for example during development I realize I need to use another Boost library, I can just use it and do a target_link_libraries( MyTarget PRIVATE Boost::some_lib ) and do not have to further think about finding that library, too. All available ones are always available as imported targets, that I can use in my project. The use-case is that I do no longer have to care about importing specific Boost libraries. ![]() This would allow to comfortably promote all these targets to global scope, using the following command: It would be very helpful if a single component, let's call it all, would exist which makes find_package automatically search for all Boost libraries (may they be binary or header-only) belonging to the desired version.Īs a result, imported targets for all Boost components as well as the header-only targets (at least Boost::headers and Boost::boost) and maybe some other useful imported targets should be created.Īdditionally, a special variable, let's call it Boost_ALL_TARGETS, should be set which contains the names of all these imported targets. With every new Boost version one needs to check and possibly update that listing to incorporate new libraries. This is tedious, particularly if one wants to find all Boost libraries, to make all targets available to one's CMake project (and sub-projects thereof). Find_package( Boost 1.71.0 REQUIRED COMPONENTS unit_test_framework filesystem program_options. ![]()
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. Archives
February 2023
Categories |