cmake_minimum_required(VERSION 3.10)
project(monodropdom)

set(CMAKE_CXX_STANDARD 11)

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

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

#set(CMAKE_CXX_STANDARD 17)
set(CMAKE_CXX_STANDARD_REQUIRED ON)

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


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

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

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

# Ustawienie domyślnej ścieżki instalacji na sztywno (/opt/moj_program)
if(CMAKE_INSTALL_PREFIX_INITIALIZED_TO_DEFAULT)
    set(CMAKE_INSTALL_PREFIX "/opt/pietraszczyk/" CACHE PATH "Domyślna ścieżka instalacji" FORCE)
endif()


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


install(FILES Resources/icon.png DESTINATION monodropdom/img)

# Znajdź ścieżkę do pliku .desktop
set(DESKTOP_FILE "Monodropdom.desktop")

# Skonfiguruj plik .desktop z odpowiednimi ścieżkami
configure_file(
    ${CMAKE_CURRENT_SOURCE_DIR}/${DESKTOP_FILE}
    ${CMAKE_CURRENT_BINARY_DIR}/${DESKTOP_FILE}
    @ONLY
)

# Instalacja pliku .desktop do systemowego katalogu
install(
    FILES ${CMAKE_CURRENT_BINARY_DIR}/${DESKTOP_FILE}
    DESTINATION /usr/share/applications
    COMPONENT desktop
)

# 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..."
)
