Commit Graph

2650 Commits

Author SHA1 Message Date
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
c9318f2f64 Update vcxproj files with new tiff files
Closes https://github.com/wxWidgets/wxWidgets/pull/1028
2018-11-20 21:34:59 +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
Stefan Csomor
edecb26899 adapting xcodeproj to generic imaglist.cpp 2018-11-14 12:06:36 +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
de4eecc575 Install additional packages on Travis CI
Install packages for gstreamer, webkit, opengl and libsecret.
First check if the package is available.
2018-11-04 22:00:32 +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
Maarten Bent
828c3ce50d Remove duplicate line from update-setup-h
It was intended to be update_osx_setup_h but resulting setup.h.in would not
work because the macOS options are not initialized by configure or CMake.
2018-10-25 20:36:22 +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
Tim S
edc9eca2cc Move generic/activityindicator.{h,cpp} from MSW_LOWLEVEL_{HDR,SRC} to under MSW_{HDR,SRC} 2018-10-16 11:35:58 -04:00
Tim S
d9891c4aa1 Remove msw/evtloop.{h,cpp} from UNIV_PLATFORM_{HDR,SRC} 2018-10-16 11:35:58 -04:00
Tim S
09aa8c741e Move msw/evtloop.{h,cpp} from MSW_{HDR,SRC} to under MSW_LOWLEVEL_{HDR,SRC} 2018-10-16 11:35:58 -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
Vadim Zeitlin
f4c7a31414 Merge branch 'qt-ownerdrawn-fix' of https://github.com/MaartenBent/wxWidgets
See https://github.com/wxWidgets/wxWidgets/pull/957
2018-10-03 14:44:10 +02:00
Tobias Taschner
dd9ef9e588 Select latest Windows 10 SDK when building with MSVS 2017
Unfortunately Visual Studio 2017 defaults to Windows SDK 8.1
which is not installed with it. This workaround automatically
targets the latest Windows 10 SDK when building.

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

Closes #18078.
2018-10-03 14:43:39 +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
f7d1f46144 Build WXQT toolkit with AppVeyor 2018-09-30 17:23:58 +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
3b1551a714 Fixing builds with Xcode 2018-09-27 14:46:33 +02:00
Stefan Csomor
494581c542 macOS wxStaticBitmap missing commit 2018-09-25 15:59:50 +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
Stefan Csomor
e768046774 fixing iOS builds with new SKDs 2018-09-22 17:30:37 +02:00
Vadim Zeitlin
9327a1f75c Update upmake to address bug with </if> in bakefile backend
Include fix from

89044c8082

to ensure that new files are added inside the <if> enclosing all the
files inside <set> in build/bakefiles/files.bkl.
2018-09-22 16:07:37 +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
Maarten Bent
d3628d8373 Build more toolkits with Travis CI 2018-09-19 22:00:01 +02:00
Vadim Zeitlin
39e19a8f8c Remove non-existent src/commit/execcmn.cpp from Unix Makefile
This should have been done back when this file was removed in
9b70925d3e, see #10258.

Closes #18222.
2018-09-18 00:01:01 +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
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
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
c3bc7941c8 Avoid errors due to not having any files in "adv" library
Compile dummy.cpp as part of the library under Unix to avoid problems
with some versions of ar refusing to create empty static libraries.
2018-09-02 23:42:22 +02:00
Vadim Zeitlin
0225f191e8 Replace PLUGIN_ADV_SRC to PLUGIN_SRC and put them into "core"
wxSound SDL plugin should be in "core" too, when linking the plugins
statically, rather than in "adv", now that wxSound itself is in core.
2018-09-02 23:36:41 +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
424bc34d9d Remove references to "adv" library from MSVS 201x projects
They are not generated by bakefile, so need to be updated manually.
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
5b2c905fb9 Log MSBuild AppVeyor messages
Provide better integration for the AppVeyor CI builds.

Closes https://github.com/wxWidgets/wxWidgets/pull/895
2018-08-24 20:08:51 +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
Vadim Zeitlin
48fc60609d Use more compatible "=" in test(1) instead of "=="
The latter is not supported in all shells and results in problems under
NetBSD for example.

Closes #18198.
2018-08-16 13:45:53 +02:00
Vadim Zeitlin
51de736a58 Merge branch 'test-improvements' of https://github.com/MaartenBent/wxWidgets
Fixes for CMake, AppVeyor, Travis and MinGW.

See https://github.com/wxWidgets/wxWidgets/pull/869
2018-08-14 23:25:23 +02:00
Stefan Csomor
71ad5ba545 turning of undefined macros warning, force to using gnu++11 and libc++ as we do in command line builds 2018-08-08 08:04:02 +02:00
Cătălin Răceanu
69c5d5a627 more changes to accept mingw64 2018-08-03 02:33:06 +03:00
Cătălin Răceanu
8fc8220b6a removed Qt value of TOOLKIT, kept only QT 2018-08-03 02:33:05 +03:00
Cătălin Răceanu
6b2222a520 removed Unix source files from QT 2018-08-03 02:33:05 +03:00
Maarten Bent
33ea26c8b6 Use same ctest command on Travis and AppVeyor
Do not run the GUI tests on Travis, these fail with:
Error: Unable to initialize GTK+, is DISPLAY set properly?
2018-08-02 20:50:55 +02:00
Maarten Bent
f074557f00 Check all error codes of AppVeyor tests
A test might return a different error code than 1,
for example when a segfault occurs.
2018-08-02 20:50:54 +02: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
mill-j
148079c618 Fix building wxQt under HaikuOS and make it default
Recognize HaikuOS and work around several platforms with socket-related
functions there.

Also make wxQt the default port under this platform.

See #9168.
2018-07-31 18:43:10 +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
a7b8897846 Fix running CMake tests under AppVeyor 2018-07-29 21:14:30 +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
Cătălin Răceanu
6b0d920c3f Fixes for mingw64 to allow configure to finish under MSW 2018-06-24 19:47:55 +03: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