Как проверить SDL2_ttf в CMakeLists.txt?

В настоящее время я пишу программу SDL2 с библиотекой SDL2-ttf и хотел добавить проверку для нее в CMakeLists.txt. Как я могу это сделать?

Я использую CMake 3.1.


person LocalToast    schedule 15.03.2015    source источник
comment
Я изменил ваш заголовок, чтобы удалить из него тег и включить более конкретный определитель.   -  person Nathan Tuggy    schedule 15.03.2015
comment
Вы когда-нибудь находили рабочий ответ для этого? Я почти уверен, что приведенный ниже ответ arved не работает для SDL2.   -  person xaxxon    schedule 14.12.2015


Ответы (2)


FindSDL_ttf.cmake является частью cmake 3.x, просто используйте

find_package(SDL_ttf REQUIRED)
person arved    schedule 16.03.2015
comment
Насколько я понимаю, это не работает для SDL2 (как задано в вопросе), только для оригинального SDL. Мне сказали об этом на freenode #cmake, и у меня это тоже не работает. - person xaxxon; 14.12.2015
comment
Вы проверили этот вопрос: stackoverflow.com/questions/23850472/ - person arved; 14.12.2015

FindSDL_ttf не работает с SDL2, поэтому вам придется использовать сторонний вариант.

Я использовал это, и оно работает: https://raw.githubusercontent.com/Deraen/ohj2710/master/cmake_modules/FindSDL2TTF.cmake

Просто поместите его в каталог, включенный set(CMAKE_MODULE_PATH /path/to/file)

а затем использовать его find_package(SDL2TTF)

person xaxxon    schedule 14.12.2015
comment
Кажется, я не могу заставить это работать... Я добавил set(cmake_module_path /home/user/project), указанный выше связанный файл я сохранил в местоположении /home/user/project, затем я также добавил find_package(SDL2TTF REQUIRED) и target_link_libraries(projectname ${SDL2_LIBRARIES} ${SDL2TTF_LIBRARIES}) в свой CMakeLists.txt. Есть идеи, что случилось? - person FreelanceConsultant; 09.02.2018
comment
Исправлено: должно быть SDL2TTF_LIBRARY - person FreelanceConsultant; 09.02.2018
comment
Да, вот что у меня есть: target_link_libraries(my_target ${SDL2_LIBRARY} ${SDL2TTF_LIBRARY}) - person xaxxon; 09.02.2018