cmake_minimum_required(VERSION 3.12)
project(PyCDisk)

set(CMAKE_CXX_STANDARD 17)

# Автоматическое скачивание pybind11
include(FetchContent)
FetchContent_Declare(
  pybind11
  GIT_REPOSITORY https://github.com/pybind/pybind11.git
  GIT_TAG        v2.12.0
)
FetchContent_MakeAvailable(pybind11)

# Определение исходных файлов
set(SOURCE_FILES
    src/cpp/DiskManager.cpp
    src/cpp/bindings.cpp
)

# Создание модуля Python
pybind11_add_module(_core ${SOURCE_FILES})

# Подключение заголовочных файлов
target_include_directories(_core PRIVATE src/cpp)

# На Windows нам нужны специфичные библиотеки
if(WIN32)
    target_link_libraries(_core PRIVATE Setupapi.lib)
endif()
