Commit Graph

366 Commits

Author SHA1 Message Date
Gregory Hainaut 99d81868fc cmake: use -ggdb instead of -g
Enable all gdb extensions for debug
2015-08-08 09:16:20 +02:00
Miguel A. Colón Vélez 0d344605e1 Use glibc for strcmp and memcmp.
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=43052
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=59048
.
The bug is 5+ years old with no fix in sight.
Mesa did some test that showed 50% improvement and enabled it by default.
http://lists.freedesktop.org/archives/mesa-dev/2011-June/009078.html
.
It could also be coded but glibc version has mmx, sse2, and sse4 support.
2015-08-07 05:04:19 -04:00
Miguel A. Colón Vélez 1db74162e6 Update the gcc version requirements.
It no longer builds with 4.6 and 4.7 since it requires features from 4.8.
Start using c++11 since we no longer support 4.5 & 4.6.
2015-08-07 05:03:37 -04:00
Miguel A. Colón Vélez 8a87981d94 Add options to not install optional files. 2015-08-07 02:39:39 -04:00
Miguel A. Colón Vélez 2c05426db1 Only check for EGL if using EGL_API.
Missed this one.
2015-07-27 19:19:47 -04:00
Miguel A. Colón Vélez 41cc153bff Only check for the needed dependencies.
Helpful for dropping dependencies package dependencies.
- Git only needed if there is a .git folder
- bzip2 only needed by CDVDiso
- CG/GLEW was for zerogs and ZZogl
- jpeg was for ZZogl
.
I also added that EGL_API is also for GSdx in option comment.
2015-07-27 18:54:04 -04:00
Miguel A. Colón Vélez 83a4b37bcf Add an option to disable the inclusion of the build date.
Debian has a goal to make reproducible builds therefore make it an
option instead of distro specific.
.
I added an "OR openSusE" to not "break" the old openSUSE behavior but ideally
they should just use -DDISABLE_BUILD_DATE=TRUE instead.
.
The old -DopenSUSE is not used for anything else so I removed it.
2015-07-27 14:00:47 -04:00
Gregory Hainaut 9ffb76798d cmake: fix an old regression with CMAKE_BUILD_STRIP option
Fix issue #673
2015-07-24 19:26:16 +02:00
Gregory Hainaut 979ea92754 gsdx: make png++ optional
Some distributions (Fedora) doesn't have a png++ package...
2015-06-04 20:22:05 +02:00
Gregory Hainaut 8d6d8067fd linux: rename everything. It is PCSX2 is uppercase letter
Sorry for all maintainers that will need to upgrade their packages
2015-05-18 10:04:23 +02:00
Gregory Hainaut 5c046180a1 cmake: properly add detection of lzma
Code is 100% optional.

Code will allow be enabled if lzma-dev is installed at compile time
2015-05-17 22:08:10 +02:00
Gregory Hainaut 8cd533304c gsdx: new dependency on linux => png++
Note: it is only header file that wrap the standard png (which was
already mandatory for wx/sdl)
2015-05-16 12:47:28 +02:00
Gregory Hainaut 88a714327a linux-zzogl: don't build anymore zzogl by default
Sadly, no time to maintain it neither to improve it.

Note: I think new openGL 4.x feature would make the plugin faster

Anyway, now GSdx-ogl is probably better than zzogl
2015-05-14 17:38:42 +02:00
Gregory Hainaut cb6e8a7d6a gsdx-linux: Don't enable EGL by default
I was hoping that EGL become a standard much more faster. Currently it is an useless dep
so let's disable it by default.
2015-05-11 15:33:40 +02:00
Gregory Hainaut 286fe4db8c cmake/gsdx: check png++ is installed to support png image
Otherwise fallback to bmp file
2015-05-11 11:32:13 +02:00
Gregory Hainaut 797e3d81da cmake: CheckLib allow to search only include
Some libraries doesn't have any .so file
2015-05-11 11:28:09 +02:00
Gregory Hainaut 335695bd0e purge GLES from GSdx !
mobile will use vulkan (or any new API) anyway
2015-05-01 20:02:17 +02:00
Gregory Hainaut b68270ded1 Merge pull request #448 from PCSX2/lilypad-linux-port
Lilypad linux port
Basic support of Keyboard and Joystick

No gui to configure anything. Not well tested yet.
2015-03-01 16:52:23 +01:00
Gregory Hainaut fb100e05f2 cmake: improve previous commit
Avoid to set -m32 two times

Fix issue #463
2015-02-27 10:02:38 +01:00
Gregory Hainaut b5612ec622 cmake: always set -m32 for 32 bits build
It fixes cross-compilition issue when users/env set CC/CXX variables
2015-02-22 22:17:38 +01:00
Gregory Hainaut 7985f5114c cmake: enable lilypad
I manage to have x/start button working with 0/1 key. Here the reference configuration.

[General\ Settings]
Force\ Cursor\ Hide=0
Mouse\ Unfocus=0
Background=0
Multiple\ Bindings=0
DirectInput\ Game\ Devices=0
XInput=0
DualShock\ 3=0
Multitap\ 1=0
Multitap\ 2=0
Escape\ Fullscreen\ Hack=0
Disable\ Screen\ Saver=0
Logging=0
Save\ State\ in\ Title=0
GH2=0
Turbo\ Key\ Hack=0
Vista\ Volume=0
Close\ Hacks=0
Keyboard\ Mode=16
Mouse\ Mode=0
Volume=0
[Pad\ 0\ 0]
Mode=1
Auto\ Analog=0
[Pad\ 0\ 1]
Mode=1
Auto\ Analog=0
[Pad\ 0\ 2]
Mode=1
Auto\ Analog=0
[Pad\ 0\ 3]
Mode=1
Auto\ Analog=0
[Pad\ 1\ 0]
Mode=1
Auto\ Analog=0
[Pad\ 1\ 1]
Mode=1
Auto\ Analog=0
[Pad\ 1\ 2]
Mode=1
Auto\ Analog=0
[Pad\ 1\ 3]
Mode=1
Auto\ Analog=0
[Device\ 0]
Display\ Name=displayName
Instance\ ID=instanceID
Product\ ID=deviceID
API=16
Type=1
Binding 0=0x00040030, 0, 31, 65536, 0, 0, 0
Binding 1=0x00040031, 0, 19, 65536, 0, 0, 0
Binding 2=0x00040002, 0, 50, 65536, 0, 0, 0
Binding 3=0x00040003, 0, 51, 65536, 0, 0, 0
Binding 4=0x00040004, 0, 52, 65536, 0, 0, 0
Binding 5=0x00040005, 0, 53, 65536, 0, 0, 0
Binding 6=0x00040006, 0, 54, 65536, 0, 0, 0
Binding 7=0x00040007, 0, 55, 65536, 0, 0, 0
Binding 8=0x00040008, 0, 56, 65536, 0, 0, 0
Binding 9=0x00040009, 0, 57, 65536, 0, 0, 0
Binding 10=0x0004000C, 0, 58, 65536, 0, 0, 0
Binding 11=0x0004000D, 0, 59, 65536, 0, 0, 0
Binding 12=0x0004000E, 0, 60, 65536, 0, 0, 0
Binding 13=0x0004000F, 0, 61, 65536, 0, 0, 0
Binding 14=0x00200010, 0, 62, 65536, 0, 0, 1
Binding 15=0x00200011, 0, 63, 65536, 0, 0, 1
Binding 16=0x01020012, 0, 33, 65536, 0, 0, 13172
Binding 17=0x02020012, 0, 35, 65536, 0, 0, 13172
Binding 18=0x02020014, 0, 39, 65536, 0, 0, 13172
Binding 19=0x02020015, 0, 38, 65536, 0, 0, 13172
2015-02-20 23:05:21 +01:00
Gregory Hainaut 2471306fc4 cmake: actually onepad requires X11 2015-02-20 23:05:21 +01:00
Gregory Hainaut c5e6013d75 Merge pull request #419 from PCSX2/64-bit-crashes-fix
64 bit crashes fix
2015-01-17 12:08:24 +01:00
Miguel A. Colón Vélez f160c39814 Remove dead code from cmake/ApiValidation.cmake. 2015-01-12 02:54:49 -05:00
Miguel A. Colón Vélez 90c4322fc5 Remove check for wxrc since it's not needed. 2015-01-09 07:44:26 -05:00
Miguel A. Colón Vélez 3b83d6d302 Make FindwxWidgets find the correct version/toolkit via wx-config.
WX_vs_SDL() is still needed.
2015-01-09 07:18:16 -05:00
Miguel A. Colón Vélez cc9b6fa5a4 Search for wx-config-3.0 and wxrc-3.0.
The comment made it look as an arch-only thing which was misleading.
.
Gentoo uses
wx-config-3.0 and wxrc-3.0
2015-01-08 22:27:16 -05:00
Miguel A. Colón Vélez f392493245 Don't assume .git exists just because git is installed.
find_package(Git) is done in SearchForStuff it could be deleted over there
but it fits better there. The only thing this line did was saying git was
not found for a second time since if it was found then it never triggered.
.
Check for the existance of .git to avoid
fatal: Not a git repository (or any of the parent directories): .git
2015-01-06 21:14:10 -05:00
Gregory Hainaut b03162747c sVU: add an option to remove it
The goal is to reduce the burden for new architecture port.

Patch is mostly inspired from 3kinox initial patch. The diff are
*/ used ifdef instead of raw removal
*/ gui don't rely on UseMicroVU* option
*/ completely remove sVU_micro.* file
2015-01-06 23:45:43 +01:00
Gregory Hainaut 678c8a5cd6 cmake: validate wx api
checks wx-config version is compatible with the one requested by the user (wx 2.8 or wx 3.0 with WX28_API option)
2015-01-06 21:55:33 +01:00
Gregory Hainaut a0d54df522 Merge pull request #415 from micove/build-cleanup
Improve build system.
2015-01-06 21:36:24 +01:00
Gregory Hainaut e447ffc8b2 cmake: fix asan on 64 bits 2015-01-05 23:45:37 +01:00
Miguel A. Colón Vélez 305942c78b Rely on the user specifying WX28_API. 2015-01-04 15:08:12 -05:00
Gregory Hainaut 90d27bf5f6 cmake: try to validate the user option
* GTK3_API requires a wxWidget that support it too
=> avoid complexe compilation error
* SDL2_API requires a wxWidget without SDL support (wxUSE_LIBSDL = 0)
=> avoid run time  crash

SDL check hypothesis: wx is linked against SDL1.2 and not SDL2. It would need to be improved on a distant future
2015-01-04 20:43:26 +01:00
Gregory Hainaut 0346da2fa0 cmake: both zzogl and gsdx require gtk
Actually everything require GTK
2015-01-04 19:54:05 +01:00
Miguel A. Colón Vélez 8440d263cd Respect the CC and CXX environment variables when cross building. 2015-01-04 00:56:47 -05:00
Miguel A. Colón Vélez e23e2ac327 Rely on clang autodetection instead of user input. 2015-01-03 22:07:16 -05:00
Miguel A. Colón Vélez 6e28a8e694 Update the archlinux wx fix.
This fixes it for build.sh and when not using build.sh (packaging).
.
Also fix native 32bit build which should also be broken and attempt to
predict the future and fix it for lib32-wx3.0. Worst case the filenames
have to be fixed which is trivial.
.
When wx2.8 support is dropped then only the lib32-wx3.0 IF should remain.
When crosscompilation support gets dropped then the first IF gets deleted
unless we also dropped wx2.8 support then everything gets deleted.
2015-01-03 22:00:47 -05:00
Miguel A. Colón Vélez c2cba0d4ae Quick regression fix for SDL2 detection.
I only had to add "PATH_SUFFIXES SDL2".
.
include is superfluous
SDL2-2.0 is a distro specific convenience symlink. Use the correct one
as before.
.
I probably did this as an artificial way of disabling pkgconfig when cross
compiling and before disabling pkgconfig for all cross compiling but it's
wrong. I thought I had fixed this already.
2015-01-03 14:51:04 +01:00
Miguel A. Colón Vélez be1842f4e9 Detect clang and automatically set USE_CLANG.
User may forget or not know about -DUSE_CLANG=TRUE. It could probably
be always autodetected instead of requiring user input.
.
Trivial wording changes to compiler_version.
2015-01-03 14:51:04 +01:00
Miguel A. Colón Vélez c8c22cf6a0 Notify about cross build option upon failure.
Tell the user to use CMAKE_TOOLCHAIN_FILE upon failure.
.
Cleanup detectOperatingSystem. Should be the same but adding
GNU and kFreeBSD from Debian and filtering out pre OS X Apple.
.
libaio is linux only. Also check for the correct header since
aio.h is the POSIX one. Both are in /usr/include/ anyway.
Only build core if (Linux AND NOT AIO_FOUND) == false.
.
Use Unix for GTK and X11. Macs has gtk-quartzs and xquartz or native X11.
*BSD, linux, etc should have both.
2015-01-03 14:51:04 +01:00
Miguel A. Colón Vélez b42c9defb1 Avoid PKG_CONFIG_PATH issues.
Even before this pull request it was required to set PKG_CONFIG_PATH
when cross compiling since pkg-config always searches for native
libraries. This would require to backup an already existing ENV
variable if present, detect the distro specific place the pkgconfig folder is,
and restore the original ENV variable if it was present. Cmake as shown in:
.
http://www.cmake.org/gitweb?p=cmake.git;a=commitdiff;h=3df51470
.
added support for this but requires CMAKE_MINIMUM_REQUIRED_VERSION as 3.1
which is kind of strict since it was released 10 days ago.
.
To avoid the ugliness let just avoid pkg-config when cross compiling. This
means only EGL, SDL2 and GTK3 have to be updated since the rest work w/o
pkg-config.
- EGL is fixed with PR #409
- SDL2 is fixed here and it's trivial.
- GTK3 is non-trivial. For this one use pkg-config for native builds since
  the .pc file is kept up to date automatically. For cross compilation
  use the provided FindGTK3 which I made by using the sed documented
  inside the file and updating the dependencies for GTK3. Since I checked
  each and every single .pc file to make sure they are up to date this
  should have the same behaviour as pkg-config. Prefer the .pc files for
  native builds since it does not need to be manually updated and when
  the native 64bit port gets finished all the cross compile options should
  be removed which is quite easy since most of the code got moved to the
  CMAKE_TOOLCHAIN_FILE.
Note:
Cmake Modules are BSD-3-clause therefore GPL compatible.
2015-01-03 14:51:04 +01:00
Miguel A. Colón Vélez bed7a4f92e Be really strict about dependencies.
The obtained binaries before and after this commit are identical (sha1sum)
when compiled in Debian/Ubuntu/Fedora/ArchLinux.
.
The linker will always pick the 32bit libraries the only thing this does is
make sure we have all the 32bit dependencies installed. Basically we avoid
detecting the 64bit libraries and telling the users the 32bit libraries were
found. We always link with 32bit libraries therefore this avoids having to
wait 5-10min to just be told -lXXX is missing.
.
The only thing really needed are
set(CMAKE_LIBRARY_ARCHITECTURE "../lib32")
set(CMAKE_LIBRARY_ARCHITECTURE ".")
.
which basically ensures we don't pick 64bit headers since
CMAKE_LIBRARY_ARCHITECTURE always gets tested first and for some reason
FindGTK2 test searches lib64 first then lib32/lib. These values are hardcoded.
Right now these arch specific headers are not used but can't say this will
always be true.
.
FIND_LIBRARY_USE_LIB64_PATHS is not needed for native builds and it's covered
by CMAKE_SYSTEM_IGNORE_PATH.
.
NOTE:
We filter out lib32 because multilib is not compatible with multiarch.
2015-01-03 14:51:04 +01:00
Miguel A. Colón Vélez 553536f9cb Fix build in Fedora and print a confimation of cross compilation.
- Fedora only needs --arch if cross compiling.
  + It's only used to select libdir so i386=i686=i986
