@@ -27,37 +27,39 @@ if (DYNLOAD_IMPORT)
27
27
add_library (dynl::dynl_headers ALIAS dynl_headers )
28
28
target_include_directories (dynl_headers INTERFACE
29
29
include
30
- )
30
+ )
31
31
target_compile_features (dynl_headers INTERFACE cxx_std_20 )
32
32
33
33
if (DYNLOAD_USE_EXCEPTIONS )
34
34
else ()
35
35
target_compile_definitions (dynl_shared PRIVATE
36
36
"DYNLOAD_NO_EXCEPTIONS=1"
37
- )
37
+ )
38
38
endif ()
39
39
40
40
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 )
43
43
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 )
46
46
endif ()
47
47
48
48
add_library (dynl ${DYNLOAD_LIB_TYPE} )
49
49
add_library (dynl::dynl ALIAS dynl )
50
50
target_link_libraries (dynl ${DYNLOAD_PUBLIC_LINK_TYPE}
51
51
dynl::dynl_headers
52
52
${DYNLOAD_DEV_LINK}
53
- )
53
+ )
54
54
if (DYNLOAD_COMPILE_PLATFORM )
55
55
if (WIN32 )
56
56
set (DYNL_SRC src/dynl_win32.cpp )
57
57
set (DYNL_PLATFORM DYNL_WINDOWS=1 )
58
+ set (DYNL_EXTRA_LINK "" )
58
59
elseif (UNIX )
59
60
set (DYNL_SRC src/dynl_unix.cpp )
60
61
set (DYNL_PLATFORM DYNL_UNIX=1 )
62
+ set (DYNL_EXTRA_LINK dl )
61
63
else ()
62
64
message (SEND_ERROR "Dynload: no automatic backend available! Use custom defined source file" )
63
65
endif ()
@@ -66,16 +68,18 @@ if (DYNLOAD_IMPORT)
66
68
set (DYNL_SRC "" )
67
69
set (DYNL_PLATFORM "" )
68
70
endif ()
69
- if (DYNLOAD_HEADERONLY )
71
+ if (DYNLOAD_HEADERONLY )
70
72
target_compile_definitions (dynl INTERFACE DYNLOAD_HEADERONLY=1 ${DYNL_PLATFORM} )
73
+ target_link_libraries (dynl INTERFACE ${DYNL_EXTRA_LINK} )
71
74
else ()
72
75
target_sources (dynl PRIVATE ${DYNL_SRC} )
76
+ target_link_libraries (dynl PRIVATE ${DYNL_EXTRA_LINK} )
73
77
endif ()
74
78
endif ()
75
79
if (DYNLOAD_EXPORT )
76
80
add_library (dynl_export INTERFACE )
77
81
add_library (dynl::dynl_export ALIAS dynl_export )
78
82
target_include_directories (dynl_export INTERFACE
79
83
export_include
80
- )
84
+ )
81
85
endif ()
0 commit comments