drogonframework / drogon

Drogon: A C++14/17/20 based HTTP web application framework running on Linux/macOS/Unix/Windows
MIT License
11.62k stars 1.12k forks source link

Add Conda Support (Package, Dependency and Environment Management) #684

Closed sugizo closed 6 months ago

sugizo commented 3 years ago

objective try to learn drogon in virtual environment (not virtual machine or not docker)

question is drogon capable to installed and run on conda ? if not, is there any virtual environment that can run drogon ?

assumming that it's not install on system when execute make install but place it into virtual environment

thanks

rbugajewski commented 3 years ago

Thanks for your participation in the Drogon project. I’m afraid there is currently no support for Conda, but every PR is welcome and will be merged into the official tree if quality requirements are met.

I’m currently a little bit confused about your request. Personally I don’t know Conda, and while they state that the software is a dependency manager for many languages, I also realize that it is mainly used in Python environments, and especially to manage different of these environments. I’m genuinely curious what you would like to do in Conda with Drogon, and if there aren’t already alternative solutions?

sugizo commented 3 years ago

on conda site said that support C/C++ but never tried with C++ language to try drogon in virtual environment in conda e.g. conda create -y -n python3_test python=3.8 you can change another language, and all of the package is installed on the conda folder not in /usr/bin, /bin, etc so when you remove the virtual environment i.e. python3_test the package is also gone

expectation when build drogon can put on any path e.g. /home/user/Desktop/drogon folder

question is it possible to achieve it ?

thanks

rbugajewski commented 3 years ago

Thanks for the explanation. C++ is a little bit different than Python, and this is also true for the development environment. While they state that multiple languages are supported, Conda is in my opinion a tool that is mainly used in the Python ecosystem.

Drogon uses CMake for its build & dependency management. If you want to try out Drogon in a specific folder without messing up your operating system, you can already achieve this with CMake. Dependencies that need to be pulled in for Drogon to compile can be placed in a subfolder. Then you just need to set the header and/or library search paths / configure CMake to use the local dependencies instead of global ones and you should be good to go.

I will leave this issue open in case somebody else is interested in adding Conda support to Drogon, but we currently have different priorities.