mirror of
https://github.com/dolphin-emu/dolphin.git
synced 2024-09-21 20:01:40 +02:00
4c7c29b8b6
The "dsptool" executable is not included in the bundle. The "tester" executable is not included in the bundle and it no longer installed on other platforms, since it is neither expected nor useful to install unit tests.
166 lines
4.4 KiB
CMake
166 lines
4.4 KiB
CMake
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})
|
|
|
|
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_INFO_PLIST ${CMAKE_CURRENT_SOURCE_DIR}/Info.plist.in
|
|
)
|
|
|
|
# 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
|
|
)
|
|
|
|
# Copy data files into application bundle.
|
|
file(WRITE ${CMAKE_CURRENT_BINARY_DIR}/copy_data_into_bundle.cmake "
|
|
file(INSTALL ${CMAKE_SOURCE_DIR}/Data/Sys ${CMAKE_SOURCE_DIR}/Data/User
|
|
DESTINATION ${BUNDLE_PATH}/Contents/Resources
|
|
)
|
|
")
|
|
add_custom_target(CopyDataIntoBundle ALL
|
|
COMMAND ${CMAKE_COMMAND} -P copy_data_into_bundle.cmake
|
|
VERBATIM
|
|
)
|
|
|
|
# Install bundle into systemwide /Applications directory.
|
|
install(DIRECTORY ${BUNDLE_PATH} DESTINATION /Applications
|
|
USE_SOURCE_PERMISSIONS
|
|
)
|
|
else()
|
|
install(TARGETS ${DOLPHIN_EXE} RUNTIME DESTINATION ${bindir})
|
|
endif()
|