Linux build fix + instructions

This commit is contained in:
Nekotekina 2017-01-22 17:57:09 +03:00 committed by Ivan
parent 7a356d3294
commit 6cf006b02b
2 changed files with 17 additions and 11 deletions

View file

@ -29,26 +29,32 @@ __Windows__
__Linux__ __Linux__
* GCC 5.1+ or Clang 3.5.0+ ([not GCC 6.1](https://github.com/RPCS3/rpcs3/issues/1691)) * GCC 5.1+ or Clang 3.5.0+ ([not GCC 6.1](https://github.com/RPCS3/rpcs3/issues/1691))
* Debian & Ubuntu: `sudo apt-get install cmake build-essential libopenal-dev libwxgtk3.0-dev libglew-dev zlib1g-dev libedit-dev libvulkan-dev` * Debian & Ubuntu: `sudo apt-get install cmake build-essential libopenal-dev libwxgtk3.0-dev libglew-dev zlib1g-dev libedit-dev libvulkan-dev git`
* Arch: `sudo pacman -S glew openal wxgtk cmake llvm` * Arch: `sudo pacman -S glew openal wxgtk cmake llvm`
__Mac OSX__ __Mac OSX__
Mac OSX is not supported at this moment because it doesn't meet system requirements (OpenGL 4.3)
* Xcode 6+ (tested with Xcode 6.4) * Xcode 6+ (tested with Xcode 6.4)
* Install with Homebrew: `brew install glew wxwidgets` * Install with Homebrew: `brew install glew wxwidgets`
* Remove '-framework QuickTime' from '_ldflags' in /usr/local/bin/wx-config * Remove '-framework QuickTime' from '_ldflags' in /usr/local/bin/wx-config
### Building ### Building
To initialize the repository don't forget to execute `git submodule update --init` to pull the submodules. - __Windows__: </br>
* __Windows__: 1) To initialize the repository don't forget to execute `git submodule update --init` to pull the submodules. </br>
1) Open the *.SLN* file. 2) Open the *.SLN* file. </br>
2) Build the projects in *__BUILD_BEFORE* folder: right-click on every project > *Build*. 3) Build the projects in *__BUILD_BEFORE* folder: right-click on every project > *Build*. </br>
3) Press *BUILD* > *Build Solution* or *Rebuild Solution*. 4) Press *BUILD* > *Build Solution* or *Rebuild Solution*. </br>
* __Linux & Mac OSX__:
If you want to build with LLVM, then LLVM 3.8 is required. - __Linux & Mac OSX__: </br>
`cd rpcs3 && cmake CMakeLists.txt && make && cd ../` then run with `cd bin && ./rpcs3`. 1) `git clone https://github.com/RPCS3/rpcs3.git` </br>
2) `cd rpcs3/` </br>
3) `git submodule update --init` </br>
4) `cmake CMakeLists.txt && make GitVersion && make` </br>
5) Run RPCS3 with `./bin/rpcs3` </br>
If you are on OSX and want to build with llvm don't forget to add `-DLLVM_DIR=...` (or wherever llvm brew was installed) to cmake invocation. If you are on OSX and want to build with llvm don't forget to add `-DLLVM_DIR=...` (or wherever llvm brew was installed) to cmake invocation.
When using GDB, configure it to ignore SIGSEGV signal (`handle SIGSEGV nostop noprint`). When using GDB, configure it to ignore SIGSEGV signal (`handle SIGSEGV nostop noprint`).
##### CMake Build Options (Linux & Mac OSX) ##### CMake Build Options (Linux & Mac OSX)

View file

@ -26,7 +26,7 @@ if(NOT MSVC)
set(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} -O1") # fix for travis gcc OoM crash. Might be fixed with the move to containers. set(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} -O1") # fix for travis gcc OoM crash. Might be fixed with the move to containers.
endif() endif()
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++14 -fexceptions") set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++14 -fexceptions")
add_compile_options(-msse -msse2 -mcx16 -mssse3 -march=native) add_compile_options(-msse -msse2 -mcx16 -mssse3)
else() else()
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /Zc:throwingNew /D _CRT_SECURE_NO_DEPRECATE=1 /D _CRT_NON_CONFORMING_SWPRINTFS=1 /D _SCL_SECURE_NO_WARNINGS=1") set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /Zc:throwingNew /D _CRT_SECURE_NO_DEPRECATE=1 /D _CRT_NON_CONFORMING_SWPRINTFS=1 /D _SCL_SECURE_NO_WARNINGS=1")
endif() endif()