Browse Source

package: enable _LIBCPP_REMOVE_TRANSITIVE_INCLUDES for all libc++ builds.

Which makes libc++ since version 16 not use transitive includes for
backwards compatibility, both for faster build times and to detect if
some code is missing a transitive include (which could blow up for the
user even w/o this macro defined, as compiling with -std=c++23 also
removes quite a lot such includes).

For this repository this affects solely macOS on the CI, but right now
it uses a VM with older libc++, which means it does nothing, but it's
done there anyway to future-proof.
next
Vladimír Vondruš 3 months ago
parent
commit
46a7659136
  1. 18
      package/ci/circleci.yml

18
package/ci/circleci.yml

@ -394,7 +394,11 @@ jobs:
macos-gl:
executor: xcode-14_3
environment:
CMAKE_CXX_FLAGS: --coverage
# Make libc++ remove transitive includes, both for faster build times and
# to detect if we're missing a transitive include. Works with libc++ 16+,
# which is used by Xcode 15 (i.e., will get used on the next CircleCI
# executor update).
CMAKE_CXX_FLAGS: --coverage -D_LIBCPP_REMOVE_TRANSITIVE_INCLUDES
PLATFORM_GL_API: CGL
steps:
- install-base-macos:
@ -410,7 +414,11 @@ jobs:
macos-gles3:
executor: xcode-14_3
environment:
CMAKE_CXX_FLAGS: --coverage
# Make libc++ remove transitive includes, both for faster build times and
# to detect if we're missing a transitive include. Works with libc++ 16+,
# which is used by Xcode 15 (i.e., will get used on the next CircleCI
# executor update).
CMAKE_CXX_FLAGS: --coverage -D_LIBCPP_REMOVE_TRANSITIVE_INCLUDES
PLATFORM_GL_API: EGL
# STUPID yml interprets unquoted OFF as a boolean
TARGET_GLES2: "OFF"
@ -432,7 +440,11 @@ jobs:
environment:
# STUPID yml interprets unquoted ON as a boolean
BUILD_STATIC: "ON"
CMAKE_CXX_FLAGS: --coverage
# Make libc++ remove transitive includes, both for faster build times and
# to detect if we're missing a transitive include. Works with libc++ 16+,
# which is used by Xcode 15 (i.e., will get used on the next CircleCI
# executor update).
CMAKE_CXX_FLAGS: --coverage -D_LIBCPP_REMOVE_TRANSITIVE_INCLUDES
PLATFORM_GL_API: CGL
steps:
- install-base-macos:

Loading…
Cancel
Save