mirror of
https://github.com/dolphin-emu/dolphin.git
synced 2024-11-15 13:57:57 -07:00
00f680b830
Removed the unecessary forced tabbed layout, removed the layout part of the constructor and remade some method in preparation for tabbed styled input dialog such as the new hotkey configuration one. It breaks every inputconfigDialog, but this will get fixed in the next commits. Also moved to a folder since there will be many more files created in the next commits so it gives better separation.
217 lines
6.5 KiB
CMake
217 lines
6.5 KiB
CMake
set(GUI_SRCS
|
|
AboutDolphin.cpp
|
|
ControllerConfigDiag.cpp
|
|
Cheats/ActionReplayCodesPanel.cpp
|
|
Cheats/ARCodeAddEdit.cpp
|
|
Cheats/CheatSearchTab.cpp
|
|
Cheats/CheatsWindow.cpp
|
|
Cheats/CreateCodeDialog.cpp
|
|
Cheats/GeckoCodeDiag.cpp
|
|
Config/AdvancedConfigPane.cpp
|
|
Config/AudioConfigPane.cpp
|
|
Config/ConfigMain.cpp
|
|
Config/GameCubeConfigPane.cpp
|
|
Config/GCAdapterConfigDiag.cpp
|
|
Config/GeneralConfigPane.cpp
|
|
Config/InterfaceConfigPane.cpp
|
|
Config/PathConfigPane.cpp
|
|
Config/WiiConfigPane.cpp
|
|
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
|
|
Debugger/WatchView.cpp
|
|
Debugger/WatchWindow.cpp
|
|
NetPlay/ChangeGameDialog.cpp
|
|
NetPlay/MD5Dialog.cpp
|
|
NetPlay/NetPlayLauncher.cpp
|
|
NetPlay/NetPlaySetupFrame.cpp
|
|
NetPlay/NetWindow.cpp
|
|
NetPlay/PadMapDialog.cpp
|
|
Input/InputConfigDiag.cpp
|
|
Input/InputConfigDiagBitmaps.cpp
|
|
DolphinSlider.cpp
|
|
FifoPlayerDlg.cpp
|
|
Frame.cpp
|
|
FrameAui.cpp
|
|
FrameTools.cpp
|
|
GameListCtrl.cpp
|
|
ISOFile.cpp
|
|
ISOProperties.cpp
|
|
LogConfigWindow.cpp
|
|
LogWindow.cpp
|
|
Main.cpp
|
|
MainMenuBar.cpp
|
|
MainToolBar.cpp
|
|
MemcardManager.cpp
|
|
PatchAddEdit.cpp
|
|
PostProcessingConfigDiag.cpp
|
|
SoftwareVideoConfigDialog.cpp
|
|
TASInputDlg.cpp
|
|
VideoConfigDiag.cpp
|
|
WxEventUtils.cpp
|
|
WXInputBase.cpp
|
|
WxUtils.cpp)
|
|
|
|
set(NOGUI_SRCS MainNoGUI.cpp)
|
|
|
|
if(USE_X11)
|
|
set(GUI_SRCS ${GUI_SRCS} X11Utils.cpp)
|
|
set(NOGUI_SRCS ${NOGUI_SRCS} X11Utils.cpp)
|
|
endif()
|
|
|
|
set(WXLIBS ${wxWidgets_LIBRARIES})
|
|
|
|
if(${CMAKE_SYSTEM_NAME} STREQUAL "Linux")
|
|
set(WXLIBS ${WXLIBS} dl)
|
|
endif()
|
|
|
|
list(APPEND LIBS core uicommon)
|
|
|
|
if(APPLE)
|
|
if(wxWidgets_FOUND)
|
|
list(APPEND WXLIBS
|
|
${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)
|
|
endif()
|
|
|
|
if(APPLE)
|
|
set(DOLPHIN_EXE_BASE Dolphin)
|
|
else()
|
|
set(DOLPHIN_EXE_BASE dolphin-emu)
|
|
endif()
|
|
|
|
set(DOLPHIN_EXE ${DOLPHIN_EXE_BASE})
|
|
|
|
include(FindGettext)
|
|
if(GETTEXT_MSGMERGE_EXECUTABLE AND GETTEXT_MSGFMT_EXECUTABLE AND wxWidgets_FOUND)
|
|
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()
|
|
|
|
if(wxWidgets_FOUND)
|
|
add_executable(${DOLPHIN_EXE} ${SRCS} ${GUI_SRCS})
|
|
target_link_libraries(${DOLPHIN_EXE} ${LIBS} ${WXLIBS})
|
|
if(APPLE)
|
|
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_INFO_PLIST ${CMAKE_CURRENT_SOURCE_DIR}/Info.plist.in
|
|
)
|
|
|
|
# get rid of any old copies
|
|
file (REMOVE_RECURSE ${BUNDLE_PATH}/Contents/Resources/Sys)
|
|
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)
|
|
execute_process(
|
|
COMMAND ${CMAKE_SOURCE_DIR}/Tools/deploy-mac.py \"${BUNDLE_PATH}\"
|
|
RESULT_VARIABLE retcode
|
|
)
|
|
if(NOT \${retcode} EQUAL 0)
|
|
message(FATAL_ERROR \"Error when postprocessing bundle (return code: \${retcode}).\")
|
|
endif()
|
|
file(INSTALL \"${CMAKE_SOURCE_DIR}/Data/Sys\"
|
|
DESTINATION \"${BUNDLE_PATH}/Contents/Resources\"
|
|
)
|
|
")
|
|
add_custom_command(TARGET ${DOLPHIN_EXE} POST_BUILD
|
|
COMMAND ${CMAKE_COMMAND} -P postprocess_bundle.cmake
|
|
)
|
|
else()
|
|
add_custom_command(OUTPUT ${BUNDLE_PATH}/Contents/Resources/Sys
|
|
COMMAND ln -nfs ${CMAKE_SOURCE_DIR}/Data/Sys ${BUNDLE_PATH}/Contents/Resources/Sys
|
|
VERBATIM
|
|
)
|
|
add_custom_target(CopyDataIntoBundleWx ALL
|
|
DEPENDS ${BUNDLE_PATH}/Contents/Resources/Sys
|
|
)
|
|
endif()
|
|
|
|
if(GETTEXT_MSGMERGE_EXECUTABLE AND GETTEXT_MSGFMT_EXECUTABLE AND wxWidgets_FOUND)
|
|
file(WRITE ${CMAKE_CURRENT_BINARY_DIR}/copy_translations_into_bundle.cmake "
|
|
file(GLOB TRANSLATION_FILES RELATIVE ${CMAKE_CURRENT_BINARY_DIR}
|
|
${CMAKE_CURRENT_BINARY_DIR}/*.gmo
|
|
)
|
|
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.
|
|
file(COPY ${CMAKE_CURRENT_BINARY_DIR}/\${TRANSLATION_FILE}
|
|
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}
|
|
${CMAKE_SOURCE_DIR}/Data/Sys
|
|
VERBATIM
|
|
)
|
|
add_custom_target(CopyTranslationsIntoBundleWx ALL
|
|
DEPENDS ${BUNDLE_PATH}/Contents/Resources/en.lproj
|
|
)
|
|
endif()
|
|
|
|
# Install bundle into systemwide /Applications directory.
|
|
install(DIRECTORY ${BUNDLE_PATH} DESTINATION /Applications
|
|
USE_SOURCE_PERMISSIONS
|
|
)
|
|
else()
|
|
install(TARGETS ${DOLPHIN_EXE} RUNTIME DESTINATION ${bindir})
|
|
endif()
|
|
|
|
set(CPACK_PACKAGE_EXECUTABLES ${CPACK_PACKAGE_EXECUTABLES} ${DOLPHIN_EXE})
|
|
endif()
|
|
|
|
if(USE_X11 OR ENABLE_HEADLESS)
|
|
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})
|
|
install(TARGETS ${DOLPHIN_NOGUI_EXE} RUNTIME DESTINATION ${bindir})
|
|
endif()
|