FindSDL_net
Finds the SDL_net library, a cross-platform network library for use with the SDL (Simple DirectMedia Layer) applications:
find_package(SDL_net [<version>] [...])
Note
This module is specifically intended for SDL_net version 1. Starting with version 2.1, SDL_net provides a CMake package configuration file when built with CMake and should be found using find_package(SDL2_net). These newer versions provide Imported Targets that encapsulate usage requirements. Refer to the official SDL documentation for more information.
Result Variables
This module defines the following variables:
-
SDL_net_FOUND -
Added in version 3.3.
Boolean indicating whether the (requested version of) SDL_net library was found.
-
SDL_net_VERSION -
Added in version 4.2.
The human-readable string containing the version of SDL_net found.
-
SDL_NET_INCLUDE_DIRS -
Include directories containing headers needed to use the SDL_net library.
-
SDL_NET_LIBRARIES -
Libraries needed to link against to use the SDL_net library.
Hints
This module accepts the following variables:
-
SDLDIR -
Environment variable that can be set to help locate an SDL library installed in a custom location. It should point to the installation destination that was used when configuring, building, and installing SDL library:
./configure --prefix=$SDLDIR.
Deprecated Variables
The following variables are provided for backward compatibility:
-
SDL_NET_VERSION_STRING -
Deprecated since version 4.2: Use
SDL_net_VERSION, which has the same value.The human-readable string containing the version of SDL_net found.
-
SDL_NET_FOUND -
Deprecated since version 4.2: Use
SDL_net_FOUND, which has the same value. -
SDLNET_FOUND -
Deprecated since version 2.8.10: Use
SDL_net_FOUND, which has the same value. -
SDLNET_INCLUDE_DIR -
Deprecated since version 2.8.10: Use
SDL_NET_INCLUDE_DIRS, which has the same value. -
SDLNET_LIBRARY -
Deprecated since version 2.8.10: Use
SDL_NET_LIBRARIES, which has the same value.
Examples
Finding SDL_net library and creating an imported interface target for linking it to a project target:
find_package(SDL_net)
if(SDL_net_FOUND AND NOT TARGET SDL::SDL_net)
add_library(SDL::SDL_net INTERFACE IMPORTED)
set_target_properties(
SDL::SDL_net
PROPERTIES
INTERFACE_INCLUDE_DIRECTORIES "${SDL_NET_INCLUDE_DIRS}"
INTERFACE_LINK_LIBRARIES "${SDL_NET_LIBRARIES}"
)
endif()
target_link_libraries(project_target PRIVATE SDL::SDL_net)
When working with SDL_net version 2, the upstream package provides the SDL2_net::SDL2_net imported target directly. It can be used in a project without using this module:
find_package(SDL2_net) target_link_libraries(project_target PRIVATE SDL2_net::SDL2_net)
See Also
- The
FindSDLmodule to find the main SDL library.
© 2000–2026 Kitware, Inc. and Contributors
Licensed under the BSD 3-clause License.
https://cmake.org/cmake/help/latest/module/FindSDL_net.html