sandsmark / freeaoe

A free game engine capable of running Age of Empires 2 and Star Wars: Galactic Battlegrounds
GNU General Public License v3.0
204 stars 20 forks source link

CMake does not find SFML #8

Open minsc78 opened 3 years ago

minsc78 commented 3 years ago

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?

wenlianglaw commented 3 years ago

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})