与SDL2一起构建SDL2_image(以及类似情况)

3
我有以下情况:
  1. 我直接从 Github 镜像使用 SDL2 (源代码) 作为依赖项
  2. 我也在使用 SDL2_image (源代码) 作为类似的依赖项
  3. 我的 CMake 项目包括了这两个依赖项,使用 add_subdirectory
问题在于,SDL2_image 尝试使用 find_package 查找 SDL2,但正如我所提到的,我正在构建 SDL2 与我的项目一起工作,因此 find_package 在系统中找不到它。之后,我将 SDL2_DIR 设置为指向正确的目录,但是,在最受欢迎的非官方仓库之一的SDL2Config.cmake 文件中,只包含无效文件,从而破坏了整个项目。
问题是,我该如何妥善解决这个问题?我已经将所有依赖项从源代码中构建出来,并与项目一起工作得很好。当然,我可以单独构建 SDL2_image 并包含二进制文件,但我认为这不是一个好的解决方案。

你用了哪个仓库(和 CMake 文件)来使用 SDL2_Image?这可能只需要提供自己的 FindSDL2.cmake 文件,该文件链接到你正在构建的 SDL2 目标即可。 - Botje
我正在使用这个仓库 https://github.com/SDL-mirror/SDL_image - mrAndersen
1个回答

1
创建一个名为FindSDL2.cmake的文件,内容如下:
add_library(SDL2::SDL2 ALIAS SDL2)

通过将路径添加到CMAKE_MODULE_PATHCMAKE_PREFIX_PATH中,确保find_package首先看到此文件。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接