rpcsx/rpcs3/Emu
Lassi Hämäläinen 7aef811ff7 CMake: Refactor CMake build (#5032)
* CMake: Refactor build to multiple libraries

- Refactor CMake build system by creating separate libraries for
  different components
- Create interface libraries for most dependencies and add 3rdparty::*
  ALIAS targets for ease of use and use them to try specifying correct
  dependencies for each target
- Prefer 3rdparty:: ALIAS when linking dependencies
- Exclude xxHash subdirectory from ALL build target
- Add USE_SYSTEM_ZLIB option to select between using included ZLib and
  the ZLib in CMake search path

* Add cstring include to Log.cpp

* CMake: Add 3rdparty::glew interface target

* Add Visual Studio CMakeSettings.json to gitignore

* CMake: Move building and finding LLVM to 3rdparty/llvm.cmake script

- LLVM is now built under 3rdparty/ directory in the binary directory

* CMake: Move finding Qt5 to 3rdparty/qt5.cmake script

- Script has to be included in rpcs3/CMakeLists.txt because it defines
  Qt5::moc target which isn't available in that folder if it is
  included in 3rdparty directory
- Set AUTOMOC and AUTOUIC properties for targets requiring them (rpcs3
  and rpcs3_ui) instead of setting CMAKE_AUTOMOC and CMAKE_AUTOUIC so
  those properties are not defined for all targets under rpcs3 dir

* CMake: Remove redundant code from rpcs3/CMakeLists.txt

* CMake: Add BUILD_LLVM_SUBMODULE option instead of hardcoded check

- Add BUILD_LLVM_SUBMODULE option (defaults to ON) to allow controlling
  usage of the LLVM submodule.
- Move option definitions to root CMakeLists

* CMake: Remove separate Emu subtargets

- Based on discussion in pull request #5032, I decided to combine
  subtargets under Emu folder back to a single rpcs3_emu target

* CMake: Remove utilities, loader and crypto targets: merge them to Emu

- Removed separate targets and merged them into rpcs3_emu target as
  recommended in pull request (#5032) conversations. Separating targets
  probably later in a separate pull request

* Fix relative includes in pad_thread.cpp

* Fix Travis-CI cloning all submodules needlessly
2018-09-18 13:07:33 +03:00
..
Audio Add a channel map to the PA backend to fix surround sound (#4911) 2018-07-21 03:02:07 +04:00
Cell spu: Fix MMIO index checking 2018-09-17 17:24:54 +03:00
CPU cpu: use correct type when defining llvm value is_int constexpr 2018-09-10 19:59:37 +03:00
Io CMake: Refactor CMake build (#5032) 2018-09-18 13:07:33 +03:00
Memory Move rotate/cntlz/cnttz helpers to Utilities/asm.h 2018-09-08 00:32:04 +03:00
RSX CMake: Refactor CMake build (#5032) 2018-09-18 13:07:33 +03:00
CMakeLists.txt CMake: Refactor CMake build (#5032) 2018-09-18 13:07:33 +03:00
GameInfo.h Fill game list from all locations 2017-07-12 18:16:09 +03:00
IdManager.cpp Fix idm::init, fxm::init 2017-08-06 16:13:11 +03:00
IdManager.h Remove explicit_bool_t, ignore, multicast<> 2018-09-08 00:32:04 +03:00
IPC.h Cleanup semaphore<> (sema.h) and mutex.h (shared_mutex) 2018-09-03 23:00:36 +03:00
System.cpp Optimize logging via logs::channel 2018-09-16 00:36:20 +03:00
System.h cellKb/Qt: Improve basic keyboard 2018-09-13 22:01:30 +02:00
VFS.cpp Rewrite vfs::get and vfs::mount 2018-09-15 17:09:56 +03:00
VFS.h Rewrite vfs::get and vfs::mount 2018-09-15 17:09:56 +03:00