- Messages are nice to debug build logs.
.
Everything seems to work unless some other distro broke. Other
distros need to add CMAKE_TOOLCHAIN_FILE or --cross-multilib if
they cross compiled amd64 -> i686.
2015-01-03 14:51:04 +01:00
Miguel A. Colón Vélez b03ca5fcf4 Include some rather simple CMAKE_TOOLCHAIN_FILE.
- Update the build.sh and fix some typos.
  + Don't add the OSX ones because I have not tested them and it won't
    even build anyway due to the libaio dependency. Needs to use POSIX AIO
    or something else.
- They are rather simple and all the magic happens in two lines.
  + First line tells cmake to get ready to compile FOR linux or darwin.
    It also sets CMAKE_CROSSCOMPILING to true which is the only way to
    let cmake known that we are using stuff not from the host.
  + CMAKE_C_COMPILER/CMAKE_CXX_COMPILER are basically used to detect
    the architecture of the target. Since I used generic cc/c++ the
    hardcoded -m32 is needed to ensure we get TARGET=i386. Also
    since I hardcode -m32 and use c++/cc it's to be noted that
    we can only do i386->i386 (trivial), amd64 -> i386, and x32->i386.
    .
    Using something like i586-linux-gnu-{gcc,g++} would also work and
    enable arm -> i386, etc but it's infeasible and impractical to do all
    the combinations. File is simple enough that a distro or user can
    create their own and cross compiling is rather tedious compared
    to using a chroot to compile it.
- I tested it in Debian with "dpkg-buildpackage -ai386" but installing the
  build dependencies was rather tedious.
2015-01-03 14:51:04 +01:00
Miguel A. Colón Vélez d6d06d243c Begin cleaning up the cross build code.
http://www.vtk.org/Wiki/CMake_Cross_Compiling
http://www.cmake.org/cmake/help/v3.0/manual/cmake-toolchains.7.html
.
The official way that cmake does cross compiling is via the use of a
CMAKE_TOOLCHAIN_FILE. This has to be given by the user and can't be
included from within a Cmake file since setting up the toolchain has
to be the first thing that happens.
.
After the file is given and validated cmake behaves nicely and all the
workarounds and hacks are not really needed anymore.
.
The consequence of this change is that without this file cmake will
try to build for the HOST architecture as expected and with the file
it will build for the TARGET architecture of the given toolchain. Due to
this remove 64BIT_BUILD_DONT_WORK and just ERROR out if the user tries
in the same way as before.
2015-01-03 14:51:04 +01:00
Miguel A. Colón Vélez 8ea0766773 Use TargetArch to correctly detect the target.
Currently crosscompiling was broken since we detected the cpu of the host
not of the target. Building arm -> i386, i386->amd64, etc resulted in
interesting stuff.
.
CMAKE_HOST_SYSTEM_PROCESSOR and CMAKE_SYSTEM_PROCESSOR should have done this
but they are incredibly broken and unreliable. I use
CMAKE_HOST_SYSTEM_PROCESSOR just to retain the format of the old message
and is not used for critical stuff so it does not matter.
.
This code also allows scalability so that if one day in the very distant
and unlikely future the x86/x86_64 specific code gets made portable
by replacing asm/MMX/SSE*/AVX/etc code with generic/portable code then
it also would work on all architectures.
.
For *BSD/OS X it probably would need to use POSIX AIO instead of linux
specific libaio but that is a different issue.
.
Error out the x86_64 builds.
Also the 64BIT_BUILD_DONT_WORK option became obsolete more info in following
commit.
2015-01-03 14:51:04 +01:00
Miguel A. Colón Vélez e548ada1e9 Disable the use of multiple architectures in darwin.
- Update copyright due to incoming changes.
- Don't support universal binaries until they actually work therefore
  only allow 1 architecture in CMAKE_OSX_ARCHITECTURES.
- Don't allow an empty ARCH list.
  We probably asked for ppc or ppc64 w/o support for it.
2015-01-03 14:51:04 +01:00
Miguel A. Colón Vélez b18b0fdf28 Add TargetArch.cmake.
For now just dump the original and add the BSD-2-Clause.
.
It's GPL compatible so it's okay.
.
I was writting one myself but found this one and it handles apple
which I did not consider since I can't test it.
2015-01-03 14:51:04 +01:00
Miguel A. Colón Vélez 6dd3094802 Fix the rare case in which EGL is not found.
EGL sometimes is not found. Checklib 1st does
.
string(TOLOWER ${lib} lower_lib)
pkg_search_module(${var} QUIET ${lower_lib})
.
Therefore this part should be equivalent since we always compare lower.
.
This part seems to not find anything and then it does.
.
find_library(${var}_LIBRARIES ${lib})
.
Here it also does not find anything since it tries to find libegl
while the library is called libEGL therefore I changed the name to upper.
to avoid
_internal_message("-- ${lib} not found (miss lib)")
.
It could fail in the unlikely event that someone renamed libEGL to libegl.
This bug is triggered when you combine crosscompiling from amd64 to
i386 with Debian multiarch paths. For other distros it should work with
pkg_search_module normally.
2014-12-24 11:41:04 -05:00
Gregory Hainaut d00666a4d9 cmake: regression to select SDL/GTK + 64bits fix 2014-12-22 19:31:32 +01:00
Gregory Hainaut 0c17d67fa5 cmake: add a new option to select the doc path in package mode
DOC_DIR_COMPILATION=/usr/share/doc/pcsx2

close issue #402
2014-12-21 16:51:41 +01:00
Gregory Hainaut dc1cd3eb25 cmake: forbid user to use experimental flags
Namely GTK3_API and 64BIT_BUILD_DONT_WORK

The former was barely tested and doesn't compile with standard wx
The latter doesn't work at all

Note: I was very close to disable SDL2 too.  If wxWidget was built with
SDL1 support it will crash
2014-12-21 10:46:33 +01:00
Gregory Hainaut 1f54bb73aa cmake: enable some aggressive warning
Allow to track strict aliasing issue and overflow
2014-12-20 13:43:25 +01:00
Gregory Hainaut 66d7aa75e2 cmake: move -DNDEBUG to global option 2014-12-20 13:43:25 +01:00
Gregory Hainaut 63ba78b664 remove zzogl-pg-cg
superseeded by zzogl-pg
2014-12-13 12:28:37 +01:00
Gregory Hainaut 800262fc14 cmake: add a new GTK3.0 option
Thanks #micove for the patch
2014-12-10 22:07:48 +01:00
Gregory Hainaut 0a4f9e43d9 cmake: clean sdl management
* sdl is mandatory for spu2x
* cmake will include either /usr/include/SDL or /usr/include/SDL2 so no
  need to add extra ifdef
2014-12-07 21:06:21 +01:00
Gregory Hainaut 9e8b0b59ba cmake: remove a duplicated line 2014-12-07 12:47:35 +01:00
Gregory Hainaut c945aead54 cmake: better support of SDL2
Description: Building with SDL2_API=TRUE is incomplete
 SDL_FOUND does not imply SDL2_FOUND
 Use check_libs for detection
 Only include ${SDL_INCLUDE_DIR} when needed
 Use SDL2_LIBRARIES
Author: Miguel A. Colón Vélez

Gregory: add back SDL_BUILDING_LIBRARY
2014-12-07 12:19:14 +01:00
Gregory Hainaut 4b6632edf4 linux: use wx3.0 by default
+ Wx3.0 fixes various issue on linux (better sizing of box)
+ Debian doesn't provide wx2.8 anymore. Ubuntu will probably follow soon (close issue #342)

