@@ -133,6 +133,21 @@ add_project_arguments('-I' + meson.current_source_dir() / 'include', language: '
133133# include-internalを追加
134134add_project_arguments (' -I' + meson .current_source_dir() / ' include-internal' , language : ' cpp' )
135135
136+ # macOSでは_LIBCPP_ENABLE_ASSERTIONSを無効化
137+ #
138+ # NOTE: Apple ClangとMesonの齟齬によるもの。
139+ # https://github.com/mesonbuild/meson/issues/13812 はまだ治らなそう。
140+ # https://github.com/mesonbuild/meson/pull/14548 がマージされているので、そのうち治るはず。
141+ if host_system == ' darwin'
142+ add_project_arguments (' -U_LIBCPP_HARDENING_MODE' , language : ' cpp' )
143+ add_project_arguments (' -U_LIBCPP_ENABLE_ASSERTIONS' , language : ' cpp' )
144+ if get_option (' buildtype' ) == ' debug'
145+ add_project_arguments (' -D_LIBCPP_HARDENING_MODE=_LIBCPP_HARDENING_MODE_EXTENSIVE' , language : ' cpp' )
146+ else
147+ add_project_arguments (' -D_LIBCPP_HARDENING_MODE=_LIBCPP_HARDENING_MODE_NONE' , language : ' cpp' )
148+ endif
149+ endif
150+
136151# 追加のコンパイラフラグを生成
137152cpp_args = []
138153if get_option (' enable_vvl' )
@@ -154,19 +169,6 @@ if host_system == 'windows'
154169 endif
155170endif
156171
157- # macOSでは_LIBCPP_ENABLE_ASSERTIONSを無効化
158- #
159- # NOTE: Apple ClangとMesonの齟齬によるもの。
160- # https://github.com/mesonbuild/meson/pull/14548 がマージされているので、そのうち治るはず。
161- if host_system == ' darwin'
162- cpp_args += [' -U_LIBCPP_ENABLE_ASSERTIONS' ]
163- if get_option (' buildtype' ) == ' debug'
164- cpp_args += [' -D_LIBCPP_HARDENING_MODE=_LIBCPP_HARDENING_MODE_EXTENSIVE' ]
165- else
166- cpp_args += [' -D_LIBCPP_HARDENING_MODE=_LIBCPP_HARDENING_MODE_NONE' ]
167- endif
168- endif
169-
170172# prefixとsufixを指定
171173#
172174# NOTE: MesonではたといWindowsであってもlibxxx.aという命名でライブラリを作る。
0 commit comments