My idea is to use local versions of the necessary packages (inside the repository) so as not to install these packages on a working operating system.
I use CMake. I added two dependencies to my project (submodules):
Drogon= https://github.com/drogonframework/drogon.git;Boost= https://github.com/boostorg/boost.git;
Drogon uses Boost internally:
find_package(Boost 1.49.0 COMPONENTS filesystem system REQUIRED)
Here's how I add these dependencies (Project/subs/CMakeLists.txt):
cmake_minimum_required(VERSION 3.21)
# Add Boost lib
add_subdirectory(boost EXCLUDE_FROM_ALL)
# Add Drogon lib
set(BUILD_CTL OFF)
set(BUILD_EXAMPLES OFF)
set(BUILD_DROGON_SHARED OFF)
set(DOXYGEN_FOUND OFF)
add_subdirectory(drogon EXCLUDE_FROM_ALL)
But I get an error:
-- The std::filesystem seems to be a partial implementation Falling back to boost::filesystem
CMake Error at G:/Qt/Tools/CMake_64/share/cmake-3.21/Modules/FindPackageHandleStandardArgs.cmake:230 (message):
Could NOT find Boost (missing: Boost_INCLUDE_DIR filesystem system)
(Required is at least version "1.49.0")
Call Stack (most recent call first):
G:/Qt/Tools/CMake_64/share/cmake-3.21/Modules/FindPackageHandleStandardArgs.cmake:594 (_FPHSA_FAILURE_MESSAGE)
G:/Qt/Tools/CMake_64/share/cmake-3.21/Modules/FindBoost.cmake:2345 (find_package_handle_standard_args)
src/subs/drogon/CMakeLists.txt:184 (find_package)