If you want to use wx2.8:
* Either you remove wx3.0 from your system
* Either you use the cmake option -DWX28_API=TRUE

Please don't hesitate to report any regresions.
2014-12-06 19:59:32 +01:00
3kinox 06f53b2689 use -fabi_version=6 only for GSdx, solve bug with wxwidget
reenable avx build for GSdx
2014-11-11 15:55:31 +01:00
Gregory Hainaut ec1da2805c pcsx2/GSdx: disable AVX for the moment on linux
I need to check carefully the consequence of ABI change. So far wx is very unhappy!

Fatal Error: Mismatch between the program and library build versions detected.
The library used 2.8 (no debug,Unicode,compiler with C++ ABI 1002,wx containers,compatible with 2.6),
and your program used 2.8 (no debug,Unicode,compiler with C++ ABI 1006,wx containers,compatible with 2.6).
2014-11-09 15:45:54 +01:00
Gregory Hainaut 679fa65b84 cmake: By default optimize for current arch
Note: it requires GCC 4.7. Otherwise use -DDISABLE_ADVANCE_SIMD=OFF to restore
previous behavior. It will impact Ubuntu precise (12.04)
2014-10-26 14:47:35 +01:00
nE0sIghT 7f57692ee3 Use cmake variable "BIN_DIR" for binaries installation 2014-09-27 22:26:42 +04:00
Gregory Hainaut 5b3f031654 cmake: fix commit f3a50a01a7
* link common with c lib (required for gold linker)
* fix the macro to properly set the library variable
  => use the variable instead to hardcoded value
2014-09-24 09:02:56 +02:00
Johannes Obermayr 9fd2f3dd8a Don't use build date on openSUSE.
Fixes RPMLINT warning:
pcsx2.i586: W: file-contains-date-and-time /usr/bin/pcsx2
Your file uses  __DATE and __TIME__ this causes the package to rebuild when not needed
2014-09-17 22:37:34 +02:00
Johannes Obermayr 7b1d3ba7ea Do commits 2bc2047 and f287754 the right way ... 2014-09-16 19:11:11 +02:00
Johannes Obermayr 2bc2047770 cmake: Fix RPATH/RUNPATH issue with openSuse wxWidgets libdir.
Gregory: Add an if clause to only change the rpath on openSuse

For me it doesn't follow the FHS => http://www.tldp.org/HOWTO/HighQuality-Apps-HOWTO/fhs.html
2014-09-14 13:12:26 +02:00
Gregory Hainaut 9c81272278 cmake: oups forget to change the usage of 64BIT_BUILD variable 2014-09-13 14:22:41 +02:00
Gregory Hainaut e101a1d77a linux build: let's be clear that 64 bit is not supported
* rename the cmake option to 64BIT_BUILD_DONT_WORK
* add --64-bit-dont-work to build.sh
2014-09-12 20:10:14 +02:00
Gregory Hainaut b9fba8005a cmake: failed to get git version
* add a fallback when the git version can't be fetched

Close issue #122
2014-09-10 14:19:50 +02:00
uyjulian e8d13090b0 Look for GLESv3 header instead of GLESv2 header 2014-09-05 20:16:50 +02:00
uyjulian f3a50a01a7 cmake: Use previous macros in CMakeLists.txt files
Gregory: add a c lib for zzogl-pg-cg replayer
2014-09-05 20:16:23 +02:00
uyjulian 1290d0b1a3 Remove unneeded comments 2014-09-05 20:14:09 +02:00
uyjulian 82dfed1512 Remove unneeded Check*.cmake 2014-09-05 20:14:09 +02:00
uyjulian 53e57766c9 Use CheckLib for some libs 2014-09-05 20:14:09 +02:00
uyjulian dde94da94f Add cleaner svnrev.h code, add macros 2014-09-05 20:14:09 +02:00
uyjulian 5f4fc4701f Add CheckLib.cmake 2014-09-05 20:14:08 +02:00
Gregory Hainaut bf52a4c737 build.sh: allow to replace build directory by a symlink
Use case: redirect the build into a ramdisk (less write on sdd and potentially faster io)
2014-09-02 21:21:46 +02:00
aga c963e0b62b "!64BIT_BUILD" is a variable name. Changed to "NOT 64BIT_BUILD" which is
the negation of the 64BIT_BUILD variable defined in
BuildParameters.cmake.
2014-08-16 12:00:50 -06:00
Gregory Hainaut 86152668c3 cmake: install mo file into Langs/id_code instead of Langs/id_code/LC_MESSAGES
Therefore it uses the same locations as windows.
2014-08-03 14:43:08 +02:00
Gregory Hainaut 61088b71c6 cmake: gcc warning management
* disable unused value warning (don't like the syntax 0&&)
* remove -Wno-ignored-attributes (c option). It replaces gcc warning
    by an unsupported option warning...
2014-08-03 14:43:08 +02:00
Gregory Hainaut cc0b9bbca9 cmake: drop gtk workaround for ubuntu 10.10
Note: remove also FIND_LIBRARY_USE_LIB64_PATHS that is alredy set in build parameter
2014-07-30 09:21:49 +02:00
Gregory Hainaut f38c6d0995 Merge pull request #142 from Sonicadvance1/fPIC_x86_64
Enable -fPIC on x86_64.
2014-07-30 00:01:08 +02:00
Gregory Hainaut 0706564215 remove sparsehash from 3rdparty
small deps but the less the merrier

Note: could someone check windows builds :p
2014-07-29 21:06:31 +02:00
Gregory Hainaut d09fee90ad wx3.0: add cmake support (2.8 by default)
use ./build.sh --wx30 for wx3.0
2014-07-29 20:45:43 +02:00
Ryan Houdek 8c07d4e7b9 Enable -fPIC on x86_64.
-fPIC is required on x86_64 for shared libraries.
This allows the compilation to get farther in to plugin compiling.
2014-07-26 03:08:35 -05:00
Ryan Houdek a1a0ed0563 Support _M_X86[_32/_64] on Linux.
These go hand in hand with PR #109 but for Linux as well.

These are much more useful defines than what other compilers give us.
2014-07-14 23:58:02 -05:00
Gregory Hainaut f85a4c0467 clang: don't use clang asm tool
-no-integrated-as fixes most of the asm issue :)
2014-07-14 13:58:06 +02:00
Gregory Hainaut c60fefa1a6 gcc: support address sanitizer 2014-07-12 19:57:26 +02:00
Gregory Hainaut 8c03d50421 cmake: remove a specific warning for clang 2014-07-12 16:04:57 +02:00
Gregory Hainaut f401f817ed cmake: sdl opt typo + clean warning management
Add back a lots of warning in the core!
2014-07-12 12:59:23 +02:00
Ryan Houdek 1f188b2610 Remove -march argument on x86_64 build option.
GCC doesn't support pentium4 as a arch target for x86_64. It complains that the architecture doesn't support x86_64
Which to be fair the first few models didn't support 64bit.
Just remove the architecture setting since there isn't a need for it.
2014-07-11 14:32:17 -05:00
Gregory Hainaut 1dba4aceca cmake: reduce a bit cmake syntax cluttering 2014-07-05 15:08:39 +02:00
Gregory Hainaut e8b3532658 cmake: clean main file and option
Move build configuration from CMakeLists to cmake/BuildParameters.cmake where it belongs
Use option syntax for on/off option
Complete a bit previous commit to force all 64bits path detections (likely done by cmake)
2014-07-05 14:54:56 +02:00
Ryan Houdek 35979bb5a6 Add a CMake compile time option for building a 64bit binary.
By default the cmake build will still cross compile a 32bit binary and spout a message about it if not enabled.
This doesn't fix the 64bit build issues, just makes it easier for someone to test 64bit builds in the future.
Look towards a bright future instead of a dark and gloomy past
2014-07-05 05:09:17 -05:00
nE0sIghT 66785be691 Fix Cg find for Gentoo amd64 2014-05-18 22:51:09 +04:00
Gregory Hainaut b7536ca94b zzogl: gcc warning fix
Let's hope variadic macro work on visual

