cmake_minimum_required(VERSION 3.16)

project(pepm VERSION 0.2.0 LANGUAGES CXX)

include(GNUInstallDirs)

set(CMAKE_CXX_STANDARD 17)
set(CMAKE_CXX_STANDARD_REQUIRED ON)
set(CMAKE_CXX_EXTENSIONS OFF)

add_executable(pepm
    src/main.cpp
    src/pepm.cpp
    src/tracker.cpp
    src/http_server.cpp
)

target_include_directories(pepm PRIVATE include)

if(APPLE OR UNIX)
    target_compile_definitions(pepm PRIVATE PEPM_POSIX=1)
endif()

if(SKBUILD)
    install(TARGETS pepm RUNTIME DESTINATION "${SKBUILD_PLATLIB_DIR}/pepm")
else()
    install(TARGETS pepm RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR})
endif()

set(CPACK_PACKAGE_NAME "pepm")
set(CPACK_PACKAGE_VENDOR "pepm")
set(CPACK_PACKAGE_CONTACT "Rakshit Verma")
set(CPACK_PACKAGE_DESCRIPTION_SUMMARY "Python environment, package, code-flow, and Git dashboard manager")
set(CPACK_PACKAGE_VERSION ${PROJECT_VERSION})
set(CPACK_DEBIAN_PACKAGE_SECTION "devel")
set(CPACK_DEBIAN_PACKAGE_PRIORITY "optional")
set(CPACK_DEBIAN_FILE_NAME DEB-DEFAULT)
set(CPACK_DEBIAN_PACKAGE_SHLIBDEPS ON)

include(CPack)
