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

[SofaKernel/CMakeLists.txt] Set the default compilation mode to c++17. #1249

Merged
merged 4 commits into from
Mar 25, 2020

Conversation

damienmarchal
Copy link
Contributor

Because most compiler handle it properly and we are in 2020.


This PR:

  • builds with SUCCESS for all platforms on the CI.
  • does not generate new warnings.
  • does not generate new unit test failures.
  • does not generate new scene test failures.
  • does not break API compatibility.
  • is more than 1 week old (or has fast-merge label).

Reviewers will merge only if all these checks are true.

Because most compiler handle it properly and we are in 2020.
@damienmarchal damienmarchal added the pr: status to review To notify reviewers to review this pull-request label Feb 10, 2020
@fredroy
Copy link
Contributor

fredroy commented Feb 10, 2020

Err... Should we not wait for the CI to support c++17 (aka VS2017/2019) ?

@damienmarchal
Copy link
Contributor Author

No, we should upgrade the CI to support this PR :)

@hugtalbot
Copy link
Contributor

hugtalbot commented Feb 12, 2020

Update documentation (supported version) : see pages
and make sure that the CI is following these (Guillaume will work on this)

@damienmarchal
Copy link
Contributor Author

Hi all,

What's is the progress in this ?

@hugtalbot
Copy link
Contributor

We wait for CI environment, and Guillaume is actively working on it

@hugtalbot
Copy link
Contributor

FYI external plugins can already be compiled with compilation mode c++17

@damienmarchal
Copy link
Contributor Author

Thanks for the answer,

Actually we are using c++17 in our plugins since years.

The problem is that not having sofa supporting c+17 means that when we want to make PRs to integrate some features into the sofa master we have to convert all the code to c++11. As it was agreed to allow Sofa to support c++17 a year ago I think it would be nice to have it asap, as it would free the contributors from reverting their codebase to c++11 to make PRs.

So good luck to Guillaume.

@guparan
Copy link
Contributor

guparan commented Mar 10, 2020

[ci-build][force-full-build][with-all-tests]

@guparan
Copy link
Contributor

guparan commented Mar 12, 2020

CI is clear now.
This PR triggers following error:

applications/plugins/SofaSphFluid/src/SofaSphFluid/SPHFluidForceField.inl:34:10: fatal error: execution: No such file or directory
 #include <execution>
          ^~~~~~~~~~~
compilation terminated.

see https://ci.inria.fr/sofa-ci-dev/job/sofa-framework/job/PR-1249/CI_CONFIG=ubuntu_gcc-5.4,CI_PLUGINS=options,CI_TYPE=release/7/console

@guparan guparan added the enhancement About a possible enhancement label Mar 12, 2020
@damienmarchal
Copy link
Contributor Author

Hi,
What about the link error to ARTrack on windows ?

@guparan
Copy link
Contributor

guparan commented Mar 12, 2020

I can't push on your branch. Did you forbid it?
Removing using namespace std; in applications/plugins/ARTrack/extlibs/ARTrackLib/mainTracker.cpp does fix the error on Windows.

@guparan
Copy link
Contributor

guparan commented Mar 18, 2020

@damienmarchal Did you see my comment?

@damienmarchal
Copy link
Contributor Author

I didn't do anything special on the branch

error C2872: 'byte': ambiguous symbol
@damienmarchal
Copy link
Contributor Author

damienmarchal commented Mar 18, 2020

@guparan Any idea of the problem in windows ?

@damienmarchal
Copy link
Contributor Author

[ci-build][with-regression-tests][with-scene-tests]

@hugtalbot
Copy link
Contributor

[ci-build][with-all-tests]

@guparan guparan merged commit 6714c19 into sofa-framework:master Mar 25, 2020
@damienmarchal damienmarchal deleted the sofaSetToCPP17 branch May 4, 2020 14:04
@guparan guparan added this to the v20.06 milestone Jun 16, 2020
@hugtalbot hugtalbot added pr: status ready Approved a pull-request, ready to be squashed and removed pr: status to review To notify reviewers to review this pull-request labels May 13, 2022
bakpaul pushed a commit to bakpaul/sofa that referenced this pull request Feb 23, 2024
[SofaKernel/CMakeLists.txt] Set the default compilation mode to c++17.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement About a possible enhancement pr: status ready Approved a pull-request, ready to be squashed
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants