What is the recommended way of using GLib2 with CMake
In your CMakeLists.txt:
find_package(PkgConfig REQUIRED)
pkg_search_module(GLIB REQUIRED glib-2.0)
target_include_directories(mytarget PRIVATE ${GLIB_INCLUDE_DIRS})
target_link_libraries(mytarget INTERFACE ${GLIB_LDFLAGS})
Since CMake 3.6 (released in July 2016), pkg_check_modules
supports IMPORTED_TARGET
argument, reducing the dependency configuration to a single target_link_libraries
statement, which will take care of all required compiler and linker options:
find_package(PkgConfig REQUIRED)
pkg_check_modules(deps REQUIRED IMPORTED_TARGET glib-2.0)
target_link_libraries(target PkgConfig::deps)
(above I used the name deps
because one can list multiple dependencies with a single pkg_check_modules
statement)