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

Modernize cmake #127

Merged
merged 1 commit into from
Jun 19, 2023
Merged

Modernize cmake #127

merged 1 commit into from
Jun 19, 2023

Conversation

chipot
Copy link

@chipot chipot commented Jun 18, 2023

This PR indents to fix a few issues I encountered when integrating mFAST in my own projects. Mainly the fact that find_package(mFAST) will modify CMAKE_CXX_FLAGS and CMAKE_CXX_STANDARD. This was a bit intrusive, and now the targets are setup to carry their usage requirements without touching global CMake config.

In the process I did a few other modifications:

  • CXX_VISIBILITY_PRESET is set to hidden for all targets (matters for LTO performance)
  • VISIBILITY_INLINES_HIDDEN is ON for the same reason
  • install rule for headers are using FILE_SET HEADERS, removing the need to make an install(FILES) rules for them
  • hand written code is replaced by built-in alternative when possible (for mFASTConfig.cmake.in and mFASTConfigVersion.cmake.in)
  • make the file(GLOB) used for the source to be refreshed on build with CONFIGURE_DEPENDS

Resolves #122

@chipot chipot changed the title modernize cmake Modernize cmake Jun 18, 2023
@huangminghuang huangminghuang merged commit d8036e0 into objectcomputing:master Jun 19, 2023
@chipot chipot mentioned this pull request Sep 4, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Allow use of latest c++ standards.
2 participants