Commit Graph

70 Commits

Author SHA1 Message Date
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