Skip to content

Commit a2142d1

Browse files
committed
[cmake] Clean up and improve the CppInterOp config for Windows.
1 parent a6f001d commit a2142d1

File tree

1 file changed

+20
-10
lines changed

1 file changed

+20
-10
lines changed

cmake/CppInterOp/CppInterOpConfig.cmake.in

Lines changed: 20 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -9,39 +9,49 @@ get_filename_component(CPPINTEROP_INSTALL_PREFIX "${CPPINTEROP_INSTALL_PREFIX}"
99
# Determine CMAKE_SHARED_LIBRARY_SUFFIX based on operating system
1010
include(CMakeSystemSpecificInformation)
1111

12+
if(MSVC)
13+
set(shared_lib_dir bin)
14+
else()
15+
set(shared_lib_dir lib)
16+
endif()
17+
1218
### build/install workaround
1319
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})
1622
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})
1925
endif()
2026

2127
if (IS_DIRECTORY "${CPPINTEROP_INSTALL_PREFIX}/include")
2228
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}")
2430
else()
2531
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}")
2733
endif()
2834

2935
###
3036

3137
set(CPPINTEROP_EXPORTED_TARGETS "clangCppInterOp")
3238
set(CPPINTEROP_CMAKE_DIR "${_cmake}")
3339
set(CPPINTEROP_INCLUDE_DIRS "${_include}")
34-
set(CPPINTEROP_LIBRARIES "${_libs}")
40+
set(CPPINTEROP_LIBRARIES "${_lib}")
3541

3642
# Provide all our library targets to users.
3743
if (@BUILD_SHARED_LIBS@)
3844
add_library(clangCppInterOp SHARED IMPORTED)
3945
else()
4046
add_library(clangCppInterOp STATIC IMPORTED)
4147
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+
PROPERTIES IMPORTED_LOCATION "${_lib}"
51+
)
4452

53+
unset(_lib_prefix)
54+
unset(_lib_suffix)
4555
unset(_cmake)
4656
unset(_include)
47-
unset(_libs)
57+
unset(_lib)

0 commit comments

Comments
 (0)