Skip to content

Commit

Permalink
Support non standard LLVM library names (#86)
Browse files Browse the repository at this point in the history
This fix openSUSE and Gentoo issue mentioned in #37 (comment).

(tested on openSUSE tumbleweed via Docker)

I also took the liberty of renaming llvm_lib to llvm_demangle_lib to be more specific in the ``CMakeLists.txt``.
  • Loading branch information
Mary committed Dec 10, 2020
1 parent e3b5a55 commit 9b85335
Showing 1 changed file with 7 additions and 4 deletions.
11 changes: 7 additions & 4 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -22,8 +22,11 @@ if(Python_VERSION LESS 3)
message(FATAL_ERROR "No valid version of Python 3 was found.")
endif()

llvm_map_components_to_libnames(_llvm_libs demangle)
llvm_expand_dependencies(llvm_libs ${_llvm_libs})
llvm_map_components_to_libnames(_llvm_demangle_lib demangle)
llvm_expand_dependencies(_llvm_demangle_lib ${_llvm_demangle_lib})

# NOTE: if the demangle library cannot be found try to fallback to libLLVM (that is required on openSUSE and Gentoo)
find_library(llvm_demangle_lib NAMES ${_llvm_demangle_lib} LLVM PATHS ${LLVM_LIBRARY_DIR})

include_directories(include ${GLFW_INCLUDE_DIRS} ${CAPSTONE_INCLUDE_DIRS} ${LLVM_INCLUDE_DIRS} libs/ImGui/include libs/glad/include ${Python_INCLUDE_DIRS})

Expand Down Expand Up @@ -91,11 +94,11 @@ add_executable(ImHex
target_link_directories(ImHex PRIVATE ${LLVM_LIBRARY_DIR})

if (WIN32)
target_link_libraries(ImHex libglfw3.a libgcc.a libstdc++.a libmagic.a libgnurx.a libtre.a libintl.a libiconv.a shlwapi.lib libcrypto.a libwinpthread.a libcapstone.a ${llvm_libs} ${Python_LIBRARIES} nlohmann_json::nlohmann_json)
target_link_libraries(ImHex libglfw3.a libgcc.a libstdc++.a libmagic.a libgnurx.a libtre.a libintl.a libiconv.a shlwapi.lib libcrypto.a libwinpthread.a libcapstone.a ${llvm_demangle_lib} ${Python_LIBRARIES} nlohmann_json::nlohmann_json)
endif (WIN32)

if (UNIX)
target_link_libraries(ImHex libglfw.so libmagic.so libcrypto.so libdl.so libcapstone.so ${llvm_libs} ${Python_LIBRARIES} nlohmann_json::nlohmann_json)
target_link_libraries(ImHex libglfw.so libmagic.so libcrypto.so libdl.so libcapstone.so ${llvm_demangle_lib} ${Python_LIBRARIES} nlohmann_json::nlohmann_json)
endif (UNIX)

install(TARGETS ImHex DESTINATION bin)

0 comments on commit 9b85335

Please sign in to comment.