Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Added CMake build system support #219

Open
wants to merge 3 commits into
base: devel
Choose a base branch
from
Open

Conversation

sundersb
Copy link

CMake support would make building 3proxy more comfortable on different platforms.

I have tested building on Windows with MSVC2010 and TDM mingw. 3proxy binary and plugins are both compilable and runnable. Auxilliary include files and libs are expected to be in 'include' and 'lib' subdirectories of the source tree on Windows (this concerns OpenSSL). On Linux they are supposed to be detected by CMake by themselves.

Suggested roadmap

  • build and run the project on Windows
  • build and run on *NIX (I have no such opportunity)

Successfully builds 3proxy binary and relevant plugins on Windows with
bobth MSVC2010 and mingw
@z3APA3A
Copy link
Collaborator

z3APA3A commented Dec 28, 2017

Идея хорошая, но в текущем виде бесполезная, т.к. многоплатформенность нужна, и если ее не получится запилить, например через CMAKE_SYSTEM_NAME, то статические CMakeLists.txt не годятся и надо их чем-то генерировать.
Т.е. для начала надо проверить что предложенное решение укладывается в предложенный roadmap.

@z3APA3A z3APA3A self-assigned this Dec 28, 2017
@sundersb
Copy link
Author

Спасибо за поддержку!

Есть одно замечание: динамическая генерация cmake файлов сделает построение снова зависимым от командной оболочки. Похожая ситуация как раз и не позволила мне собрать проект на Windows с помощью TDM (без cygwin).

Поскольку 3proxy написан на чистом C и содержит мало зависимостей, думаю что предложенный мной патч потребует лишь незначительных доработок. К сожалению в этом плане я мог бы помочь лишь механической адаптацией CMakeLists.txt на основе имеющихся мейкфайлов - без возможности протестировать результат.

PS

для начала надо проверить что предложенное решение укладывается в предложенный roadmap

Знаю, что мой roadmap не годится - не соответстувует масштабам :)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants