Commit Graph

400 Commits

Author SHA1 Message Date
wangqr
46a94c2b48 Add support for GTK4 to CMake build too
Closes https://github.com/wxWidgets/wxWidgets/pull/1643
2019-11-11 14:52:43 +01:00
Vadim Zeitlin
be83879733 Merge branch 'always-use-wchar_t'
Remove obsolete wxUSE_WCHAR_T option, it must be always 1.

See https://github.com/wxWidgets/wxWidgets/pull/1624
2019-11-01 14:32:42 +01:00
Vadim Zeitlin
c75874e0d2 Remove unused wxMacLaunch() and the file defining it
This function, using Carbon API, is not used any longer since the
changes of 5b6af7002c, so remove it and
also remove the file where it was defined as there is nothing remaining
there any longer.

See https://github.com/wxWidgets/wxWidgets/pull/1561
2019-10-31 23:49:04 +01:00
Vadim Zeitlin
d7a640933d Remove wxUSE_WCHAR_T, it must always be 1 anyhow
This is not really an option as building requires it to be 1, so don't
make it one in setup.h/configure/cmake and just hardcode it as 1 for
compatibility.

Closes #18558.
2019-10-31 02:16:19 +01:00
Maarten Bent
6f02c3a897 Add DPI Awareness option to CMake
For VS solutions, the DPI aware manifest is added as additional manifest.
For makefiles, the DPI aware manifest is included via the resource file.

Set the default DPI Awareness to per-monitor.
2019-10-29 23:49:36 +01:00
Vadim Zeitlin
fc711f869f Remove obsolete wxUSE_IOSTREAMH option
This is always 0 for any still supported compiler, so remove the option
and configure checks for it.

Still define it as 0 for compatibility, just in case it's used outside
of the library.
2019-10-21 20:46:21 +02:00
Ilya Sinitsyn
7f91481294 Add XRC handler for wxInfoBar
Update the schema and the sample to show it in action.

Closes https://github.com/wxWidgets/wxWidgets/pull/1564
2019-09-27 12:57:01 +02:00
Vadim Zeitlin
9be6a3ddea Merge branch 'cmake-fixes' of https://github.com/MaartenBent/wxWidgets
Miscellaneous fixes to CMake build system: fix some warnings, make it
more consistent with configure and more.

See https://github.com/wxWidgets/wxWidgets/pull/1430

See #18438.
2019-07-19 23:43:23 +02:00
Maarten Bent
7f5ca2a4cb CMake: Fix detecting AppleClang
Policies are now correctly initialized (before creating the project).
Policy CMP0025 changes the compilerID of Clang on Apple, handle this correctly.
2019-07-19 21:13:04 +02:00
Maarten Bent
60b0a1fde2 CMake: Fix MSVC warning when using NMake
Fix warning: Command line warning D9025 : overriding '/W3' with '/W4'
Remove /W3, either via a regex or via new policy CMP0092 (CMake 3.15).

The policy has to be set before calling project(), otherwise the
CMAKE_<LANG>_FLAGS are already initialized.

See https://trac.wxwidgets.org/ticket/18438
2019-07-19 01:09:36 +02:00
Maarten Bent
181a03fc73 CMake: Only use -fno-rtti for C++
Using it for C generates the following warning:
command line option '-fno-rtti' is valid for C++/D/ObjC++ but not for C
2019-07-19 01:09:36 +02:00
Olly Betts
b3ef78124c Remove the flash sample
Adobe have announced the official EOL for flash is 2020 so we're
now at the point where support for flash just isn't interesting
any more.

It doesn't make sense to support it for the upcoming 3.2.x release
series, and the sample .swf files are lacking source code.

Closes https://github.com/wxWidgets/wxWidgets/pull/1427

Closes #15886.
2019-07-18 17:48:23 +02:00
Maarten Bent
5bf5581dbe CMake: Disable finding X11 session manager by default
This is the same behaviour as configure has.
2019-07-16 22:58:48 +02:00
Deamhan
0be2d94189 CMake: add an option for using preferred release build flags
Add wxUSE_OPTIMISE build option.

See #18436.

Closes https://github.com/wxWidgets/wxWidgets/pull/1399
2019-07-16 18:34:57 +02:00
Vadim Zeitlin
c219b53a2d Merge branch 'cmake-gcc-static' of https://github.com/Deamhan/wxWidgets
Add support for using static CRT libraries with gcc to CMake build.

See https://github.com/wxWidgets/wxWidgets/pull/1398
2019-07-16 18:25:52 +02:00
Deamhan
7c8d5dd36d CMake: -Wl,--exclude-libs=ALL has been removed for MinGW 2019-07-16 08:24:24 +03:00
Deamhan
f4a0ac93e3 CMake: wxUSE_VISIBILITY is non windows option now & -Wl,--exclude-libs=ALL has been added in MinGW case. 2019-07-15 19:13:58 +03:00
pk
1d52cf1d2d CMake: some cleanup 2019-07-15 11:05:43 +03:00
Deamhan
7be4d12749 CMake: pthread symbols has been removed from export (MinGW) 2019-07-15 00:10:45 +03:00
Deamhan
82dfc62a62 CMake: multiple definition issue (MinGW) has been fixed 2019-07-14 23:58:09 +03:00
Deamhan
242ecbb185
Update build/cmake/options.cmake
Co-Authored-By: Maarten <MaartenBent@users.noreply.github.com>
2019-07-13 18:51:19 +03:00
Deamhan
b92c30191c CMake: Add wxUSE_NO_RTTI option
This is similar to configure --enable-no_rtti option.

Closes https://github.com/wxWidgets/wxWidgets/pull/1405
2019-07-13 16:57:51 +02:00
Deamhan
59245dd232 CMake: Don't use /EHa for MSVS
This is unnecessary and may result in worse performance for the
generated code.

Closes #18436.

Closes https://github.com/wxWidgets/wxWidgets/pull/1396
2019-07-13 16:23:11 +02:00
Deamhan
fbac773fed CMake: MATCH -> STREQUAL for clang 2019-07-13 00:40:01 +03:00
Deamhan
4742c32c75 CMake: wxBUILD_USE_STATIC_RUNTIME was enabled for clang 2019-07-13 00:29:18 +03:00
pk
b93fce30f3 CMake: CMAKE_COMPILER_IS_GNUCC has been replaced 2019-07-11 12:01:38 +03:00
Deamhan
e0ad857a2d CMake: MinGW multiple definition issue has been fixed (wxBUILD_USE_STATIC_RUNTIME) 2019-07-10 11:30:31 +03:00
Deamhan
afcec3eefc CMake: wxBUILD_USE_STATIC_RUNTIME is available for GCC now 2019-07-09 17:48:59 +03:00
Vadim Zeitlin
32e3846e27 Remove private headers from the public headers list
Private headers should not be installed and so must not be included in
the HDR variables in the file lists.
2019-06-29 20:49:47 +02:00
Vadim Zeitlin
44634cbf90 Merge branch 'qt_tree_control' of https://github.com/GeoTeric/wxWidgets into qt-fixes
See https://github.com/wxWidgets/wxWidgets/pull/1225
2019-06-29 20:49:25 +02:00
Anton Triest
584e2715eb Add XRC handlers for wxDataViewCtrl and related classes
The same handler is also used for wxDataViewListCtrl and
wxDataViewTreeCtrl.

Closes #18424.
2019-06-27 12:39:53 +02:00
Maarten Bent
9732a2d99f CMake: Allow to toggle between static and dynamic MSVC runtime
After enabling wxBUILD_USE_STATIC_RUNTIME it cannot be disabled again
(except by manually modifying CMAKE_C*_FLAGS_*). Improve this by setting
the build flags to their default value when wxBUILD_USE_STATIC_RUNTIME
is disabled.

Closes https://github.com/wxWidgets/wxWidgets/pull/1338
2019-06-07 16:39:16 +02:00
Matthew Griffin
77d5d31690 Close the Tree Control editor correctly
Ensure that wxTreeItemData is deleted.
Use a QT delegate to create editor and perform custom model update.
Connect to the closeEditor signal to send out end label edit events and decide whether to accept changes.
2019-05-30 10:47:09 +01:00
Vadim Zeitlin
02adddfa1a Merge branch 'wxlistctrl-virtual-checkboxes' of https://github.com/MaartenBent/wxWidgets
Add support for checkboxes to virtual wxListCtrl too.

See https://github.com/wxWidgets/wxWidgets/pull/1315
2019-05-10 01:39:33 +02:00
NikitaFeodonit
910aaa3961 Fix include directories for built-in libraries in CMake build
This fixes ''wx/setup.h' file not found' error in CMake macOS build.

Closes https://github.com/wxWidgets/wxWidgets/pull/1314
2019-05-10 01:37:26 +02:00
Maarten Bent
d262aa02d1 Remove obsolete wxOSX/Carbon listctrl header 2019-05-04 15:03:20 +02:00
New Pagodi
5f39bb4157 Update other test build files by hand for the new STC test 2019-03-20 17:07:56 -05:00
New Pagodi
f2e1aa46fe Modify build system files to use PlatWXcocoa.mm
A recent commit added the file src/stc/PlatWXcocoa.mm needed for wxSTC
with the cocoa port. This commit modifies the build system files to
use this new file when it is needed.
2019-03-20 00:12:41 -05:00
Graham Dawes
cfe36f7ae7 Move wxQtTreeItemEditorFactory to its own header 2019-02-06 08:57:29 +00:00
Graham Dawes
308ef18a6d Start "native" implementation of wxTreeCtrl for wxQT 2019-02-05 13:23:12 +00:00
Maarten Bent
6be0e7749c CMake: don't search SDL on macOS
It doesn't compile when enabled.
2019-02-03 19:01:00 +01:00
Tomay
8deb2cf0bb Add wxUSE_WINSOCK2 wxMSW option to include winsock2.h
Including <winsock.h> and <winsock2.h> is incompatible and if the
application wants to use the latter, it may be convenient to define
wxUSE_WINSOCK2 when building wxWidgets instead of having to work around
winsock.h implicit inclusion from include/wx/msw/wrapwin.h.

Closes https://github.com/wxWidgets/wxWidgets/pull/1122
2019-01-28 00:34:34 +01:00
NikitaFeodonit
537564ae19 CMake: use the target property OUTPUT_NAME instead of LOCATION in wx_get_dependencies 2019-01-21 18:19:39 +03:00
NikitaFeodonit
ad9175d79b CMake: wx-config can not be used to connect the libraries with the debug suffix, remove 'd' suffix for the UNIX build in wx_set_target_properties 2019-01-21 13:47:15 +03:00
NikitaFeodonit
1bc43c8d7a CMake: in wx_get_dependencies, for existing targets, use its LOCATION instead of the target name 2019-01-21 13:46:24 +03:00
NikitaFeodonit
3510319048 CMake: add processing the C flags for wxBUILD_USE_STATIC_RUNTIME 2019-01-21 13:45:46 +03:00
Jay Nabonne
1d117b75f7 Add wxGraphicsContext implementation for wxQt
Add graphics renderer using Qt classes and use it by default in wxQt
port under MSW.

Closes https://github.com/wxWidgets/wxWidgets/pull/1139
2019-01-17 00:50:47 +01:00
Vadim Zeitlin
288d26598c Merge branch 'dvc-var-height'
Optimize generic wxDataViewCtrl performance with variable line heights.

Closes https://github.com/wxWidgets/wxWidgets/pull/1053
2019-01-16 01:25:06 +01:00
Maarten Bent
8555f4abb0 CMake: Fix wx-config library list with monolithic build
Closes https://github.com/wxWidgets/wxWidgets/pull/1132
2019-01-11 14:29:26 +01:00
Jeff Bland
2937369869 CMake: Fix monolithic build
Monolithic build regressed with commit
815d288c4fedba044a9863c883d6dd9f53526668 "Set wx-config base, gui and
built libraries".

The code queries each possible target name and creates lists of the
valid targets. In the monolithic build, none of the normal target names
exist, so the list is empty. The empty list is then passed to STRIP,
causing cmake to fail due to not having enough arguments.

By quoting the STRIP params we can pass an empty argument and thus
prevent the error of not-enough arguments.

See https://github.com/wxWidgets/wxWidgets/pull/1100
2018-12-25 18:50:06 +01:00
Maarten Bent
db4c983881 CMake: Add missing stc and wxscintilla compile flags
This fixes absence of highlighting and folding in CMake builds.

Closes https://github.com/wxWidgets/wxWidgets/pull/1097

Closes #18306.
2018-12-23 15:21:13 +01:00
Vadim Zeitlin
b2cdd287bb Resolve change log conflict with master
Reapply the change log change manually to master version of the file to
let the CI builds merge this branch automatically.
2018-12-20 02:24:49 +01:00
Maarten Bent
c1013d9bfc CMake: Add more option validity checks 2018-12-12 21:28:01 +01:00
Maarten Bent
5348b4fa3b CMake: Improve layout of third party libraries summary
Add more external libraries to the summary, like configure does.
2018-12-12 21:28:00 +01:00
Maarten Bent
91b6305dcd CMake: Improve checking for external libraries
Do not abort when libLZMA or libSecret can not be found, just show a warning.
Do not search for libSecret on macOS.
Disable libraries internally (not in cache) when not searching for them.
2018-12-12 21:28:00 +01:00
Maarten Bent
042b17512e CMake: Check for libSDL only on Unix 2018-12-12 21:28:00 +01:00
Maarten Bent
b9d31dffc5 CMake: Improve finding Iconv
Continue when Iconv can not be found.
Silence warnings when testing if second argument for iconv() is const.
Use correct include dir.
2018-12-12 21:27:57 +01:00
Maarten Bent
14570b4fa3 CMake: Find more external libraries
Check for LibNotify, MSpack, XTest and GnomeVFS2.
2018-12-12 21:27:56 +01:00
Maarten Bent
79344fc5b6 CMake: Fix locale_t type check
Test failed when xlocale.h did not exist.
2018-12-12 20:28:41 +01:00
Maarten Bent
0665db6c1d CMake: Fix html zip sample dependency check 2018-12-12 20:28:41 +01:00
Maarten Bent
981555b788 CMake: Do not add -pthread to link flags with clang on Windows
It causes argument unused warnings.
2018-12-12 20:28:41 +01:00
Maarten Bent
9f21af693c CMake: Install wxrc on all platforms, closes #18289 2018-12-12 20:28:40 +01:00
Tobias Taschner
127b596ada
Initial libcurl wxWebRequest implementation 2018-12-10 19:38:07 +01:00
Tobias Taschner
6a23c1342e
CMake: Find CURL when wxUSE_WEBREQUEST_CURL is ON 2018-12-10 19:37:46 +01:00
Tobias Taschner
5f3dc058aa
Prepare additional wxWebRequest backends 2018-12-10 19:37:33 +01:00
Tobias Taschner
6db3f5f115
Add unit test for wxWebRequest
The environment variable WX_TEST_WEBREQUEST_URL has to
be set to https://httpbin.org or a local instance of it
to be run.
2018-12-10 19:37:31 +01:00
Tobias Taschner
d756159f5d
Add common dialog wxCredentialEntryDialog
Prompting for user name and password is a common task.
At least windows provides these dialogs native but this
is just a generic implementation for now.
2018-12-10 19:37:29 +01:00
Tobias Taschner
a4279752f8
Start wxWebRequestWinHTTP implementation
Can already run the GET request in the sample app
2018-12-10 19:37:23 +01:00
Tobias Taschner
e07c1bf40c
Prepared wxWebRequest implementation 2018-12-10 19:37:21 +01:00
Tobias Taschner
2c8fcf2584
Add wxUSE_WEBREQUEST preprocessor constant 2018-12-10 19:37:17 +01:00
Tobias Taschner
1090e8f6e9
Add webrequest sample application 2018-12-10 19:37:14 +01:00
jensgoe
d6a137b730 Improve wxDataViewCtrl performance with wxDV_VARIABLE_LINE_HEIGHT
Store the line heights in a cache to make the (generic) wxDataViewCtrl
usable with this style.
2018-12-07 04:05:16 +01:00
Maarten Bent
28a13209a2 CMake: Compile and link with -pthread when using pthread 2018-12-06 23:22:33 +01:00
Maarten Bent
c28ae123c1 CMake: Set wx-config extra libraries and flags 2018-12-06 22:48:03 +01:00
Maarten Bent
12ed604cb3 CMake: Set wx-config name variables 2018-12-06 22:39:42 +01:00
Maarten Bent
33a550d97f CMake: Set wx-config base, gui and built libraries
Remove unused propagated variables.
2018-12-06 22:39:41 +01:00
Maarten Bent
bc4b56bf88 CMake: Reorder items in config.cmake
Group similar items together.
2018-12-06 22:39:41 +01:00
Maarten Bent
8cf2b683be CMake: Fix installation include directory 2018-12-06 22:39:41 +01:00
Maarten Bent
e984857b0e CMake: Improve webview checks
Try to match behavior of configure.
Fix building webview sample with STC disabled.
2018-12-03 00:20:38 +01:00
Maarten Bent
8192d507e3 CMake: Fix wx-config include dirs 2018-12-02 17:45:43 +01:00
Maarten Bent
c0544afcd7 CMake: Improve installation on Linux
Install setup header, wx-config and wxrc. Make wx-config executable.
Add renamed files and symbolic links to uninstall target.
2018-12-02 17:45:43 +01:00
Maarten Bent
c80aecbfc1 CMake: Put include and link commands on one line
Use correct check for LIBICONV.
2018-12-02 17:45:43 +01:00
Maarten Bent
29666f1d91 CMake: Fix wxscintilla with precompiled headers and clang
The problem also occurs on Linux.
2018-12-02 17:45:35 +01:00
Maarten Bent
5282f92f8f CMake: Silence OpenGL policy warning 2018-12-02 17:45:34 +01:00
Maarten Bent
271ed4d990 CMake: Support SDL audio back-end
Rename UNIX_SOUND_SRC_SDL to UNIX_SOUND_SDL_SRC to match the
signature of other variables (ending with _HDR or _SRC).
2018-12-02 17:45:32 +01:00
Maarten Bent
97f64e9941 CMake: Build the webextensions plugin 2018-12-02 03:23:02 +01:00
Maarten Bent
1c5cbe0a61 CMake: Add support for webkit2 2018-12-02 03:21:33 +01:00
Glen Fletcher
ae1fa08188 Add C++17 to the list of supported C++ Standards in CMake build
Allow building with set(CMAKE_CXX_STANDARD 17).

Closes https://github.com/wxWidgets/wxWidgets/pull/1029
2018-11-20 22:22:01 +01:00
Maarten Bent
660fbca82d CMake: Add include directories and libraries for all packages
lzma.h could not be found when building with wxUSE_LIBLZMA on macOS. Add
the found include directories and libraries from find_package(LibLZMA)
to the base library.

For consistency, add the include directories and libraries of all
find_package usage.

Closes https://github.com/wxWidgets/wxWidgets/pull/1024
2018-11-18 01:01:28 +01:00
Maarten Bent
ec4b71afa0 Update tiff submodule
Add the new files to the build system. Disable support for webp and zstd
because we do not want to depend on external libraries.
2018-11-17 19:08:40 +01:00
Vadim Zeitlin
cf980cf5e3 Merge branch 'cmake-gstreamer-d2d' of https://github.com/MaartenBent/wxWidgets
CMake improvements: better gstreamer and Direct2D support.

See https://github.com/wxWidgets/wxWidgets/pull/1014
2018-11-05 18:51:10 +01:00
Maarten Bent
e1e5169e4b CMake: enable Direct2D graphics context by default
Disable it when the d2d1.h header is not found.
When using MSVC, match the behaviour of setup.h.
2018-11-04 16:49:14 +01:00
Maarten Bent
5c4741430a CMake: move find_package for lzma and secretstore to init.cmake 2018-11-04 16:35:58 +01:00
Maarten Bent
e1b725d5be CMake: mark package variables as advanced
Silence pkg_check_modules message.
2018-11-04 16:35:58 +01:00
Maarten Bent
d293f94d95 CMake: improve finding gstreamer
Support checking for multiple versions, first check gstreamer-1.0, then gstreamer-0.10.
Add support for finding gstreamer-player.
Specify the required components, add the include directories and link with the libraries of the found components.
Set the setup variables wxUSE_GSTREAMER and wxUSE_GSTREAMER_PLAYER.
2018-11-04 16:35:57 +01:00
Vadim Zeitlin
c374eefd34 Fold wxOSX-specific wxImageList into generic version
Get rid of wxOSX wxImageList implementation as it was 99% identical to
the generic version and the non-identical parts should really have been
made part of the generic version too from the beginning.

Notably, use GetScaled{Width,Height}() in Add() method in the generic
version too now.
2018-10-30 16:28:07 +01:00
Vadim Zeitlin
8890a25db3 Merge branch 'setup-h-cmake' of https://github.com/MaartenBent/wxWidgets
Fix issues with generating setup.h.in.

See https://github.com/wxWidgets/wxWidgets/pull/994
2018-10-29 15:18:43 +01:00
Maarten Bent
f1cf525944 Add CMake option to set wxDEBUG_LEVEL
It is no use adding it to the generated setup.h because this section is commented out,
so add it as compiler option instead.
The default option is 'Default' in which case no compiler option is added.
2018-10-25 20:46:31 +02:00
Maarten Bent
a02bb61e90 Fix build errors after modifying CMake setup.h.in
Always set a value to ICONV_CONST so it will be defined in setup.h.
Add a check for strtoull to prevent a macro redefined warning.
Link with WebKit framework to fix macOS build with wxUSE_WEBKIT.
2018-10-25 20:46:31 +02:00
Maarten Bent
6363db488f Make CMake setup.h.in an exact copy of setup.h.in
Except use cmakedefine and cmakedefine01 to declare the variables.
2018-10-25 20:46:31 +02:00
Tobias Taschner
a52393267a
CMake: Enable highest warning level for MSVC
This is not enabled for third party libaries as they are currently
producing too many warnings.
2018-10-24 10:52:47 +02:00
Tim S
fd0017f669 Do build/upmake, bakefile_gen, and autoconf 2018-10-16 11:35:59 -04:00
Maarten
a36868b391 CMake: only enable flash sample for MSVC
Fixes a regression from 1dfe088b.

See https://github.com/wxWidgets/wxWidgets/pull/974
2018-10-10 23:53:38 +02:00
Vadim Zeitlin
e0ba727dec Extract X11 functions used by wxGTK in a separate header
This makes src/unix/displayx11.cpp almost readable as it's not littered
by "#ifndef __WXGTK20__" checks everywhere any more -- instead this file
is just not compiled as part of wxGTK2 at all any longer (it is still
included in wxGTK1 as well as wxX11 itself and wxMotif).

wxGTK code also can just include the new wx/unix/private/displayx11.h
instead of having to declare all the X11 functions it uses manually.

There should be no changes in behaviour, this is just a clean up.
2018-10-04 17:07:11 +02:00
Maarten Bent
519d8fec8a Disable wxUSE_OWNER_DRAWN when using WXQT with CMake 2018-10-01 21:43:19 +02:00
Vadim Zeitlin
c0e7bd33bc Don't duplicate src/osx/cocoa/stdpaths.mm in wxiOS files list
This file is already included in BASE_OSX_SHARED_SRC, which is part of
wxiOS sources, so there is no need to repeat it in OSX_IPHONE_SRC as
well.

This fixes warnings about ignoring duplicate rules in the makefile
in command line builds.
2018-10-01 14:02:48 +02:00
Vadim Zeitlin
761f9f74fc Merge branch 'simplify-display'
Centralize all display-related code in wxDisplay class and avoid
duplicating or reimplementing it in wxDisplaySize() and
wxClientDisplayRect() functions.

See https://github.com/wxWidgets/wxWidgets/pull/955
2018-10-01 13:52:07 +02:00
Vadim Zeitlin
c2162792cf Implement wxDisplaySize() and wxClientDisplayRect() via wxDisplay
Instead of forwarding to these functions from wxDisplay implementation
in wxUSE_DISPLAY==0 case, make the functions themselves wrappers around
wxDisplay, which may, or not, depending on the platform, have a simpler
implementation in wxUSE_DISPLAY==0 case, but is always available in any
case.

As part of this change, only use src/osx/core/display.cpp in macOS
builds, not iOS ones and update the Xcode project accordingly too.

This cuts down on code duplication, especially in wxGTK, and facilitates
further additions to wxDisplay API.
2018-09-30 23:07:45 +02:00
Maarten Bent
fa19acacbe Improve WXGTK build on Windows with CMake 2018-09-30 19:49:54 +02:00
Maarten Bent
1dfe088b4d Support WXQT in CMake 2018-09-30 17:23:57 +02:00
Maarten Bent
4c06c43f26 Include some Windows specific files in WXQT toolkit
Similar as with WXGTK toolkit on Windows.
2018-09-30 17:23:57 +02:00
Maarten Bent
959b677786 Remove non-existing WXQT headers from build system 2018-09-30 17:23:57 +02:00
Vadim Zeitlin
bac28b95cd Move wx/display_impl.h to wx/private/display.h
This shows more clearly that this header is private to wxWidgets and
can't be included by user code.

No real changes.
2018-09-30 00:38:26 +02:00
Stefan Csomor
19c4d8cf3e macOS, iOS native implementation for wxStaticBitmap
templated native images are not drawing correctly using the low-level drawing calls, therefore use the native Image Views
2018-09-25 15:22:56 +02:00
Stefan Csomor
0a812865cf switching to generic icon for macOS 2018-09-24 00:11:31 +02:00
Maarten Bent
f666510cbb CMake: Add headers of demos and drawing test 2018-09-22 14:44:08 +02:00
Vadim Zeitlin
b37bf78a0b Add file required by wxDFB 2018-09-19 22:03:00 +02:00
Vadim Zeitlin
698120c225 Merge branch 'cmake-dialogs-sample' of https://github.com/MaartenBent/wxWidgets
Proper fix for building dialogs sample for CMake.

See https://github.com/wxWidgets/wxWidgets/pull/934
2018-09-17 23:31:55 +02:00
Maarten Bent
53dbff2962 CMake: Fix building dialogs sample
Add the source files of the generic dialogs to the project,
similar as is done in the bakefile.

See previous commits 573e887a4c and
6415bd553f, which partially reverted it,
for the full story.
2018-09-17 23:30:53 +02:00
Vadim Zeitlin
764b174199 Merge branch 'cmake-adv' of https://github.com/MaartenBent/wxWidgets
Keep empty adv library for backwards compatibility in CMake builds too.

See https://github.com/wxWidgets/wxWidgets/pull/918
2018-09-17 23:28:06 +02:00
Vadim Zeitlin
1f435261f6 Merge branch 'more-qt-win-build-fixes' of https://github.com/catalinr/wxWidgets
Miscellaneous fixes for building wxQt under MSW.

See https://github.com/wxWidgets/wxWidgets/pull/918
2018-09-17 23:26:27 +02:00
Maarten Bent
cf169531fb CMake: Do not add dummy.cpp to libraries
Cotire does not need it for PCH creation, the PCH will be created when
compiling the first source file.
2018-09-04 13:55:16 +02:00
Maarten Bent
ed704caede CMake: Keep empty adv library for backwards compatibility 2018-09-04 13:46:55 +02:00
Vadim Zeitlin
f71c4f55a3 Completely remove "adv" library from CMake build system
This build system is new and so doesn't need to keep "adv" for
compatibility.
2018-08-27 21:13:04 +02:00
Vadim Zeitlin
3ffa651a34 Move wxAdv library contents into wxCore
This basically removes the "adv" library, even though it's still
preserved for compatibility with user make/project files referring to
it.

It is done because the distinction between "adv" and "core" was never
really clear (e.g. why wxTreeCtrl was in core but wxTreeListCtrl in
adv?) and it prevented some core classes from using adv ones.
2018-08-27 21:13:04 +02:00
Maarten Bent
0bf459de92 Fix typos and whitespace in CMake files. 2018-08-17 20:00:47 +02:00
Maarten Bent
61500907ee CMake: Improve precompiled headers for wxscintilla
The auto-generated header causes undefined members and identifiers in the
standard c++ headers when using clang on macOS or Windows.
Do not disable precompiled headers entirely but use the main Scintilla
header as prefix header so there is at least a small speedup.
2018-08-17 20:00:47 +02:00
Maarten Bent
41d6bc579a Enable precompiled headers for samples 2018-08-17 19:56:10 +02:00
Maarten Bent
ceda6f6815 Support clang compiler on Windows when using CMake 2018-08-16 21:18:44 +02:00
Cătălin Răceanu
6b2222a520 removed Unix source files from QT 2018-08-03 02:33:05 +03:00
Maarten Bent
3c0ea566fd CMake: copy data files of test projects
Add headers to source files so they are included in IDE projects.
2018-08-02 20:50:54 +02:00
Stefan Csomor
4bda27c96c Adding wrapper for CFArray, updating other wrappers 2018-07-30 16:32:12 +02:00
Vadim Zeitlin
61c3160340 Install the new include/wx/osx/core/cfdictionary.h header
Add the new header to the list in build/files and regenerate all the
files derived from it.

This should have been part of 342e445423
2018-07-30 14:52:10 +02:00
Maarten Bent
8f9f319093 CMake: Add missing test files
Update the file list to match the contents of tests/test.bkl.
2018-07-29 16:29:36 +02:00
Maarten Bent
bfee89e3c4 CMake: Auto-enable wxUSE_STD_CONTAINERS when wxUSE_STL is enabled 2018-07-29 16:26:42 +02:00
Maarten Bent
a156cb5b6b CMake: Update cotire to version 1.8.0 2018-07-29 16:26:41 +02:00
PB
c93ccda035 Fix building docview sample with CMake
Should have been part of 64fc4dc
2018-07-06 12:33:59 +02:00
Vadim Zeitlin
abce91f967 Remove dynarray.cpp source file
After the recent dynamic array macros refactoring, there was no
implementation of wxBaseArray any more and only wxArrayString-related
code remained in this file, so just move the latter to arrstr.cpp, where
it should have been put from the beginning (except that this code
probably predates arrstr.cpp addition), and remove the old file
entirely.
2018-06-20 13:59:03 +02:00
VZ
57f620e7e1
Merge pull request #811 from MaartenBent/cmake-and-more
CMake and sample improvements: notably, allow more samples to find their
files.
2018-05-19 15:02:22 +02:00
Jeff Bland
fbf319641e Fix monolithic build in cmake (wxBUILD_MONOLITHIC)
- Functions that set wxMONO_* vars need to set them in parent scope, from macros instead of functions (functions would need grandparent scope)
- Fix a conflict with xml library linking Mono which made core include the wrong png headers
- Fix setting of NOPCH on windows to go through the wx_lib_compile_definitions instead of target_compile_definitions so it carries to monolithic build
- Allow use of precompiled header in MSVC via calling wx_finalize_lib(mono)
- Introduce wxMONO_NONCOMPILED_CPP_FILES to deal with set_source_files_properties only applying within the current CMakeLists file
- Fix demos building against monolithic library by using wx_exe_link_libraries instead of target_link_libraries (similar to what the tests already do)

Closes #18074
2018-05-18 19:52:42 -06:00
Maarten Bent
de4e20ee93 CMake: copy missing files for widgets sample 2018-05-17 19:34:34 +02:00
Maarten Bent
df6b47bc6d CMake: Correct header for debug builds in MinGW compiler 2018-05-17 19:33:19 +02:00
Maarten Bent
db49de9668 CMake: correctly detect 64bit for MinGW compilers
CMAKE_CL_64 is only defined when using the 64 bit cl compiler from Microsoft.
2018-05-17 19:30:59 +02:00
Tobias Taschner
183ba1cb4c Set NSPrincipalClass to wxNSApplcation for CMake builds too
This setting is important for some functionality provided by
wxNSApplcation and most importantly without the setting all samples
where only shown scaled on high DPI displays.

Notice that it was already present in src/osx/carbon/Info.plist.in which
is used for the samples in autoconf build.

Closes https://github.com/wxWidgets/wxWidgets/pull/743
2018-05-02 15:53:09 +02:00
Vadim Zeitlin
e38866d3a6 Merge branch 'lzma'
Add support for using externally available liblzma via new
wxLZMA{Input,Output}Stream classes.

Closes https://github.com/wxWidgets/wxWidgets/pull/771
2018-04-06 15:41:36 +02:00
Vadim Zeitlin
af7e2901fe Add wxLZMAInputStream for decompressing data in XZ format
No compression support yet.
2018-04-06 15:39:55 +02:00
Vadim Zeitlin
311b2aee5f Check for liblzma headers in configure too and add wxUSE_LIBLZMA
Prepare for using liblzma in wxWidgets code by adding the necessary
option and updating the configure check for it (which had been already
present due to libtiff possible dependency on liblzma).

No real changes yet.
2018-04-06 15:39:39 +02:00
Jan Niklas Hasse
6238f577db Fix cross-compiling with CMake due to wrong ws2_32 case
Use "ws2_32" in lower-case to ensure the library is found when
cross-compiling and using a case-sensitive filesystem.

Closes https://github.com/wxWidgets/wxWidgets/pull/772
2018-04-04 16:53:15 +02:00
Vadim Zeitlin
70cb9739f6 Merge branch 'cmake-fixes' of https://github.com/MaartenBent/wxWidgets
CMake fixes including support for building wxGTK3 on Windows.

See https://github.com/wxWidgets/wxWidgets/pull/768
2018-03-31 01:42:49 +02:00
Maarten Bent
c103ab686c CMake: Disable dialup sample in macOS 2018-03-23 22:00:29 +01:00
Maarten Bent
e4c0beac25 CMake: Remove duplicate wxUSE_IMAGE option 2018-03-23 21:59:38 +01:00
Maarten Bent
e2ddc3e863 CMake: Fix GTK3 Win32 build
Add 'BEFORE' to target_include_directories so we include the headers
of the buildin third-party libraries before headers of third-party
libraries included in wxTOOLKIT_INCLUDE_DIRS.
2018-03-23 21:58:39 +01:00
Maarten Bent
3ae0ca9d0e CMake: Fix adding access and dll samples 2018-03-23 21:50:39 +01:00
Kolya Kosenko
eb3971c199 Move GTK+/Win32 libraries list to toolkit.cmake file 2018-03-01 01:16:06 +02:00
Kolya Kosenko
d6a284783a Fix wxGTK/Win32 CMake build 2018-02-27 23:47:27 +02:00
Tobias Taschner
f3f1819daf Add archive sample
This sample shows usage of wxArchiveStream and wxArchiveFactory.
It also allows for easy testing of wxArchiveStream implementations
outside of the unit tests.

See https://github.com/wxWidgets/wxWidgets/pull/730
2018-02-20 14:39:27 +01:00
Tobias Taschner
623a9123a1
CMake: Enable multi-processor compilation for MSVC
Add option wxBUILD_MSVC_MULTIPROC which defaults to ON
to add /MP the MSVC compiler options.
2018-02-08 21:13:44 +01:00
Tobias Taschner
9a3b145731
CMake: Use wx_exe_link_libraries() to link sample libs
Fixes a recent regression and it should be used to enable monolithic build
2018-02-08 20:36:48 +01:00
Tobias Taschner
7ce0a0a774
CMake: Additional fixes/tweaks for C++11 on macOS
The changes in 0a94c1890f where an
incomplete solution.
The apple compiler automatically choses libc++ if the deployment target
is >= 10.9. Lower deployment targets need explicit compiler options
to use libc++.
2018-02-08 11:01:05 +01:00
Tobias Taschner
0a94c1890f
CMake: Fixes/Tweaks for macOS building with C++ 11
Make sure the deployment target is set to 10.9 when using C++11
Also ensure building C++11 on macOS for non Xcode builds
2018-02-06 13:35:15 +01:00
Tobias Taschner
9fd4369931
CMake: Update cmake/README.md
Update minor stuff and mention upmake
2018-02-06 11:54:50 +01:00
Maarten
aaf58e2b49 Set Unicode definitions for third party libraries in CMake build
See https://github.com/wxWidgets/wxWidgets/pull/717

See #18077.
2018-02-04 18:51:22 +01:00
PB
a342582eb1 Don't build samples that cannot be built with CMake
When using CMake to generate project files, do not create projects for
samples that rely on a feature that is not available. For example, do
not create a project for the AUI sample when wxUSE_AUI=0.

Closes https://github.com/wxWidgets/wxWidgets/pull/713
2018-02-04 15:53:09 +01:00
Maarten Bent
04b79788fc CMake: declare third-party libraries in options
So the wxUSE_[lib] variables can be used in init.cmake.
2018-01-29 00:45:28 +01:00
Maarten Bent
e6b9b571ab CMake: fix and add more options
Don't overwrite options in setup.cmake.
Align text in summary message.

Always set wxUSE_XRC to values of wxUSE_XRC, same as in setup.h.
Disable wxUSE_XRC when expat is disabled.
2018-01-28 23:52:11 +01:00
Maarten Bent
90369e9632 CMake: fix building library with wxUSE_GUI 0
Actual toolkit should still be defined (e.g. WXMSW), before settings WXBASE.
Move Windows libraries outide toolkit so they are always linked to.
2018-01-27 21:47:01 +01:00
Maarten Bent
5017c6c8c2 CMake: expat code in separate file
Consistent with other external libraries.
2018-01-27 21:47:01 +01:00
Vadim Zeitlin
56511118d9 Merge branch 'cxx11-abi-fix'
Avoid ABI issues when building the library in C++98 mode and the
application using C++11 due to using different unordered containers.

