Fix compilation using default options on Emscripten#470
Merged
sherm1 merged 1 commit intoflexible-collision-library:masterfrom May 17, 2020
Merged
Fix compilation using default options on Emscripten#470sherm1 merged 1 commit intoflexible-collision-library:masterfrom
sherm1 merged 1 commit intoflexible-collision-library:masterfrom
Conversation
By default, fcl compiles with the `FCL_USE_X64_SSE` option enabled, that compiles the library with 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.
sherm1
approved these changes
May 17, 2020
Member
sherm1
left a comment
There was a problem hiding this comment.
Reviewed 1 of 1 files at r1.
Reviewable status:complete! all files reviewed, all discussions resolved
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
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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_SSEoption 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_SSEtoONonly if the target architecture isx86orx86_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