Commit Graph

132 Commits

Author SHA1 Message Date
arcum42 dc08858e0f
build: Remove i386_flag, as it is no longer used. (#5897)
* build: Remove i386_flag, as it is no longer used.

build: Put back in ncpu.

* build: Move ncpu to set_make.
2022-04-28 13:35:15 -07:00
arcum42 3488aa54be
Remove wx code from build.sh and a bit of cleanup. (#5817)
* build: Fix up the menu printed by build.sh.

* build: Removed wx code from build.sh.
2022-04-14 22:04:26 -07:00
arcum42 c59b114a1d
Build: Remove cross compiling from build.sh. (#5713) 2022-03-27 17:38:41 -07:00
TellowKrinkle cf176f1b99 CMake: Remove SDL1.2 option
Not sure if it worked before but it definitely doesn't work now
2022-01-01 16:36:15 -06:00
arcum42 af067a8c84
Default to a native build. Remove --clean-plugins. (#5132) 2021-12-27 20:31:27 -08:00
Tyler Wilding 4d4b24f8b0 cmake: support `rapidyaml` 2021-12-25 15:11:01 +00:00
TellowKrinkle c072c0e82b cmake: Don't overwrite cmake default flags
Also makes sure we don't push our warning settings onto 3rd party libraries
2021-07-17 21:08:30 -05:00
TellowKrinkle 108e8bdf0a cmake: Remove unused options 2021-07-17 21:08:30 -05:00
Margen67 8628993fb0 Build improvements
Remove unneeded quotation marks.

linux-workflow.yml:
 Checkout Submodules:
  Shorten --jobs to -j, use $(getconf _NPROCESSORS_ONLN).
 Make restore-keys into one line.
 Remove unneeded ./.

macos-workflow.yml:
 Checkout Submodules:
  Shorten --jobs to -j.
 Use $(getconf _NPROCESSORS_ONLN) instead of 2.
 Move HOMEBREW_NO_INSTALL_CLEANUP to env: and add HOMEBREW_NO_ANALYTICS.
 Remove unneeded ./.

pr-triage.yml:
 Make on: pull_request_target into one line.
 Properly capitalize GitHub.

compile.sh:
 Add warning when running outside of GitHub Actions CI.
 Use $(getconf _NPROCESSORS_ONLN).

validate-vs-filters.ps1:
 End of file newline.

windows-workflow.yml:
 Rename config to configuration.
 Opt out of PowerShell telemetry.
 Checkout Submodules:
  Shorten --jobs to -j, use $env:NUMBER_OF_PROCESSORS.
 Remove unneeded shell from Verify VS Project Files.
 setup-msbuild:
  Use v1. (always the latest version)
  Remove useless vs-version parameter.
 Remove unneeded ./ and .\.
 Add -p to mkdir.

.gitmodules:
 Make submodules shallow.

build.sh:
 Move parameters from shebang to set.
 Consistent formatting for ifs.
 Use $(getconf _NPROCESSORS_ONLN).
2021-07-17 08:07:53 -04:00
lightningterror 146b33f120 misc-linux: Cleanup leftover stuff from gs merge for linux build. 2021-07-03 18:16:11 -04:00
lightningterror 7d875076e2 cmake: Remove unused dependency logs. 2021-03-09 16:15:58 +01:00
lightningterror 87eb7f1e1f build-linux: Remove EXTRA_PLUGINS flag.
There are no extra plugins.
2021-02-23 16:45:47 +01:00
lightningterror 6a7648d2b0
misc: Cleanup remaining pad stuff from merge. (#4014) 2020-12-18 00:48:33 +01:00
arcum42 99b8168ea8
Only search for yaml-cpp if asked to. (#3975) 2020-12-06 11:39:25 -08:00
lightningterror 306681bc93 misc: Remove merged plugins leftover stuff. 2020-11-06 21:36:04 +01:00
Shanoah Alkire 5e6cb22eeb Remove references to dev9ghzdrk. If dev9 is built in, we need to always do the setcap check when not disabled, not just if dev9ghzdrk is built. 2020-10-31 19:45:15 -07:00
Gauvain 'GovanifY' Roussel-Tarbouriech b3ae282522 DEV9: including back initial original references 2020-10-31 16:35:38 +00:00
arcum42 540c69897e
Loosen up wxwidget version restrictions. Default to Gtk 3. Cleanup. (#3832)
* Remove version and platform checks for wxwidgets. It's probably better to find *something* rather then fail because you have 3.1.2 and the build was looking for 3.0 when both work.

* Build gtk 3 by default. Replace gtk 3 flag with one for gtk 2.

* Remove two unused cmake modules.

* Forgot to change a description in build.sh.
2020-10-29 22:30:03 -07:00
lightningterror 8cdd823671 build.sh/cmake: Remove OPENCL_API flag. 2020-09-18 20:04:11 +02:00
lightningterror fb640cbdb9 build.sh: Remove opencl. 2020-09-18 19:14:32 +02:00
lightningterror f6c138ca7e
Goodbye, old friend... Remove zzogl from master branch (#3614)
* cmake: Remove zzogl from cmake.

* cmake/build: Remove GLSL_API and EGL_API flags.

Only used in zzogl.

* linux various: Remove zzogl.

* sln: Remove zzogl from old plugins solution.

* zzogl: Remove source files.

* debian: Exclude zzogl from copyright.

* linux various: Remove glsl2h.pl

Used only in zzogl?

* linux various: Remove zzogl code from validate_glsl.sh

* debian: Remove zzogl mentions in create built tarball.

* gitignore: Remove zzogl paths.
2020-08-21 20:41:45 -07:00
lightningterror 35fa2253dd cmake/linux various: Remove remaining traces of GSdx legacy. 2020-08-20 15:34:20 +02:00
Hamish 8816f4bf0d
GSdx: Remove GLX in favor of EGL (#3562) 2020-08-09 04:39:56 +01:00
arcum42 2b115d031e
Remove superVU. (#3386)
* Remove superVU, as well as the VUClipFlagHack, which was SuperVU only.
2020-05-24 19:08:12 -07:00
arcum42 5c60f66890
Fix various cmake issues (#3352)
* Change the minimum cmake version to a range. Uses the new policies of the newer versions if you are on them, taking care of CMP0054.

* Grab a newer version of FindHarfBuzz.cmake from Webkit that fixes the cmake warning the earlier one was giving.

* Add in -ftime-trace as an option on build.sh.

* Precompile PrecompiledHeader.h if you are using cmake 3.16+ and GCC. (Currently disabled on clang due to compilation issues.)

* Check if target_precompile_headers exists rather than by version.

Co-authored-by: scribam <scribam@users.noreply.github.com>
2020-05-07 08:32:34 -07:00
orbea 84d090e2fd
spu2-x: Make portaudio an optional dependency. (#3110)
* spu2-x: Make portaudio an optional dependency.

v2: Fix crash in the audio settings with SDL1 and without portaudio.

* cmake: Add PORTAUDIO_API to disable portaudio support.
2020-05-07 08:31:48 -07:00
Hamish e2d8992310 GSdx: Enable OpenCL on Linux (#3099) 2019-09-11 17:59:33 -07:00
arcum42 74e6c437f2 Add option not to build dev9ghzdrk. 2019-08-23 15:31:46 -07:00
arcum42 fc35de02f2
build.sh and cmake plugin code cleanup (#2953)
* Refactor build.sh. Restructure finding plugins. Remove legacy code. Add --clean-plugins option. Document --no-trans option.

Don't do setcap if dev9ghzdrk isn't being built. List dependencies if they are missing. Remove code related to zerospu2, and misc plugins we aren't building. Minor message changes.
2019-07-04 19:49:11 -07:00
lightningterror 6e3f41f164 build.sh: correct some tab/space issues left by arcum from previous commit. 2018-09-10 05:54:15 +02:00
arcum42 d8e6ba4274 Add a new option to build.sh to not generate translations while building the project. 2018-09-05 21:38:38 -07:00
Gregory Hainaut 6be52e435d build.sh: avoid duplicate on clang-tidy analysis 2017-05-03 12:03:38 +02:00
Gregory Hainaut 28e1f87d9e build.sh: reduce the number of define for cppcheck analysis + add cdvd giga 2017-01-22 21:10:40 +01:00
Gregory Hainaut 93471d46df build: workaround to detect freetype on my Debian system
I don't know if recent Cmake/Debian work better.
2017-01-07 13:49:56 +01:00
np511 f55f3b94a1 Removes LTO warnings and sets -flto=number of cores. 2017-01-03 15:45:24 -05:00
np511 b9d57843eb Adds PGO support. Profile data is stored in a folder called profile
in the top-level source directory. The build folder should NOT be
transferred between computers when PGO is used, though I don't
see why anyone would be doing so anyway.

Also adds support for PGO and LTO to the build.sh script.
2016-12-10 11:26:16 +01:00
Gregory Hainaut c9db1c6c4b vtune: plug PCSX2 core + add missing profiling (VU/VIF/TLB)
Doesn't fully work yet
* Unknown stack frame
* Outside any known module

Potential root cause:
* Nvidia driver
* VU code as ebp is required for emulation so likely no frame
2016-11-28 19:07:04 +01:00
Gregory Hainaut d58e43edbf gsdx linux: plug vtune as Windows 2016-11-19 17:00:32 +01:00
Jonathan Li 86951aff9a build.sh: Fix for FreeBSD
"--jobs" isn't present in FreeBSD's make, but "-j" is.
2016-10-27 22:02:43 +01:00
Gregory Hainaut cac822f785 build.sh: also use ninja for coverity build 2016-09-07 18:58:31 +02:00
Gregory Hainaut 16f12bcfa5 build.sh: small improvement
Fix undefined variable in cpp check
Print current job on clang-tidy (ease replay of a single file)
Keep jobs order, ease diff between multiple run
2016-08-24 22:55:37 +02:00
Gregory Hainaut 2ec0f26122 build.sh:clang-tidy: drop the remaining ASM file 2016-08-24 22:55:37 +02:00
Nicolas Hillegeer b2984cd3d0 build.sh: don't use -m option for parallel
My reasoning was off. The -m flag does avoid the clang-tidy startup
 cost (which isn't large), but it also increases tail latency because it
 allows a straggler command to run much longer. Suppose that many heavy
 .cpp files are bundled into one clang-tidy invocation.

Bench from Greg
with -m
./build.sh --dbg --clean --no-simd --clang-tidy  3886.45s user 12.04s system 1066% cpu 6:05.71 total
without
./build.sh --dbg --clean --no-simd --clang-tidy  4297.51s user 41.70s system 1497% cpu 4:49.86 total
2016-08-21 14:29:49 +02:00
Nicolas Hillegeer b45adb6e6a build.sh: parallelize clang-tidy
Also suppress spurious output from command -v.

[ci skip]
2016-08-21 13:29:08 +02:00
Gregory Hainaut fc996951cb build.sh: use $flags instead of "$flags"
Otherwise bash add tick around it and cmake doesn't understand what happen
2016-08-20 19:05:23 +02:00
Gregory Hainaut 2ae133e993 build.sh: use clang when clang-tidy is enabled
avoid tons of warning that options XXX isn't supported
2016-08-20 19:01:14 +02:00
Nicolas Hillegeer 57090e8ec5 build.sh: simplify and semi-modernize
1. All POSIX shells support $(...) syntax [1], including /bin/sh. shellcheck
   warns about it.
2. [[ won't work in /bin/sh [2], so use [ everywhere. I wonder why it worked
   now, perhaps the test was running on a system where /bin/sh -> /bin/bash.
3. In POSIX sh, string indexing is undefined. [SC2039]. Unfortunately, this
   means we require a subprocess: https://wiki.ubuntu.com/DashAsBinSh. Very
   ugly.
4. In POSIX sh, arrays are undefined. We seem to use $flags as an array
   after constructing it by string concatenation. I tried to verify that
   this has the same effect as just passing the quoted string in bash:

      bash-3.2$ flags="-DCMAKE_GOOK"
      bash-3.2$ flags="$flags -DCMAKE_MOARMA"
      bash-3.2$ flags="$flags -DCMAKE_URURURUR"
      bash-3.2$ ./argv $flags
      0: ./argv
      1: -DCMAKE_GOOK
      2: -DCMAKE_MOARMA
      3: -DCMAKE_URURURUR
      bash-3.2$ ./argv "${flags[@]}"
      0: ./argv
      1: -DCMAKE_GOOK -DCMAKE_MOARMA -DCMAKE_URURURUR
      bash-3.2$ ./argv "$flags"
      0: ./argv
      1: -DCMAKE_GOOK -DCMAKE_MOARMA -DCMAKE_URURURUR
      bash-3.2$

5. Enable exit on unknown variable (-u). All variables should be known,
   otherwise we have an error in the script. shellcheck doesn't warn so I
   think it's fine.

Apart from shellcheck(1), I also ran checkbashisms(1). The latter only
reported that "command -v" might not be available in other shells.
Apparently only ash(1) doesn't understand it.

NOTE: Why are we even trying to support pre-Mavericks (Darwin < 13) OSX? We
don't even support the most modern OSX (El Capitan) fully yet. OSX upgrades
are free and generally don't leave old machines behind. Most machines made
after 2009 can upgrade to El Capitan, AFAIK. I also believe that systems
that have all the utilities and libraries necessary to build PCSX2 will have
/bin/bash >= 3.x.

NOTE 2: Does cmake/ninja generate the same type of output in
compile_commands.json?

[1]: http://pubs.opengroup.org/onlinepubs/009695399/utilities/xcu_chap02.html#tag_02_06_03
[2]: http://serverfault.com/a/52050
2016-08-20 13:15:57 +02:00
Gregory Hainaut cdfbff9af0 build.sh: use command -v instead of which 2016-08-19 18:21:42 +02:00
Gregory Hainaut d87452ed21 build.sh: allow to replace make by ninja to speed up the build system
Quick benchmark. GCC debug mode
Full build: 6 second better, it can 2 additional cores :)
make : ./build.sh --dbg --clean  213.25s user 22.35s system 881% cpu 26.739 total
ninja: ./build.sh --dbg --clean  203.94s user 18.31s system 1085% cpu 20.474 total

No change build:: 1 second better :)
 make -C build_dbg -j 16 install  1.51s user 0.34s system 206% cpu 0.898 total
ninja -C build_dbg -j 16 install  0.05s user 0.02s system 98% cpu 0.074 total
2016-08-18 22:45:46 +02:00
Gregory Hainaut 63ec74ebea build: remove most of the bashism
Various distribution still ship the true old shell to win 1 second at startup.
Besides, bash syntax is no way better

Not fully tested, some bashism might remain for some options but at least you can
do a standard build
2016-08-14 22:29:12 +02:00