Closes #18034.
2018-01-25 13:50:21 +01:00
Vadim Zeitlin
9b51ef82af Install wx/osx/appprogress as part of "make install"
Add the file to the files list, this should have been part of
11a5b83e2c (see #16638).

Closes #18059.
2018-01-24 17:43:58 +01:00
Vadim Zeitlin
7d300183a2 Revert "Check for HAVE_TYPE_TRAITS in CMake build not only for MSVC"
This reverts commit acdd0ef09e as it
shouldn't be necessary according to this comment:

https://github.com/wxWidgets/wxWidgets/pull/658#issuecomment-358759875
2018-01-24 16:27:05 +01:00
Vadim Zeitlin
746bbd08cc Use C++11 for tests during CMake configuration if necessary
Enable CMake policy CMP0067 to ensure that the tests are done using the
same C++ dialect that is actually used for compiling the library.
2018-01-24 16:25:28 +01:00
Vadim Zeitlin
9567adb8cc Order policies by their numbers in CMake policies file
Just make it easier to maintain this file by enabling all policies in
order of their numbers.

No real changes.
2018-01-24 16:25:18 +01:00
Vadim Zeitlin
9f91756108 Remove hard TABs from CMake policies file
No real changes, just use spaces for indentation as everywhere else.
2018-01-24 16:23:45 +01:00
Maarten Bent
5ca19288f6 CMake: Fix building samples with MinGW64
Do not enable debugrpt and flash examples.
Define UNICODE when building on Windows. This allows the sdk_exe example to build, because it includes the windows headers directly.
2018-01-24 01:04:42 +01:00
Maarten Bent
6d12732f52 CMake: Remove Unix-only from OnFatalException description 2018-01-24 01:04:42 +01:00
Maarten Bent
dc0d93cccc CMake: Fix library order in wxMSW build
uuid should be linked before oleacc, otherwise it causes multiple definition of `IID_IAccessible' (with MinGW64 gcc).
To simplify even more, specify all required libraries in wxTOOLKIT_LIBRARIES, in the same order as in the makefiles.
Add uxtheme library, it is required since wxUxThemeEngine wrapper has been removed.
2018-01-24 01:04:41 +01:00
Maarten Bent
fb8403a064 CMake: Only link executables to enabled libraries 2018-01-24 00:47:58 +01:00
Maarten Bent
76617ddb1e CMake: Add missing OpenGL files in GTK build 2018-01-24 00:47:58 +01:00
Tobias Taschner
ddceaab001
Remove MSW wxUxThemeEngine class
This undocumented "private" class was used for various windows UxTheme
functions which are available since WinXP. As wxWidgets 3.1 is XP+ it
does not make sense anymore to load the theme functions dynamically.
2018-01-22 00:51:11 +01:00
Vadim Zeitlin
e723bb2ee4 Try to fix macOS build using cmake after xlocale changes
Commit bc13119494 removed the inclusion of
xlocale.h because it is not (and never was) needed under Linux with
glibc, but it is still needed under macOS, so this (silently) disabled
wxXLocale support under Mac when using configure and broke the build
when using cmake.

Fix both problems by using xlocale.h only if it's available, both in
configure and in cmake.
2018-01-21 16:49:26 +01:00
Vadim Zeitlin
acdd0ef09e Check for HAVE_TYPE_TRAITS in CMake build not only for MSVC
This check is needed for all compilers, although it can be skipped for
MSVC versions too old to have either type_traits or tr1/type_traits.
2018-01-15 13:09:48 +01:00
Maarten Bent
47fb2b6122 CMake: Update cotire to 1.7.10 2018-01-11 22:09:52 +01:00
Maarten Bent
f166d3b9c0 CMake: Don't use external project for wxexpat
This simplifies things a lot. And it is also not used for png, tiff and zlib.
2018-01-11 22:09:51 +01:00
Maarten Bent
21615b1634 CMake: Set Visual Studio working directory
Use the executable output directory for samples and demos, use the source directory for tests.
2018-01-11 22:09:43 +01:00
Maarten Bent
db86112675 CMake: Disable crt and socket warnings from Windows headers 2018-01-11 22:09:38 +01:00
Maarten Bent
573e887a4c CMake: Fix building and running samples
Add missing header, source and resource files.
Add missing data files (font), remove deleted data files (help).
Fix specifying xrc sample data files.
Remove WXUSINGDLL check from dialogs sample, it is not defined in e.g. static gui build.
2018-01-11 22:09:37 +01:00
Maarten Bent
4d35e8e54d CMake: Copy demo and sample data files to correct directory
Instead of 'lib/', copy it to directory where the executables are (e.g. 'lib/vc_x64_lib/').
2018-01-11 22:09:28 +01:00
Vadim Zeitlin
267067aa8a Regenerate CMake files list from upmake too
Replace the specialized Python script used for it before (and which was
actually forgotten to run a couple of times already) with a newer
version of upmake, which can now update CMake variable definitions too.
2018-01-07 22:29:42 +01:00
Vadim Zeitlin
b2a8c2188f Remove duplicate wx/scrolbar.h from CMake files list
This will avoid warnings when regenerating it the next time.
2018-01-07 19:19:29 +01:00
Vadim Zeitlin
c1e097cc68 Update CMake files list
Regenerate the file that was forgotten before by the changes of
48a5d6c5f8 (see #18038) and
95b28abfdf (see
https://github.com/wxWidgets/wxWidgets/pull/541).
2018-01-07 17:03:46 +01:00
Alexey Rassikhin
82da79d038
Workaround for expat builtin debug postfix
expat lib has debug postfix on windows only.
2017-12-15 13:59:57 +03:00
Alexey Rassikhin
6b15f19107
Fix expat config for "NMake Makefiles" target. 2017-12-15 11:53:50 +03:00
Vadim Zeitlin
6f23cea6df Fix the path of Expat library after move to submodules
It's in src/expat/expat now instead of being directly under src/expat.
2017-12-10 17:53:21 +01:00
Vadim Zeitlin
8cb84cd0f7 Add LexEDIFACT.cxx to wxscintilla library CMake sources
This file has been added after CMake branch split from master.
2017-12-09 23:56:12 +01:00
Vadim Zeitlin
f6c7e8f774 Don't use "-t" command line option when running tests
This option just lists the available tags now instead of running the
tests with timing information as before.
2017-12-09 22:00:34 +01:00
Vadim Zeitlin
82b92c6d8f Update CMake files after switch from CppUnit to Catch
Don't look for CppUnit library nor build it any longer, but just use the
Catch headers under 3rdparty/catch.
2017-12-09 18:33:12 +01:00
Vadim Zeitlin
d37f758ae9 Update the list of non-GUI test source files
streams/bstream.cpp was removed in the meanwhile while a new
strings/hexconv.cpp was added.
2017-12-09 18:25:33 +01:00
Vadim Zeitlin
c66c9c5ae6 Merge branch 'build_cmake' of https://github.com/TcT2k/wxWidgets
Add CMake-based build system.

Merge the original branch without any changes except for resolving the
conflict due to moving the contents of .travis.yml to a separate file by
propagating the changes done in this file since then to the new script
and rerunning ./build/update-setup-h and ./build/cmake/update_files.py
to update the file lists changed in the meanwhile.

Closes https://github.com/wxWidgets/wxWidgets/pull/330
2017-12-09 15:09:47 +01:00
Tobias Taschner
89890a3462
Do not define _GNU_SOURCE on apple 2017-01-03 21:33:34 +01:00
Tobias Taschner
da2b8ea812
Add CMake build system
Add CMake build system for libraries, tests and samples
update_files.py converts build/files into CMake format.
build/update-setup-h has been modified to update build/cmake/setup.h.in.
2017-01-03 20:53:10 +01:00