Commit graph

154 commits

Author SHA1 Message Date
Vadim Zeitlin
ff59ef301b Merge branch 'master' into webview-chromium 2024-01-17 00:22:39 +01:00
Paul Cornett
ce1d317768 Remove GLU dependency
See #23721
2023-12-28 14:49:42 -08:00
Vadim Zeitlin
ae8619b6dd Don't build separate webview_chromium library
Just include wxWebViewChromium in the webview library if it's enabled
during the build.

There doesn't seem to be any reason to build a separate library for it,
it's not really different from the other disabled by default wxWebView
backend (Edge).

And now that we don't need to link with an extra library, there is also
no need to have a separate webview_chromium sample, so just add a
possibility to run webview sample itself using Chromium backend by
setting WX_WEBVIEW_BACKEND environment variable.
2023-09-15 01:56:08 +02:00
Vadim Zeitlin
9f2fce3859 Ensure that libcef.so is loaded first in webview sample
Use --no-as-needed linker flag to make this happen as otherwise it is
still loaded after libc.so (unless LD_PRELOAD is used).
2023-09-06 03:50:34 +02:00
Vadim Zeitlin
b6bfdd97c9 Merge branch 'master' into webview-chromium
Update to the latest master.
2023-08-30 02:03:00 +02:00
Vadim Zeitlin
a921f558d9 Remove configure.in to configure.ac
This is the extension expected by all non-ancient autoconf versions.
2023-07-24 00:11:26 +02:00
Vadim Zeitlin
c78b0d652b Remove UNICODE build option, hardcode its value as 1
Also hardcode "u" suffix for the library names -- it doesn't make sense
any longer, but we need to keep it for compatibility.
2022-10-27 19:43:59 +02:00
Arrigo Marchiori
30915c6163 Make wxrc independent from GUI support
The wxrc program does not depend on the GUI libraries, but only on
the base and XML libraries, so make it possible to build it in non-GUI
builds too.

Closes https://github.com/wxWidgets/wxWidgets/pull/2419
2021-08-06 21:51:11 +02:00
Vadim Zeitlin
426a0ed527 Remove HAVE_W32API_H definition and checks
All still supported versions of MinGW/Cygwin provide w32api.h file, so
there is no need to test for it.

This allows to simplify the code, but also remove the definition of
HAVE_W32API_H from bake- and makefiles and this, in turn, allows to get
rid of extra flags in MinGW format entirely, as we don't support gcc
2.95 for which they were originally needed neither.
2020-10-20 01:47:47 +02:00
Vadim Zeitlin
093c3067e8 Don't use windres --use-temp-file option
According to the manual, it should only be needed for Win9x systems not
supported since a long time anyhow and this option is apparently buggy
in recent MinGW binutils as it results in build errors when used, see
https://github.com/msys2/MINGW-packages/issues/6558

Closes https://github.com/wxWidgets/wxWidgets/pull/1961
2020-07-14 22:10:58 +02:00
wangqr
f730da3c14 Add imm32.lib to wxStyledTextCtrl 2020-05-11 00:37:56 -04:00
Vadim Zeitlin
c0e1ad6ac0 Remove check for eVC in bakefiles
This compiler is obsolete and doesn't exist since a long time.
2020-04-21 16:27:39 +02:00
Maarten Bent
284b25ce02 Automatically detect if target architecture is x64 in .vc file
This allows a successful build even if the user omits specifying CPU=X64.

See #18640
2020-03-27 23:11:00 +01:00
Maarten Bent
3c53fbb94b Add DPI manifest only for MSVS 2015 and later in .vc file
Prevent errors and warnings when embedding the manifest.

Check if environment variable VISUALSTUDIOVERSION (set by VS developer command
prompt) is 14.0, 15.0 or 16.0.

See #18665
2020-03-27 23:10:56 +01:00
Maarten Bent
5767a906eb Disable embedding manifest via linker in .vcproj files
This causes errors (<=2010) and warnings (<=2012) with older VS versions.

