#=======================================================================================================================
# Preamble
#=======================================================================================================================
cmake_minimum_required(VERSION 3.15 FATAL_ERROR)
project(OpenXLSX.Examples)
list(APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/cmake")

#=======================================================================================================================
# Include boost::nowide library (required for Demo4)
#=======================================================================================================================
if (WIN32)
    add_subdirectory(external/nowide EXCLUDE_FROM_ALL)
endif()

#=======================================================================================================================
# Define Demo1 target
#=======================================================================================================================
add_executable(Demo1 Demo1.cpp)
target_link_libraries(Demo1 PRIVATE OpenXLSX::OpenXLSX)

#=======================================================================================================================
# Define Demo1A target
#=======================================================================================================================
if(${OPENXLSX_ENABLE_LIBZIP})
    find_package(LIBZIP MODULE REQUIRED)
    add_executable(Demo1A Demo1A.cpp)
    target_link_libraries(Demo1A PRIVATE OpenXLSX::OpenXLSX libzip::zip)
endif()

#=======================================================================================================================
# Define Demo2 target
#=======================================================================================================================
add_executable(Demo2 Demo2.cpp)
target_link_libraries(Demo2 PRIVATE OpenXLSX::OpenXLSX)

#=======================================================================================================================
# Define Demo3 target
#=======================================================================================================================
add_executable(Demo3 Demo3.cpp)
target_link_libraries(Demo3 PRIVATE OpenXLSX::OpenXLSX)

#=======================================================================================================================
# Define Demo4 target
#=======================================================================================================================
add_executable(Demo4 Demo4.cpp)
target_link_libraries(Demo4 PRIVATE OpenXLSX::OpenXLSX)
if (WIN32)
    target_link_libraries(Demo4 PRIVATE nowide::nowide)
endif()

if (OPENXLSX_ENABLE_NOWIDE)
    target_compile_definitions(Demo4 PRIVATE ENABLE_NOWIDE)
endif ()

#=======================================================================================================================
# Define Demo9 target
#=======================================================================================================================
add_executable(Demo5 Demo5.cpp)
target_link_libraries(Demo5 PRIVATE OpenXLSX::OpenXLSX)

#=======================================================================================================================
# Define Demo6 target
#=======================================================================================================================
add_executable(Demo6 Demo6.cpp)
target_link_libraries(Demo6 PRIVATE OpenXLSX::OpenXLSX)

#=======================================================================================================================
# Define Demo7 target
#=======================================================================================================================
add_executable(Demo7 Demo7.cpp)
target_link_libraries(Demo7 PRIVATE OpenXLSX::OpenXLSX)

#=======================================================================================================================
# Define Demo8 target
#=======================================================================================================================
add_executable(Demo8 Demo8.cpp)
target_link_libraries(Demo8 PRIVATE OpenXLSX::OpenXLSX)

#=======================================================================================================================
# Define Demo9 target
#=======================================================================================================================
add_executable(Demo9 Demo9.cpp)
target_link_libraries(Demo9 PRIVATE OpenXLSX::OpenXLSX)

#=======================================================================================================================
# Define Demo10 target
#=======================================================================================================================
add_executable(Demo10 Demo10.cpp)
target_link_libraries(Demo10 PRIVATE OpenXLSX::OpenXLSX)
