cmake_minimum_required(VERSION 3.14)
project(xlsx_reader VERSION 1.0.0 LANGUAGES CXX)

set(CMAKE_CXX_STANDARD 17)
set(CMAKE_CXX_STANDARD_REQUIRED ON)
set(CMAKE_POSITION_INDEPENDENT_CODE ON)

set(CMAKE_CXX_VISIBILITY_PRESET hidden)
set(CMAKE_VISIBILITY_INLINES_HIDDEN ON)

include(FetchContent)

add_subdirectory(third_party/OpenXLSX)

set(OPENXLSX_STATIC ON CACHE BOOL "Build OpenXLSX as static library")
FetchContent_MakeAvailable(OpenXLSX)

add_library(xlsx_reader SHARED src/xlsx_reader.cpp)

target_include_directories(xlsx_reader PUBLIC include)

target_link_libraries(xlsx_reader PRIVATE OpenXLSX::OpenXLSX)

target_compile_definitions(xlsx_reader PRIVATE XLSX_BUILD_SHARED)