See #18665
2020-03-26 22:51:38 +01:00
Vadim Zeitlin
ec091c9f2b Don't override CFLAGS etc in configure-generated makefile
CPPFLAGS, CFLAGS, CXXFLAGS and LDFLAGS are supposed to be under
user-control and putting configure-determined options in them broke
something as simple as running "make CXXFLAGS=-Wno-some-extra-warning"
because this overrode the CXXFLAGS set by configure and required for
build.

Improve this by using WX_*FLAGS in the generated makefile and leaving
the user-controlled FLAGS alone. This is still not ideal as running
"configure CFLAGS=-DFOO" and then "make CFLAGS=-DBAR" will define both
FOO and BAR, as configure copies CFLAGS to WX_CFLAGS, and so setting it
on make command line won't override it, as it should, but this should be
a much more rare and also much less severe problem, so we should be able
to live with it for now.

Normally this commit shouldn't result in any user-visible changes, i.e.
it shouldn't break any previously working scenarios and only make some
previously broken ones work.
2020-02-11 23:19:31 +01:00
Maarten Bent
a96a55be77 Add DPI Awareness option to .vc and msvc files
The default DPI awareness is set to per-monitor.
2019-11-28 22:43:23 +01:00
Maarten Bent
cdf1226573 Add DPI Awareness option to configure and bakefile
Add option --with-dpi=[none,system,per-monitor] to configure the dpi awareness
on Windows.

Support DPI Awareness in makefile.gcc and makefile.bcc.

The default DPI awareness is set to per-monitor.
2019-10-29 23:49:51 +01:00
Vadim Zeitlin
f69dbaa1ae Introduce MSW ARM64 support
This is a preliminary ARM64 platform support for wxWidgets at "it
compiles" stage. This will allow building and testing wxWidgets based
apps for oncoming Windows 10 ARM64.

Requirements:
- Visual Studio 2017 Update 4 or later with Visual C++ compilers and
  libraries for ARM64 component installed

Building:
1. Open command prompt.
2. Change directory to build\msw subfolder.
3. Run "C:\Program Files (x86)\Microsoft Visual
   Studio\2017\Community\VC\Auxiliary\Build\vcvarsamd64_arm64.bat" once.
4. Use `nmake TARGET_CPU=ARM64 ...` to build required flavor of wxWidget
   libraries.

