rpcs3/Utilities
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
..
asm.h Move rotate/cntlz/cnttz helpers to Utilities/asm.h 2018-09-08 00:32:04 +03:00
Atomic.h atomic_t<>: remove inline assignment 2018-09-09 12:59:24 +03:00
AtomicPtr.h
BEType.h Try to get rid of SIZE_32 macro 2018-09-03 21:40:36 +03:00
bin_patch.cpp yaml-cpp: update submodule and build integration 2018-06-13 04:25:34 +04:00
bin_patch.h Patch: new 'load' syntax 2017-09-19 15:07:07 +03:00
bit_set.h Fix bitset formatting 2018-09-15 17:09:56 +03:00
BitField.h
cfmt.h Move rotate/cntlz/cnttz helpers to Utilities/asm.h 2018-09-08 00:32:04 +03:00
cond.cpp atomic_t<>: extend fetch_op to support cancellation 2018-09-08 00:32:04 +03:00
cond.h Remove explicit_bool_t, ignore, multicast<> 2018-09-08 00:32:04 +03:00
Config.cpp Reintroduce LOG_CHANNEL 2018-08-25 15:39:00 +03:00
Config.h Cfg: add missing get() methods 2018-05-09 22:19:55 +03:00
CPUStats.h c++17: use std::size 2018-09-06 13:15:59 +03:00
CRC.h
date_time.h RSX: use localtime_s instead of localtime 2018-07-28 23:10:45 +02:00
dynamic_library.cpp
dynamic_library.h Improve dynamic_library 2018-05-08 13:05:29 +03:00
event.h atomic_t<>: extend fetch_op to support cancellation 2018-09-08 00:32:04 +03:00
File.cpp Rewrite vfs::get and vfs::mount 2018-09-15 17:09:56 +03:00
File.h Use fold expr in fs::write_file 2018-09-03 21:40:36 +03:00
GDBDebugServer.cpp Reintroduce LOG_CHANNEL 2018-08-25 15:39:00 +03:00
GDBDebugServer.h Delay GDB server launch until emulator run (#4658) 2018-06-08 13:34:27 +01:00
geometry.h Utilities/geometry: Add unsigned specializations to typedefs 2018-06-18 22:34:26 +03:00
git-version-gen.cmd Git Revision Fix (#5043) 2018-08-27 22:53:45 +04:00
GSL.h Update GSL and yaml-cpp submodules 2018-08-25 01:15:47 +03:00
hash.h rsx: Optimize hash_struct; vk cleanup 2018-08-18 16:14:30 +03:00
Interval.h
JIT.cpp cleanup: remove compatibility code for old versions of clang 2018-09-06 13:15:59 +03:00
JIT.h asmjit: update build integration 2018-06-12 20:03:53 +02:00
lockless.h
Log.cpp CMake: Refactor CMake build (#5032) 2018-09-18 13:07:33 +03:00
Log.h Add forgotten SAFE_BUFFERS 2018-09-17 12:18:40 +03:00
LUrlParser.cpp Add cross-platform implementation of cellHttpUtilParseUri 2017-09-04 00:37:36 +03:00
LUrlParser.h Add cross-platform implementation of cellHttpUtilParseUri 2017-09-04 00:37:36 +03:00
mutex.cpp Remove safe_reader_lock, safe_writer_lock 2018-09-15 17:09:56 +03:00
mutex.h Remove safe_reader_lock, safe_writer_lock 2018-09-15 17:09:56 +03:00
rXml.cpp Fix rXml limitation 2017-09-04 02:15:28 +03:00
rXml.h pugixml: update submodule and build integration 2018-06-24 02:02:36 +04:00
sema.cpp atomic_t<>: extend fetch_op to support cancellation 2018-09-08 00:32:04 +03:00
sema.h atomic_t<>: extend fetch_op to support cancellation 2018-09-08 00:32:04 +03:00
StrFmt.cpp Rewrite vfs::get and vfs::mount 2018-09-15 17:09:56 +03:00
StrFmt.h Fix type-safe formatting 2018-08-25 12:06:57 +03:00
StrUtil.h Rewrite vfs::get and vfs::mount 2018-09-15 17:09:56 +03:00
sync.h Cleanup semaphore<> (sema.h) and mutex.h (shared_mutex) 2018-09-03 23:00:36 +03:00
sysinfo.cpp Fix trailing zeros in CPU brand 2018-09-17 12:18:40 +03:00
sysinfo.h implement "Enable TSX" combobox 2018-06-17 00:43:00 +04:00
Thread.cpp Remove thread_ctrl::atexit 2018-09-15 17:09:56 +03:00
Thread.h Remove thread_ctrl::atexit 2018-09-15 17:09:56 +03:00
Timer.h
types.h atomic_t<>: extend fetch_op to support cancellation 2018-09-08 00:32:04 +03:00
version.cpp
version.h
VirtualMemory.cpp vm: allow 4k-aligned allocations for vm::stack 2018-08-30 14:56:45 +03:00
VirtualMemory.h Memory mirror support 2018-05-09 23:35:34 +03:00