cmake: reenable various warning. With previous fixes it just a matter of a couple of warnings
2014-05-03 10:37:58 +02:00
Gregory Hainaut c37d9c10f7 cmake: git compilation issue + useless warning message
* avoid compilation failure when git -C isn't supported
* don't print missing dependency when EXTRA_PLUGINS isn't activated
* sed /endif(.*)/endif/ because I don't like it
2014-04-17 20:26:16 +02:00
Gregory Hainaut ca8c5b041d cmake: drop sparsehash_new module
It was a workaround for a buggy version of the lib.
2014-04-12 10:25:40 +02:00
Gregory Hainaut 414ce3589a cmake: new option -DEXTRA_PLUGINS=TRUE|FALSE
--extra for ./build.sh script

By default only build the pricipal plugin: GSdx|zzogl/spu2-x/onepad/UsbNull/Dev9Null

Extra plugins are: GsNull|zzogl-cg/Spu2Null|zerospu/PadNull

The purpose is to improve compilation time on linux
2014-04-11 09:18:31 +02:00
Gregory Hainaut 605afeff74 cmake: enable -g for debug/dev build
otherwise it is a PITA on gdb
2014-04-06 11:43:40 +02:00
Roel Aaij 9d1840e37a Fix out of tree build.
Tell git to look in the source dir for the repository.
2014-03-30 16:59:29 +02:00
Gregory Hainaut 390245806a cmake: sed /PROJECT_SOURCE_DIR/CMAKE_SOURCE_DIR/
The former depends on the project command. Whereas the latter is the true absolute path
of the project
2014-03-30 16:36:02 +02:00
Gregory Hainaut 22e02b545e cmake: fatal error when path contains some parenthesis 2014-03-30 16:36:02 +02:00
Gregory Hainaut 70d1719b7d cmake: handle gracefully wxwidget 3.0-dev
1/ print a nice message
2/ replace 3.0 to 2.8 so it could still compile on system that both version
   are installed but wrongly configured
2014-03-26 11:37:49 +01:00
Gregory Hainaut 30ba964f9d fix visual studio compilation 2014-03-25 18:35:02 +01:00
Gregory Hainaut 4496093cf8 cmake version:
Use same version as window based on git
drop subversion code
use lld on onepad
2014-03-25 17:29:47 +01:00
gregory.hainaut 5309dd0e59 zzogl: fix wrong type access
cmake: don't strip by default the binary in release mode
gsdx: disable the regeneration of ogl shader


git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5806 96395faa-99c1-11dd-bbfe-3dabce05a288
2014-01-10 20:25:03 +00:00
gregory.hainaut 5df7af9bc5 cmake:
* new option SDL2_API
* drop GLSL_SHADER_DIR. Useless, shaders are embedded in .h file
* use some hardening flags (for the moment only basic one)
onepad:
* port the code to SDL2 (Note only SDL1 is supported for the moment)
* improve detection of button vs axis (long-standing issue)
* avoid potential overflow on mouse mouvement detection


git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5756 96395faa-99c1-11dd-bbfe-3dabce05a288
2013-11-01 21:05:59 +00:00
gregory.hainaut 4934e43287 gsdx ogl: in case of EGL_BAD_MATCH try to create the context with different option (hope to fix intel mesa)
cmake: add sdl as a dependency requirement of spu2x


git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5732 96395faa-99c1-11dd-bbfe-3dabce05a288
2013-10-05 10:37:48 +00:00
gregory.hainaut 916a091f8a gsdx ogl: GLes
* use gles header file, disable opengl code (mainly GLX, ARB_sso, geometry shader)
* Define properly the function pointer, GLES use basic linking whereas GL must get the symbol dynamically
* cmake: properly search and set libglesv2.so
* don't use dual source blending => HW renderer work (only miss unimportant FBA)



git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5701 96395faa-99c1-11dd-bbfe-3dabce05a288
2013-07-13 11:39:45 +00:00
gregory.hainaut bd5f379044 gsdx ogl:
* uniform was wrongly set before the activation of the program (free driver only)
* Always use only 1 drawbuffer. Easier besides previous setup was wrong for convert:ps_main1

GLES trial (v3):
* add the cmake option GLES_API. Note library (libgles) are hardcoded for the moment
* Disable opengl check
* Disable gl_GetDebugMessageLogARB not supported!
* Emulate gl_DrawElementsBaseVertex, add manually the index offset (surely slow but work)
* Fix hundred of shader error (no implicit cast of integer to float...)
Unfortunately GLES doesn't support dual blending so no blend in hardware renderer. Otherwise it is fine




git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5700 96395faa-99c1-11dd-bbfe-3dabce05a288
2013-07-12 21:12:34 +00:00
gregory.hainaut 544c84a344 gsdx:
* try to setup advance gl context attribute. If driver doesn't support it fallback to the default.

zzogl:
* use glsl2h to generate an header shader as GSdx. Much easier to install
* Get GSUniformBufferOGL & GSVertexArrayOGL speed improvement from GSdx

cmake:
* detect current gcc version. Yield  a warning if < 4.7 or an error if < 4.5

glsl2h:
* support zzogl too
* compute md5sum to avoid useless relink


git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5696 96395faa-99c1-11dd-bbfe-3dabce05a288
2013-07-06 09:42:46 +00:00
gregory.hainaut ba20bb0258 pcsx2: gcc warning round 3
* various cast was overflowing
 - use unsigned integer for SSE mask
 - force SINGLE macro to use u32
* disable parenthesis warning, only a matter of coding style

Remains 2 wrong use of unsigned integer:
pcsx2/CDVD/InputIsoFile.cpp:96:21: warning: comparison of unsigned expression < 0 is always false [-Wtype-limits]
pcsx2/Memory.cpp:108:86: warning: narrowing conversion of ‘-1’ from ‘int’ to ‘vtlbHandler {aka unsigned int}’ inside { } is ill-formed in C++11 [-Wnarrowing]


git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5689 96395faa-99c1-11dd-bbfe-3dabce05a288
2013-06-30 11:43:12 +00:00
gregory.hainaut 40e26648c6 all: gcc warning clean (round 2)
* reorder static initialization list
* Add missing virtual desctrutor to virtual object
* int -> uint/u32/uint32 cast of for loop index
* add a missing return in pxTrySetFocus
* fix size parameter of memset m_clut
* disable missing-field-initializers warning
* disable unused-local-typedefs warning


git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5685 96395faa-99c1-11dd-bbfe-3dabce05a288
2013-06-28 17:32:37 +00:00
gregory.hainaut 3c7167be50 clean (some) gdb warning: round 1
* use svnrev.h on linux too
* replace sprintf_s with snprintf (hope it still compile on Windows)
* init integer with 0 instead of NULL
* various int -> u32/uint32/uint on for loop index
* remove a couple of unused variable
* init few variable
* disable unused warning results


git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5683 96395faa-99c1-11dd-bbfe-3dabce05a288
2013-06-28 10:43:50 +00:00
gregory.hainaut 9b037a3813 pcsx2: increase a bit the minimum size of the plugin dialogs (GSdx name is too long)
gsdx:
* move gl function loading into GSwnd. Clean the header and avoid to rely on macro.
* Always require libegl for GSdx. You still need to select the API at compilation.


git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5670 96395faa-99c1-11dd-bbfe-3dabce05a288
2013-06-16 08:43:50 +00:00
gregory.hainaut aafa7a088a gsdx-ogl-wnd:
* fix a bad interaction when GL_ARB_SSO is supported without GL_ARB_shading_language_420pack
* try to replace struct with flat parameter in glsl interface
=> with some hacks of the free driver, I was able to compile SW renderer shader. Unfortunately
   the rendering is broken. Maybe my hack :p