Notes:
1. Building of *.sln/*.vcxproj files does not support ARM64 yet. This
   requires to hardcode Windows SDK to 10.0.15063.0 or later in
   *.vcxproj files, which would render them non-compilable in older
   Visual Studio versions. Microsoft is aware of this issue and is
   planning a fix in the next version of Visual Studio.
2. wxmsw31ud_gl.dll does not build yet. Awaiting Microsoft to deliver
   missing opengl32.lib for ARM64. Please, specify USE_OPENGL=0.

Closes https://github.com/wxWidgets/wxWidgets/pull/923
2018-09-17 22:34:32 +02:00
Tobias Taschner
7ce4d769fd
Use combined webview sample and move CEF to 3rdparty/cef
VS CEF sample to single vcxproj file and into samples/webview folder
2018-02-20 20:33:59 +01:00
Haojian Wu
bb4aac2534
[Mac] Move mac related resource files to mac directory. 2018-02-20 18:32:40 +01:00
Haojian Wu
58d5d963e8
[Mac] Change webview_chromium sample to use webview_chromium library. 2018-02-20 18:32:35 +01:00
Haojian Wu
910dead2d0
Add USE_WEBVIEW_CHROMIUM option in bkl file to allow build/unbuild
webview_chromium library.
2018-02-20 18:32:34 +01:00
Haojian Wu
069bdd9e1e
Move cef directory from <wxwidget_dir>/cef to <wxwidget_dir>/src/cef. 2018-02-20 18:32:32 +01:00
Haojian Wu
a119eaee7f
Specify CEF Framework link in bakefile system instead configure.
Add CEF framework link in configure will cause each binary builds with
CEF framework path option. We only need to link CEF framework on
building webview library.
2018-02-20 18:32:07 +01:00
Haojian Wu
afec84d944
Nits: Correct code indent. 2018-02-20 18:32:02 +01:00
Haojian Wu
6875d523fc
[Mac] Add CEF path to bakefile system. 2018-02-20 18:32:01 +01:00
Haojian Wu
10abac0c15
Set wxWidgets_src/cef as CEF default path. 2018-02-20 18:31:28 +01:00
Haojian Wu
49f183ce41
Fix build error on windows. 2018-02-20 18:31:26 +01:00
Haojian Wu
2d1502f131
Fix autoconf generated error in bakefile_gen. 2018-02-20 18:31:24 +01:00
Haojian Wu
ea6bd5cfe5
Split CEF_LIB_DIR into LIBCEF_PATH and LIBCEF_WRAPPER_PATH. 2018-02-20 18:31:20 +01:00
Haojian Wu
04ddd87d3d
Add CEF link path on Linux. 2018-02-20 18:31:19 +01:00
Haojian Wu
0efb04d342
Move CEF specific variables to config.bkl to avoid duplicate. 2018-02-20 18:31:17 +01:00
Vadim Zeitlin
e70fc11ef1 Replace CppUnit with Catch for unit tests
Drop the legacy CppUnit testing framework used for the unit tests.
Replacing it with Catch has the advantage of not requiring CppUnit
libraries to be installed on the system in order to be able to run
tests (Catch is header-only and a copy of it is now included in the
main repository itself) and, in the future, of being able to write
the tests in a much more natural way.

For now, however, avoid changing the existing tests code as much as
[reasonably] possible to avoid introducing bugs in them and provide
the CppUnit compatibility macros in the new wx/catch_cppunit.h header
which allow to preserve the 99% of the existing code unchanged. Some
of the required changes are:

 - Decompose asserts using "a && b" conditions into multiple asserts
   checking "a" and "b" independently. This would have been better
   even with CppUnit (to know which part of condition exactly failed)
   and is required with Catch.

 - Use extra parentheses around such conditions when they can't be
   easily decomposed in the arrays test, due to the use of macros.
   This is not ideal from the point of view of messages given when
   the tests fail but will do for now.

 - Rewrite asserts using "a || b" as a combination of condition
   checks and assert macros. Again, this is better anyhow, and is
   required with Catch. Incidentally, this allowed to fix a bug in
   the "exec" unit test which didn't leave enough time for the new
   process to be launched before trying to kill it.

 - Remove multiple CPPUNIT_TEST_SUITE_NAMED_REGISTRATION() macros,
   our emulation of this macro can be used only once.

 - Provide string conversions using Catch-specific StringMaker for
   a couple of types.

 - Replace custom wxImage comparison with a Catch-specific matcher
   class.

 - Remove most of test running logic from test.cpp, in particular don't
   parse command line ourselves any longer but use Catch built-in
   command line parser. This is a source of a minor regression:
   previously, both "Foo" and "FooTestCase" could be used as the name of
   the test to run, but now only the latter is accepted.
2017-11-02 01:53:16 +01:00
Vadim Zeitlin
0d394eec9c Update to bakefile 0.2.11 and rebake everything
The main/only change in this version is the removal of automatic rules
using old Carbon Rez/DeRez/SetFile tools.
2017-10-21 17:42:30 +02:00
Vadim Zeitlin
545bec0bac Revert "Remove last vestiges of Carbon-related tools from the makefile"
This reverts commit 2a3721bf98 because it
requires further changes in bakefile itself to really work under Mac, where
the build would be broken as soon as configure would be regenerated (which was
forgotten by that commit due to another error, and so the two errors finally
cancelled out).
2017-05-27 18:27:26 +02:00
Vadim Zeitlin
2a3721bf98 Remove last vestiges of Carbon-related tools from the makefile
Don't detect DeRez, Rez and SetFile in configure, they are not used any
longer as .r resource files are not used under modern macOS.
2017-05-20 16:50:59 +02:00
Scott Talbert
cbe0a1f049 Add support for WebKit2GTK+ in wxWebView 2017-04-22 20:00:48 +01:00
Vadim Zeitlin
aa970c3da3 Remove all mentions of msevc4prj from bakefiles
Neither eVC nor wxWinCE port it was used for are supported any longer, so
simplify the bakefiles by removing the checks for it.
2015-10-07 18:14:55 +02:00
Tobias Taschner
8282c1be0f Remove Windows CE support
Windows CE doesn't seem to be supported by Microsoft any longer. Last CE
release was in early 2013 and the PocketPC and Smartphone targets supported by
wxWidgets are long gone.

The build files where already removed in an earlier cleanup this commit
removes all files, every #ifdef and all documentation regarding the Windows CE
support.

Closes https://github.com/wxWidgets/wxWidgets/pull/81
2015-09-23 00:52:30 +02:00
Vadim Zeitlin
d24f711f88 Only link webview library with libwebkitgtk in wxGTK, not the core one.
Add EXTRALIBS_WEBVIEW similar to the existing EXTRALIBS_MEDIA and such and set
it in configure instead of adding libwebkitgtk and dependent libraries
directly to GUI_TK_LIBRARY.

This ensure that the core library doesn't have any dependencies on
libwebkitgtk which it doesn't need.

Closes #16624.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@78026 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-10-16 13:33:08 +00:00
Vadim Zeitlin
df13791078 Merge wxQT branch into the trunk.
This merges in the latest sources from GSoC 2014 wxQt project with just a few
minor corrections, mostly undoing wrong changes to common files in that branch
(results of a previous bad merge?) and getting rid of whitespace-only changes.
Also remove debug logging from wxGrid.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@77455 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-08-24 01:50:11 +00:00
Vadim Zeitlin
202f62b4c4 Generate 64 bit configurations in MSVC 8/9 projects.
Update bakefile configuration to include x64 configurations into MSVS 2005 and
2008 projects (2003 doesn't support building in 64 bits, 2010 and later are
manually maintained and already have them) and rebake the projects.

Closes #13675.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@76768 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-06-24 23:54:08 +00:00
Vadim Zeitlin
0d4ad161d5 Remove support for Win9x from wxMSW.
Most importantly, this allows us to remove all MSLU-related stuff.

Some functions which were previously loaded dynamically can now be just used
directly, too.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@76535 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-05-16 02:33:40 +00:00
Vadim Zeitlin
01f9accd19 Remove wxPM, wxWidgets port to OS/2.
This port is not used and is not being worked on, so remove it to reduce the
amount of the code which needs to be updated for every global change.

Also remove tests for VisualAge compiler which isn't used since ages.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@76533 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-05-15 23:56:58 +00:00
Vadim Zeitlin
2f67c4ae07 Make windres command used in MinGW build configurable.
This allows to pass extra arguments to windres, which is especially important
when using 64 bit windres for building 32 bit applications as the generated .o
file uses a wrong architecture unless "-F pe-i386" is explicitly specified.

See #15601.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@75074 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-10-26 20:29:57 +00:00
Vadim Zeitlin
9ed99f82da Remove support for Gnome printing from wxGTK.
It was replaced by GTK+ printing several years ago and is almost never used
any longer anyhow, so any problems in this code (and there are some) would
never be found and fixed.

Also update the message catalogs to avoid having the strings not used any
more, as they were only used in Gnome printing code.

Closes #15517.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74912 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-10-01 17:09:02 +00:00
Vadim Zeitlin
3f66f6a5b3 Remove all lines containing cvs/svn "$Id$" keyword.
This keyword is not expanded by Git which means it's not replaced with the
correct revision value in the releases made using git-based scripts and it's
confusing to have lines with unexpanded "$Id$" in the released files. As
expanding them with Git is not that simple (it could be done with git archive
and export-subst attribute) and there are not many benefits in having them in
the first place, just remove all these lines.

If nothing else, this will make an eventual transition to Git simpler.

Closes #14487.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74602 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-07-26 16:02:46 +00:00
Vadim Zeitlin
5b608795d4 Use "MSW" and "Windows" more accurately to avoid confusion.
"MSW" is used as the name of toolkit using the standard Windows UI while
"Windows" is the name of the OS under which wxGTK can be now used too (in
addition to wxMSW).

This terminology is not perfect but at least let's keep it unambiguous.

Closes #15328.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74502 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-07-13 20:07:51 +00:00
Vadim Zeitlin
f901941933 Make TOOLKIT variable constant in MSW makefiles.
This fixes duplicate lines defining rules for generic files for more than one
port in the makefiles.

Closes #14979.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74406 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-07-06 11:59:35 +00:00