Emulator Issues #3062
closedSwitch to CMake
0%
Description
I was thinking about switching Dolphin to use CMake instead of SCons. There's some drawbacks of using SCons which CMake would solve and some things where CMake is simply nicer to work with.
To keep things simple, I've written the pros and cons of CMake in a forum post (so I can edit it lateron).
I'd even do all the work, I just need to know what other devs are thinking about it. IMO CMake is the superior build system, but that might just be personal preference (just as with git and Qt :P).
See this thread: http://forums.dolphin-emu.com/thread-11506.html
Updated by NeoBrainX over 14 years ago
nakee and glennrics seem to agree...
So I guess I'd prepare a patch for this, just wondering what soren thinks about this ;)
Updated by marcel.werner3 over 14 years ago
yeah, you better ask him first, or else it could be that after all your work he just reverts it ;p
Updated by Ignacio.Farias over 14 years ago
he will just wait to upload neo commit, and then revert it :p. Nha, most of all devs should agree with it
Updated by nakeee over 14 years ago
I think you should commit the cmake work as soon as it sort of works.
it shouldn't collide with the current scons.
this way we can iron bugs/make it work on osx without problem.
If someone wants to keep maintaining the scons go ahead.
Updated by laetemn over 14 years ago
This includes transporting supplies for the project from VS2008 VS2010?
Whenever I compile the Dolphin, I realize that there is a lot of messages about functions and arguments uilização depreciated.
I also believe that an optimized code taking repeated many texts found in the sources would be good for the project.
PS: Sorry for my English ... I am using Google Translator. ;)
Updated by glennricster over 14 years ago
I agree with nakeee. Get the base build system going, and then we can work with it.
Updated by NeoBrainX over 14 years ago
Alright, will need some time though, I'm a bit busy these days ;)
Updated by virtuousfox over 14 years ago
hi, i'm Gentoo user. i was trying to write proper ebuild for Dolphin several hours now and made a conclusion that with SCons and its current Dolphin scripts it's impossible to properly achieve Gentoo building requirements like:
-
separate configure, compile and install stages
-
explicitly and unambiguously setting installation paths for data, libs and bins
(currently scons script has to be edited to put Data in correct place which is not '$PREFIX/share/dolphin-emu' but '/usr/share/games/dolphin-emu' in Gentoo).
besides, Data/* is not installed by 'scons install=global install' for some reason.
and i still can't figure out how to make Dolphin "eat" that data
(looks like it still unable to read stuff from DATA_DIR and write to ~/USER_DIR (it wasn't able to even autocreate 'Config' dir to put its 'Dolphin.ini' file) -
explicitly and unambiguously switch on/off optional features like openal, libao, pulseaudio, wxwidgets support and choose between system and bundled libs.
-
use system building flags from variables (CFLAGS,CXXFLAGS,LDFLAGS,etc.) as
$VARIABLE="$VARIABLE "
switching to CMake is nice move and i hope it will make building Dolphin easy and straightforward. please, don't reconsider it :)
Updated by LCIDFire over 14 years ago
Tried to compile today for Ubuntu. Having similar problems as the ones described for Gentoo. Would be great if you could fix the build system.
Updated by bonanit about 14 years ago
How are the efforts on this front? I checked the svn repository (branches) but saw nothing. Did anyone started working on this? I ask because I've been helping on the Gentoo ebuild, but we're encountering some deficiencies on the current build system, as virtuousfox already pointed out, and would be a bit stupid to waste effort on fixing it if you're about to switch to CMake. I could even try and help with it, if the switch is going ahead.
Updated by NeoBrainX about 14 years ago
I started, but work is currently stalled since I'm lacking time...
I'll try to look into it again soon and try to get it into a committable state, so that other people can fix it for me :P
Updated by NeoBrainX about 14 years ago
- Status changed from New to Work started
Updated by NeoBrainX about 14 years ago
- Status changed from Work started to Fixed