* remove EGL context check (wasn't working as expected)


git-svn-id: http://pcsx2.googlecode.com/svn/branches/gsdx-ogl-wnd@5644 96395faa-99c1-11dd-bbfe-3dabce05a288
2013-05-26 13:05:03 +00:00
gregory.hainaut 43fb0a9a5e linux various:
* Try to launch dev/debug version when pcsx2 isn't found
* remove svn metadata from the linux tarball
* Add libaio on the cmake dependency message


git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5624 96395faa-99c1-11dd-bbfe-3dabce05a288
2013-05-01 16:02:11 +00:00
gregory.hainaut 2ae4c62a41 cmake: update wx-config option order for fedora
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5581 96395faa-99c1-11dd-bbfe-3dabce05a288
2013-03-05 12:38:22 +00:00
gregory.hainaut d438ac3d0c cmake: remove useless line that failed to build on older cmake version
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5577 96395faa-99c1-11dd-bbfe-3dabce05a288
2013-02-28 18:19:56 +00:00
gregory.hainaut 9421e105bd cmake: Use non standard arch parameter on Fedora's wxconfig. Close issue 1368
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5495 96395faa-99c1-11dd-bbfe-3dabce05a288
2013-01-02 13:34:38 +00:00
gregory.hainaut db1cd9a5c5 async-iso:
* add cmake plumbing for libaio
* add Native EOL style on cmake file


git-svn-id: http://pcsx2.googlecode.com/svn/branches/async-iso@5479 96395faa-99c1-11dd-bbfe-3dabce05a288
2012-12-13 16:11:53 +00:00
gregory.hainaut d5b318b990 zzogl:
* move all remaining glx into the dedicated GLwin object
* rework a bit WGL to separate opengl context and window creation (like linux actually)

gsdx: Allow to control vsync. Not sure I used the good extension.

cmake: 
* check that EGL opengl context creation
* Shut up gcc warning when force inline might not work...



git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5437 96395faa-99c1-11dd-bbfe-3dabce05a288
2012-10-21 18:10:13 +00:00
gregory.hainaut 1cc654e9bf zzogl: some experiences to EGL (on linux). It can be enabled with -DEGL_API=TRUE
* EGL is the interface between the window and opengl. The purpose is to replace GLX/WGL in a crossplatform way.
  Unfortunately so far only opensource driver use it (need not yet released mesa 9.0)
* clean most of the legacy GSopen1 window management. Only keep a basic window for debug with replayer.



git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5422 96395faa-99c1-11dd-bbfe-3dabce05a288
2012-09-23 18:52:44 +00:00
gregory.hainaut 226b2d63b8 gsdx: remove completely the SDL backend. Let's hope I didn't break too much VS
cmake: take the opportunity to drop the support of 3rdparty compilation. Distributions have got a more recent version of zlib/soundtouch anyway.


git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5376 96395faa-99c1-11dd-bbfe-3dabce05a288
2012-08-15 10:22:19 +00:00
gregory.hainaut f8875f12dc zzogl: rework dump test, to avoid bad mix between u32/u8
glsl4: Replace some define with function (ogl4 support function pointer). Explain how depth is computed in vertex shader


git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5233 96395faa-99c1-11dd-bbfe-3dabce05a288
2012-05-27 08:13:27 +00:00
gregory.hainaut 2f9e35e5ae i18n: tr_TR pcsx2_Iconized is wrongly translated. I fuzzy all strings to have an english string instead of lookup key
various: apply some patch of Micove to disable debug logging in GSdx release mode 


git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5206 96395faa-99c1-11dd-bbfe-3dabce05a288
2012-05-11 20:52:50 +00:00
gregory.hainaut 75484d3059 cmake: apply some updated pathes of Micove
* drop hack for of Natty and use the std FindGtk2 module, time to upgrade to Precise.
* Bump cmake requirement to 2.8.5 to avoid multiarch issue
* Create new cmake variable GLSL_SHADER_DIR for glsl file.  Default value /usr/share/games/pcsx2


git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5200 96395faa-99c1-11dd-bbfe-3dabce05a288
2012-05-07 16:29:06 +00:00
gregory.hainaut bce948d820 cmake: add a bunch of Micove patch. Thanks.
* Add 2 new dev options: REBUILD_SHADER (nvidia cg) & BUILD_REPLAY_LOADERS
* zzogl-pg-cg will use the shader of zzogl-pg.


git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5190 96395faa-99c1-11dd-bbfe-3dabce05a288
2012-05-01 10:54:52 +00:00
gregory.hainaut 46838ca4ee gsdx: merge the opengl branch to ease futur development and allow GSdx by default on linux
* for the moment only the SW render is supported, hopefully HW will come some day. And linux only for the moment.
* Require an OpenGL3 GPU (==Dx10) ie Nvidia >= 8800, AMD >= HD2000)
* Require an OpenGL4.2 compatible drivers => no opensource driver supported neither Intel driver.
* Build by default without SDL support which will dropped later. You need to add this define "ENABLE_SDL_DEV" on Win.



git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5186 96395faa-99c1-11dd-bbfe-3dabce05a288
2012-04-28 15:24:02 +00:00
gregory.hainaut 300ea42977 gsdx-ogl: sync from trunk 5179:5091
git-svn-id: http://pcsx2.googlecode.com/svn/branches/gsdx-ogl@5180 96395faa-99c1-11dd-bbfe-3dabce05a288
2012-04-26 19:51:07 +00:00
gregory.hainaut d487c57f11 zzogl & cmake: fix build failure of previous heavy change
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5168 96395faa-99c1-11dd-bbfe-3dabce05a288
2012-04-20 16:48:03 +00:00
gregory.hainaut fa4b9cb1a8 zzogl: bump the version to 0.4 because of the previous merge
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5167 96395faa-99c1-11dd-bbfe-3dabce05a288
2012-04-19 21:53:00 +00:00
gregory.hainaut e3c741bb2a zzogl: painfully merge the zzogl-dev branch
* new memory management
* asm was replaced by intrinsic
* new GLSL backend (AMD only) Cmake is probably broken anyway with the 2 plugins...
* and lots of others stuff that I forgot about it ;)


git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5166 96395faa-99c1-11dd-bbfe-3dabce05a288
2012-04-19 21:22:08 +00:00
gregory.hainaut 72d47d547e copyright:
* update missing copyright on
 + plugins/GSdx/config.h
 + pcsx2/MTVU.h
 + plugins/zzogl-pg/opengl/ZZHacks.h
 + plugins/spu2-x/src/DplIIdecoder.cpp
* put a copyright for trivial script file
 + pcsx2/gui/Resources/rebuild.sh
 + tools/bin2app.sh
 + plugins/zzogl-pg/opengl/shaders.sh
* remove autotool from zzogl
* apply the patch for issue 1257. Thanks very much Micove for the hard work.




git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5154 96395faa-99c1-11dd-bbfe-3dabce05a288
2012-04-12 06:30:35 +00:00
gregory.hainaut b6954701e8 cmake linux: don't build zerospu2. Too much issue on linux, uses spu2x instead.
debian: fix nvidia cg dependency for latest Ubuntu


git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5138 96395faa-99c1-11dd-bbfe-3dabce05a288
2012-03-30 19:04:26 +00:00
gregory.hainaut 6a0953ab94 cmake: sparsehash moves header file in newer version! Detect the 2 include pathes and add a define. Fix issue 1222
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5117 96395faa-99c1-11dd-bbfe-3dabce05a288
2012-03-06 19:42:59 +00:00
gregory.hainaut 0e80e0adca gsdx-ogl:
* add some define to enable/disable SDL so we could build gsdx without SDL
* debug: dump data based on frame count rather from draw count


