set(LIBS core ${LZO} discio bdisasm inputcommon common audiocommon z sfml-network SDL ${OPENGL_LIBRARIES} ${XRANDR_LIBRARIES} ${X11_LIBRARIES}) if(LIBAV_FOUND) set(LIBS ${LIBS} ${LIBAV_LIBRARIES}) endif() if(wxWidgets_FOUND) set(SRCS Src/ARCodeAddEdit.cpp Src/AboutDolphin.cpp Src/CheatsWindow.cpp Src/ConfigMain.cpp Src/Debugger/BreakpointDlg.cpp Src/Debugger/BreakpointView.cpp Src/Debugger/BreakpointWindow.cpp Src/Debugger/CodeView.cpp Src/Debugger/CodeWindow.cpp Src/Debugger/CodeWindowFunctions.cpp Src/Debugger/DSPDebugWindow.cpp Src/Debugger/DSPRegisterView.cpp Src/Debugger/DebuggerPanel.cpp Src/Debugger/DebuggerUIUtil.cpp Src/Debugger/JitWindow.cpp Src/Debugger/MemoryCheckDlg.cpp Src/Debugger/MemoryView.cpp Src/Debugger/MemoryWindow.cpp Src/Debugger/RegisterView.cpp Src/Debugger/RegisterWindow.cpp Src/FifoPlayerDlg.cpp Src/Frame.cpp Src/FrameAui.cpp Src/FrameTools.cpp Src/GameListCtrl.cpp Src/GeckoCodeDiag.cpp Src/HotkeyDlg.cpp Src/ISOFile.cpp Src/ISOProperties.cpp Src/InputConfigDiag.cpp Src/InputConfigDiagBitmaps.cpp Src/LogConfigWindow.cpp Src/LogWindow.cpp Src/Main.cpp Src/MemcardManager.cpp Src/MemoryCards/WiiSaveCrypted.cpp Src/NetWindow.cpp Src/PHackSettings.cpp Src/PatchAddEdit.cpp Src/TASInputDlg.cpp Src/UDPConfigDiag.cpp Src/VideoConfigDiag.cpp Src/WXInputBase.cpp Src/WiimoteConfigDiag.cpp Src/WxUtils.cpp) set(WXLIBS ${wxWidgets_LIBRARIES} ${GTK2_LIBRARIES}) else() set(SRCS Src/MainNoGUI.cpp) endif() if(WIN32) set(SRCS ${SRCS} Src/stdafx.cpp) elseif(${CMAKE_SYSTEM_NAME} MATCHES "Darwin") # Link against OS X system frameworks. list(APPEND LIBS ${APPKIT_LIBRARY} ${AU_LIBRARY} ${COREAUDIO_LIBRARY} ${COREFUND_LIBRARY} ${CORESERV_LIBRARY} ${IOB_LIBRARY} ${IOK_LIBRARY} ) if(wxWidgets_FOUND) list(APPEND LIBS ${APPSERV_LIBRARY} ${COCOA_LIBRARY} ) endif() # Add resource files to application bundle. set(RESOURCES resources/Dolphin.icns) list(APPEND SRCS ${RESOURCES}) set_source_files_properties(${RESOURCES} PROPERTIES MACOSX_PACKAGE_LOCATION Resources) else() set(SRCS ${SRCS} Src/X11Utils.cpp) endif() if(${CMAKE_SYSTEM_NAME} MATCHES "FreeBSD" OR ${CMAKE_SYSTEM_NAME} MATCHES "NetBSD") set(LIBS ${LIBS} usbhid) endif() if(${CMAKE_SYSTEM_NAME} MATCHES "Darwin") set(DOLPHIN_EXE_BASE Dolphin) else() set(DOLPHIN_EXE_BASE dolphin-emu) endif() if(wxWidgets_FOUND) set(DOLPHIN_EXE ${DOLPHIN_EXE_BASE}) else() set(DOLPHIN_EXE ${DOLPHIN_EXE_BASE}-nogui) endif() add_executable(${DOLPHIN_EXE} ${SRCS}) target_link_libraries(${DOLPHIN_EXE} ${LIBS} ${WXLIBS}) install(TARGETS ${DOLPHIN_EXE} RUNTIME DESTINATION ${bindir}) if(${CMAKE_SYSTEM_NAME} MATCHES "Darwin") include(BundleUtilities) set(BUNDLE_PATH ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/${DOLPHIN_EXE}.app) # Ask for an application bundle. set_target_properties(${DOLPHIN_EXE} PROPERTIES MACOSX_BUNDLE true MACOSX_BUNDLE_BUNDLE_NAME Dolphin MACOSX_BUNDLE_ICON_FILE Dolphin.icns MACOSX_BUNDLE_GUI_IDENTIFIER com.dolphin-emulator.dolphin MACOSX_BUNDLE_SHORT_VERSION_STRING ${DOLPHIN_WC_DESCRIBE} MACOSX_BUNDLE_LONG_VERSION_STRING ${DOLPHIN_WC_REVISION} MACOSX_BUNDLE_BUNDLE_VERSION "${DOLPHIN_VERSION_MAJOR}.${DOLPHIN_VERSION_MINOR}" MACOSX_BUNDLE_COPYRIGHT "Licensed under GPL version 2" ) # Install Cg framework into application bundle. copy_resolved_framework_into_bundle( # Our framework in "Externals" does not have "Versions/Current/" in # its path; work around the missing directory levels using "././". "${CMAKE_SOURCE_DIR}/Externals/Cg/Cg.framework/././Cg" "${BUNDLE_PATH}/Contents/Frameworks/Cg.framework/././Cg" ) # Fix up the bundle after it is finished. # There does not seem to be an easy way to run CMake commands post-build, # so we invoke CMake again on a generated script. file(WRITE ${CMAKE_CURRENT_BINARY_DIR}/postprocess_bundle.cmake " include(BundleUtilities) message(\"Fixing up application bundle: ${BUNDLE_PATH}\") fixup_bundle(\"${BUNDLE_PATH}\" \"\" \"\") ") add_custom_command(TARGET ${DOLPHIN_EXE} POST_BUILD COMMAND ${CMAKE_COMMAND} -P postprocess_bundle.cmake ) endif()