Skip to content

Commit 2764e96

Browse files
committed
Fix build with Clang 12 on Linux and install the native lib
1 parent be69d0b commit 2764e96

File tree

1 file changed

+20
-13
lines changed

1 file changed

+20
-13
lines changed

sources/libClangSharp/CMakeLists.txt

Lines changed: 20 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -18,12 +18,6 @@ set(SOURCES
1818
CXType.h
1919
)
2020

21-
set(LIBS
22-
clangAST
23-
clangFrontend
24-
libclang
25-
)
26-
2721
set(LLVM_SEARCH_PATHS
2822
${PATH_TO_LLVM}
2923
${PATH_TO_LLVM}/lib/cmake
@@ -37,12 +31,25 @@ find_package(Clang REQUIRED CONFIG
3731
PATHS ${LLVM_SEARCH_PATHS}
3832
NO_DEFAULT_PATH)
3933

40-
if(WIN32)
41-
add_library(libClangSharp SHARED ${SOURCES})
42-
target_include_directories(libClangSharp PUBLIC ${LLVM_INCLUDE_DIRS})
43-
target_link_libraries(libClangSharp ${LIBS})
34+
add_library(ClangSharp SHARED ${SOURCES})
35+
36+
if (TARGET clang-cpp) # Linux packages install libclang and clang-cpp
37+
target_link_libraries(ClangSharp PRIVATE clang-cpp libclang)
4438
else()
45-
add_library(ClangSharp SHARED ${SOURCES})
46-
target_include_directories(ClangSharp PUBLIC ${LLVM_INCLUDE_DIRS})
47-
target_link_libraries(ClangSharp ${LIBS})
39+
target_link_libraries(ClangSharp PRIVATE clangAST clangFrontend libclang)
4840
endif()
41+
42+
target_include_directories(ClangSharp PRIVATE ${CLANG_INCLUDE_DIRS})
43+
set_target_properties(ClangSharp PROPERTIES
44+
PREFIX lib
45+
VERSION ${PROJECT_VERSION}
46+
SOVERSION ${PROJECT_VERSION}
47+
)
48+
49+
include(GNUInstallDirs)
50+
51+
install(TARGETS ClangSharp
52+
LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} COMPONENT runtime
53+
ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} COMPONENT development
54+
RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} COMPONENT runtime
55+
)

0 commit comments

Comments
 (0)