git-svn-id: http://pcsx2.googlecode.com/svn/branches/gsdx-ogl@5044 96395faa-99c1-11dd-bbfe-3dabce05a288
2012-01-04 23:19:17 +00:00
gregory.hainaut 720a841cb2 gsdx-ogl: merge from trunk (4990:5021)
git-svn-id: http://pcsx2.googlecode.com/svn/branches/gsdx-ogl@5022 96395faa-99c1-11dd-bbfe-3dabce05a288
2011-12-27 17:04:28 +00:00
gregory.hainaut fff11cf207 i18n: add more fallback for some languages (thanks to pg)
cmake: implement the new XDG_STD options
It allow to move all pcsx2 data from $HOME/PCSX2 to $XDG_CONFIG_DIR/pcsx2. Clearly a matter of personnal preference.
debian: drop the useless stable packet from the trunk. Only keep a copy on branch release



git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5001 96395faa-99c1-11dd-bbfe-3dabce05a288
2011-12-21 20:27:03 +00:00
gregory.hainaut a835de0af7 gsdx-ogl: LINUX-ONLY
* implement the saving of texture (take bmp SW code)
* fix the missing "enable attribute code" and the typo in glsl. It works now !!!
* rework a little texture to pack texture into a temporay buffer when src pitch != dst pitch
* try to replace sdl with pure xlib (not yet enabled by default but it seems to work)

Note there still a minor issue, coordinate are different between DX and OGL (upper-left vs lower-left) so the image is inversed.


git-svn-id: http://pcsx2.googlecode.com/svn/branches/gsdx-ogl@4981 96395faa-99c1-11dd-bbfe-3dabce05a288
2011-12-07 22:05:46 +00:00
gregory.hainaut c9b1e3c1aa cmake:
* new dev option CMAKE_BUILD_PO: control regeneration of po file. By default true in release build
* Add a hack for multiarch version of wxwidget 


git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4951 96395faa-99c1-11dd-bbfe-3dabce05a288
2011-10-31 10:25:24 +00:00
arcum42 5306b13472 More work on the compiler warnings. Removed the warning flags that are now set by default.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4949 96395faa-99c1-11dd-bbfe-3dabce05a288
2011-10-30 00:32:22 +00:00
gregory.hainaut 93fe62f77e cmake: allow to easily set global compilation flags
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4948 96395faa-99c1-11dd-bbfe-3dabce05a288
2011-10-29 11:39:06 +00:00
gregory.hainaut b19e31a1be cmake: fix some linking issue with gold linker (AFAIK only fedora use it for the moment)
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4913 96395faa-99c1-11dd-bbfe-3dabce05a288
2011-09-06 19:07:55 +00:00
gregory.hainaut@gmail.com 5adba505e7 pcsx2, zzogl-pg: allow to change some default path with compilation flags.
cmake: Add PLUGIN_DIR and GAMEINDEX_DIR options to easily select install directory. Install GameIndex.dbt during install phase.


git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4811 96395faa-99c1-11dd-bbfe-3dabce05a288
2011-07-17 11:25:17 +00:00
gregory.hainaut@gmail.com 83b3ac85d3 cmake:
* use the standard 3 step flow: cmake, make, make install
* Remove L10N_PORTABLE option, superseeded by PACKAGE_MODE
* Extend PACKAGE_MODE to select the install directory (FHS or local bin)


git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4805 96395faa-99c1-11dd-bbfe-3dabce05a288
2011-07-14 09:02:37 +00:00
gregory.hainaut@gmail.com 3eef469dfb cmake: be sure wx is present before fiddling with the include path
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4804 96395faa-99c1-11dd-bbfe-3dabce05a288
2011-07-10 08:52:16 +00:00
gregory.hainaut@gmail.com d968362961 cmake: * improve gtk hack to be compatible with previous cmake version.
* Add some number to the plugin .so file.


git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4751 96395faa-99c1-11dd-bbfe-3dabce05a288
2011-06-20 18:09:32 +00:00
gregory.hainaut@gmail.com b5b32b4f53 cmake: ubuntu moves file and become incompatible with current cmake version...
For the moment I import cmake file and do a small fix.


git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4666 96395faa-99c1-11dd-bbfe-3dabce05a288
2011-05-23 21:34:45 +00:00
gregory.hainaut@gmail.com 8702685f73 onepad: remember the pad selected (more user expected behavior)
cmake: CDVDiso need gtk2, remove fatal error for 64bits fedora users


