Commit Graph

18 Commits

Author SHA1 Message Date
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
Zangetsu38
c30a7c0041 Update Project to Visual Studio 2017. 2018-08-25 01:15:47 +03:00
kd-11
d2b3cf22e3 vs: drop user files from shipped vs files 2017-06-22 23:36:15 +03:00
Zangetsu38
43b06c2a9c Fix compilation asmjit for VS. (#2791) 2017-05-18 19:31:39 +03:00
Nekotekina
8464ab6a23 Fixes (#1432)
/dev_bdvd/, rap file loading fix
2016-01-14 19:07:24 +03:00
DHrpcs3
a00111a863 Do not mix projects temporaries 2015-12-21 03:55:55 +02:00
Nekotekina
8e4ad3dfcb Property sheets, configuration simplified
MemLeak build fixed
2015-12-08 20:02:30 +03:00
Nekotekina
4a669fd86e DX12 dependencies fix 2015-11-17 21:00:59 +03:00
Zangetsu38
5e9eb9c3bb Fix correct size setting windows.
And other small change
2015-08-12 17:41:46 +02:00
Peter Tissen
ecf78dbafe add various temporary VS2015 changes (some to fixup temporary bugs, don't merge) 2015-07-22 01:32:21 +03:00
Nekotekina
a71053ae15 Asmjit updated 2014-07-14 13:24:10 +04:00
Nekotekina
ccfaabd1d7 Defined thread_local for MSVC
Updated asmjit project
Tried to fix crash on exit
Fixed hypothetical issue when pausing already stopped emulator
2014-06-19 17:50:18 +04:00
Peter Tissen
e85abdeb2c remove unexplained commented out code that I added myself with the last PR
* remove unexplained commented out code that I added myself
* revert asmjit settings change that was meant to only be local for me
2014-06-09 02:55:16 +02:00
Peter Tissen
c37905e465 initial start to eliminate static func init, not compilable atm
move module initialization into a module manager, still has some issues like stopping not working and debug crashing

add #idef 0 to modules that aren't in the windows project

don't double initialize and don't de-initialize for now, since many modules don't expect it and it leads to many errors

remove duplicate module lists for empty modules and implemented ones, make Module non-copyable but movable

add secondary project, no real use for it now

add some memleak config to the emucore and add asmjit path to rpcs3

small rebase error fixed to get it to compile again

add filters for emucore

re-add the module manager and static file

WIP commit, linker errors abound

some more abstraction layer stuff

fix the remaining linker errors, re-enable platform specific mouse, pad and keyboard handlers

rebasing

fix memset undefined and re() usage of se_t before declaration

Add wxGUI define by default for cmake builds

fix copy constructors of Datetime header

fix copy constructors of other wx interface classes

remove static declarations of global variables

make wxGLCanvas constructor non-ambiguous even with wx2.8. compat mode, fix wrong std::exception constructor calls

remove duplicate definition for FromUTF8 and ToUTF8

temp changes
2014-06-08 23:16:06 +02:00
Oil
60514cc48d Completed. 2014-05-21 17:06:02 +04:00
Oil
e3a56e39d7 Restored. 2014-05-21 16:57:57 +04:00
Oil
3475912233 Some changes from previous commit restored. 2014-05-21 16:14:33 +04:00
Oil
570efab05f asmjit project moved in asmjitsrc directory. 2014-05-21 14:45:36 +04:00