mirror of
https://github.com/dolphin-emu/dolphin.git
synced 2025-01-10 08:09:26 +01:00
9c5cd817e3
This compile definition was removed in 68cbd2640d4663fe29e21234dc068769cb9bc673 because it was complicated by changes in 50dc0ffbceebe0f633bd63cd4710a3e2f548d688. Thus, the LLVM disassembler would never be used in UICommon's Disassembler class.
86 lines
2.2 KiB
CMake
86 lines
2.2 KiB
CMake
add_library(uicommon
|
|
AutoUpdate.cpp
|
|
AutoUpdate.h
|
|
CommandLineParse.cpp
|
|
CommandLineParse.h
|
|
Disassembler.cpp
|
|
Disassembler.h
|
|
DiscordPresence.cpp
|
|
DiscordPresence.h
|
|
GameFile.cpp
|
|
GameFile.h
|
|
GameFileCache.cpp
|
|
GameFileCache.h
|
|
NetPlayIndex.cpp
|
|
NetPlayIndex.h
|
|
ResourcePack/Manager.cpp
|
|
ResourcePack/Manager.h
|
|
ResourcePack/Manifest.cpp
|
|
ResourcePack/Manifest.h
|
|
ResourcePack/ResourcePack.cpp
|
|
ResourcePack/ResourcePack.h
|
|
UICommon.cpp
|
|
UICommon.h
|
|
USBUtils.cpp
|
|
USBUtils.h
|
|
)
|
|
|
|
target_link_libraries(uicommon
|
|
PUBLIC
|
|
common
|
|
core
|
|
cpp-optparse
|
|
minizip::minizip
|
|
pugixml
|
|
|
|
PRIVATE
|
|
fmt::fmt
|
|
$<$<BOOL:APPLE>:${IOK_LIBRARY}>
|
|
)
|
|
|
|
if ((DEFINED CMAKE_ANDROID_ARCH_ABI AND CMAKE_ANDROID_ARCH_ABI MATCHES "x86|x86_64") OR
|
|
(NOT DEFINED CMAKE_ANDROID_ARCH_ABI AND _M_X86_64))
|
|
target_link_libraries(uicommon PRIVATE bdisasm)
|
|
endif()
|
|
|
|
if(X11_FOUND)
|
|
target_sources(uicommon PRIVATE X11Utils.cpp)
|
|
target_link_libraries(uicommon PUBLIC PkgConfig::XRANDR PkgConfig::X11)
|
|
endif()
|
|
|
|
if(TARGET LibUSB::LibUSB)
|
|
target_link_libraries(uicommon PRIVATE LibUSB::LibUSB)
|
|
endif()
|
|
|
|
if(ENABLE_LLVM)
|
|
find_package(LLVM CONFIG)
|
|
if(LLVM_FOUND)
|
|
message(STATUS "LLVM found, enabling LLVM support in disassembler")
|
|
target_compile_definitions(uicommon PRIVATE HAVE_LLVM)
|
|
# Minimal documentation about LLVM's CMake functions is available here:
|
|
# https://releases.llvm.org/16.0.0/docs/CMake.html#embedding-llvm-in-your-project
|
|
# https://groups.google.com/g/llvm-dev/c/YeEVe7HTasQ?pli=1
|
|
#
|
|
# However, you have to read the source code in any case.
|
|
# Look for LLVM-Config.cmake in your (Unix) system:
|
|
# $ find /usr -name LLVM-Config\\.cmake 2>/dev/null
|
|
llvm_expand_pseudo_components(LLVM_EXPAND_COMPONENTS
|
|
AllTargetsInfos AllTargetsDisassemblers AllTargetsCodeGens
|
|
)
|
|
llvm_config(uicommon USE_SHARED
|
|
mcdisassembler target ${LLVM_EXPAND_COMPONENTS}
|
|
)
|
|
target_include_directories(uicommon PRIVATE ${LLVM_INCLUDE_DIRS})
|
|
endif()
|
|
endif()
|
|
|
|
if(USE_DISCORD_PRESENCE)
|
|
target_compile_definitions(uicommon PRIVATE -DUSE_DISCORD_PRESENCE)
|
|
target_link_libraries(uicommon PRIVATE discord-rpc)
|
|
endif()
|
|
|
|
if(MSVC)
|
|
# Add precompiled header
|
|
target_link_libraries(uicommon PRIVATE use_pch)
|
|
endif()
|