Add an experimental CMake build system as a possible replacement for SCons. Only tested on Linux, should work on OS X and Windows in the future as well though.

Some notes about this:
- config.h doesn't get written yet, so you'll have to use one generated by SCons
- dependency checking isn't really implemented, yet. Just some basic checks for OpenGL or ALSA, we need something more sophisticated though.
- the OpenGL plugin fails to load for some reason which I can't debug right now due to the libc debuginfo package version in openSUSE not matching the runtime packages
- there's even some support for generating install packages (rpm/deb/.. packages, NSIS installer, etc). It doesn't work properly right now though, since some paths seem to be hardcoded into Dolphin's source
- probably lots of other stuff I forgot... Just take a look at all the TODOs in the CMakeLists.txt files for more information ;P

Additionally, I added various files to the svn:ignore list.

tl;dr: Unless you are a dev or you're building binary packages, this commit shouldn't bother you :P


git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6326 8ced0084-cf51-0410-be5f-012b33b47a6e
This commit is contained in:
NeoBrainX
2010-11-01 15:47:02 +00:00
parent 4b9831cdce
commit b75a805859
24 changed files with 879 additions and 0 deletions

View File

@ -0,0 +1,31 @@
set(SRCS Src/AudioCommon.cpp
Src/AudioCommonConfig.cpp
Src/Mixer.cpp
Src/WaveFile.cpp)
if(APPLE)
set(SRCS ${SRCS} Src/CoreAudioSoundStream.cpp)
else()
if(ALSA_FOUND)
set(SRCS ${SRCS} Src/AlsaSoundStream.cpp)
endif(ALSA_FOUND)
if(AO_FOUND)
set(SRCS ${SRCS} Src/AOSoundStream.cpp)
endif(AO_FOUND)
if(OPENAL_FOUND OR WIN32)
set(SRCS ${SRCS} Src/OpenALSoundStream.cpp)
endif(OPENAL_FOUND OR WIN32)
if(PULSEAUDIO_FOUND)
set(SRCS ${SRCS} Src/PulseAudioStream.cpp)
endif(PULSEAUDIO_FOUND)
if(WIN32)
set(SRCS ${SRCS} Src/DSoundStream.cpp)
endif(WIN32)
endif()
add_library(audiocommon STATIC ${SRCS})

View File

@ -0,0 +1,15 @@
add_subdirectory(AudioCommon)
add_subdirectory(Common)
add_subdirectory(Core)
if(wxWidgets_FOUND)
add_subdirectory(DebuggerUICommon)
add_subdirectory(DebuggerWX)
add_subdirectory(InputUICommon)
endif()
add_subdirectory(DiscIO)
add_subdirectory(DolphinWX)
add_subdirectory(DSPCore)
add_subdirectory(InputCommon)
add_subdirectory(VideoCommon)

View File

@ -0,0 +1,42 @@
set(SRCS Src/ABI.cpp
Src/BreakPoints.cpp
Src/CDUtils.cpp
Src/ColorUtil.cpp
Src/ConsoleListener.cpp
Src/CPUDetect.cpp
Src/DynamicLibrary.cpp
Src/FileSearch.cpp
Src/FileUtil.cpp
Src/Hash.cpp
Src/IniFile.cpp
Src/LogManager.cpp
Src/MathUtil.cpp
Src/MemArena.cpp
Src/MemoryUtil.cpp
Src/Misc.cpp
Src/MsgHandler.cpp
Src/NandPaths.cpp
Src/OpenCL.cpp
Src/Plugin.cpp
Src/PluginDSP.cpp
Src/PluginVideo.cpp
Src/SDCardUtil.cpp
Src/StringUtil.cpp
Src/SymbolDB.cpp
Src/SysConf.cpp
Src/Thread.cpp
Src/Thunk.cpp
Src/Timer.cpp
Src/Version.cpp
Src/x64Analyzer.cpp
Src/x64Emitter.cpp
Src/Crypto/bn.cpp
Src/Crypto/ec.cpp
Src/Crypto/md5.cpp
Src/Crypto/sha1.cpp)
if(WIN32)
set(SRCS ${SRCS} Src/ExtendedTrace.cpp Src/stdafx.cpp)
endif(WIN32)
add_library(common STATIC ${SRCS})

