Оглядываясь в сети, я видел много такого кода:
include(FindPkgConfig)
pkg_search_module(SDL2 REQUIRED sdl2)
target_include_directories(app SYSTEM PUBLIC ${SDL2_INCLUDE_DIRS}
target_link_libraries(app ${SDL2_LIBRARIES})
Однако это кажется неправильным способом, поскольку он использует только каталоги и библиотеки include, но игнорирует определения, пути к библиотекам и другие флаги, которые могут быть возвращены pkg-config
.
Как правильно сделать это и убедиться, что все флаги компиляции и ссылки, возвращаемые pkg-config
, используются скомпилированным app
? И есть ли одна команда для этого, то есть что-то вроде target_use(app SDL2)
?
ссылка: