From de4a39d3c77f24c080adaba5546c75a7f4899fc1 Mon Sep 17 00:00:00 2001 From: Silvio Traversaro Date: Thu, 24 Aug 2017 21:43:59 +0100 Subject: Document how to use the library when using CMake --- README.md | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/README.md b/README.md index 27f36e7..228bd98 100644 --- a/README.md +++ b/README.md @@ -20,6 +20,17 @@ http://www.opengroup.org/onlinepubs/009695399/functions/dlopen.html Using This Library ------------------ +### Using CMake +Once the library has been installed, add to your project `CMakeLists.txt` : +~~~ +... +find_package(dlfcn-win32 REQUIRED) +... +target_link_libraries( dlfcn-win32::dl) +... +~~~ + +### Linking caveat This library uses the Process Status API in Windows (`psapi.lib`). If you are linking to the static `dl.lib` or `libdl.a`, then you would need to explicitly add `psapi.lib` or `-lpsapi` to your linking command, depending on if MinGW is -- cgit v1.2.3-55-g6feb From b30b758efb90aaf2bc96b034c117c8f21490c54e Mon Sep 17 00:00:00 2001 From: Silvio Traversaro Date: Thu, 24 Aug 2017 21:50:51 +0100 Subject: Mention the possibility of defining CMAKE_DL_LIBS --- README.md | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/README.md b/README.md index 228bd98..6e8ec21 100644 --- a/README.md +++ b/README.md @@ -29,6 +29,19 @@ find_package(dlfcn-win32 REQUIRED) target_link_libraries( dlfcn-win32::dl) ... ~~~ +If you want to use this library in a cross-platform project, a convenient way +to proceed is to define the CMake variable [`CMAKE_DL_LIBS`](https://cmake.org/cmake/help/latest/variable/CMAKE_DL_LIBS.html) +(that is normally empty on Windows) and then use it for linking: +~~~ +... +if (WIN32) + find_package(dlfcn-win32 REQUIRED) + set(CMAKE_DL_LIBS dlfcn-win32::dl) +endif () +... +target_link_libraries( ${CMAKE_DL_LIBS}) +... +~~~ ### Linking caveat This library uses the Process Status API in Windows (`psapi.lib`). If you are -- cgit v1.2.3-55-g6feb