View File

@ -0,0 +1,144 @@
set(SRCS Src/ActionReplay.cpp
Src/ARDecrypt.cpp
Src/ConfigManager.cpp
Src/Console.cpp
Src/Core.cpp
Src/CoreParameter.cpp
Src/CoreRerecording.cpp
Src/CoreTiming.cpp
Src/GeckoCodeConfig.cpp
Src/GeckoCode.cpp
Src/LuaInterface.cpp
Src/MemTools.cpp
Src/OnFrame.cpp
Src/PatchEngine.cpp
Src/PluginManager.cpp
Src/State.cpp
Src/stdafx.cpp
Src/Tracer.cpp
Src/VolumeHandler.cpp
Src/Boot/Boot_BS2Emu.cpp
Src/Boot/Boot.cpp
Src/Boot/Boot_DOL.cpp
Src/Boot/Boot_ELF.cpp
Src/Boot/Boot_WiiWAD.cpp
Src/Boot/ElfReader.cpp
Src/Debugger/Debugger_SymbolMap.cpp
Src/Debugger/Dump.cpp
Src/Debugger/PPCDebugInterface.cpp
Src/HLE/HLE.cpp
Src/HLE/HLE_Misc.cpp
Src/HLE/HLE_OS.cpp
Src/HW/AudioInterface.cpp
Src/HW/CPU.cpp
Src/HW/DSP.cpp
Src/HW/DVDInterface.cpp
Src/HW/EXI_Channel.cpp
Src/HW/EXI.cpp
Src/HW/EXI_Device.cpp
Src/HW/EXI_DeviceAD16.cpp
Src/HW/EXI_DeviceAMBaseboard.cpp
Src/HW/EXI_DeviceEthernet.cpp
Src/HW/EXI_DeviceIPL.cpp
Src/HW/EXI_DeviceMemoryCard.cpp
Src/HW/EXI_DeviceMic.cpp
Src/HW/GCPad.cpp
Src/HW/GCPadEmu.cpp
Src/HW/GPFifo.cpp
Src/HW/HW.cpp
Src/HW/Memmap.cpp
Src/HW/MemmapFunctions.cpp
Src/HW/MemoryInterface.cpp
Src/HW/ProcessorInterface.cpp
Src/HW/SI.cpp
Src/HW/SI_DeviceAMBaseboard.cpp
Src/HW/SI_Device.cpp
Src/HW/SI_DeviceGBA.cpp
Src/HW/SI_DeviceGCController.cpp
Src/HW/StreamADPCM.cpp
Src/HW/SystemTimers.cpp
Src/HW/VideoInterface.cpp
Src/HW/WII_IOB.cpp
Src/HW/WII_IPC.cpp
Src/HW/Wiimote.cpp
Src/HW/WiimoteEmu/WiimoteEmu.cpp
Src/HW/WiimoteEmu/Attachment/Classic.cpp
Src/HW/WiimoteEmu/Attachment/Attachment.cpp
Src/HW/WiimoteEmu/Attachment/Nunchuk.cpp
Src/HW/WiimoteEmu/Attachment/Drums.cpp
Src/HW/WiimoteEmu/Attachment/Guitar.cpp
Src/HW/WiimoteEmu/Attachment/Turntable.cpp
Src/HW/WiimoteEmu/EmuSubroutines.cpp
Src/HW/WiimoteEmu/Encryption.cpp
#Src/HW/WiimoteEmu/Speaker.cpp
Src/HW/WiimoteReal/WiimoteReal.cpp
Src/IPC_HLE/WII_IPC_HLE.cpp
Src/IPC_HLE/WII_IPC_HLE_Device_DI.cpp
Src/IPC_HLE/WII_IPC_HLE_Device_es.cpp
Src/IPC_HLE/WII_IPC_HLE_Device_FileIO.cpp
Src/IPC_HLE/WII_IPC_HLE_Device_fs.cpp
Src/IPC_HLE/WII_IPC_HLE_Device_net.cpp
Src/IPC_HLE/WII_IPC_HLE_Device_sdio_slot0.cpp
Src/IPC_HLE/WII_IPC_HLE_Device_usb.cpp
Src/IPC_HLE/WII_IPC_HLE_Device_usb_kbd.cpp
Src/IPC_HLE/WII_IPC_HLE_WiiMote.cpp
Src/IPC_HLE/WiiMote_HID_Attr.cpp
Src/PowerPC/LUT_frsqrtex.cpp
Src/PowerPC/PowerPC.cpp
Src/PowerPC/PPCAnalyst.cpp
Src/PowerPC/PPCCache.cpp
Src/PowerPC/PPCSymbolDB.cpp
Src/PowerPC/PPCTables.cpp
Src/PowerPC/Profiler.cpp
Src/PowerPC/SignatureDB.cpp
Src/PowerPC/Interpreter/Interpreter_Branch.cpp
Src/PowerPC/Interpreter/Interpreter.cpp
Src/PowerPC/Interpreter/Interpreter_FloatingPoint.cpp
Src/PowerPC/Interpreter/Interpreter_Integer.cpp
Src/PowerPC/Interpreter/Interpreter_LoadStore.cpp
Src/PowerPC/Interpreter/Interpreter_LoadStorePaired.cpp
Src/PowerPC/Interpreter/Interpreter_Paired.cpp
Src/PowerPC/Interpreter/Interpreter_SystemRegisters.cpp
Src/PowerPC/Interpreter/Interpreter_Tables.cpp
Src/PowerPC/Jit64IL/IR.cpp
Src/PowerPC/Jit64IL/IR_X86.cpp
Src/PowerPC/Jit64IL/JitILAsm.cpp
Src/PowerPC/Jit64IL/JitIL_Branch.cpp
Src/PowerPC/Jit64IL/JitIL.cpp
Src/PowerPC/Jit64IL/JitIL_FloatingPoint.cpp
Src/PowerPC/Jit64IL/JitIL_Integer.cpp
Src/PowerPC/Jit64IL/JitIL_LoadStore.cpp
Src/PowerPC/Jit64IL/JitIL_LoadStoreFloating.cpp
Src/PowerPC/Jit64IL/JitIL_LoadStorePaired.cpp
Src/PowerPC/Jit64IL/JitIL_Paired.cpp
Src/PowerPC/Jit64IL/JitIL_SystemRegisters.cpp
Src/PowerPC/Jit64IL/JitIL_Tables.cpp
Src/PowerPC/Jit64/Jit64_Tables.cpp
Src/PowerPC/Jit64/JitAsm.cpp
Src/PowerPC/Jit64/Jit_Branch.cpp
Src/PowerPC/Jit64/Jit.cpp
Src/PowerPC/Jit64/Jit_FloatingPoint.cpp
Src/PowerPC/Jit64/Jit_Integer.cpp
Src/PowerPC/Jit64/Jit_LoadStore.cpp
Src/PowerPC/Jit64/Jit_LoadStoreFloating.cpp
Src/PowerPC/Jit64/Jit_LoadStorePaired.cpp
Src/PowerPC/Jit64/Jit_Paired.cpp
Src/PowerPC/Jit64/JitRegCache.cpp
Src/PowerPC/Jit64/Jit_SystemRegisters.cpp
Src/PowerPC/JitCommon/JitAsmCommon.cpp
Src/PowerPC/JitCommon/JitBackpatch.cpp
Src/PowerPC/JitCommon/JitBase.cpp
Src/PowerPC/JitCommon/JitCache.cpp
Src/PowerPC/JitCommon/Jit_Util.cpp)
if(WIN32)
set(SRCS ${SRCS} Src/HW/BBA-TAP/TAP_Win32.cpp Src/stdafx.cpp)
elseif(APPLE)
set(SRCS ${SRCS} Src/HW/BBA-TAP/TAP_Apple.cpp)
elseif(UNIX)
set(SRCS ${SRCS} Src/HW/BBA-TAP/TAP_Unix.cpp)
endif()
add_library(core STATIC ${SRCS})
target_link_libraries(core bdisasm inputcommon lua sfml-network wiiuse)

