FindGTK2

Finds the GTK widget libraries and several of its other optional components.

GTK is a multi-platform toolkit for creating graphical user interfaces.

備註

This module is specifically for GTK version 2.x, which is obsolete and no longer maintained. Use the latest supported GTK version and FindPkgConfig module to find GTK in CMake instead of this module. For example:

find_package(PkgConfig REQUIRED)
pkg_check_modules(GTK REQUIRED IMPORTED_TARGET gtk4>=4.14)
target_link_libraries(example PRIVATE PkgConfig::GTK)

Components

This module supports optional components, which can be specified with the find_package() command:

find_package(GTK2 [COMPONENTS <components>...])

Supported components include:

  • atk

  • atkmm

  • cairo

  • cairomm

  • gdk_pixbuf

  • gdk

  • gdkmm

  • gio

  • giomm

  • glade

  • glademm

  • glib

  • glibmm

  • gmodule

  • gobject

  • gthread

  • gtk

  • gtkmm

  • pango

  • pangocairo

  • pangoft2

  • pangomm

  • pangoxft

  • sigc

  • 在 3.16.7 版被加入: harfbuzz

If no components are specified, module by default searches for the gtk component.

Imported Targets

This module provides the following Imported Targets (subject to component selection):

GTK2::<component>

Target encapsulating the specified GTK component usage requirements, available if GTK and this component are found. The <component> should be written in the same case, as listed above. For example, use GTK2::gtk for the gtk component, or GTK2::gdk_pixbuf for the gdk_pixbuf component, etc.

GTK2::sigc++

在 3.5 版被加入.

Target encapsulating the usage requirements to enable c++11 on its dependents when using sigc++ 2.5.1 or higher. This target is automatically applied to dependent targets as needed.

結果變數

This module defines the following variables:

GTK2_FOUND

Boolean indicating whether GTK and all specified components are found.

GTK2_VERSION

The version of GTK found (x.y.z).

GTK2_MAJOR_VERSION

The major version of GTK found.

GTK2_MINOR_VERSION

The minor version of GTK found.

GTK2_PATCH_VERSION

The patch version of GTK found.

GTK2_INCLUDE_DIRS

Include directories containing headers needed to use GTK.

GTK2_LIBRARIES

Libraries needed to link against to use GTK.

GTK2_TARGETS

在 3.5 版被加入.

A list of all defined imported targets.

GTK2_DEFINITIONS

Additional compiler flags needed to use GTK.

輸入變數

This module accepts the following optional variables before calling the find_package(GTK2):

GTK2_DEBUG

Boolean variable that enables verbose debugging output of this module.

GTK2_ADDITIONAL_SUFFIXES

A list of additional path suffixes to search for include files.

GTK2_USE_IMPORTED_TARGETS

在 3.5 版被加入.

When this variable is set to boolean true, GTK2_LIBRARIES variable will contain a list imported targets instead of library paths.

範例

Examples: Finding GTK version 2

Call find_package() once. Here are some examples to pick from.

Require GTK 2.6 or later:

find_package(GTK2 2.6 REQUIRED COMPONENTS gtk)

Require GTK 2.10 or later and its Glade component:

find_package(GTK2 2.10 REQUIRED COMPONENTS gtk glade)

Search for GTK/GTKMM 2.8 or later:

find_package(GTK2 2.8 COMPONENTS gtk gtkmm)

Finding GTK 2 and linking it to a project target:

find_package(GTK2)
add_executable(mygui mygui.cc)
target_link_libraries(mygui PRIVATE GTK2::gtk)

Examples: Finding GTK version 3 or later

Finding GTK 3 with FindPkgConfig instead of this module:

find_package(PkgConfig REQUIRED)
pkg_check_modules(GTK3 REQUIRED IMPORTED_TARGET gtk+-3.0>=3.14)
target_link_libraries(example PRIVATE PkgConfig::GTK3)

Or similarly to find GTK 4:

find_package(PkgConfig REQUIRED)
pkg_check_modules(GTK4 REQUIRED IMPORTED_TARGET gtk4>=4.14)
target_link_libraries(example PRIVATE PkgConfig::GTK4)