cmake_minimum_required(VERSION 3.22.1)

project(mini7_pcr LANGUAGES C CXX)

add_library(
    pcr_native
    SHARED
    pcr_native.cpp
    third_party/cminpack/src/dpmpar.c
    third_party/cminpack/src/enorm.c
    third_party/cminpack/src/fdjac2.c
    third_party/cminpack/src/lmdif.c
    third_party/cminpack/src/lmpar.c
    third_party/cminpack/src/qrfac.c
    third_party/cminpack/src/qrsolv.c
)

target_compile_definitions(pcr_native PRIVATE CMINPACK_NO_DLL)
target_compile_features(pcr_native PRIVATE cxx_std_17)
target_include_directories(
    pcr_native
    PRIVATE
    third_party/cminpack/include
    third_party/cminpack/src
)

find_library(log_library log)
target_link_libraries(pcr_native PRIVATE ${log_library})

