You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The build instructions for macOS are fairly out of date. This PR updates build docs in the following ways:
Makes instructions clearer.
Currently, docs say "Install OpenJDK 17" then provide a homebrew command to install OpenJDK 8 which fails on current macOS systems (no arm candidate)
Splits commands up into more sensible chunks.
The current docs specify installing XCode CLI tools after using a homebrew command. XCode CLI tools are installed as part of the homebrew install process.
Provides a better description of configurable CMake options
In the current docs, some CMake options are described in # comments which break the newline escaping of the cmake command. I have moved these comments to bullet points above the cmake command.
Adds OpenJDK 17 to the environment
When installing openjdk@17 with homebrew, binaries and includes are not added to the environment by default. Instead of adding symlinks we can just use these two export commands for the build step.
Updates cmake flags
The current docs specify -DCMAKE_OSX_DEPLOYMENT_TARGET=10.14 which will not compile because std::filesystem::path was introduced in 10.15
10.14 is fairly out of date. I've updated the flag to specify 11.7, but this can be reduced to 10.15 and still compile if the maintainers still want to support Catalina.
Add -S and -B flags
I'm not super familiar with CMake and it was throwing warnings saying source/build directories weren't specified. Adding these flags doesn't change how the CMake step works and avoids errors with future versions of CMake
Add -j4 to the make install step.
Threading speeds up compile times. I also added a comment explaining what -j4 means.
@RalphORama Hi, thank you for this update to the documentation, it looks good generally, but why do you set CPPFLAGS for preprocessor flags for an include directory that isn't required to build PolyMC? I don't even think CMake respects the CPPFLAGS environment variable, what is it used for? What happens if you don't specify it?
@RalphORama Hi, thank you for this update to the documentation, it looks good generally, but why do you set CPPFLAGS for preprocessor flags for an include directory that isn't required to build PolyMC? I don't even think CMake respects the CPPFLAGS environment variable, what is it used for? What happens if you don't specify it?
I added that step because the current docs specify installing openjdk@17 with homebrew, but doing so does not add openjdk to PATH. I assumed previously that openjdk includes were needed for the build, but if they aren't you could remove that step entirely. I have not tested building without those export commands first.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
The build instructions for macOS are fairly out of date. This PR updates build docs in the following ways:
#comments which break the newline escaping of thecmakecommand. I have moved these comments to bullet points above thecmakecommand.openjdk@17with homebrew, binaries and includes are not added to the environment by default. Instead of adding symlinks we can just use these twoexportcommands for the build step.cmakeflags-DCMAKE_OSX_DEPLOYMENT_TARGET=10.14which will not compile becausestd::filesystem::pathwas introduced in 10.15-Sand-Bflags-j4to themake installstep.-j4means.