View File

@ -0,0 +1,25 @@
set(SRCS Src/assemble.cpp
Src/disassemble.cpp
Src/DSPAccelerator.cpp
Src/DSPIntCCUtil.cpp
Src/DSPIntExtOps.cpp
Src/DSPHWInterface.cpp
Src/DSPMemoryMap.cpp
Src/DSPStacks.cpp
Src/DSPAnalyzer.cpp
Src/DspIntArithmetic.cpp
Src/DspIntBranch.cpp
Src/DspIntLoadStore.cpp
Src/DspIntMisc.cpp
Src/DspIntMultiplier.cpp
Src/DSPEmitter.cpp
Src/DSPCodeUtil.cpp
Src/LabelMap.cpp
Src/DSPInterpreter.cpp
Src/DSPCore.cpp
Src/DSPTables.cpp
Src/Jit/DSPJitExtOps.cpp
Src/Jit/DSPJitUtil.cpp
Src/Jit/DSPJitMisc.cpp)
add_library(dspcore STATIC ${SRCS})

View File

@ -0,0 +1,5 @@
set(SRCS Src/CodeView.cpp
Src/DebuggerUIUtil.cpp
Src/MemoryView.cpp)
add_library(debugger_ui_util STATIC ${SRCS})

View File

@ -0,0 +1,13 @@
set(SRCS Src/BreakpointDlg.cpp
Src/BreakpointView.cpp
Src/BreakpointWindow.cpp
Src/CodeWindow.cpp
Src/CodeWindowFunctions.cpp
Src/JitWindow.cpp
Src/MemoryCheckDlg.cpp
Src/MemoryWindow.cpp
Src/RegisterView.cpp
Src/RegisterWindow.cpp)
add_library(debwx STATIC ${SRCS})
target_link_libraries(debwx common debugger_ui_util)

