Я пытаюсь связать SDL2 с моим исполняемым файлом с помощью CMake.
Вот так выглядит каталог моего проекта.По сути, я скачал исходный код SDL2 с их сайта и вставил его в ProjectRoot.
projectRoot/
SDL2/
include/
cmake/
...
CMakeLists.txt
SDL2Config.cmake
CMakeLists.txt
Я попытался добавить SDL2 в качестве подкаталога, как показано ниже (projectRoot / CMakeLists.txt):
cmake_minimum_required (VERSION 2.8)
project (myProject)
# SDL
add_subdirectory (SDL2 EXCLUDE_FROM_ALL)
target_include_directories (SDL2 PUBLIC $<BUILD_INTERFACE:${SDL2_SOURCE_DIR}/include>)
set (
SOURCE_FILES
src/game.cpp
src/main.cpp
src/sdlwrapper.cpp
)
add_executable (my_executable ${SOURCE_FILES})
target_include_directories (my_executable PRIVATE src)
target_link_libraries (my_executable SDL2)
Хотя это работает в моей среде Linux, он не может связать файлы DLL на моем компьютере с Windows.
Я думаю, было бы проще, если бы я мог установить SDL2 где-нибудь в ProjectRoot и использовать find_package
чтобы найти цели, чтобы я мог связать свой исполняемый файл с его библиотеками.
- Можно ли установить внешний проект CMake во время настройки?
- Как мне это сделать?найти внешние цели проекта?