Commit Graph

67 Commits

Author SHA1 Message Date
Maarten Bent
2e12779a21 CMake: update Info.plist variables
Use the same values as in build/bakefiles/mac_bundles.bkl.
Use the correct copyright year for in the Info.plist files.
2021-08-17 22:33:45 +02:00
Maarten Bent
4862cbd4c6 CMake: Allow to specify specific Info.plist.in file for samples 2021-08-17 21:50:48 +02:00
Vadim Zeitlin
d7e102f766 Reuse Info.plist used by configure for CMake too
The CMake-specific file is almost identical to the file used by
configure now, so don't keep both of them when just one could do.
2021-08-15 18:39:34 +02:00
Vadim Zeitlin
b7f2e4d423 Fix apparent typo in MACOSX_BUNDLE_BUNDLE_VERSION variable name
The documented name of the bundle version variable has BUNDLE twice, see

https://cmake.org/cmake/help/latest/prop_tgt/MACOSX_BUNDLE_INFO_PLIST.html

and samples/Info.plist.in uses this variable, but we set
MACOSX_BUNDLE_VERSION instead, which seems wrong, so use the apparently
correct variable name instead.
2021-08-15 16:56:24 +02:00
jolz
5a514afd34 Remove dependency on GTK from wxbase in CMake build
libwx_baseu_3.1.so should not include "-lgtk-3" during link.

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

Closes #19224.
2021-07-24 19:19:03 +02:00
Maarten Bent
7828975bb3 CMake: Never use lib prefix for msvc
Fixes regression introduced in f830bde25b (CMake: Improve library names,
2021-05-24)

Closes https://github.com/wxWidgets/wxWidgets/pull/2411
2021-07-03 14:33:07 +01:00
Maarten Bent
980bba88aa CMake: Use .a suffix for import libraries
So it will have the same extension as the libraries created by makefile.gcc.
2021-06-17 23:16:03 +02:00
Maarten Bent
3e0057757b CMake: Use a macro to get the flavour
Also include the flavour in builtin target names and include path.
2021-06-06 23:38:38 +02:00
Maarten Bent
91884752c1 CMake: Create symlinks with so version 2021-06-06 23:36:59 +02:00
Maarten Bent
f830bde25b CMake: Improve library names
Use the same output names as MSVC and makefile.gcc/vc on Windows, and the same as configure on other platforms.
2021-06-06 23:36:59 +02:00
cnbatch
94b399418c Fix an issue that MSVC 2019 cannot compile with CMake
Fix using PCH with MSVC too, which notably fixes using it with vcpkg.

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

Co-Authored-By: Maarten Bent <MaartenBent@users.noreply.github.com>
2021-05-19 19:48:04 +02:00
Vadim Zeitlin
1dfc18a004 Link with ws2_32.lib rather than obsolete wsock32.lib
Winsock 2 provided by ws2_32.lib is available since 1994, it should be
fine to use it even for wx in 2021.

See #15562.
2021-04-18 22:13:45 +02:00
Maarten Bent
c968e49b13 CMake: Remove iOS workaround
Not needed anymore since the fix in 60c620c28c.

Closes https://github.com/wxWidgets/wxWidgets/pull/2308
2021-04-06 11:41:06 +02:00
tamasmeszaros
60c620c28c Fix libraries names when cross compiling on Linux using CMake
This allows using wxWidgets libraries from CMake when cross-compiling
too.

Closes https://github.com/wxWidgets/wxWidgets/pull/2291
2021-04-04 17:06:45 +02:00
Tobias Taschner
c69193d3da CMake: enable more warnings for GCC/Clang
Enable the same warnings for GCC and Clang as are
enabled with a configure build
2021-03-17 12:58:17 +01:00
Maarten Bent
9585e08365 CMake: Add benchmarks
Put each benchmark application in a sub-directory instead of specifying all in one
file, because cotire cannot create PCH targets for the same file twice (bench.cpp).
2021-02-07 20:34:42 +01:00
Maarten Bent
7b79423470 CMake: Add argument to specify console app that uses gui libraries 2021-02-07 20:11:56 +01:00
Maarten Bent
6dfb96c075 CMake: Use build directory as ctest working directory
Use existing variable for VS working directory.
2021-01-19 19:58:46 +01:00
Maarten Bent
226a3de596 CMake: Use common function for adding samples, tests and demos 2021-01-19 19:58:46 +01:00
Maarten Bent
4ee04daa7c Enable position independent code by default
Add a build option (--disable-pic, wxBUILD_PIC=OFF) to disable it.

Note that it is always enabled for shared libraries and static third party libraries.
2020-08-06 21:43:41 +02:00
Maarten Bent
3328480f78 CMake: use set_target_properties() instead of set_property(TARGET ) 2020-08-03 21:35:13 +02:00
Stefan Csomor
dedefa65c1 applying CMake patch from @MaartenBent 2020-07-05 15:54:27 +02:00
Maarten Bent
ba3fd12efb CMake: fix linking the DLL sample in monolithic build 2020-05-17 20:01:03 +02:00
Maarten Bent
0f806ad96d CMake: use wx prefix in library names
Rename all library targets to start with wx. This way it does not use generic
names like base or core that could interfere with other libraries that add
include the wxWidgets project.
2020-05-17 20:01:02 +02:00
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