File: README.md

package info (click to toggle)
wxpython4.0 4.2.3%2Bdfsg-2
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 221,752 kB
  • sloc: cpp: 962,555; python: 230,573; ansic: 170,731; makefile: 51,756; sh: 9,342; perl: 1,564; javascript: 584; php: 326; xml: 200
file content (84 lines) | stat: -rw-r--r-- 3,377 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
This directory contains [CMake][1] files needed to build
native build files for wxWidgets.

For building wxWidgets or using wxWidgets in your CMake project please see
the [CMake overview](../../docs/doxygen/overviews/cmake.md) in the wxWidgets
documentation.

CMake files organization
========================
All CMake files are located in _$(wx)/build/cmake_ additionally there is a
_CMakeLists.txt_ in the root directory.

Files
-----
* $(wx)/CMakeLists.txt
    * This should only contain commands and definitions which need to be
      contained in the top level and includes _main.cmake_
* config.cmake
    * Generates config files used to find wxWidgets by other build systems
    * Creates wx-config
* files.cmake
    * List of source files generated by _$(wx)build/upmake_ from _$(wx)build/files_
    * This file should usually **never** be edited manually
    * However if a new group of files is added it needs to be edited manually
* functions.cmake
    * contains various wxWidgets specific functions and macros used throughout
      the CMake files
    * Every function should contain a short description of its parameters as
      a comment before the function/macro
* install.cmake
    * Handles definitions for the `install` and `uninstall` target
* init.cmake
    * Initializes various variables used during the build process and for
      generation of setup.h and configuration files
* main.cmake
    * Includes all other cmake files
* options.cmake
    * All user selectable build options should be defined in this file via
      calls to `wx_option()`
* policies.cmake
    * [CMake policies][2] for wxWidgets should be defined in this file
* setup.cmake
    * Handles all tests required to create the _setup.h_ header based
      platform and user settings
* setup.h.in
    * Template for _setup.h_ updated automatically by _$(wx)/build/update-setup-h_
* source_groups.cmake
    * Define source groups used in supported IDEs
* toolkit.cmake
    * Define toolkit specific options and detection to this file
* uninstall.cmake.in
    * Used by _install.cmake_ when creating the `uninstall` target

Sub directories
---------------
Each sub directory contains a _CMakeLists.txt_ and might contain various other
_.cmake_ files.

* demos
    * Defines build targets for demos via `wx_add_demo()`
* lib
    * Defines build targets for all libraries and bundle third party libraries
    * Each library is contained in a separate directory and uses
      `wx_add_library()` to define the library target
    * Bundled third party library without upstream CMake support are defined in
      a _.cmake_ file using `wx_add_builtin_library()` to define static library
      targets
* modules
    * Includes CMake modules used to find third party packages via [find_package()][3]
    * Includes the [cotire module][4] used to for precompiled header generation
* samples
    * Defines build targets for all samples via `wx_add_sample()`
    * Definitions for trivial samples are included in _CMakeLists.txt_ more
      complex samples might have a separate .cmake file
* tests
    * Defines build targets for all tests
* utils
    * Defines build targets for all utilities


[1]: https://cmake.org
[2]: https://cmake.org/cmake/help/latest/manual/cmake-policies.7.html
[3]: https://cmake.org/cmake/help/latest/command/find_package.html
[4]: https://github.com/sakra/cotire/