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

More details on contributing on Windows #303

Open
mrodz opened this issue Nov 3, 2022 · 5 comments
Open

More details on contributing on Windows #303

mrodz opened this issue Nov 3, 2022 · 5 comments
Labels
build pertains to the configuration and build stages documentation documentation updates

Comments

@mrodz
Copy link
Contributor

mrodz commented Nov 3, 2022

Is your feature request related to a problem? Please describe.
More details on how to develop/contribute on Windows, for this is covered very briefly.

Describe the solution you'd like
A notice on the Development Guide with more information on how to build on Windows. Essentially, this project can only be built in Visual Studio, and it would be helpful to include this.

Instead of these lines of code, which make use of the default GNU make -j 4 command, one must use msbuild .\check.vcxproj -maxcpucount:4 (and the like).

Describe alternatives you've considered
I would be willing to add these notes to the documentation, as I'm eager to save other Windows developers hours of head-scratching wondering why the project won't build in their IDE/with their build chain.

Additional context
I don't have a CLion license, so I wasn't able to test whether it works in that IDE. However, after doing some research, I can infer the project would not build there either.

@goatshriek goatshriek added the documentation documentation updates label Nov 3, 2022
@goatshriek
Copy link
Owner

This would be a welcome change.

There is some documentation on building from the source in the INSTALL.md file, which describes toolchain-agnostic CMake commands that can be used to configure and build using CMake's build mode. You can probably replace the make-specific commands with the CMake build mode ones to make the instructions more inclusive. A link from the development guide to this section of the installation documentation might also help folks find it.

The project is intended to build on any system that CMake supports, and CLion does seem to have CMake support. Is there a specific reason that you believe it wouldn't build on such a platform? That is something I would like to address.

@goatshriek goatshriek added the build pertains to the configuration and build stages label Nov 3, 2022
@mrodz
Copy link
Contributor Author

mrodz commented Nov 3, 2022

Hello! My comment about CLion doesn't have so much to do with the IDE, but more with the build target. I tried building the project with cmake, first generating standard Makefiles and later MSYS Makefiles, but I kept getting cryptic error messages. Eventually, on some obscure thread online, I saw a comment that said my stack trace meant one of the dependencies could only be built with .vcxproj and Visual Studio on Windows; sure enough, this approach worked.

Understandably, this needs to be tested further, as I have not tested targeting Ninja, Sublime Text, and other build systems.

If you deem this useful for development experience, I can explore this issue further :)

@goatshriek
Copy link
Owner

Of course any documentation updates are always welcome for consideration!

Details on any build failures are also welcome. If there are reasonable changes we can make that would increase portability we will try to find a way to make them: portability is a primary goal of this project.

@goatshriek
Copy link
Owner

9f6a776 included some updates to the language in docs/development.md to also include the cmake build mode commands for increased portability, in an effort to make progress towards answering this issue.

goatshriek added a commit that referenced this issue Dec 26, 2022
Fixes warnings encountered during MinGW builds due to type mismatches. Also updates the build documentation to include more specific instructions for MinGW platforms.

This partially resolves #318, which can be referenced for more details. It does not fix the build on older versions of MinGW, which will be handled in a separate change if needed.

The additional information on building on MinGW and MSYS2 may also help #303.
goatshriek added a commit that referenced this issue Dec 26, 2022
Fixes warnings encountered during MinGW builds due to type mismatches.
Also updates the build documentation to include more specific instructions
for MinGW platforms.

This partially resolves #318, which can be referenced for more details.
It does not fix the build on older versions of MinGW, which will be
handled in a separate change if needed.

The additional information on building on MinGW and MSYS2 may also
help #303.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
build pertains to the configuration and build stages documentation documentation updates
Projects
None yet
Development

No branches or pull requests

3 participants
@goatshriek @mrodz and others