FindwxWidgets

查找已安装的 wxWidgets(又称 wxWindows)。

该模块会查找已安装的 wxWidgets 并选择要使用的默认配置。wxWidgets 是一个模块化库。若要指定要使用的模块,需要将它们作为包的组件进行命名

find_package(wxWidgets COMPONENTS core base ... OPTIONAL_COMPONENTS net ...)

3.4 中添加: 支持 find_package() 版本参数;webview 组件。

3.14 中添加: OPTIONAL_COMPONENTS 支持。

有两个搜索分支:Windows 样式和 Unix 样式。对于 Windows,系统将搜索以下变量,并在存在多个选项的情况下将其设置为默认值。如果不需要这些默认值,请更改它们(也就是说,这些是选择配置时唯一应该更改的变量)

wxWidgets_ROOT_DIR      - Base wxWidgets directory
                          (e.g., C:/wxWidgets-3.2.0).
wxWidgets_LIB_DIR       - Path to wxWidgets libraries
                          (e.g., C:/wxWidgets-3.2.0/lib/vc_x64_lib).
wxWidgets_CONFIGURATION - Configuration to use
                          (e.g., msw, mswd, mswu, mswunivud, etc.)
wxWidgets_EXCLUDE_COMMON_LIBRARIES
                        - Set to TRUE to exclude linking of
                          commonly required libs (e.g., png tiff
                          jpeg zlib regex expat scintilla lexilla).

对于 Unix 样式,系统会使用 wx-config 实用程序。你可以在 QtDialog 或 ccmake 界面中通过打开/关闭以下变量在调试/发布版本、Unicode/ANSI、通用/非通用以及静态/共享版本中进行选择

wxWidgets_USE_DEBUG
wxWidgets_USE_UNICODE
wxWidgets_USE_UNIVERSAL
wxWidgets_USE_STATIC

此外,还有一个 wxWidgets_CONFIG_OPTIONS 变量,用于所有需要传递给 wx-config 实用程序的其他选项。例如,要在 /usr/local 路径中使用基本工具包,请在(调用 FIND_PACKAGE 命令之前)将该变量设置如下

set(wxWidgets_CONFIG_OPTIONS --toolkit=base --prefix=/usr)

对于 Windows 和 Unix 样式,完成配置后,都会设置以下内容

wxWidgets_FOUND            - Set to TRUE if wxWidgets was found.
wxWidgets_INCLUDE_DIRS     - Include directories for WIN32
                             i.e., where to find "wx/wx.h" and
                             "wx/setup.h"; possibly empty for unices.
wxWidgets_LIBRARIES        - Path to the wxWidgets libraries.
wxWidgets_LIBRARY_DIRS     - compile time link dirs, useful for
                             rpath on UNIX. Typically an empty string
                             in WIN32 environment.
wxWidgets_DEFINITIONS      - Contains defines required to compile/link
                             against WX, e.g. WXUSINGDLL
wxWidgets_DEFINITIONS_DEBUG- Contains defines required to compile/link
                             against WX debug builds, e.g. __WXDEBUG__
wxWidgets_CXX_FLAGS        - Include dirs and compiler flags for
                             unices, empty on WIN32. Essentially
                             "`wx-config --cxxflags`".
wxWidgets_USE_FILE         - Convenience include file.

3.11 中添加: 以下环境变量可以作为提示使用: WX_CONFIGWXRC_CMD

示例用法

# Note that for MinGW users the order of libs is important!
find_package(wxWidgets COMPONENTS gl core base OPTIONAL_COMPONENTS net)
if(wxWidgets_FOUND)
  include(${wxWidgets_USE_FILE})
  # and for each of your dependent executable/library targets:
  target_link_libraries(<YourTarget> ${wxWidgets_LIBRARIES})
endif()

如果需要 wxWidgets(即不是可选项)

find_package(wxWidgets REQUIRED gl core base OPTIONAL_COMPONENTS net)
include(${wxWidgets_USE_FILE})
# and for each of your dependent executable/library targets:
target_link_libraries(<YourTarget> ${wxWidgets_LIBRARIES})

导入的目标

3.27 中添加。

此模块定义以下 IMPORTED 目标

wxWidgets::wxWidgets

一个接口库,提供已找到组件的使用要求。