You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

35 lines
1.2 KiB
CMake

cmake_minimum_required(VERSION 3.5)
project(sliding-puzzle LANGUAGES CXX)
set(CMAKE_CXX_STANDARD 17)
set(CMAKE_CXX_STANDARD_REQUIRED ON)
set(SOURCES application.cpp board.cpp main.cpp)
set(HEADER_FILES application.h board.h filepath_util.h output_util.h)
set(SFML_STATIC_LIBRARIES TRUE) #set to FALSE if you have sfml installed from package manager and you don't want to link it statically
# STATIC #
# You need to build SFML from sources with cmake
if (SFML_STATIC_LIBRARIES)
set(SFML_LIB_DIR
${CMAKE_SOURCE_DIR}/SFML-2.5.1/lib/libsfml-graphics.so
${CMAKE_SOURCE_DIR}/SFML-2.5.1/lib/libsfml-system.so
${CMAKE_SOURCE_DIR}/SFML-2.5.1/lib/libsfml-window.so)
set(SFML_INCL_DIR ${CMAKE_SOURCE_DIR}/SFML-2.5.1/include)
include_directories(${SFML_INCL_DIR})
add_executable(sliding-puzzle ${SOURCES} ${HEADER_FILES} )
target_link_libraries(sliding-puzzle ${SFML_LIB_DIR})
endif()
# DYNAMIC #
# You only need to install SFML from your package manager
if (NOT SFML_STATIC_LIBRARIES)
find_package(SFML REQUIRED graphics window system)
include_directories(${SFML_INCLUDE_DIR})
add_executable(sliding-puzzle ${SOURCES} ${HEADER_FILES} )
target_link_libraries(sliding-puzzle ${SFML_LIBRARIES} ${SFML_DEPENDENCIES})
endif()