2011-08-10 02:12:48 +09:00
|
|
|
# -*- Mode: makefile-gmake; tab-width: 4; indent-tabs-mode: t -*-
|
2011-01-25 17:35:20 +01:00
|
|
|
#
|
2012-11-06 12:12:33 +00:00
|
|
|
# This file is part of the LibreOffice project.
|
2011-01-25 17:35:20 +01:00
|
|
|
#
|
2012-11-06 12:12:33 +00:00
|
|
|
# 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/.
|
2011-01-25 17:35:20 +01:00
|
|
|
#
|
2012-11-06 12:12:33 +00:00
|
|
|
# This file incorporates work covered by the following license notice:
|
2011-01-25 17:35:20 +01:00
|
|
|
#
|
2012-11-06 12:12:33 +00:00
|
|
|
# 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 .
|
2011-01-25 17:35:20 +01:00
|
|
|
#
|
|
|
|
|
|
|
|
$(eval $(call gb_Module_Module,vcl))
|
|
|
|
|
|
|
|
$(eval $(call gb_Module_add_targets,vcl,\
|
|
|
|
Library_vcl \
|
2019-04-09 14:41:19 +02:00
|
|
|
Package_opengl_shader \
|
2019-01-22 21:12:40 +01:00
|
|
|
Package_theme_definitions \
|
2019-03-21 10:14:07 +01:00
|
|
|
Package_tipoftheday \
|
2017-06-11 20:56:30 +01:00
|
|
|
UIConfig_vcl \
|
2016-02-15 09:15:42 +02:00
|
|
|
$(if $(filter WNT,$(OS)), \
|
|
|
|
Package_opengl_blacklist ) \
|
2013-02-22 23:19:22 +02:00
|
|
|
$(if $(filter DESKTOP,$(BUILD_TYPE)), \
|
2014-05-17 00:39:58 +10:00
|
|
|
StaticLibrary_vclmain \
|
2016-03-04 13:28:20 +01:00
|
|
|
$(if $(ENABLE_MACOSX_SANDBOX),, \
|
2018-08-26 17:22:56 +02:00
|
|
|
$(if $(DISABLE_GUI),, \
|
2016-03-04 13:28:20 +01:00
|
|
|
Executable_ui-previewer)) \
|
2015-09-15 15:58:51 +02:00
|
|
|
$(if $(filter LINUX MACOSX SOLARIS WNT %BSD,$(OS)), \
|
2014-11-07 12:03:28 +01:00
|
|
|
Executable_outdevgrind \
|
2018-08-26 17:22:56 +02:00
|
|
|
$(if $(DISABLE_GUI),, \
|
2014-12-22 19:10:59 +01:00
|
|
|
Executable_vcldemo \
|
|
|
|
Executable_icontest \
|
2016-08-22 18:10:02 +09:00
|
|
|
Executable_visualbackendtest \
|
2014-12-22 19:10:59 +01:00
|
|
|
Executable_mtfdemo ))) \
|
2016-12-15 13:59:27 +00:00
|
|
|
))
|
|
|
|
|
|
|
|
ifeq ($(CROSS_COMPILING)$(DISABLE_DYNLOADING),)
|
|
|
|
|
|
|
|
$(eval $(call gb_Module_add_targets,vcl,\
|
2018-10-31 19:06:30 +01:00
|
|
|
$(if $(filter-out ANDROID iOS WNT,$(OS)), \
|
2014-05-18 15:56:42 +10:00
|
|
|
Executable_svdemo \
|
2015-07-10 11:04:50 +01:00
|
|
|
Executable_fftester \
|
2014-05-18 16:07:08 +10:00
|
|
|
Executable_svptest \
|
2014-11-07 12:03:28 +01:00
|
|
|
Executable_svpclient) \
|
2011-01-25 17:35:20 +01:00
|
|
|
))
|
|
|
|
|
2016-12-15 13:59:27 +00:00
|
|
|
endif
|
|
|
|
|
2013-11-13 02:12:48 +01:00
|
|
|
$(eval $(call gb_Module_add_l10n_targets,vcl,\
|
2017-06-11 20:56:30 +01:00
|
|
|
AllLangMoTarget_vcl \
|
2013-11-13 02:12:48 +01:00
|
|
|
))
|
|
|
|
|
2015-09-18 14:12:08 +02:00
|
|
|
ifeq ($(USING_X11),TRUE)
|
2011-01-25 17:35:20 +01:00
|
|
|
$(eval $(call gb_Module_add_targets,vcl,\
|
|
|
|
Library_vclplug_gen \
|
|
|
|
Library_desktop_detector \
|
2014-12-22 19:10:59 +01:00
|
|
|
StaticLibrary_glxtest \
|
2014-03-21 15:27:33 +02:00
|
|
|
Package_fontunxppds \
|
|
|
|
Package_fontunxpsprint \
|
2011-01-25 17:35:20 +01:00
|
|
|
))
|
|
|
|
|
2011-06-14 14:07:28 +01:00
|
|
|
ifneq ($(ENABLE_GTK3),)
|
|
|
|
$(eval $(call gb_Module_add_targets,vcl,\
|
|
|
|
Library_vclplug_gtk3 \
|
|
|
|
))
|
|
|
|
endif
|
2019-07-09 15:28:29 +00:00
|
|
|
ifneq ($(ENABLE_KF5),)
|
2017-08-28 18:29:20 +02:00
|
|
|
$(eval $(call gb_Module_add_targets,vcl,\
|
2019-07-09 15:28:29 +00:00
|
|
|
CustomTarget_kf5_moc \
|
|
|
|
Library_vclplug_kf5 \
|
2017-08-28 18:29:20 +02:00
|
|
|
))
|
|
|
|
endif
|
2017-10-30 18:45:46 +01:00
|
|
|
ifneq ($(ENABLE_QT5),)
|
2017-10-21 13:50:30 +00:00
|
|
|
$(eval $(call gb_Module_add_targets,vcl,\
|
2017-10-30 18:45:46 +01:00
|
|
|
CustomTarget_qt5_moc \
|
|
|
|
Library_vclplug_qt5 \
|
2017-10-21 13:50:30 +00:00
|
|
|
))
|
|
|
|
endif
|
Introduce gtk3_kde5 vcl plugin
This is a hybrid plugin which mostly wraps the GTK3 vclplug. Only
the file and folder picker are replaced by KDE dialogs. This gives
us a well-maintained GTK LO base with basic KDE integration with
minimum effort.
To prevent issues with nested event loops, the KDE dialogs are
launched from a separate process, the new lo_kde5filepicker helper
executable. A trivial stdin/stdout IPC mechanism transfers the data
between LO and the Qt/KDE helper. The usage of an external process
also allows us to copy'n'paste between LO and the KDE file dialog
without freezing the UI, as would happen when one would do this
in-process. This is in general also the architecture applied by the
kmozillahelper, which is used to integrate KDE file dialogs into
Firefox.
While the KDE dialog is shown, the GTK3 main window is disabled and
close requests are ignored. The KDE dialog in turn also sets the LO
window as transient parent. Together, this makes the illusion perfect
and the KDE dialog behaves like a modal dialog. This works properly
also with multiple LO main windows, and only individual windows will
get blocked as one would expect.
Functionality wise, most of the features of the KDE4 dialog are
supported. You can pick files and folders, and save files under a new
name. Some custom checkbox widgets are supported, but lists, buttons
and preview widgets are not yet implemented. Also, loading remote
files via KIO is not possible yet.
Change-Id: I1a97cf7c272307a19ace4222d5f12253bc722829
Reviewed-on: https://gerrit.libreoffice.org/47718
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Thorsten Behrens <Thorsten.Behrens@CIB.de>
2018-01-10 17:50:43 +01:00
|
|
|
ifneq ($(ENABLE_GTK3_KDE5),)
|
|
|
|
$(eval $(call gb_Module_add_targets,vcl,\
|
|
|
|
CustomTarget_gtk3_kde5_moc \
|
|
|
|
Library_vclplug_gtk3_kde5 \
|
|
|
|
Executable_lo_kde5filepicker \
|
|
|
|
))
|
|
|
|
endif
|
2011-01-25 17:35:20 +01:00
|
|
|
endif
|
|
|
|
|
2012-12-11 23:06:47 +02:00
|
|
|
ifeq ($(OS),MACOSX)
|
2011-01-28 13:43:38 +01:00
|
|
|
$(eval $(call gb_Module_add_targets,vcl,\
|
2013-04-28 18:11:56 +02:00
|
|
|
Package_osxres \
|
2018-09-13 12:49:53 +02:00
|
|
|
Library_vclplug_osx \
|
2011-01-28 13:43:38 +01:00
|
|
|
))
|
|
|
|
endif
|
|
|
|
|
2012-12-11 23:06:47 +02:00
|
|
|
ifeq ($(OS),WNT)
|
2011-03-23 17:32:53 +01:00
|
|
|
$(eval $(call gb_Module_add_targets,vcl,\
|
|
|
|
WinResTarget_vcl \
|
2018-09-12 10:26:52 +02:00
|
|
|
Library_vclplug_win \
|
2011-03-23 17:32:53 +01:00
|
|
|
))
|
|
|
|
endif
|
2011-01-25 17:35:20 +01:00
|
|
|
|
2018-05-05 15:31:52 +02:00
|
|
|
ifeq ($(OS),HAIKU)
|
|
|
|
ifneq ($(ENABLE_QT5),)
|
|
|
|
$(eval $(call gb_Module_add_targets,vcl,\
|
|
|
|
CustomTarget_qt5_moc \
|
|
|
|
Library_vclplug_qt5 \
|
|
|
|
))
|
|
|
|
endif
|
2019-07-09 15:28:29 +00:00
|
|
|
ifneq ($(ENABLE_KF5),)
|
2018-06-10 03:51:57 +02:00
|
|
|
$(eval $(call gb_Module_add_targets,vcl,\
|
2019-07-09 15:28:29 +00:00
|
|
|
CustomTarget_kf5_moc \
|
|
|
|
Library_vclplug_kf5 \
|
2018-06-10 03:51:57 +02:00
|
|
|
))
|
|
|
|
endif
|
2018-05-05 15:31:52 +02:00
|
|
|
endif
|
|
|
|
|
2016-12-05 12:10:47 +00:00
|
|
|
ifneq ($(ENABLE_FUZZERS),)
|
|
|
|
$(eval $(call gb_Module_add_targets,vcl,\
|
2017-06-10 20:56:36 +00:00
|
|
|
CustomTarget_nativecore \
|
|
|
|
CustomTarget_nativecalc \
|
|
|
|
CustomTarget_nativedraw \
|
|
|
|
CustomTarget_nativewriter \
|
2017-12-01 14:52:13 +00:00
|
|
|
CustomTarget_nativemath \
|
2017-06-10 20:56:36 +00:00
|
|
|
StaticLibrary_fuzzerstubs \
|
|
|
|
StaticLibrary_fuzzer_core \
|
|
|
|
StaticLibrary_fuzzer_calc \
|
|
|
|
StaticLibrary_fuzzer_draw \
|
|
|
|
StaticLibrary_fuzzer_writer \
|
2017-12-01 14:52:13 +00:00
|
|
|
StaticLibrary_fuzzer_math \
|
2016-12-05 12:59:08 +00:00
|
|
|
Executable_wmffuzzer \
|
2016-12-30 15:30:20 +00:00
|
|
|
Executable_jpgfuzzer \
|
2017-01-03 18:41:22 +00:00
|
|
|
Executable_giffuzzer \
|
2017-01-06 12:21:56 +00:00
|
|
|
Executable_xbmfuzzer \
|
2017-01-07 20:29:35 +00:00
|
|
|
Executable_xpmfuzzer \
|
2017-01-08 20:54:02 +00:00
|
|
|
Executable_pngfuzzer \
|
2017-01-08 21:20:56 +00:00
|
|
|
Executable_bmpfuzzer \
|
2017-01-09 10:06:07 +00:00
|
|
|
Executable_svmfuzzer \
|
2017-01-09 17:04:27 +00:00
|
|
|
Executable_pcdfuzzer \
|
2017-01-12 10:49:50 +00:00
|
|
|
Executable_dxffuzzer \
|
2017-01-12 11:23:07 +00:00
|
|
|
Executable_metfuzzer \
|
2017-01-12 11:25:24 +00:00
|
|
|
Executable_ppmfuzzer \
|
2017-01-24 09:13:23 +00:00
|
|
|
Executable_psdfuzzer \
|
2017-01-26 12:23:10 +00:00
|
|
|
Executable_epsfuzzer \
|
2017-01-28 12:42:02 +00:00
|
|
|
Executable_pctfuzzer \
|
2017-02-13 09:42:41 +00:00
|
|
|
Executable_pcxfuzzer \
|
2017-02-14 09:00:19 +00:00
|
|
|
Executable_rasfuzzer \
|
2017-02-17 20:39:02 +00:00
|
|
|
Executable_tgafuzzer \
|
2017-02-22 11:11:54 +00:00
|
|
|
Executable_tiffuzzer \
|
2017-02-23 10:30:17 +00:00
|
|
|
Executable_hwpfuzzer \
|
2017-02-24 14:50:36 +00:00
|
|
|
Executable_602fuzzer \
|
2017-02-27 09:35:54 +00:00
|
|
|
Executable_lwpfuzzer \
|
2017-03-14 10:17:41 +01:00
|
|
|
Executable_olefuzzer \
|
2017-03-24 11:57:44 +00:00
|
|
|
Executable_pptfuzzer \
|
|
|
|
Executable_rtffuzzer \
|
2017-04-01 20:54:54 +01:00
|
|
|
Executable_cgmfuzzer \
|
2017-04-03 09:00:16 +01:00
|
|
|
Executable_ww2fuzzer \
|
2017-04-28 12:18:08 +01:00
|
|
|
Executable_ww6fuzzer \
|
2017-05-02 12:56:34 +01:00
|
|
|
Executable_ww8fuzzer \
|
2017-06-02 11:29:09 +01:00
|
|
|
Executable_qpwfuzzer \
|
2017-07-28 08:46:17 +01:00
|
|
|
Executable_slkfuzzer \
|
2017-09-19 09:04:26 +01:00
|
|
|
Executable_fodtfuzzer \
|
2017-09-19 10:40:03 +01:00
|
|
|
Executable_fodsfuzzer \
|
2017-09-21 09:43:17 +01:00
|
|
|
Executable_fodpfuzzer \
|
2017-10-30 14:24:14 +00:00
|
|
|
Executable_xlsfuzzer \
|
2017-11-02 09:50:17 +00:00
|
|
|
Executable_scrtffuzzer \
|
2017-11-06 15:30:24 +00:00
|
|
|
Executable_wksfuzzer \
|
2017-11-09 09:00:33 +00:00
|
|
|
Executable_diffuzzer \
|
2017-11-24 09:10:46 +00:00
|
|
|
Executable_docxfuzzer \
|
2017-11-28 16:56:41 +00:00
|
|
|
Executable_xlsxfuzzer \
|
2017-11-29 10:44:09 +00:00
|
|
|
Executable_pptxfuzzer \
|
2017-12-01 14:52:13 +00:00
|
|
|
Executable_mmlfuzzer \
|
2017-12-04 12:08:46 +00:00
|
|
|
Executable_mtpfuzzer \
|
2017-12-20 17:32:15 +00:00
|
|
|
Executable_htmlfuzzer \
|
2018-02-07 12:19:10 +00:00
|
|
|
Executable_sftfuzzer \
|
2016-12-05 12:10:47 +00:00
|
|
|
))
|
|
|
|
endif
|
|
|
|
|
2013-01-02 22:07:41 +01:00
|
|
|
$(eval $(call gb_Module_add_check_targets,vcl,\
|
2015-06-05 12:49:05 +01:00
|
|
|
CppunitTest_vcl_lifecycle \
|
2015-03-25 11:35:55 +09:00
|
|
|
CppunitTest_vcl_bitmap_test \
|
2017-04-08 19:29:37 +02:00
|
|
|
CppunitTest_vcl_bitmapprocessor_test \
|
2018-04-28 13:37:17 +09:00
|
|
|
CppunitTest_vcl_graphic_test \
|
2014-10-04 21:55:58 +10:00
|
|
|
CppunitTest_vcl_fontcharmap \
|
2016-01-15 17:33:17 +11:00
|
|
|
CppunitTest_vcl_font \
|
2018-06-15 18:50:00 +02:00
|
|
|
CppunitTest_vcl_fontfeature \
|
vcl: Create accessor and mutator for font scaling in FontMetric
This is fragile code! There are actually *two* classes that do almost
precisely the same thing, they are:
- ImplFontMetric, and
- ImplFontMetricData
They both have much in common, including their class name, and even
most of their functionality. In fact, they both have common accessor
functions. When I look at the code, it looks like OutputDevice is
actually given an ImplFontMetricData object, which it then uses to
populate an ImplFontMetric object...
Basically, I'm going to merge these classes. To do so, I'm going to
do the following:
Step 1: Implement accessor functions for ImplFontMetric and FontMetric
(then remove the friendship of this class to OutputDevice!)
Step 2: Write a unit test for each accessor function in ImplFontMetric
Step 3: Ensure that ImplFontMetric and ImplFontMetricData use some
sort of smart pointer (probably an intrusive_ptr like I did
ages ago with FontCharMap)
Step 4: Merge the two classes together once their class interfaces
are the same and I am satisfied they do the same thing
Step 5: Find all instances of inefficient usage - for instance, I can
do away with the code that copies the ImplFontMetricData
attributes into an ImplFontMetric object.
Change-Id: I07c1cb848774b130fa2ca60b51da53e07754dd00
Reviewed-on: https://gerrit.libreoffice.org/21399
Reviewed-by: Chris Sherlock <chris.sherlock79@gmail.com>
Tested-by: Chris Sherlock <chris.sherlock79@gmail.com>
2016-01-13 03:05:29 +11:00
|
|
|
CppunitTest_vcl_fontmetric \
|
2013-06-15 20:51:38 +01:00
|
|
|
CppunitTest_vcl_complextext \
|
2016-01-21 10:19:13 +01:00
|
|
|
CppunitTest_vcl_filters_test \
|
2017-07-21 20:07:41 +01:00
|
|
|
CppunitTest_vcl_mnemonic \
|
2014-11-28 16:11:25 +00:00
|
|
|
CppunitTest_vcl_outdev \
|
2014-02-09 00:53:28 +01:00
|
|
|
CppunitTest_vcl_app_test \
|
2016-09-28 20:22:44 +02:00
|
|
|
CppunitTest_vcl_jpeg_read_write_test \
|
2017-01-09 23:46:25 +01:00
|
|
|
CppunitTest_vcl_svm_test \
|
2018-03-26 10:57:59 +03:00
|
|
|
CppunitTest_vcl_errorhandler \
|
|
|
|
CppunitTest_vcl_bitmap_render_test \
|
2018-05-11 00:22:06 +09:00
|
|
|
CppunitTest_vcl_apitests \
|
2019-02-08 21:30:39 +01:00
|
|
|
CppunitTest_vcl_png_test \
|
2019-01-10 07:26:18 +01:00
|
|
|
CppunitTest_vcl_widget_definition_reader_test \
|
2019-04-15 21:52:46 +09:00
|
|
|
CppunitTest_vcl_backend_test \
|
2013-01-02 22:07:41 +01:00
|
|
|
))
|
|
|
|
|
2015-09-18 14:12:08 +02:00
|
|
|
ifeq ($(USING_X11),TRUE)
|
2014-09-25 11:22:39 +01:00
|
|
|
$(eval $(call gb_Module_add_check_targets,vcl,\
|
|
|
|
CppunitTest_vcl_timer \
|
|
|
|
))
|
|
|
|
endif
|
|
|
|
|
2018-08-26 17:22:56 +02:00
|
|
|
ifeq ($(DISABLE_GUI),TRUE)
|
2014-12-22 19:10:59 +01:00
|
|
|
$(eval $(call gb_Module_add_check_targets,vcl,\
|
|
|
|
CppunitTest_vcl_timer \
|
|
|
|
))
|
|
|
|
endif
|
2015-08-20 21:06:06 -04:00
|
|
|
|
2015-08-28 10:43:46 +03:00
|
|
|
# Is any configuration missing?
|
|
|
|
ifeq ($(OS),WNT)
|
|
|
|
$(eval $(call gb_Module_add_check_targets,vcl,\
|
|
|
|
CppunitTest_vcl_timer \
|
2016-02-15 15:10:03 +01:00
|
|
|
CppunitTest_vcl_blocklistparser_test \
|
2015-08-28 10:43:46 +03:00
|
|
|
))
|
|
|
|
endif
|
2016-07-22 17:36:02 +02:00
|
|
|
|
2017-03-21 13:32:47 +01:00
|
|
|
ifeq ($(OS),MACOSX)
|
|
|
|
$(eval $(call gb_Module_add_check_targets,vcl,\
|
|
|
|
CppunitTest_vcl_timer \
|
|
|
|
))
|
|
|
|
endif
|
|
|
|
|
2016-08-17 09:43:33 +02:00
|
|
|
# screenshots
|
|
|
|
$(eval $(call gb_Module_add_screenshot_targets,vcl,\
|
2016-07-22 17:36:02 +02:00
|
|
|
CppunitTest_vcl_dialogs_test \
|
|
|
|
))
|
|
|
|
|
2019-03-08 16:36:03 +01:00
|
|
|
ifneq ($(DISPLAY),)
|
|
|
|
$(eval $(call gb_Module_add_slowcheck_targets,vcl,\
|
|
|
|
CppunitTest_vcl_gen \
|
|
|
|
))
|
|
|
|
endif
|
|
|
|
|
2019-10-30 12:03:24 +01:00
|
|
|
ifneq (,$(filter PDFIUM,$(BUILD_TYPE)))
|
|
|
|
$(eval $(call gb_Module_add_slowcheck_targets,vcl,\
|
|
|
|
CppunitTest_vcl_pdfexport \
|
|
|
|
))
|
|
|
|
endif
|
|
|
|
|
2011-01-25 17:35:20 +01:00
|
|
|
# vim: set noet sw=4 ts=4:
|