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

CHECK_CXX_SOURCE_COMPILES ignores compiler flags on macOS #639

Open
tkemmer opened this issue Nov 22, 2017 · 0 comments · May be fixed by #640
Open

CHECK_CXX_SOURCE_COMPILES ignores compiler flags on macOS #639

tkemmer opened this issue Nov 22, 2017 · 0 comments · May be fixed by #640

Comments

@tkemmer
Copy link
Contributor

tkemmer commented Nov 22, 2017

On macOS, the configuration script ignores additional compiler flags when performing C++ compilation checks, caused explicitly by:

IF(NOT APPLE)
SET(CMAKE_REQUIRED_FLAGS "${CMAKE_REQUIRED_FLAGS} ${BALL_PROJECT_COMPILE_FLAGS}")
SET(CMAKE_REQUIRED_DEFINITIONS "${CMAKE_REQUIRED_DEFINITIONS} ${BALL_PROJECT_COMPILE_DEFNS}")
ENDIF()

This behavior results in some C++11 language features being disabled on macOS although being supported. Currently affected feature guards:

  • BALL_HAS_THREAD_LOCAL
  • BALL_HAS_NOEXCEPT
  • BALL_HAS_STD_STRING_CONST_ITERATOR_INITLIST_INSERT

Removing the condition from the code above solves this problem. However, this causes the FindXDR CMake macro to fail, disabling persistence support as a consequence.

@tkemmer tkemmer added this to the BALL 1.5 milestone Nov 22, 2017
@philthiel philthiel linked a pull request Nov 23, 2017 that will close this issue
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging a pull request may close this issue.

1 participant