cmake_minimum_required(VERSION 3.10)
project(movetheblock)

set(CMAKE_CXX_STANDARD 11)

# Znajdź bibliotekę SDL2
find_package(SDL2 REQUIRED)
find_package(Threads REQUIRED)

# Dodaj pliki źródłowe
set(SOURCES
    Sources/movetheblock.C
)

#set(CMAKE_CXX_STANDARD 17)
set(CMAKE_CXX_STANDARD_REQUIRED ON)

# Dodaj nagłówki
#set(HEADERS
#    include/myheader.h
#)


#add_executable(movetheblock ${SOURCES} ${HEADERS})
add_executable(movetheblock ${SOURCES})

# Dodaj plik źródłowy
#add_executable(movetheblock movetheblock.C)

# Połącz z bibliotekami SDL2 i pthread
target_include_directories(movetheblock PRIVATE ${SDL2_INCLUDE_DIRS})
# target_link_libraries(movetheblock ${SDL2_LIBRARIES} pthread)
target_link_libraries(movetheblock ${SDL2_LIBRARIES})
target_link_libraries(movetheblock Threads::Threads)

# Ustawienia instalacji
install(TARGETS movetheblock
	RUNTIME DESTINATION bin
#    LIBRARY DESTINATION lib
#    ARCHIVE DESTINATION lib
)

# Instalacja dodatkowych plików (np. konfiguracyjnych)
install(FILES Movetheblock.desktop DESTINATION share/applications/)
install(FILES Resources/icon.png DESTINATION share/movetheblock/img/)


# Sekcja uninstall
configure_file(
    "${CMAKE_SOURCE_DIR}/cmake_uninstall.cmake.in"
    "${CMAKE_CURRENT_BINARY_DIR}/cmake_uninstall.cmake"
    IMMEDIATE @ONLY
)
add_custom_target(uninstall
    COMMAND ${CMAKE_COMMAND} -P ${CMAKE_CURRENT_BINARY_DIR}/cmake_uninstall.cmake
    COMMENT "Uninstalling..."
)
