2014-08-06 13:32:41 -06:00
|
|
|
set(GUI_SRCS
|
|
|
|
ARCodeAddEdit.cpp
|
|
|
|
AboutDolphin.cpp
|
2014-11-22 14:39:48 -07:00
|
|
|
ControllerConfigDiag.cpp
|
2014-10-18 15:32:50 -06:00
|
|
|
Cheats/CheatSearchTab.cpp
|
|
|
|
Cheats/CheatsWindow.cpp
|
|
|
|
Cheats/CreateCodeDialog.cpp
|
|
|
|
Cheats/GeckoCodeDiag.cpp
|
2015-03-18 16:00:27 -06:00
|
|
|
Config/AdvancedConfigPane.cpp
|
|
|
|
Config/AudioConfigPane.cpp
|
|
|
|
Config/ConfigMain.cpp
|
|
|
|
Config/GameCubeConfigPane.cpp
|
|
|
|
Config/GeneralConfigPane.cpp
|
|
|
|
Config/InterfaceConfigPane.cpp
|
|
|
|
Config/PathConfigPane.cpp
|
|
|
|
Config/WiiConfigPane.cpp
|
2014-08-06 13:32:41 -06:00
|
|
|
Debugger/BreakpointDlg.cpp
|
|
|
|
Debugger/BreakpointView.cpp
|
|
|
|
Debugger/BreakpointWindow.cpp
|
|
|
|
Debugger/CodeView.cpp
|
|
|
|
Debugger/CodeWindow.cpp
|
|
|
|
Debugger/CodeWindowFunctions.cpp
|
|
|
|
Debugger/DSPDebugWindow.cpp
|
|
|
|
Debugger/DSPRegisterView.cpp
|
|
|
|
Debugger/DebuggerPanel.cpp
|
|
|
|
Debugger/DebuggerUIUtil.cpp
|
|
|
|
Debugger/JitWindow.cpp
|
|
|
|
Debugger/MemoryCheckDlg.cpp
|
|
|
|
Debugger/MemoryView.cpp
|
|
|
|
Debugger/MemoryWindow.cpp
|
|
|
|
Debugger/RegisterView.cpp
|
|
|
|
Debugger/RegisterWindow.cpp
|
2014-10-19 04:45:40 -06:00
|
|
|
Debugger/WatchView.cpp
|
|
|
|
Debugger/WatchWindow.cpp
|
2015-04-10 23:24:45 -06:00
|
|
|
NetPlay/ChangeGameDialog.cpp
|
|
|
|
NetPlay/NetPlaySetupFrame.cpp
|
|
|
|
NetPlay/NetWindow.cpp
|
|
|
|
NetPlay/PadMapDialog.cpp
|
2014-08-06 13:32:41 -06:00
|
|
|
FifoPlayerDlg.cpp
|
|
|
|
Frame.cpp
|
|
|
|
FrameAui.cpp
|
|
|
|
FrameTools.cpp
|
|
|
|
GameListCtrl.cpp
|
|
|
|
HotkeyDlg.cpp
|
|
|
|
ISOFile.cpp
|
|
|
|
ISOProperties.cpp
|
|
|
|
InputConfigDiag.cpp
|
|
|
|
InputConfigDiagBitmaps.cpp
|
|
|
|
LogConfigWindow.cpp
|
|
|
|
LogWindow.cpp
|
|
|
|
Main.cpp
|
|
|
|
MemcardManager.cpp
|
|
|
|
PatchAddEdit.cpp
|
2014-07-29 11:14:25 -06:00
|
|
|
PostProcessingConfigDiag.cpp
|
2014-08-06 13:32:41 -06:00
|
|
|
SoftwareVideoConfigDialog.cpp
|
|
|
|
TASInputDlg.cpp
|
|
|
|
VideoConfigDiag.cpp
|
|
|
|
WXInputBase.cpp
|
|
|
|
WxUtils.cpp)
|
2010-11-01 09:47:02 -06:00
|
|
|
|
2014-11-24 18:26:33 -07:00
|
|
|
set(NOGUI_SRCS MainNoGUI.cpp)
|
|
|
|
|
|
|
|
if(USE_X11)
|
|
|
|
set(GUI_SRCS ${GUI_SRCS} X11Utils.cpp)
|
|
|
|
set(NOGUI_SRCS ${NOGUI_SRCS} X11Utils.cpp)
|
|
|
|
endif()
|
|
|
|
|
2014-08-06 13:32:41 -06:00
|
|
|
set(WXLIBS ${wxWidgets_LIBRARIES} dl)
|
|
|
|
|
2014-11-19 17:55:52 -07:00
|
|
|
list(APPEND LIBS core uicommon)
|
|
|
|
|
|
|
|
if(ANDROID)
|
|
|
|
list(APPEND LIBS png)
|
|
|
|
endif()
|
|
|
|
|
2014-08-06 13:32:41 -06:00
|
|
|
set(ANDROID_SRCS Android/ButtonManager.cpp
|
|
|
|
MainAndroid.cpp)
|
2012-12-17 13:54:20 -07:00
|
|
|
|
2015-01-03 05:17:57 -07:00
|
|
|
if(APPLE)
|
2011-12-07 00:26:44 -07:00
|
|
|
if(wxWidgets_FOUND)
|
2014-11-19 17:55:52 -07:00
|
|
|
list(APPEND WXLIBS
|
2011-12-07 00:26:44 -07:00
|
|
|
${APPSERV_LIBRARY}
|
|
|
|
${COCOA_LIBRARY}
|
|
|
|
)
|
|
|
|
endif()
|
2011-12-11 08:07:59 -07:00
|
|
|
# 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)
|
2010-11-01 09:47:02 -06:00
|
|
|
endif()
|
|
|
|
|
2015-01-03 05:17:57 -07:00
|
|
|
if(APPLE)
|
2011-12-11 08:07:59 -07:00
|
|
|
set(DOLPHIN_EXE_BASE Dolphin)
|
|
|
|
else()
|
|
|
|
set(DOLPHIN_EXE_BASE dolphin-emu)
|
|
|
|
endif()
|
2014-08-06 13:32:41 -06:00
|
|
|
|
|
|
|
set(DOLPHIN_EXE ${DOLPHIN_EXE_BASE})
|
2011-02-12 23:06:32 -07:00
|
|
|
|
2013-08-29 23:35:43 -06:00
|
|
|
include(FindGettext)
|
2013-09-12 10:10:16 -06:00
|
|
|
if(GETTEXT_MSGMERGE_EXECUTABLE AND GETTEXT_MSGFMT_EXECUTABLE AND wxWidgets_FOUND)
|
2013-08-29 23:35:43 -06:00
|
|
|
file(GLOB LINGUAS ${CMAKE_SOURCE_DIR}/Languages/po/*.po)
|
|
|
|
add_custom_target(translations ALL)
|
|
|
|
GETTEXT_CREATE_TRANSLATIONS(${CMAKE_SOURCE_DIR}/Languages/po/dolphin-emu.pot ${LINGUAS})
|
|
|
|
endif()
|
|
|
|
|
2013-02-26 12:49:00 -07:00
|
|
|
if(ANDROID)
|
2013-07-27 14:09:18 -06:00
|
|
|
set(DOLPHIN_EXE main)
|
2014-08-06 13:32:41 -06:00
|
|
|
add_library(${DOLPHIN_EXE} SHARED ${SRCS} ${ANDROID_SRCS})
|
2014-11-01 08:33:02 -06:00
|
|
|
target_link_libraries(${DOLPHIN_EXE}
|
2013-02-26 12:49:00 -07:00
|
|
|
log
|
|
|
|
android
|
2013-11-24 15:43:53 -07:00
|
|
|
"-Wl,--no-warn-mismatch"
|
2013-02-26 12:49:00 -07:00
|
|
|
"-Wl,--whole-archive"
|
|
|
|
${LIBS}
|
|
|
|
"-Wl,--no-whole-archive"
|
|
|
|
)
|
2013-05-18 02:56:45 -06:00
|
|
|
add_custom_command(TARGET ${DOLPHIN_EXE} POST_BUILD
|
2015-05-05 20:34:56 -06:00
|
|
|
COMMAND mkdir ARGS -p ${CMAKE_SOURCE_DIR}/Source/Android/app/src/main/jniLibs/${ANDROID_NDK_ABI_NAME}
|
2013-06-22 06:45:05 -06:00
|
|
|
)
|
|
|
|
add_custom_command(TARGET ${DOLPHIN_EXE} POST_BUILD
|
2015-04-30 16:15:10 -06:00
|
|
|
COMMAND mkdir ARGS -p ${CMAKE_SOURCE_DIR}/Source/Android/app/src/main/assets/
|
2013-05-18 02:56:45 -06:00
|
|
|
)
|
2013-07-05 18:18:33 -06:00
|
|
|
add_custom_command(TARGET ${DOLPHIN_EXE} POST_BUILD
|
2015-05-05 20:34:56 -06:00
|
|
|
COMMAND cp ARGS ${LIBRARY_OUTPUT_PATH_ROOT}/libs/${ANDROID_NDK_ABI_NAME}/lib${DOLPHIN_EXE}.so ${CMAKE_SOURCE_DIR}/Source/Android/app/src/main/jniLibs/${ANDROID_NDK_ABI_NAME}/
|
2013-07-05 18:18:33 -06:00
|
|
|
)
|
2014-05-05 12:44:08 -06:00
|
|
|
add_custom_command(TARGET ${DOLPHIN_EXE} POST_BUILD
|
2015-04-30 16:15:10 -06:00
|
|
|
COMMAND cp ARGS ${CMAKE_SOURCE_DIR}/Data/Sys/GC/* ${CMAKE_SOURCE_DIR}/Source/Android/app/src/main/assets/
|
|
|
|
)
|
|
|
|
add_custom_command(TARGET ${DOLPHIN_EXE} POST_BUILD
|
|
|
|
COMMAND cp ARGS -r ${CMAKE_SOURCE_DIR}/Data/Sys/Shaders ${CMAKE_SOURCE_DIR}/Source/Android/app/src/main/assets/
|
2014-05-05 12:44:08 -06:00
|
|
|
)
|
2014-08-06 13:32:41 -06:00
|
|
|
|
|
|
|
set(CPACK_PACKAGE_EXECUTABLES ${CPACK_PACKAGE_EXECUTABLES} ${DOLPHIN_EXE})
|
|
|
|
elseif(wxWidgets_FOUND)
|
|
|
|
add_executable(${DOLPHIN_EXE} ${SRCS} ${GUI_SRCS})
|
2014-11-19 17:55:52 -07:00
|
|
|
target_link_libraries(${DOLPHIN_EXE} ${LIBS} ${WXLIBS})
|
2015-01-03 05:17:57 -07:00
|
|
|
if(APPLE)
|
2011-12-11 08:07:59 -07:00
|
|
|
include(BundleUtilities)
|
2013-02-26 12:49:00 -07:00
|
|
|
set(BUNDLE_PATH ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/${DOLPHIN_EXE}.app)
|
2011-12-11 17:30:42 -07:00
|
|
|
|
2013-02-26 12:49:00 -07:00
|
|
|
# Ask for an application bundle.
|
|
|
|
set_target_properties(${DOLPHIN_EXE} PROPERTIES
|
|
|
|
MACOSX_BUNDLE true
|
|
|
|
MACOSX_BUNDLE_INFO_PLIST ${CMAKE_CURRENT_SOURCE_DIR}/Info.plist.in
|
2011-12-11 17:30:42 -07:00
|
|
|
)
|
2013-02-26 12:49:00 -07:00
|
|
|
|
2013-09-22 22:22:00 -06:00
|
|
|
# get rid of any old copies
|
|
|
|
file (REMOVE_RECURSE ${BUNDLE_PATH}/Contents/Resources/Sys)
|
2013-08-29 23:35:43 -06:00
|
|
|
if(NOT SKIP_POSTPROCESS_BUNDLE)
|
|
|
|
# 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}\")
|
|
|
|
message(\"(Note: This is only necessary to produce a redistributable binary.\")
|
|
|
|
message(\"To skip, pass -DSKIP_POSTPROCESS_BUNDLE=1 to cmake.)\")
|
|
|
|
set(BU_CHMOD_BUNDLE_ITEMS ON)
|
|
|
|
fixup_bundle(\"${BUNDLE_PATH}\" \"\" \"\")
|
2014-10-25 09:51:54 -06:00
|
|
|
file(INSTALL \"${CMAKE_SOURCE_DIR}/Data/Sys\"
|
|
|
|
DESTINATION \"${BUNDLE_PATH}/Contents/Resources\"
|
2013-09-22 22:22:00 -06:00
|
|
|
)
|
2013-08-29 23:35:43 -06:00
|
|
|
")
|
|
|
|
add_custom_command(TARGET ${DOLPHIN_EXE} POST_BUILD
|
|
|
|
COMMAND ${CMAKE_COMMAND} -P postprocess_bundle.cmake
|
|
|
|
)
|
2013-09-22 22:22:00 -06:00
|
|
|
else()
|
|
|
|
add_custom_command(OUTPUT ${BUNDLE_PATH}/Contents/Resources/Sys
|
2013-10-16 21:14:48 -06:00
|
|
|
COMMAND ln -nfs ${CMAKE_SOURCE_DIR}/Data/Sys ${BUNDLE_PATH}/Contents/Resources/Sys
|
2013-09-22 22:22:00 -06:00
|
|
|
VERBATIM
|
2011-12-17 08:26:52 -07:00
|
|
|
)
|
2014-11-19 12:51:25 -07:00
|
|
|
add_custom_target(CopyDataIntoBundleWx ALL
|
2013-09-22 22:22:00 -06:00
|
|
|
DEPENDS ${BUNDLE_PATH}/Contents/Resources/Sys
|
|
|
|
)
|
|
|
|
endif()
|
2013-08-29 23:35:43 -06:00
|
|
|
|
2013-09-12 10:10:16 -06:00
|
|
|
if(GETTEXT_MSGMERGE_EXECUTABLE AND GETTEXT_MSGFMT_EXECUTABLE AND wxWidgets_FOUND)
|
2013-08-29 23:35:43 -06:00
|
|
|
file(WRITE ${CMAKE_CURRENT_BINARY_DIR}/copy_translations_into_bundle.cmake "
|
2013-08-30 23:54:57 -06:00
|
|
|
file(GLOB TRANSLATION_FILES RELATIVE ${CMAKE_CURRENT_BINARY_DIR}
|
|
|
|
${CMAKE_CURRENT_BINARY_DIR}/*.gmo
|
2013-08-29 23:35:43 -06:00
|
|
|
)
|
|
|
|
foreach(TRANSLATION_FILE \${TRANSLATION_FILES})
|
|
|
|
string(REPLACE \".gmo\" \".lproj\" TRANSLATION_DIR
|
|
|
|
\${TRANSLATION_FILE}
|
|
|
|
)
|
|
|
|
# It would be better to copy to the new name as a single action,
|
|
|
|
# but I can't figure out a way to let CMake do that.
|
2013-08-30 23:54:57 -06:00
|
|
|
file(COPY ${CMAKE_CURRENT_BINARY_DIR}/\${TRANSLATION_FILE}
|
2013-08-29 23:35:43 -06:00
|
|
|
DESTINATION ${BUNDLE_PATH}/Contents/Resources/\${TRANSLATION_DIR}
|
|
|
|
NO_SOURCE_PERMISSIONS
|
|
|
|
)
|
|
|
|
file(RENAME
|
|
|
|
${BUNDLE_PATH}/Contents/Resources/\${TRANSLATION_DIR}/\${TRANSLATION_FILE}
|
|
|
|
${BUNDLE_PATH}/Contents/Resources/\${TRANSLATION_DIR}/dolphin-emu.mo
|
|
|
|
)
|
|
|
|
endforeach(TRANSLATION_FILE)
|
|
|
|
")
|
|
|
|
|
|
|
|
file(GLOB PO_FILES RELATIVE ${CMAKE_SOURCE_DIR}/Languages/po
|
|
|
|
${CMAKE_SOURCE_DIR}/Languages/po/*.po
|
|
|
|
)
|
|
|
|
string(REPLACE .po .gmo GMO_FILES "${PO_FILES}")
|
|
|
|
|
|
|
|
add_custom_command(OUTPUT ${BUNDLE_PATH}/Contents/Resources/en.lproj
|
|
|
|
COMMAND ${CMAKE_COMMAND} -P copy_translations_into_bundle.cmake
|
|
|
|
DEPENDS ${GMO_FILES}
|
2013-09-12 09:26:04 -06:00
|
|
|
${CMAKE_SOURCE_DIR}/Data/Sys
|
2013-08-29 23:35:43 -06:00
|
|
|
VERBATIM
|
|
|
|
)
|
2014-11-19 12:51:25 -07:00
|
|
|
add_custom_target(CopyTranslationsIntoBundleWx ALL
|
2013-08-29 23:35:43 -06:00
|
|
|
DEPENDS ${BUNDLE_PATH}/Contents/Resources/en.lproj
|
|
|
|
)
|
|
|
|
endif()
|
2011-12-13 18:50:36 -07:00
|
|
|
|
2013-02-26 12:49:00 -07:00
|
|
|
# Install bundle into systemwide /Applications directory.
|
|
|
|
install(DIRECTORY ${BUNDLE_PATH} DESTINATION /Applications
|
|
|
|
USE_SOURCE_PERMISSIONS
|
|
|
|
)
|
|
|
|
else()
|
|
|
|
install(TARGETS ${DOLPHIN_EXE} RUNTIME DESTINATION ${bindir})
|
|
|
|
endif()
|
2014-08-06 13:32:41 -06:00
|
|
|
|
|
|
|
set(CPACK_PACKAGE_EXECUTABLES ${CPACK_PACKAGE_EXECUTABLES} ${DOLPHIN_EXE})
|
2011-12-11 08:07:59 -07:00
|
|
|
endif()
|
2012-12-22 04:51:01 -07:00
|
|
|
|
2014-08-06 13:32:41 -06:00
|
|
|
if(USE_X11)
|
|
|
|
set(DOLPHIN_NOGUI_EXE ${DOLPHIN_EXE_BASE}-nogui)
|
|
|
|
add_executable(${DOLPHIN_NOGUI_EXE} ${SRCS} ${NOGUI_SRCS})
|
|
|
|
target_link_libraries(${DOLPHIN_NOGUI_EXE} ${LIBS})
|
|
|
|
set(CPACK_PACKAGE_EXECUTABLES ${CPACK_PACKAGE_EXECUTABLES} ${DOLPHIN_NOGUI_EXE})
|
2014-11-10 00:53:11 -07:00
|
|
|
install(TARGETS ${DOLPHIN_NOGUI_EXE} RUNTIME DESTINATION ${bindir})
|
2014-08-06 13:32:41 -06:00
|
|
|
endif()
|