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

Windows Installation Guide #25

Merged
merged 4 commits into from
May 27, 2024
Merged

Windows Installation Guide #25

merged 4 commits into from
May 27, 2024

Conversation

Teschl
Copy link
Contributor

@Teschl Teschl commented May 22, 2024

Reorganized Readme.md structure. The Linux Guide is mostly the same as before.

  1. For Windows:
    It took quite a while to get Windows to build the package while not crashing during the C/C++ compiling stage. But now that I have got it running, it's pretty straight forward. To make sure that the guide actually works, it would be nice if one of you could follow the steps in the guide, build the package and then just run one of the example files to verify functionality.

  2. For Mac
    Since I don't own an Apple Laptop, I can't check if the installation works there too. I assume it works the same as on Linux, but I have no way of knowing. I'll add an issue to track this. (Verify Mac functionality #26 )

@wkearn
Copy link
Contributor

wkearn commented May 23, 2024

Once I get back into the office, I will try to run through this on my Windows computer. I will also try to set up a Windows build on GitHub Actions (#27) and see how that goes.

The Windows build instructions are unfortunately complicated, but I guess most users of pytopotoolbox will use pip install topotoolbox or something and get a precompiled binary downloaded from PyPI, right? Once we have published it to PyPI of course.

It's only developers of the package or people who really want to build the code locally who would need to go through this process, and if they are developing on Windows they probably already have Visual Studio installed.

Actually, that does bring up a question: what happens on Linux if you don't have CMake installed? Does scikit-build-core bring its own CMake? If not, it might be useful to mention that dependency.

@Teschl
Copy link
Contributor Author

Teschl commented May 23, 2024

The Windows build instructions are unfortunately complicated, but I guess most users of pytopotoolbox will use pip install topotoolbox or something and get a precompiled binary downloaded from PyPI, right? Once we have published it to PyPI of course.

When we upload to PyPI it will be as a .whl file, so the whole Visual Studio stuff is only necessary when compiling the repository and building the .whl.

Actually, that does bring up a question: what happens on Linux if you don't have CMake installed? Does scikit-build-core bring its own CMake? If not, it might be useful to mention that dependency.

As far as I can tell, when cmake is not installed before running the build process, scikit-build-core will automatically install everything that is needed for building.

@wkearn
Copy link
Contributor

wkearn commented May 27, 2024

The Windows instructions did work for me.

You do need to have git available on your path because CMake's FetchContent module attempts to clone our libtopotoolbox repository from GitHub. This is true for all operating systems, and it might be useful to mention that somewhere in these instructions.

At some point we could consider changing the pytopotoolbox build step so it doesn't depend on Git. I think that will make more sense once we have a consistent release process for libtopotoolbox so that we could download the appropriate release from somewhere.

@Teschl
Copy link
Contributor Author

Teschl commented May 27, 2024

I moved the general install requirements above the OS specific ones.

At some point we could consider changing the pytopotoolbox build step so it doesn't depend on Git. I think that will make more sense once we have a consistent release process for libtopotoolbox so that we could download the appropriate release from somewhere.

As far as I understand, CMake can download tar.gz files without using git, so if we provide one with each release this problem should be easy to solve.

@wkearn wkearn merged commit d505bf2 into TopoToolbox:main May 27, 2024
3 checks passed
@wkearn wkearn mentioned this pull request May 27, 2024
5 tasks
@Teschl Teschl deleted the win-docs branch May 27, 2024 14:22
@wkearn wkearn added the documentation Improvements or additions to documentation label Jun 26, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
documentation Improvements or additions to documentation
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants