• Login
  • Register
  • Dolphin Forums
  • Home
  • FAQ
  • Download
  • Wiki
  • Code


Dolphin, the GameCube and Wii emulator - Forums › Dolphin Site › Dolphin Patches (Archive) v
« Previous 1 ... 3 4 5 6 7 Next »

Use CMake instead of SCons
View New Posts | View Today's Posts

Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Thread Modes
Use CMake instead of SCons
08-15-2010, 07:45 PM (This post was last modified: 08-15-2010, 08:45 PM by neobrain.)
#1
neobrain Offline
"Wow, I made my code 1000x faster! That means I can make it 2048x slower now!"
**********
Developers (Some Administrators and Super Moderators)
Posts: 3,208
Threads: 50
Joined: Jun 2009
Alright, first of all: I don't have any patches, yet Tongue

However, I've thought about using CMake as Dolphin's building system instead of SCons.

First of all - what is CMake?
CMake is a cross-platform build system (just like SCons) which supports generating Makefiles (numerous variants are supported) as well as project files for some IDEs (MSVC, Code::Blocks, Eclipse). When using Makefiles, it also uses a nicer compilation output (including displaying the percentage of completion).

There's some drawbacks of using SCons which CMake would solve and some things where CMake is simply nicer to work with.

Advantages of using SCons:
- One step for setup+compilation

Disadvantages of using SCons:
- it has an IMO bad syntax. Could be just because I don't know Python though. Anyway, the syntax makes SCons harder to maintain.
- dependency checking needs to be done manually and doesn't even work right apparently (on my linux box, it won't recognize Cg properly and doesn't add WiiUse to the include path)

Disadvantages of using CMake:
- Someone has to change all those SConstruct files to CMakeLists.txt files (I'm already working on that Wink )
- it needs an additional command for generating makefiles/project files (whereas scons is like "scons OPTIONS -j4" cmake would need "cmake OPTIONS; make -j4")
- we need to add some more svn:ignores for the makefiles/project files which will be generated...

Advantages of using CMake:
- in the longer term, we might be able to ditch the vcproj files and let them be generated by CMake instead (would be better to distribute pregenerated project files ofc then) alright, seems like scons supports this as well..
- nicer compilation output
- also supports generation of RPM packages and stuff (even windows installers maybe?) => that one would be a major plus for the linux build
- dependency checking is amazingly simple and actually WORKS. CMake provides several "Modules" which provide detection of various popular libraries.

If you've got anything to add to this list, just report it Wink

I've opened an issue for this, since most devs don't visit the forums that often. Just let me know what you think of this is issue.
My blog
Me on Twitter
My wishlist on Amazon.de
Find
« Next Oldest | Next Newest »


  • View a Printable Version
  • Subscribe to this thread
Forum Jump:


Users browsing this thread:



Powered By MyBB | Theme by Fragma

Linear Mode
Threaded Mode