View File

@ -0,0 +1,25 @@
set(SRCS Src/BannerLoader.cpp
Src/BannerLoaderGC.cpp
Src/BannerLoaderWii.cpp
Src/Blob.cpp
Src/CompressedBlob.cpp
Src/DiscScrubber.cpp
Src/DriveBlob.cpp
Src/FileBlob.cpp
Src/FileHandlerARC.cpp
Src/FileMonitor.cpp
Src/Filesystem.cpp
Src/FileSystemGCWii.cpp
Src/NANDContentLoader.cpp
Src/VolumeCommon.cpp
Src/VolumeCreator.cpp
Src/VolumeDirectory.cpp
Src/VolumeGC.cpp
Src/VolumeWad.cpp
Src/VolumeWiiCrypted.cpp
Src/WiiWad.cpp
Src/AES/aes_cbc.c
Src/AES/aes_core.c)
add_library(discio STATIC ${SRCS})
target_link_libraries(discio common)

View File

@ -0,0 +1,79 @@
set(SRCS Src/BootManager.cpp)
set(LIBS core
lzo2
discio
bdisasm
inputcommon
common
lua
z
sfml-network)
if(wxWidgets_FOUND)
set(MEMCARDSRCS Src/MemcardManager.cpp
Src/MemoryCards/GCMemcard.cpp
Src/WxUtils.cpp)
set(SRCS ${SRCS}
Src/AboutDolphin.cpp
Src/ARCodeAddEdit.cpp
Src/CheatsWindow.cpp
Src/ConfigMain.cpp
Src/Frame.cpp
Src/FrameAui.cpp
Src/FrameTools.cpp
Src/GameListCtrl.cpp
Src/GeckoCodeDiag.cpp
Src/HotkeyDlg.cpp
Src/InputConfigDiag.cpp
Src/InputConfigDiagBitmaps.cpp
Src/ISOFile.cpp
Src/ISOProperties.cpp
Src/LogWindow.cpp
Src/LuaWindow.cpp
Src/Main.cpp
Src/NetPlay.cpp
Src/NetPlayClient.cpp
Src/NetPlayServer.cpp
Src/NetWindow.cpp
Src/PatchAddEdit.cpp
Src/WiimoteConfigDiag.cpp
Src/MemoryCards/WiiSaveCrypted.cpp)
set(WXLIBS debwx
debugger_ui_util
inputuicommon
memcard
${wxWidgets_LIBRARIES})
else(wxWidgets_FOUND)
set(SRCS ${SRCS}
Src/MainNoGUI.cpp
Src/cmdline.c)
endif()
if(WIN32)
set(SRCS ${SRCS} Src/stdafx.cpp)
elseif(APPLE AND NOT wxWidgets_FOUND)
# TODO
elseif(APPLE AND wxWidgets_FOUND)
# TODO
else()
set(SRCS ${SRCS} Src/X11Utils.cpp)
endif()
set(LIBS ${LIBS} SDL)
set(EXEGUI dolphin-emu)
set(EXENOGUI dolphin-emu-nogui)
if(wxWidgets_FOUND)
add_library(memcard STATIC ${MEMCARDSRCS})
add_executable(${EXEGUI} ${SRCS})
target_link_libraries(${EXEGUI} ${LIBS} ${WXLIBS})
install(TARGETS ${EXEGUI} RUNTIME DESTINATION bin) # TODO: Move to root dir?
else()
add_executable(${EXENOGUI} ${SRCS})
target_link_libraries(${EXENOGUI} ${LIBS})
install(TARGETS ${EXENOGUI} RUNTIME DESTINATION bin) # TODO: Move to root dir?
endif()