git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4649 96395faa-99c1-11dd-bbfe-3dabce05a288
2011-05-14 11:03:02 +00:00
gregory.hainaut@gmail.com 6f9ad58cdf cmake: * properly detect 64 bits stuff...
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4644 96395faa-99c1-11dd-bbfe-3dabce05a288
2011-05-10 16:22:28 +00:00
gregory.hainaut@gmail.com 827dcfaf6f pcsx2: linux: take some margins for the height of font (avoid top/bottom cut)
cmake: 
* disable fomit-frame-pointer which cause crash with gcc-4.6 (it was not enabled by default but now I'm sure people will not enable it ;) )
* Try harder to pick the 32bits configuration for wx in a 64bits environment (opensuse/fedora).



git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4641 96395faa-99c1-11dd-bbfe-3dabce05a288
2011-05-10 09:26:39 +00:00
gregory.hainaut@gmail.com 6926e32466 cmake: fix a subtle bug which lead to a bad selection of wxwidget configuration. Impact fedora users
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4638 96395faa-99c1-11dd-bbfe-3dabce05a288
2011-05-09 20:32:50 +00:00
gregory.hainaut@gmail.com a61c657717 onepad, zeropad: init the sdl video subsystem (sdl 1.3).
cmake: allow to compile pad with sdl 1.3


git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4394 96395faa-99c1-11dd-bbfe-3dabce05a288
2011-03-06 14:26:17 +00:00
gregory.hainaut@gmail.com fffd1328f2 cmake:
* add new cpp files for GSdx
* Ensure V2 API include files of portaudio


git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4385 96395faa-99c1-11dd-bbfe-3dabce05a288
2011-03-02 18:18:26 +00:00
gregory.hainaut@gmail.com 2e6951d102 cmake: sdl and gsdx (experimental)
Note: pad plugins crash when linked with sdl 1.3.


git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4381 96395faa-99c1-11dd-bbfe-3dabce05a288
2011-03-01 19:26:27 +00:00
gregory.hainaut@gmail.com 4bd5322dc6 cmake: WIP to build sdl and GSdx
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4373 96395faa-99c1-11dd-bbfe-3dabce05a288
2011-02-26 20:02:22 +00:00
gregory.hainaut@gmail.com 3020a37f2c cmake: disable gsdx compilation. I need to port sdl first.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4360 96395faa-99c1-11dd-bbfe-3dabce05a288
2011-02-25 18:19:51 +00:00
gregory.hainaut@gmail.com 870da347be cmake: add GSdx compilation (based on codeblock)
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4327 96395faa-99c1-11dd-bbfe-3dabce05a288
2011-02-20 17:01:03 +00:00
gregory.hainaut@gmail.com 4dac657c9b cmake: force the unicode build of wxwidget
Note: requiere cmake 2.8.3 or above (no impact otherwise)


git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4302 96395faa-99c1-11dd-bbfe-3dabce05a288
2011-02-15 14:37:30 +00:00
gregory.hainaut@gmail.com db948003df cmake: add a PACKAGE_MODE option to reduce the burden of packaging
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4289 96395faa-99c1-11dd-bbfe-3dabce05a288
2011-02-12 10:37:44 +00:00
gregory.hainaut@gmail.com cadafe706e cmake: add a L10N_PORTABLE option to allow installing the file in bin/Langs (no superuser right needed)
The option is on by default.

Note: pcsx2 does not detect yet mo file on linux.


git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4245 96395faa-99c1-11dd-bbfe-3dabce05a288
2011-01-22 12:10:46 +00:00
gregory.hainaut@gmail.com 71e76a2e44 cmake: do not separate gmo file by lang directory (issue to create the directory)
l10n: update zh_TW (remove extra \n)


git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4243 96395faa-99c1-11dd-bbfe-3dabce05a288
2011-01-22 09:08:07 +00:00
gregory.hainaut@gmail.com 2382c35b83 cmake: (WIP) rule to compile translation file on linux.
Note: to install them, you must call "make install" with root access. Files will be install into /usr/local/share/locales...


git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4238 96395faa-99c1-11dd-bbfe-3dabce05a288
2011-01-20 20:45:07 +00:00
gregory.hainaut@gmail.com b39546fe81 cmake: rework the resource stuff. Avoid rebuild and files are clear by cmake.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4095 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-12-14 21:44:12 +00:00
gregory.hainaut@gmail.com 9d2f81d142 GregMiscellaneous: sync with trunk (3805:3982)
git-svn-id: http://pcsx2.googlecode.com/svn/branches/GregMiscellaneous@3983 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-10-30 11:24:03 +00:00
gregory.hainaut@gmail.com d84d8e8a2a GregMiscellaneous: sync with trunk (3805-3918)
git-svn-id: http://pcsx2.googlecode.com/svn/branches/GregMiscellaneous@3919 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-10-15 09:32:41 +00:00
gregory.hainaut@gmail.com 888a309e1a GregMiscellaneous: sync and refresh the branch (3728:3768)
git-svn-id: http://pcsx2.googlecode.com/svn/branches/GregMiscellaneous@3769 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-09-15 16:54:19 +00:00
gregory.hainaut@gmail.com dc49a995d6 GregMiscellaneous: zzogl: Fix fullscreen setting & remove useless library
Major issue left: widescreen.


git-svn-id: http://pcsx2.googlecode.com/svn/branches/GregMiscellaneous@3734 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-09-05 22:08:55 +00:00
gregory.hainaut@gmail.com fcba95f4d4 CDVDlinuz:
* move content of version.h into CDVDlinuz.h (avoid a conflict with version.h located in /usr/include/alsa)
* allow cmake to build it.


git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3654 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-08-17 14:39:58 +00:00
gregory.hainaut fa793cca25 cmake:
* move machine optimization in the global setup. In same time use i686 instead of i486
* Also build the debug with fvisibility=hidden No reason to use it only on devel. (actually same as codeblock)


git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3628 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-08-09 19:05:02 +00:00
gregory.hainaut 76cc1bcd37 cmake: Fix include path issue with gtk > 2.21.3 (ubuntu 10.10)
Note: last gtk version moves the gdk-pixbuf module into another place.
Technically cmake needs an update of the FINDGTK2 module. For the moment I add a small work-around.


git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3589 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-08-02 07:33:11 +00:00
gregory.hainaut 83604ec59d cmake: properly separate ldflags from cflags
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3567 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-07-25 14:20:03 +00:00
gregory.hainaut b326504054 [cmake]
* Major rework of the linker flags. Use some globals flags for -s and -m32
  Add a USER_CMAKE_LD_FLAGS variable. Easier to play with advanced link flags for future gcc version (>=4.5)
* Remove useless stub file
[debian]
* minor dependency fix


git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3475 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-07-13 09:16:13 +00:00
gregory.hainaut a16f8b6bc4 [cmake] * new cmake option to contol flags (allow user to break everythings^^): USER_CMAKE_C_FLAGS and USER_CMAKE_CXX_FLAGS
For example enable more optimization on c++:
    cmake CMakeLists.txt DUSER_CMAKE_CXX_FLAGS="-O3"
Or more warning on c++:
    cmake CMakeLists.txt DUSER_CMAKE_CXX_FLAGS="-Wstrict-aliasing"


git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3417 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-07-07 11:36:54 +00:00
gregory.hainaut 8864c8bbaf [cmake] Move flags clean in the build modules. Next step allow user to control them.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3416 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-07-07 11:08:05 +00:00
gregory.hainaut f8163336b7 [cmake] remove -fPIC. Expect a little speed up.
[plugins] remove __forceinline on variadic function that has been broken by the removal of -fPIC.
[debian] update readme about fpic status. And add some lintian overrides.


git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3395 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-07-05 15:43:21 +00:00
gregory.hainaut f57ac9d1d9 [cmake]
* move build options to the build module
* Add some documentation about the default cmake build options


git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3389 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-07-04 12:37:42 +00:00
gregory.hainaut 85e061d4fb [cmake] Fix a long standing typo
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3284 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-06-23 15:45:05 +00:00
gregory.hainaut 7bfae6a2fa [cmake]
* Add a new header
* Check that libjpeg is installed for zzogl


git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3279 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-06-23 10:07:18 +00:00
gregory.hainaut f3ae10f5c3 [cmake]
* Fix again a stupid things...


git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3272 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-06-22 14:36:50 +00:00
gregory.hainaut 3d9c63b0f0 [cmake]:
* Print a fatal_error when users do not source the good CMakeLists file.
* Do not search system libraries if the user force the internal libraries


git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3269 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-06-22 13:30:36 +00:00
gregory.hainaut 3628784ab6 [cmake]
* add some check on libsparsehash
* print more informative message when a depency miss


git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3256 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-06-21 11:05:30 +00:00
gregory.hainaut 21f2c4482e [cmake] bzip2 clean, forget to change one line...
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3240 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-06-19 13:59:16 +00:00
gregory.hainaut a11941d318 [cmake] Drop internal bzip version. No reason to use it, moreover compilation is broken for some distribution.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3239 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-06-19 13:45:30 +00:00
gregory.hainaut dac3126808 [cmake]: Use the good 3rpaty library name...
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3236 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-06-19 12:28:22 +00:00
gregory.hainaut 6e118887a5 * Apply a co-patch of Air and me to use linux friendly include path
[cmake]:
* Update to use the above patch.
* Remove a52. Need to use system version.
* Remove stub file. Append pcsx2 to 3rparty library to ease futur support.

Important Note: codeblock will probably need some update. (add 3rdparty/soundtouch_linux_include in include path)


git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3200 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-06-11 13:51:43 +00:00
gregory.hainaut f08d1971ed [cmake]:
* Fix default build option
* Fix futur soundtouch include path


git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3189 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-06-10 07:14:53 +00:00
gregory.hainaut aa430319c0 [pcsx2 ui]: update Game fixes panel to look like speed hack one
[spu2x]: explain why one inline fail on linux
[cmake]: Prepare some include directory updates


git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3185 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-06-08 17:08:00 +00:00
gregory.hainaut f775d20cbc [cmake]
* Better separation between pcsx2/plugins/3rdparty => no need anymore to download everythings :)
* Drop build dependency on unused libBPM (from soundtouch)


git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3180 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-06-07 13:32:10 +00:00
gregory.hainaut 7883180ab9 [cmake]
* align cmake flags with codeblock one. (note spu2x may still fail to compile with inline problem)
* Some final cleaning. You must be able to see your reflection now ;)


git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3169 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-06-05 11:56:52 +00:00
gregory.hainaut 86a7a85b99 [cmake]
* Add missing file
* Use a default option for FORCE_INTERNAL_SOUNDTOUCH instead of a hardcoded one
* Some cleaning


git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3156 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-06-04 20:35:02 +00:00
gregory.hainaut 03f96b29c5 [cmake]
* Select automatically module (include pcsx2, libutilities&libx86emitter) to build based on dependency available.
* rewrite SearchForStuff. More clean and it will better support mix between library and 3rdparty on linux. (see issue 736)


git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3153 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-06-04 17:17:55 +00:00
gregory.hainaut 732cb88708 [cmake]:
* remove the dependency on libportaudiocpp as codeblock. (issue 721)
* Improve build on 64 bit system


git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3151 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-06-04 11:07:25 +00:00
gregory.hainaut 6a9950e9ef * Oups, copy from a wrong file. Restore the value
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3149 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-06-03 18:04:30 +00:00
gregory.hainaut 5932b130bd * separate build parameter and selection of plugins into new modules. Add comment and status messages
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3148 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-06-03 17:28:20 +00:00