Files
odfstudio/filter/Library_svgfilter.mk
T
Michael Stahl 61c88ae694 gbuild: always compile as C++17 with MSVC 2017
The current update MSVC 2017.5 supports fancy new C++ features, but
unfortunately in its default C++14 mode it falls over and dies with
an internal compiler error as soon as it sees the WeakImplHelper
variadic template.

In order to work around the ICE, build everything as C++17,
which somehow doesn't crash.

This causes loads of deprecation warnings about obsolete std::this
and badly designed std::that, almost all of them from boost headers,
which are well known for following every best practice in the C++ book.

Liberally sprinkle macros around to suppress the warnings for now,
like we already do with the other million warnings from boost headers.

Change-Id: Ia6b6ef5e457b5fe3c8cfe361ba5da39376bb7c4c
Reviewed-on: https://gerrit.libreoffice.org/48225
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Michael Stahl <mstahl@redhat.com>
2018-01-22 20:08:05 +01:00

86 lines
2.2 KiB
Makefile

# -*- Mode: makefile-gmake; tab-width: 4; indent-tabs-mode: t -*-
#
# This file is part of the LibreOffice project.
#
# This Source Code Form is subject to the terms of the Mozilla Public
# License, v. 2.0. If a copy of the MPL was not distributed with this
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
#
# This file incorporates work covered by the following license notice:
#
# Licensed to the Apache Software Foundation (ASF) under one or more
# contributor license agreements. See the NOTICE file distributed
# with this work for additional information regarding copyright
# ownership. The ASF licenses this file to you under the Apache
# License, Version 2.0 (the "License"); you may not use this file
# except in compliance with the License. You may obtain a copy of
# the License at http://www.apache.org/licenses/LICENSE-2.0 .
#
$(eval $(call gb_Library_Library,svgfilter))
$(eval $(call gb_Library_use_custom_headers,svgfilter,filter/source/svg))
$(eval $(call gb_Library_set_componentfile,svgfilter,filter/source/svg/svgfilter))
$(eval $(call gb_Library_add_defs,svgfilter,\
-DBOOST_ALL_NO_LIB \
-DUSE_MODERN_SPIRIT \
-DFILTER_DLLIMPLEMENTATION \
))
ifeq ($(COM),MSC)
$(eval $(call gb_Library_add_defs,svgfilter,\
-D_SILENCE_CXX17_ALLOCATOR_VOID_DEPRECATION_WARNING \
-D_SILENCE_CXX17_ITERATOR_BASE_CLASS_DEPRECATION_WARNING \
))
endif
$(eval $(call gb_Library_set_include,svgfilter,\
$$(INCLUDE) \
-I$(SRCDIR)/filter/inc \
))
$(eval $(call gb_Library_use_sdk_api,svgfilter))
$(eval $(call gb_Library_use_libraries,svgfilter,\
svxcore \
editeng \
xo \
svt \
vcl \
svl \
utl \
tl \
i18nlangtag \
sax \
salhelper \
comphelper \
basegfx \
cppuhelper \
cppu \
sal \
))
$(eval $(call gb_Library_use_externals,svgfilter,\
boost_headers \
libxml2 \
))
$(eval $(call gb_Library_add_exception_objects,svgfilter,\
filter/source/svg/b2dellipse \
filter/source/svg/impsvgdialog \
filter/source/svg/parserfragments \
filter/source/svg/svgdialog \
filter/source/svg/svgfilter \
filter/source/svg/svgimport \
filter/source/svg/svgreader \
filter/source/svg/tokenmap \
filter/source/svg/units \
filter/source/svg/svgexport \
filter/source/svg/svgfontexport \
filter/source/svg/svgwriter \
))
# vim: set noet sw=4 ts=4: