-
Notifications
You must be signed in to change notification settings - Fork 291
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
Update install instructions to use CMake #477
Conversation
70a93fb
to
38f33d6
Compare
Neat! @nurupo would you mind adding a travis build using docker that builds the image? (It's ok to say no, I'm still happy with this change). |
The I think there also were some new cmake options added recently, which need to be added to Something to keep in mind after this PR is merged, in that the
Heh, I wouldn't really call it neat, I'm not very happy with the shell scripts, you have to read the entire thing (all the scripts) to understand what the variables are used for and where the things are done in fs, so there is that. As far as the Travis build goes, I will try adding a Travis build for it later this week if I will have time. |
Reviewed 2 of 7 files at r1. Comments from Reviewable |
dbd4e7e
to
a5fb3e6
Compare
@iphydf added Travis build jobs. As mentioned earlier, |
Ok, let me know when it's ready. |
b16f3b5
to
7dc8b87
Compare
@iphydf this should be ready for a final review. Check the INSTALL instructions. Previously it said that toxcore doesn't support building with MSVC under cmake, but now it kind of does support it in a limited no-toxav sense and if you put the libraries in the exact paths cmake expects to find them at. Should I document the library paths? They are a bit of a mess, most library paths are in the current directory (can be re-rotted to any directory with Also, is it really a good idea to have the pre-built section mentioning which distributions have toxcore in their package repository and also linking to windows nightly builds of toxcore? I don't feel especially strongly about it. What do I do with the Travis builds? I left them unconditioned to let you see that they work. I assume you will ask me to put them under the cron condition after you are happy with the PR. |
Reviewed 1 of 8 files at r2, 13 of 14 files at r3, 1 of 1 files at r4. INSTALL.md, line 3 at r4 (raw file):
"installing the toxcore library" Also, maybe mdformat or something, make the line length not super long. INSTALL.md, line 34 at r4 (raw file):
INSTALL.md, line 50 at r4 (raw file):
"synchronises an IRC channel and a Tox group chat" INSTALL.md, line 51 at r4 (raw file):
Gone. INSTALL.md, line 55 at r4 (raw file):
"might want to find interesting" sounds odd. Do I want to find it interesting? Maybe just "find interesting". INSTALL.md, line 87 at r4 (raw file):
txocore => toxcore INSTALL.md, line 98 at r4 (raw file):
Gone. INSTALL.md, line 127 at r4 (raw file):
Prefer INSTALL.md, line 140 at r4 (raw file):
This directory contains Makefile.am. I'm not sure we want to build from that. I usually build from INSTALL.md, line 168 at r4 (raw file):
Does this work? I think I need to do "apt-get install docker", not docker.io. cmake/ModulePackage.cmake, line 99 at r4 (raw file):
No idea what this does, or what parts of the library would end up in bindir. other/docker/windows/build_dependencies.sh, line 9 at r4 (raw file):
Other scripts have 2-space indent. Should we change those or this one? other/docker/windows/build_toxcore.sh, line 42 at r4 (raw file):
Maybe a heredoc is nicer. Your call though. other/docker/windows/build_toxcore.sh, line 99 at r4 (raw file):
Less indentation here. other/docker/windows/get_packages.sh, line 25 at r4 (raw file):
Just fyi: g++ may become necessary soon (for tests). Comments from Reviewable |
Review status: 8 of 11 files reviewed at latest revision, 25 unresolved discussions, some commit checks failed. INSTALL.md, line 3 at r4 (raw file): Previously, iphydf wrote…
What is mdformat? Can't find it in Google or Debian packages (both as package name or a file name that is contained by any package). I can put each sentence on its own line. Splitting the text to fit into 80 characters might be doable too, markdown formatting might get in the way of doing that though, since you can't split it on new line (or can you? don't think i ever tried). INSTALL.md, line 34 at r4 (raw file): Previously, iphydf wrote…
INSTALL.md, line 55 at r4 (raw file): Previously, iphydf wrote…
Right, this doesn't sound right at all. Should be fixed now. INSTALL.md, line 127 at r4 (raw file): Previously, iphydf wrote…
According to the documentation you can use both INSTALL.md, line 128 at r4 (raw file):
This line is inconsistent with the rest. Should be fixed now. INSTALL.md, line 140 at r4 (raw file): Previously, iphydf wrote…
I always use "build" for this, but it's a bit annoying that I can't easily INSTALL.md, line 168 at r4 (raw file): The The cmake/ModulePackage.cmake, line 99 at r4 (raw file): Previously, iphydf wrote…
This puts runtime things into other/docker/windows/build_dependencies.sh, line 9 at r4 (raw file): Previously, iphydf wrote…
What are you talking about? All of the 3 scripts have 4-space indentation. other/docker/windows/get_packages.sh, line 25 at r4 (raw file): Previously, iphydf wrote…
Well, based on our discussion in other PR, the C++ compiler requirement is rather artificial and can be made optional, which I think it should be. I will remove this comment to spare any confusion though. Comments from Reviewable |
Review status: 6 of 11 files reviewed at latest revision, 18 unresolved discussions. INSTALL.md, line 3 at r4 (raw file): Previously, nurupo wrote…
It's ok, we can run a markdown formatter later. INSTALL.md, line 34 at r4 (raw file): Previously, nurupo wrote…
Comments from Reviewable |
Reviewed 2 of 14 files at r3, 5 of 5 files at r5. Comments from Reviewable |
@nurupo can you rebase and squash commits as appropriate? If you deem each commit to be a separate thing, then no need to squash anything. |
I guess I should remove the option to compile as CXX too from the INSTALL.md. |
$CMAKE_CROSSCOMPILING_EMULATOR is automatically prefixing add_test() in CMake versions starting 3.3[1], but because we target CMake 2.8, we can't use that and we have to add our own $CROSSCOMPILING_EMULATOR that will prefix add_test(). [1] https://cmake.org/cmake/help/v3.3/variable/CMAKE_CROSSCOMPILING_EMULATOR.html#variable:CMAKE_CROSSCOMPILING_EMULATOR
Runtime modules, such as executables and shared libraries should be installed into "bin" instead of "lib".
I will let Travis run this first and after it passes I will change the commit to disable Windows builds on Travis. |
Alright, it passed. |
Moved Travis Windows builds to cron. |
When cross-compiling toxcore to Windows and running the test suit, on i686 I get
messenger
test crashing andtox_many_tcp
test never finishing, but on x86_64 it's justtox_many_tcp test
never finishing.TODO(@iphydf ?): make Travis cross-compile toxcore to Windows using the provided in this PR Dockerfile, so that we know the Windows cross-compilation section from INSTALL.md is still valid and also that toxcore cross-compiles for Windows successfully.
Fixes #383.
This change is