-
Notifications
You must be signed in to change notification settings - Fork 2k
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
Add compatibility to vcpkg buildsystem #8317
Conversation
I think you can remove those. If someone still wants to compile the annoying way, then there's still the same guide on the wiki (maybe add a link to it?).
Guard it with |
23bc0cf
to
c738afb
Compare
Done. Regarding PostgreSQL: Lines 161 to 186 in 77961aa
BTW is it intentional that first find_library(POSTGRESQL_LIBRARY pq) is calledand then find_package("PostgreSQL") but at the end linking to POSTGRESQL_LIBRARY??? https://github.com/minetest/minetest/blob/master/src/CMakeLists.txt#L596
in case of vcpkg it looks like this: |
c738afb
to
954c348
Compare
954c348
to
10d598a
Compare
Rebased. |
This allows to find and use curl with the vcpkg toolchain file.
No need to manually set random paths
10d598a
to
6808814
Compare
Rebased. As #8435 is merged, PostgreSQL is now working as well. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Some minor grammar and spelling corrections in README :)
Co-Authored-By: adrido <[email protected]>
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Compiling on Windows sucks, so this is a good step forward. I tested this PR on Linux, to see whether the build system is still fine. It is, and Travis also confirms that.
👍
This needs testing to make sure the buildbot script still works, and other ways of compiling on Windows too |
Vcpkg is a C++ Library Manager for Windows, Linux, and MacOS. https://github.com/Microsoft/vcpkg
It is really helpful because it makes it easy to manage Minetest's load of (optional) dependencies. Especially on Windows.
This PR changes all required things to make cmake+vcpkg work out of the box.
It also updates the documentation and adds instructions how to build on windows.
Here a checklist what's currently possible:
Triplets:
✔ x64-windows
❌ x64-windows-static (link error with irrlicht, openAL, curl and leveldb)
✔ x86-windows
❓ x86-windows-static (needs testing)
Required Features:
✔ build client
✔ build server
✔ irrlicht
✔ sqlite3
✔ zlib
Optional Features:
✔ curl
❓ curses (have no idea what's that)
✔ freetype
❓ gettext (supported by vcpkg but not tested)
❓ gles (probably not possible)
✔ leveldb
✔ luajit
✔ postgresql (changes to Minetest required)
❌ redis (Minetest depends on 'hiredis' which is Unix exclusive)
✔ sound
❓ spatial (there is a libary called libspatiallite)
❓ system-gmp (not supported by vcpkg)
❓ system-jsoncpp (supported by vcpkg but not tested)
It would be nice if someone could follow the documentation and find out if its complete and understandable.
That missing optional features can also added later, so I would consider this PR as ready for review.
This PR already includes #8295
Fixes #7642
Edit 14.03.2019: replaced the task list with "emotes" as it was not really a task list