View File

@ -0,0 +1,26 @@
set(SRCS Src/ControllerEmu.cpp
Src/InputConfig.cpp
#Src/UDPWiimote.cpp
#Src/UDPWrapper.cpp
Src/ControllerInterface/ControllerInterface.cpp)
if(WIN32)
set(SRCS ${SRCS}
Src/ControllerInterface/DInput/DInput.cpp
Src/ControllerInterface/DInput/DInputJoystick.cpp
Src/ControllerInterface/DInput/DInputKeyboardMouse.cpp
Src/ControllerInterface/SDL/SDL.cpp
Src/ControllerInterface/XInput/XInput.cpp)
elseif(APPLE)
set(SRCS ${SRCS}
Src/ControllerInterface/OSX/OSX.mm
Src/ControllerInterface/OSX/OSXKeyboard.mm
Src/ControllerInterface/OSX/OSXMouse.mm
Src/ControllerInterface/SDL/SDL.cpp)
elseif(X11_FOUND)
set(SRCS ${SRCS}
Src/ControllerInterface/SDL/SDL.cpp
Src/ControllerInterface/Xlib/Xlib.cpp)
endif()
add_library(inputcommon ${SRCS})

View File

@ -0,0 +1,4 @@
set(SRCS Src/WXInputBase.cpp)
add_library(inputuicommon ${SRCS})
target_link_libraries(inputuicommon inputcommon)

View File

@ -0,0 +1,41 @@
set(SRCS Src/BPMemory.cpp
Src/BPStructs.cpp
Src/CommandProcessor.cpp
Src/CPMemory.cpp
Src/DLCache.cpp
Src/Fifo.cpp
Src/HiresTextures.cpp
Src/ImageWrite.cpp
Src/IndexGenerator.cpp
Src/memcpy_amd.cpp
Src/OnScreenDisplay.cpp
Src/OpcodeDecoding.cpp
Src/PixelEngine.cpp
Src/PixelShaderGen.cpp
Src/PixelShaderManager.cpp
Src/Profiler.cpp
Src/Statistics.cpp
Src/TextureCacheBase.cpp
Src/TextureConversionShader.cpp
Src/TextureDecoder.cpp
Src/VertexLoader.cpp
Src/VertexLoaderManager.cpp
Src/VertexLoader_Color.cpp
Src/VertexLoader_Normal.cpp
Src/VertexLoader_Position.cpp
Src/VertexLoader_TextCoord.cpp
Src/VertexManagerBase.cpp
Src/VertexShaderGen.cpp
Src/VertexShaderManager.cpp
Src/VideoConfig.cpp
Src/VideoState.cpp
Src/XFBConvert.cpp
Src/XFMemory.cpp
Src/XFStructs.cpp)
# TODO?
if(OPENCL_FOUND)
set(SRCS ${SRCS} Src/OpenCL/OCLTextureDecoder.cpp)
endif(OPENCL_FOUND)
add_library(videocommon STATIC ${SRCS})