Commit Graph

43 Commits

Author SHA1 Message Date
Maarten Bent
0c2d05f52f CMake: add library aliases using wx:: namespace 2020-05-17 20:01:02 +02:00
Maarten Bent
498b79d619 CMake: copy data of widgets sample to correct directory 2020-05-17 20:01:02 +02:00
Maarten Bent
04d82e24cd CMake: enable -Wall for builds using clang or gcc 2020-04-27 00:33:01 +02:00
Maarten Bent
5c2d186132 CMake: Add variable to indicate if c++11 or later is enabled
Use it in macOS checks.
2020-04-07 19:28:46 +02:00
Maarten Bent
c8209a5111 CMake: Set wxBUILD_CXX_STANDARD globally instead of only on targets
This way the tests in setup.cmake will use the correct c++ version.
2020-04-07 19:09:58 +02:00
Maarten Bent
016061311a CMake: Add wxBUILD_FLAVOUR option
It is similar to --with-flavour option from configure.

Mark some build options as advanced.
2020-02-16 21:33:44 +01:00
Maarten Bent
10abcc0f78 CMake: Improve consistency in names of output files
Match the filenames used by configure (gcc, clang) and the visual studio
solutions. The biggest difference is that wxARCH_SUFFIX (e.g. _64) is not
included in the dll names, and the position of the version number in the
libraries.
2020-02-12 22:30:32 +01:00
Maarten Bent
083f4b3c32 Rename manifests to use underscores 2019-12-13 21:44:26 +01:00
Maarten Bent
38c38e2274 CMake: private includes before public includes
This way, build-in headers (for example png headers) will always be included
before system headers.
2019-11-29 00:21:26 +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
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
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
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
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
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
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
28a13209a2 CMake: Compile and link with -pthread when using pthread 2018-12-06 23:22:33 +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
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
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
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
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
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
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
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
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
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
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
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
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
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
fb8403a064 CMake: Only link executables to enabled libraries 2018-01-24 00:47:58 +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
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
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
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
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