Commit Graph

2766 Commits

Author SHA1 Message Date
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
Vadim Zeitlin
8ec8a0cf66 Define WX_WEB_EXTENSIONS_DIRECTORY in static builds too
This definition is needed when building both shared and static webview
library when using WebKit 2, but for some reason wasn't included for the
latter.

Closes https://github.com/wxWidgets/wxWidgets/pull/1061
2018-12-10 19:31:40 +01:00
Vadim Zeitlin
251561172a Remove mentions of non-existent docs/$toolkit/install.txt
Don't include these files in "make dist" (which seems completely unused
anyhow, and probably broken because of this).
2018-12-10 19:06:18 +01:00
Vadim Zeitlin
e1185d8bf0 Increment version number to 3.1.3
Done by running misc/scripts/inc_release, manually updating version.bkl,
rebaking and rerunning autoconf.
2018-12-10 19:06:18 +01:00
Vadim Zeitlin
b8f791877e Fix SHA-1 update script to work with the current release.md
Change the regex used to find the lines to update to actually find them.
2018-12-09 16:52:40 +01:00
Vadim Zeitlin
2b612603d3 Give an error from build/tools/post-release.sh if it didn't work
The script gave a misleading success message even if it didn't find
anything to update.
2018-12-09 16:51:29 +01:00
Vadim Zeitlin
f456f52493 Add a text file to be shown after finishing wxMSW installation
We used docs/msw/install.txt for this previously, but it was too long to
be comfortably viewed in the installation wizard and also incidentally
doesn't exist any more, so add a new, short file just referring the user
to its replacement.
2018-12-09 16:40:08 +01:00
Vadim Zeitlin
653f9b14f0 Don't reference inexistent docs/msw/install.txt in wxwidgets.iss
Use install.md which is probably not ideal, but it at least allows Inno
Setup to successfully build the installer.
2018-12-09 16:18:06 +01:00
Vadim Zeitlin
a18fc6ce96 Normalize line endings in wxwidgets.iss
This file was a mix of DOS and Unix EOLs, convert it entirely to the
former.

No real changes.
2018-12-09 16:10:51 +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
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
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
dos
6e093f5a84 Add wxrc.exe to the MSVS release archives
Include wxrc.exe in the release.

Also change the way checksums are calculated due to fciv tool
limitations.

Closes #18124.

Closes https://github.com/wxWidgets/wxWidgets/pull/800
2018-05-02 18:29:40 +02:00
Vadim Zeitlin
ff06e12ceb Remove unused and outdates samples/Info.plist file
This file was added in 4d524cdd0e a long
time ago but doesn't seem to have been ever actually used for anything
and is outdated, e.g. contains LSRequiresCarbon=true, which shouldn't be
used any longer.

Remove the file itself and all references to it.
2018-05-02 16:01:02 +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
Vadim Zeitlin
4e5904a4cc Remove unused buildbot XML configuration files
Buildbot configuration was redone in pure Python (see master.cfg in
https://github.com/wxWidgets/buildbot repository) since several years
already, there is no need to keep these obsolete files.
2018-02-20 14:49:50 +01: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
Vadim Zeitlin
2ec2837f6d Update version to 3.1.2
Run misc/scripts/inc_release and rebake.
2018-02-20 00:08:01 +01:00
Danny Scott
a52b839f66 Use vswhere to set environment variables for MSVS 2017
Allow building official releases with MSVS 2017 without doing it from
its "developer command prompt" by using the vswhere utility to set up
the paths correctly.

Closes #18083.
2018-02-17 13:40:41 +01:00
Vadim Zeitlin
85bb678e54 Merge branch 'cmake_misc3' of https://github.com/TcT2k/wxWidgets
Make: Fix regression when enable samples and Enable MSVC Multiprocessor
Compilation.

See https://github.com/wxWidgets/wxWidgets/pull/725
2018-02-16 13:16:53 +01:00
Dimitri Schoolwerth
2fb26ae296 Regenerate Xcode projects
Update the Xcode projects to use current libjpeg and libpng sources.

Regression since a8e7d0ee12 (for libpng)
and cc8657e436 (libjpeg).
2018-02-13 23:47:07 +01:00
Dimitri Schoolwerth
bfa7035bdc Fix Xcode compilation
When using Xcode to compile wxCocoa a system's expat.h gets included
instead of wx', and in the case of wxiOS libexpat is not present and
thus expat.h is not found. Fix by correcting the path to expat.h .

Regression since 824134d427 .
2018-02-13 22:49:36 +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
Vadim Zeitlin
8881953bea Add support for --with-cxx=17 configure option
Use the latest version of ax_cxx_compile_stdcxx.m4 from the autoconf
archive for C++17 support and handle "17" as the option value in our
configure.

See https://github.com/wxWidgets/wxWidgets/pull/721
2018-02-06 22:38:26 +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
Vadim Zeitlin
35d2823601 Tweak post-release script and documentation
For the release candidates, allow passing the version (e.g. "3.1.1-rc")
to post-release.sh on the command line and document this.

Also don't commit automatically, this is annoying, especially as the
script doesn't check for errors.

Finally, fix the problem with the CHM file name: it must be zipped,
presumably to avoid problems with some firewalls blocking downloading
CHM files (as there is really no advantage in compressing the already
compressed CHM file otherwise).
2018-02-05 15:44:19 +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
Danny Scott
cf588d7a64 Handle current directory with MSVS 2017 in a better way
Set VSCMD_START_DIR to "%CD%" to prevent MSVS 2017 build scripts from
changing the directory.

See #18075.
2018-02-02 18:17:42 +01:00
Danny Scott
94e201df78 Update batch file for MSW binaries for MSVS 2017
VS2017 environment bat files change the working directory so the build
directory is returned to after calling them.

A warning has been added that the VS150COMNTOOLS environment variable
needs to be set or a VS2017 command prompt needs to be used for VS2017
builds. MS no longer sets this variable on install.

For vc110 and vc120 builds the x64 switch has been changed to x86_amd64.

Closes #18075.
2018-02-02 15:37:10 +01:00
Vadim Zeitlin
7a24cdb861 Merge branch 'cmake-options' of https://github.com/MaartenBent/wxWidgets
See https://github.com/wxWidgets/wxWidgets/pull/694
2018-01-30 13:58:52 +01:00
Vadim Zeitlin
4f9ae9e3e4 Merge branch 'travis-improvements' of https://github.com/MaartenBent/wxWidgets
See https://github.com/wxWidgets/wxWidgets/pull/687
2018-01-30 13:58:07 +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
c341d72a92 Remove downloading CppUnit and CMake in Travis CI
CppUnit has been replaced by Catch.
The Precise build environment is not used, so no need to download CMake for it.
2018-01-28 16:31:12 +01:00
Maarten Bent
4171f9b808 Use parallel builds in Travis CI
Don't use it when building samples. It randomly results in build errors with 'file not recognized: File truncated'.
2018-01-28 15:49:34 +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
7d6b44687f Fix monolithic build with USE_STC=0
Don't add STC-related sources to MONOLIB_GUI_SRC unconditionally, as
this broke linking when specifying USE_STC=0 on make command line.

Closes #17895.
2018-01-26 23:38: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
d7fbf1f820 Output the message about bakefile_gen by default in upmake
This message shouldn't be given only when --verbose is given, it's
useful as a reminder and you shouldn't have to remember to give a
special option to get this reminder.
2018-01-07 18:43:01 +01:00
Vadim Zeitlin
9a75103d9a Fix upmake bug with conditions in bakefile files
Don't strip the <if> tags from bakefile variables (this bug fix is
actually in Makefile::Update Perl module, but is incorporated here by
reference) and remove these tags which somehow made it into upmake input
file, as they make no sense there.

Note also that upmake was recreated using a different version of fatpack
(0.010007), which accounts for many other differences in this file.
2018-01-07 18:36:58 +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
Mart Raudsepp
48a5d6c5f8 Move wx/evtloopsrc.h to BASE_CMN_HDR from GUI_CMN_HDR
This header ends up being included by wx/apptrait.h, which is in
BASE_CMN_HDR, so it needs itself to be there too in order for
compilation to work when using non-GUI library build.

Closes #18038.
2018-01-04 17:16:40 +01:00
Vadim Zeitlin
95b28abfdf Merge branch 'dvc-persist'
Implement persistence for wxDataViewCtrl columns widths and sort order.

See https://github.com/wxWidgets/wxWidgets/pull/541
2017-12-15 18:48:34 +01:00
Paul Cornett
8e35398037 Update gtk-4.0.m4
Minimize differences with gtk-3.0.m4, fix configuring with GTK+ 3.92.1
2017-12-15 09:31:43 -08:00
Paul Cornett
32f6d9521f Update gtk-3.0.m4
From gtk+-3.22.26/m4macros/gtk-3.0.m4
2017-12-15 09:26:40 -08:00
Vadim Zeitlin
072a9c20a3 Add new wx/persist/dataview.h to the build system
In particular, this ensures that it gets installed by "make install"
under Unix.
2017-12-15 14:10:11 +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
15d22aed82 Merge branch 'cmake'
Closes https://github.com/wxWidgets/wxWidgets/pull/330
2017-12-15 00:33:07 +01:00
Rafael Kitover
22b0b4dda7 autoconf and bakefile support for GTK+4
Add autoconf and bakefile support for detecting and using GTK+4, similar
to how GTK+3 is detected and used.

GTK+3 is checked for first before GTK+4, this can be overridden in
`./configure` using `--with-gtk=4`.

With GTK+4 the `__WXGTK4__` `#define` is also set in `setup.h.in`.

This commit does not regenerate any files.
2017-12-12 08:48:36 -08:00
Vadim Zeitlin
62af6a648f Run tests for cmake build from test bat file under AppVeyor
The tests need to be run from appveyor-test.bat and not the main
appveyor.bat itself with the current approach, so move ctest invocation
there.
2017-12-10 22:41:44 +01: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
bd6d22d890 Avoid trailing spaces in auto-generated build/cmake/setup.h.in
Tweak the sed command to ensure that "\1" in it refers only to the name
of the preprocessor symbol being defined, without all the spaces after
it.
2017-12-09 15:09:47 +01:00