Add option to build using llvm shared libs and document other cmake options

This commit is contained in:
Zion Nimchuk 2017-09-05 15:29:46 -07:00
parent 8e955297ef
commit 6f33953861
No known key found for this signature in database
GPG Key ID: F2836A2EF4B8D126
3 changed files with 22 additions and 5 deletions

View File

@ -1,7 +1,9 @@
cmake_minimum_required(VERSION 3.0.2)
option(WITH_GDB "WITH_GDB" OFF)
option(WITHOUT_LLVM "WITHOUT_LLVM" OFF)
option(WITH_GDB "Build RPCS3 with GNU GDB debugger support." OFF)
option(WITHOUT_LLVM "Build RPCS3 without LLVM (not recommended)." OFF)
option(USE_SHARED_LLVM_LIBS "Link against shared LLVM libs, instead of statically.
Only recommended on Gentoo. May interfere with mesa driver and make RPCS3 non-functional." OFF)
if (WITH_GDB)
add_definitions(-DWITH_GDB_DEBUGGER)

View File

@ -81,6 +81,14 @@ Build against the shared libpng instead of using the builtin one. libpng 1.6+ hi
- ```-DUSE_SYSTEM_FFMPEG=ON/OFF``` (default = *OFF*) </br>
Build against the shared ffmpeg libraries instead of using the builtin patched version. Try this if the builtin version breaks the OpenGL renderer for you.
- ```-DUSE_SHARED_LLVM_LIBS=ON/OFF``` (default = *OFF*) </br>
This builds against the shared LLVM libs, rather than the static ones. This may interfere with Mesa and render RPCS3 non-functional. Only recommended on gentoo.
- ```-DWITHOUT_LLVM=ON/OFF``` (default = *OFF*) </br>
This forces RPCS3 to build without LLVM, not recommended.
- ```-DWITH_GDB=ON/OFF``` (default = *OFF*) </br>
This Builds RPCS3 with support for debugging PS3 games using gdb."
## License

View File

@ -254,10 +254,17 @@ if(NOT LLVM_FOUND)
else()
add_definitions(${LLVM_DEFINITIONS})
add_definitions(-DLLVM_AVAILABLE)
if (CMAKE_BUILD_TYPE STREQUAL "Release")
llvm_map_components_to_libnames(LLVM_LIBS mcjit vectorize ipo x86codegen x86disassembler)
# Gentoo doesn't provide static LLVM libraries, so we need an option to use the shared ones.
if (USE_SHARED_LLVM_LIBS)
Message("WARNING! Linking against shared LLVM libs may conflict with your system's mesa, rendering RPCS3 non-functional!")
set(LLVM_LIBS LLVM)
else()
llvm_map_components_to_libnames(LLVM_LIBS mcjit vectorize ipo x86codegen x86disassembler mcdisassembler)
if (CMAKE_BUILD_TYPE STREQUAL "Release")
llvm_map_components_to_libnames(LLVM_LIBS mcjit vectorize ipo x86codegen x86disassembler)
else()
llvm_map_components_to_libnames(LLVM_LIBS mcjit vectorize ipo x86codegen x86disassembler mcdisassembler)
endif()
endif()
if (NOT MSVC)