# CLI based examples
if(NOT SFML_OS_IOS)
    if(SFML_BUILD_NETWORK)
        add_subdirectory(ftp)
        add_subdirectory(sockets)
    endif()
    if(SFML_BUILD_NETWORK AND SFML_BUILD_AUDIO)
        add_subdirectory(voip)
    endif()
    if(SFML_BUILD_AUDIO)
        add_subdirectory(sound)
        add_subdirectory(sound_capture)
    endif()
endif()

# GUI based examples
if(SFML_BUILD_WINDOW)
    add_subdirectory(window)
endif()

if(SFML_BUILD_GRAPHICS)
    add_subdirectory(event_handling)
    add_subdirectory(opengl)
    add_subdirectory(stencil)

    if(NOT SFML_OS_IOS)
        add_subdirectory(joystick)
        add_subdirectory(shader)
        add_subdirectory(island)
        add_subdirectory(vulkan)
    endif()

    if(SFML_OS_WINDOWS)
        add_subdirectory(win32)
        add_subdirectory(raw_input)
    elseif(SFML_OS_LINUX OR SFML_OS_FREEBSD)
        if(NOT SFML_USE_DRM)
            add_subdirectory(X11)
            add_subdirectory(raw_input)
        endif()
    elseif(SFML_OS_MACOS)
        add_subdirectory(cocoa)
    endif()
endif()
if(SFML_BUILD_GRAPHICS AND SFML_BUILD_AUDIO)
    add_subdirectory(tennis)
    add_subdirectory(keyboard)

    if(NOT SFML_OPENGL_ES)
        add_subdirectory(sound_effects)
    endif()
endif()
