Changes to build in case-insensitive filesystems, builds with Ubuntu.Dockerfile in OSX (arm64) and Ubuntu (amd64) #52
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.
Hi @mmbednarek,
Here are the changes to allow the project to build with Ubuntu.Dockerfile in both OSX (arm64), which by default has a case-insensitive file system while still building in Ubuntu (amd64).
The motivation of this change is to eliminate the clashes of header files on
#include
directives on case insensitive file systems. Example, on#include <cstring>
, inside it will try to#include <string.h>
, but instead of picking up the stand library'sstring.h
, it will pick upminecpp/util/String.h
. This happens because the system includes go last when compiling and because of the following CMake configuration inminecpp/library/util/CMakeLists.txt
:This PR updates on
meta/cmake-generate-target.sh
and all the include directives needed for the project to fully build. Because there are many files, the most important change was to remove the following line oncmake-generate-target.sh
:Then run
meta/cmake-generate.sh
and update the header files accordingly for a successful build.Now the project can be developed in OSX (arm64) through docker, but I'm still evaluating the effort to perform a native build.
Thanks once again for allowing me to learn with this code base.