# cmake_minimum_required(VERSION 3.22)

# project(pyfastiso VERSION 1.0 LANGUAGES CXX)

# if(CMAKE_BUILD_TYPE STREQUAL "")
#     set(CMAKE_BUILD_TYPE Release)
# endif()

# # =======================================
# # PYTHON MODULE (si pybind11)
# # =======================================
# file(GLOB_RECURSE pyfastiso_sources ${CMAKE_SOURCE_DIR}/pyfastiso/*.cpp ${CMAKE_SOURCE_DIR}/cppfastiso/*.hpp ${CMAKE_SOURCE_DIR}/header/*.hpp)

# add_library(${PROJECT_NAME} MODULE ${pyfastiso_sources})

# target_include_directories(${PROJECT_NAME}
#     PRIVATE ${CMAKE_SOURCE_DIR}
#     PRIVATE ${CMAKE_SOURCE_DIR}/header
#     PRIVATE ${CMAKE_SOURCE_DIR}/cppfastiso
#     PRIVATE ${CMAKE_BINARY_DIR}
# )

# # target_link_options(${PROJECT_NAME} PRIVATE -static-libstdc++ -static-libgcc)
# if (CMAKE_CXX_COMPILER_ID STREQUAL "GNU")
#     target_link_options(${PROJECT_NAME} PRIVATE -static-libstdc++ -static-libgcc)
# elseif (CMAKE_CXX_COMPILER_ID MATCHES "Clang")
#     message(STATUS "Clang detected — skipping static linking of libstdc++ and libgcc")
# endif()


# # find_package(Python3 REQUIRED COMPONENTS Development)
# # =======================================
# # Trouver Python + pybind11
# # =======================================
# find_package(Python3 COMPONENTS Interpreter Development REQUIRED)
# find_package(pybind11 REQUIRED)
# target_include_directories(${PROJECT_NAME} PRIVATE ${Python3_INCLUDE_DIRS})
# target_link_libraries(${PROJECT_NAME} PRIVATE ${Python3_LIBRARIES})

# set_target_properties(${PROJECT_NAME} PROPERTIES
#     LIBRARY_OUTPUT_NAME ${PROJECT_NAME}
#     PREFIX ""
# )

# install(TARGETS pyfastiso DESTINATION lib)
# install(TARGETS pyfastiso
#     LIBRARY DESTINATION .   # copie directement dans cmake_install_dir
# )


# cmake_minimum_required(VERSION 3.22)
# project(fastiso VERSION 1.0 LANGUAGES CXX)

# set(CMAKE_CXX_STANDARD 17)
# set(CMAKE_BUILD_TYPE Release)

# -----------------------------
# Trouver Python
# -----------------------------
find_package(Python3 COMPONENTS Interpreter Development REQUIRED)

# -----------------------------
# Télécharger pybind11 automatiquement
# -----------------------------
include(FetchContent)

FetchContent_Declare(
  pybind11
  GIT_REPOSITORY https://github.com/pybind/pybind11.git
  GIT_TAG v2.12.0
)

FetchContent_MakeAvailable(pybind11)

# -----------------------------
# Sources
# -----------------------------

file(GLOB_RECURSE PYFASTISO_SOURCES ${CMAKE_SOURCE_DIR}/fastiso/*.cpp ${CMAKE_SOURCE_DIR}/cppfastiso/*.cpp)

# -----------------------------
# MODULE PYTHON
# -----------------------------
pybind11_add_module(fastiso ${PYFASTISO_SOURCES})

target_include_directories(fastiso
    PRIVATE ${CMAKE_SOURCE_DIR}/cppfastiso
    PRIVATE ${CMAKE_SOURCE_DIR}/header
)

set_target_properties(fastiso PROPERTIES
    PREFIX ""
    LIBRARY_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/fastiso
)

# --------------------------------------
# INSTALLATION
# --------------------------------------
install(TARGETS fastiso
        LIBRARY DESTINATION ./)  # pyfastiso est le sous-dossier Python package