@@ -9,39 +9,60 @@ get_filename_component(CPPINTEROP_INSTALL_PREFIX "${CPPINTEROP_INSTALL_PREFIX}"
9
9
# Determine CMAKE_SHARED_LIBRARY_SUFFIX based on operating system
10
10
include (CMakeSystemSpecificInformation)
11
11
12
+ if (MSVC )
13
+ set (shared_lib_dir bin)
14
+ else ()
15
+ set (shared_lib_dir lib)
16
+ endif ()
17
+
12
18
### build/install workaround
13
19
if (@BUILD_SHARED_LIBS @)
14
- set (__lib_suffix ${CMAKE_SHARED_LIBRARY_SUFFIX} )
15
- set (__lib_prefix ${CMAKE_SHARED_LIBRARY_PREFIX} )
20
+ set (_lib_suffix ${CMAKE_SHARED_LIBRARY_SUFFIX} )
21
+ set (_lib_prefix ${CMAKE_SHARED_LIBRARY_PREFIX} )
16
22
else ()
17
- set (__lib_suffix ${CMAKE_STATIC_LIBRARY_SUFFIX} )
18
- set (__lib_prefix ${CMAKE_STATIC_LIBRARY_PREFIX} )
23
+ set (_lib_suffix ${CMAKE_STATIC_LIBRARY_SUFFIX} )
24
+ set (_lib_prefix ${CMAKE_STATIC_LIBRARY_PREFIX} )
19
25
endif ()
20
26
21
27
if (IS_DIRECTORY "${CPPINTEROP_INSTALL_PREFIX} /include" )
22
28
set (_include "${CPPINTEROP_INSTALL_PREFIX} /include" )
23
- set (_libs "${CPPINTEROP_INSTALL_PREFIX} /lib /${__lib_prefix } clangCppInterOp${__lib_suffix } " )
29
+ set (_lib "${CPPINTEROP_INSTALL_PREFIX} /${shared_lib_dir} /${_lib_prefix } clangCppInterOp${_lib_suffix } " )
24
30
else ()
25
31
set (_include "@CMAKE_CURRENT_SOURCE_DIR@/include" )
26
- set (_libs "@CMAKE_CURRENT_BINARY_DIR@/lib /${__lib_prefix } clangCppInterOp${__lib_suffix } " )
32
+ set (_lib "@CMAKE_CURRENT_BINARY_DIR@/${shared_lib_dir} /${_lib_prefix } clangCppInterOp${_lib_suffix } " )
27
33
endif ()
28
34
29
35
###
30
36
31
37
set (CPPINTEROP_EXPORTED_TARGETS "clangCppInterOp" )
32
38
set (CPPINTEROP_CMAKE_DIR "${_cmake} " )
33
39
set (CPPINTEROP_INCLUDE_DIRS "${_include} " )
34
- set (CPPINTEROP_LIBRARIES "${_libs } " )
40
+ set (CPPINTEROP_LIBRARIES "${_lib } " )
35
41
36
42
# Provide all our library targets to users.
37
43
if (@BUILD_SHARED_LIBS @)
38
44
add_library (clangCppInterOp SHARED IMPORTED )
39
45
else ()
40
46
add_library (clangCppInterOp STATIC IMPORTED )
41
47
endif ()
42
- set_property (TARGET clangCppInterOp PROPERTY INTERFACE_INCLUDE_DIRECTORIES "${_include} " )
43
- set_property (TARGET clangCppInterOp PROPERTY IMPORTED_LOCATION "${_libs} " )
48
+ set_target_properties (clangCppInterOp PROPERTIES
49
+ INTERFACE_INCLUDE_DIRECTORIES ${_include}
50
+ IMPORTED_LOCATION ${_lib}
51
+ )
52
+ if (MSVC )
53
+ if (IS_DIRECTORY "${CPPINTEROP_INSTALL_PREFIX} /include" )
54
+ set (_static_lib "${CPPINTEROP_INSTALL_PREFIX} /lib/${_lib_prefix} clangCppInterOp.lib" )
55
+ else ()
56
+ set (_static_lib "@CMAKE_CURRENT_BINARY_DIR@/lib/${_lib_prefix} clangCppInterOp.lib" )
57
+ endif ()
58
+
59
+ set_target_properties (clangCppInterOp PROPERTIES
60
+ IMPORTED_IMPLIB ${_static_lib}
61
+ )
62
+ endif (MSVC )
44
63
64
+ unset (_lib_prefix)
65
+ unset (_lib_suffix)
45
66
unset (_cmake)
46
67
unset (_include)
47
- unset (_libs )
68
+ unset (_lib )
0 commit comments