cmake_minimum_required(VERSION 3.10.0)
project(ConsoleLib VERSION 0.1.0 LANGUAGES C CXX)

option(ConsoleLib_BUILD_EXAMPLES "Build ConsoleLib examples" ON)

# 静态库：Linux/macOS 生成 libConsoleLib.a，Windows 生成 ConsoleLib.lib
add_library(ConsoleLib STATIC ConsoleLib.cpp include/ConsoleLib.h)

# 共享库：Linux/macOS 生成 libConsoleLib.so，Windows 生成 ConsoleLib.dll
add_library(ConsoleLib_shared SHARED ConsoleLib.cpp)

target_include_directories(ConsoleLib PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/include)
target_include_directories(ConsoleLib_shared PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/include)

set_target_properties(ConsoleLib_shared PROPERTIES
    OUTPUT_NAME ConsoleLib
    WINDOWS_EXPORT_ALL_SYMBOLS ON
)

if(ConsoleLib_BUILD_EXAMPLES)
  add_subdirectory(example)
endif()
