add_library(structive_property_extensions STATIC "${CMAKE_CURRENT_LIST_DIR}/src/presentation.cpp")
add_library(structive::property_extensions ALIAS structive_property_extensions)
target_include_directories(structive_property_extensions PUBLIC "${CMAKE_CURRENT_LIST_DIR}/include")
target_link_libraries(structive_property_extensions PUBLIC structive::property_core)
target_compile_features(structive_property_extensions PUBLIC cxx_std_20)
if (CMAKE_CXX_COMPILER_ID MATCHES "GNU|Clang")
    target_compile_options(structive_property_extensions PRIVATE -Wall -Wextra -Wpedantic)
endif ()
add_executable(structive_property_extensions_example "${CMAKE_CURRENT_LIST_DIR}/example/main.cpp")
target_link_libraries(structive_property_extensions_example PRIVATE structive::property_extensions)
if (BUILD_TESTING)
    add_executable(structive_property_extensions_test "${CMAKE_CURRENT_LIST_DIR}/tests/presentation_test.cpp")
    target_link_libraries(structive_property_extensions_test PRIVATE structive::property_extensions)
    if (CMAKE_CXX_COMPILER_ID MATCHES "GNU|Clang")
        target_compile_options(structive_property_extensions_test PRIVATE -Wall -Wextra -Wpedantic)
    endif ()
    add_test(NAME structive_property_extensions_test COMMAND structive_property_extensions_test)
endif ()
