35 lines
1.3 KiB
CMake
35 lines
1.3 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.2.5
|
|
${CMAKE_SOURCE_DIR}/SFML-2.5.1/lib/libsfml-system.so.2.5
|
|
${CMAKE_SOURCE_DIR}/SFML-2.5.1/lib/libsfml-window.so.2.5)
|
|
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()
|