[Solved] How to use pkg-config in CMake (juCi++)


If your IDE handles CMake and Meson, it should be able to detect your project files. I’d say go for Meson, it’s the future, and CMake syntax has a few quirks that Meson doesn’t.

Meson:

Meson documentation

He’s a basic meson.build that expects to find your application code in main.c and produces a binary named gtk3-test.

project('gtk3-test', 'c')

cc = meson.get_compiler('c')
deps = dependency ('gtk+-3.0')
sources = ['main.c']

executable('gtk3-test', sources, dependencies: deps)

CMake

CMake documentation

For CMake, just give a look at my answer to How do I link gtk library more easily with cmake in windows? (which also works under Linux). It was for GTK+2, but adapting it to GTK+3 is easy, so here’s the CMakeLists.txt to use:

project (gtk3-test)
cmake_minimum_required (VERSION 2.4)

find_package (PkgConfig REQUIRED)
pkg_check_modules (GTK3 REQUIRED gtk+-3.0)

include_directories (${GTK3_INCLUDE_DIRS})
link_directories (${GTK3_LIBRARY_DIRS})
add_executable (gtk3-test main.c)
add_definitions (${GTK3_CFLAGS_OTHER})
target_link_libraries (gtk3-test ${GTK3_LIBRARIES})

2

solved How to use pkg-config in CMake (juCi++)