Skip to content

Commit c8ca27a

Browse files
authored
Add missing -ldl to unix-style OS:es (#4)
1 parent 5334ecc commit c8ca27a

File tree

1 file changed

+13
-9
lines changed

1 file changed

+13
-9
lines changed

CMakeLists.txt

Lines changed: 13 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -27,37 +27,39 @@ if (DYNLOAD_IMPORT)
2727
add_library(dynl::dynl_headers ALIAS dynl_headers)
2828
target_include_directories(dynl_headers INTERFACE
2929
include
30-
)
30+
)
3131
target_compile_features(dynl_headers INTERFACE cxx_std_20)
3232

3333
if (DYNLOAD_USE_EXCEPTIONS)
3434
else ()
3535
target_compile_definitions(dynl_shared PRIVATE
3636
"DYNLOAD_NO_EXCEPTIONS=1"
37-
)
37+
)
3838
endif ()
3939

4040
if (DYNLOAD_HEADERONLY)
41-
set(DYNLOAD_LIB_TYPE INTERFACE)
42-
set(DYNLOAD_PUBLIC_LINK_TYPE INTERFACE)
41+
set(DYNLOAD_LIB_TYPE INTERFACE)
42+
set(DYNLOAD_PUBLIC_LINK_TYPE INTERFACE)
4343
else ()
44-
set(DYNLOAD_LIB_TYPE "")
45-
set(DYNLOAD_PUBLIC_LINK_TYPE PUBLIC)
44+
set(DYNLOAD_LIB_TYPE "")
45+
set(DYNLOAD_PUBLIC_LINK_TYPE PUBLIC)
4646
endif ()
4747

4848
add_library(dynl ${DYNLOAD_LIB_TYPE})
4949
add_library(dynl::dynl ALIAS dynl)
5050
target_link_libraries(dynl ${DYNLOAD_PUBLIC_LINK_TYPE}
5151
dynl::dynl_headers
5252
${DYNLOAD_DEV_LINK}
53-
)
53+
)
5454
if (DYNLOAD_COMPILE_PLATFORM)
5555
if (WIN32)
5656
set(DYNL_SRC src/dynl_win32.cpp)
5757
set(DYNL_PLATFORM DYNL_WINDOWS=1)
58+
set(DYNL_EXTRA_LINK "")
5859
elseif (UNIX)
5960
set(DYNL_SRC src/dynl_unix.cpp)
6061
set(DYNL_PLATFORM DYNL_UNIX=1)
62+
set(DYNL_EXTRA_LINK dl)
6163
else ()
6264
message(SEND_ERROR "Dynload: no automatic backend available! Use custom defined source file")
6365
endif ()
@@ -66,16 +68,18 @@ if (DYNLOAD_IMPORT)
6668
set(DYNL_SRC "")
6769
set(DYNL_PLATFORM "")
6870
endif ()
69-
if(DYNLOAD_HEADERONLY)
71+
if (DYNLOAD_HEADERONLY)
7072
target_compile_definitions(dynl INTERFACE DYNLOAD_HEADERONLY=1 ${DYNL_PLATFORM})
73+
target_link_libraries(dynl INTERFACE ${DYNL_EXTRA_LINK})
7174
else ()
7275
target_sources(dynl PRIVATE ${DYNL_SRC})
76+
target_link_libraries(dynl PRIVATE ${DYNL_EXTRA_LINK})
7377
endif ()
7478
endif ()
7579
if (DYNLOAD_EXPORT)
7680
add_library(dynl_export INTERFACE)
7781
add_library(dynl::dynl_export ALIAS dynl_export)
7882
target_include_directories(dynl_export INTERFACE
7983
export_include
80-
)
84+
)
8185
endif ()

0 commit comments

Comments
 (0)