CMAKE_DL_LIBS ------------- This variable contains a name of the dynamic loading library, or a list of system libraries needed to use the ``dlopen()`` and ``dlclose()`` functions. Few examples of the values this variable is set to: ``dl`` On most Unix-like systems. ``-lld`` On AIX, prior to CMake 4.2. ``dld`` On HP-UX. "" Empty string value or not set on systems that have ``dl*()`` functions either in the default library that is implicitly linked (e.g., BSD-like systems, Haiku, macOS, SunOS, etc.), or on systems that don't provide these functions (e.g., Windows). Examples ^^^^^^^^ Example: Linking Dynamic Loading Library """""""""""""""""""""""""""""""""""""""" Using this variable in a project that uses dynamic loading functionality: .. code-block:: cmake target_link_libraries(example PRIVATE ${CMAKE_DL_LIBS}) Example: Checking Symbols """"""""""""""""""""""""" Checking for symbols with the dynamic loading library linked during the check: .. code-block:: cmake include(CheckSymbolExists) include(CMakePushCheckState) cmake_push_check_state(RESET) set(CMAKE_REQUIRED_LIBRARIES ${CMAKE_DL_LIBS}) check_symbol_exists(dlopen "dlfcn.h" HAVE_DLOPEN) cmake_pop_check_state()