freeaoe icon indicating copy to clipboard operation
freeaoe copied to clipboard

CMake does not find SFML

Open minsc78 opened this issue 3 years ago • 1 comments

My system passed cmake's checks, but it did not compile so I had to get the latest versions of cmake, gcc, g++. Then even though I had installed SFML (sudo apt install libsfml-dev) I got this error message:

CMake Error at CMakeLists.txt:121 (find_package): By not providing "FindSFML.cmake" in CMAKE_MODULE_PATH this project has asked CMake to find a package configuration file provided by "SFML", but CMake did not find one.

So I had to download the latest version of SFML (https://www.sfml-dev.org/download/sfml/2.5.1/) and add this to CMakeLists.txt to make it work:

set(SFML_INCLUDE_DIR "~/sfml/include") set(SFML_LIBRARY_DIR "~/sfml/lib") set(SFML_DIR "~/sfml/lib/cmake/SFML") link_directories(SFML_LIBRARY_DIR) include_directories(SFML_INCLUDE_DIR)

Why didn't it find SFML automatically on the standard installation directories?

minsc78 avatar Jun 13 '21 19:06 minsc78

Create a file "FindSFML.cmake" in your Cmake Module directory, for example: "E:\Program Files\CMake\share\cmake-3.21\Modules" and then fill these, I think this will work in the future. Seems that Cmake removed the SFML.cmake in the newer version.

...
include_directories(${SFML_INCLUDE_DIR})
link_directories(${SFML_LIB_DIR})

wenlianglaw avatar Aug 04 '21 19:08 wenlianglaw