2010-11-01 15:47:02 +00:00
|
|
|
set(LIBS core
|
2011-12-05 04:33:35 +00:00
|
|
|
${LZO}
|
2013-08-29 09:43:31 +00:00
|
|
|
iconv
|
2010-11-01 15:47:02 +00:00
|
|
|
discio
|
|
|
|
bdisasm
|
|
|
|
inputcommon
|
|
|
|
common
|
2011-01-28 20:07:32 +00:00
|
|
|
audiocommon
|
2010-11-01 15:47:02 +00:00
|
|
|
z
|
2010-11-07 17:45:35 +00:00
|
|
|
sfml-network
|
2013-03-25 02:06:34 +00:00
|
|
|
${GTK2_LIBRARIES})
|
2013-02-26 19:49:00 +00:00
|
|
|
if(NOT ANDROID)
|
2013-03-25 02:06:34 +00:00
|
|
|
if(USE_X11)
|
|
|
|
set(LIBS ${LIBS} ${X11_LIBRARIES}
|
2013-07-21 05:59:36 +00:00
|
|
|
${XINPUT2_LIBRARIES}
|
2013-03-25 02:06:34 +00:00
|
|
|
${XRANDR_LIBRARIES})
|
|
|
|
endif()
|
|
|
|
if(USE_WAYLAND)
|
|
|
|
set(LIBS ${LIBS} ${WAYLAND_LIBRARIES}
|
|
|
|
${XKBCOMMON_LIBRARIES})
|
|
|
|
endif()
|
|
|
|
|
|
|
|
link_directories(${CMAKE_PREFIX_PATH}/lib)
|
|
|
|
|
2013-02-26 19:49:00 +00:00
|
|
|
if(SDL2_FOUND)
|
|
|
|
# Using shared SDL2
|
|
|
|
set(LIBS ${LIBS} ${SDL2_LIBRARY})
|
|
|
|
else(SDL2_FOUND)
|
|
|
|
if(SDL_FOUND)
|
|
|
|
# Using shared SDL
|
|
|
|
set(LIBS ${LIBS} ${SDL_LIBRARY})
|
|
|
|
else(SDL_FOUND)
|
|
|
|
# Using static SDL from Externals
|
|
|
|
set(LIBS ${LIBS} SDL)
|
|
|
|
endif()
|
2012-09-02 22:53:15 +00:00
|
|
|
endif()
|
2013-04-15 01:39:56 +00:00
|
|
|
else()
|
|
|
|
set(LIBS ${LIBS} png)
|
2012-07-12 22:38:29 +00:00
|
|
|
endif()
|
|
|
|
|
2011-09-12 16:01:45 +00:00
|
|
|
if(LIBAV_FOUND)
|
|
|
|
set(LIBS ${LIBS} ${LIBAV_LIBRARIES})
|
|
|
|
endif()
|
|
|
|
|
2010-11-01 15:47:02 +00:00
|
|
|
if(wxWidgets_FOUND)
|
2012-12-17 20:54:20 +00:00
|
|
|
set(SRCS
|
|
|
|
Src/ARCodeAddEdit.cpp
|
2010-11-01 15:47:02 +00:00
|
|
|
Src/AboutDolphin.cpp
|
|
|
|
Src/CheatsWindow.cpp
|
|
|
|
Src/ConfigMain.cpp
|
2011-02-13 06:06:32 +00:00
|
|
|
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
|
2011-03-27 02:55:08 +00:00
|
|
|
Src/FifoPlayerDlg.cpp
|
2010-11-01 15:47:02 +00:00
|
|
|
Src/Frame.cpp
|
|
|
|
Src/FrameAui.cpp
|
|
|
|
Src/FrameTools.cpp
|
|
|
|
Src/GameListCtrl.cpp
|
|
|
|
Src/GeckoCodeDiag.cpp
|
|
|
|
Src/HotkeyDlg.cpp
|
|
|
|
Src/ISOFile.cpp
|
|
|
|
Src/ISOProperties.cpp
|
2011-02-13 06:06:32 +00:00
|
|
|
Src/InputConfigDiag.cpp
|
|
|
|
Src/InputConfigDiagBitmaps.cpp
|
2011-02-21 15:01:00 +00:00
|
|
|
Src/LogConfigWindow.cpp
|
2010-11-01 15:47:02 +00:00
|
|
|
Src/LogWindow.cpp
|
|
|
|
Src/Main.cpp
|
2010-12-04 15:19:04 +00:00
|
|
|
Src/MemcardManager.cpp
|
2011-02-13 06:06:32 +00:00
|
|
|
Src/MemoryCards/WiiSaveCrypted.cpp
|
2010-11-01 15:47:02 +00:00
|
|
|
Src/NetWindow.cpp
|
2011-02-03 17:51:12 +00:00
|
|
|
Src/PHackSettings.cpp
|
2011-02-13 06:06:32 +00:00
|
|
|
Src/PatchAddEdit.cpp
|
2011-06-24 06:50:50 +00:00
|
|
|
Src/TASInputDlg.cpp
|
2010-11-14 13:34:41 +00:00
|
|
|
Src/UDPConfigDiag.cpp
|
2011-02-13 06:06:32 +00:00
|
|
|
Src/VideoConfigDiag.cpp
|
2011-01-15 11:05:22 +00:00
|
|
|
Src/WXInputBase.cpp
|
2011-02-13 06:06:32 +00:00
|
|
|
Src/WiimoteConfigDiag.cpp
|
|
|
|
Src/WxUtils.cpp)
|
2010-11-01 15:47:02 +00:00
|
|
|
|
2012-03-23 00:06:45 +00:00
|
|
|
set(WXLIBS ${wxWidgets_LIBRARIES})
|
2011-02-13 06:06:32 +00:00
|
|
|
else()
|
2013-02-26 19:49:00 +00:00
|
|
|
if(ANDROID)
|
2013-04-15 01:39:56 +00:00
|
|
|
set(SRCS Src/Android/TextureLoader.cpp
|
2013-06-18 12:09:20 +00:00
|
|
|
Src/Android/ButtonManager.cpp
|
2013-04-15 01:39:56 +00:00
|
|
|
Src/MainAndroid.cpp)
|
2013-02-26 19:49:00 +00:00
|
|
|
else()
|
|
|
|
set(SRCS Src/MainNoGUI.cpp)
|
|
|
|
endif()
|
2012-12-17 20:54:20 +00:00
|
|
|
endif()
|
|
|
|
|
|
|
|
if(USE_EGL)
|
2013-03-25 02:06:34 +00:00
|
|
|
set(SRCS ${SRCS} Src/GLInterface/Platform.cpp
|
|
|
|
Src/GLInterface/EGL.cpp)
|
|
|
|
if(USE_WAYLAND)
|
|
|
|
set(SRCS ${SRCS} Src/GLInterface/Wayland_Util.cpp)
|
|
|
|
endif()
|
|
|
|
if(USE_X11)
|
|
|
|
set(SRCS ${SRCS} Src/GLInterface/X11_Util.cpp)
|
2013-02-26 19:49:00 +00:00
|
|
|
endif()
|
2012-12-17 20:54:20 +00:00
|
|
|
else()
|
|
|
|
if(WIN32)
|
2013-03-25 02:06:34 +00:00
|
|
|
set(SRCS ${SRCS} Src/GLInterface/WGL.cpp)
|
2012-12-17 20:54:20 +00:00
|
|
|
elseif(${CMAKE_SYSTEM_NAME} MATCHES "Darwin")
|
2013-02-07 09:34:29 +00:00
|
|
|
set(SRCS ${SRCS} Src/GLInterface/AGL.cpp)
|
2012-12-17 20:54:20 +00:00
|
|
|
else()
|
2012-12-26 18:12:26 +00:00
|
|
|
set(SRCS ${SRCS} Src/GLInterface/GLX.cpp
|
|
|
|
Src/GLInterface/X11_Util.cpp)
|
|
|
|
|
2012-12-17 20:54:20 +00:00
|
|
|
endif()
|
2010-11-01 15:47:02 +00:00
|
|
|
endif()
|
|
|
|
|
|
|
|
if(WIN32)
|
|
|
|
set(SRCS ${SRCS} Src/stdafx.cpp)
|
2011-12-07 07:26:44 +00:00
|
|
|
elseif(${CMAKE_SYSTEM_NAME} MATCHES "Darwin")
|
2011-12-11 15:07:59 +00:00
|
|
|
# Link against OS X system frameworks.
|
2011-12-07 07:26:44 +00:00
|
|
|
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()
|
2011-12-11 15:07:59 +00: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)
|
2013-03-25 02:06:34 +00:00
|
|
|
elseif(USE_X11)
|
|
|
|
set(SRCS ${SRCS} Src/X11Utils.cpp)
|
2010-11-01 15:47:02 +00:00
|
|
|
endif()
|
|
|
|
|
2010-12-04 15:19:04 +00:00
|
|
|
if(${CMAKE_SYSTEM_NAME} MATCHES "FreeBSD" OR
|
|
|
|
${CMAKE_SYSTEM_NAME} MATCHES "NetBSD")
|
|
|
|
set(LIBS ${LIBS} usbhid)
|
|
|
|
endif()
|
|
|
|
|
2011-12-11 15:07:59 +00:00
|
|
|
if(${CMAKE_SYSTEM_NAME} MATCHES "Darwin")
|
|
|
|
set(DOLPHIN_EXE_BASE Dolphin)
|
|
|
|
else()
|
|
|
|
set(DOLPHIN_EXE_BASE dolphin-emu)
|
|
|
|
endif()
|
2010-11-01 15:47:02 +00:00
|
|
|
if(wxWidgets_FOUND)
|
2011-12-11 15:07:59 +00:00
|
|
|
set(DOLPHIN_EXE ${DOLPHIN_EXE_BASE})
|
2010-11-01 15:47:02 +00:00
|
|
|
else()
|
2011-12-11 15:07:59 +00:00
|
|
|
set(DOLPHIN_EXE ${DOLPHIN_EXE_BASE}-nogui)
|
2010-11-01 15:47:02 +00:00
|
|
|
endif()
|
2011-02-13 06:06:32 +00:00
|
|
|
|
2013-07-09 00:13:02 +00:00
|
|
|
if(USE_UPNP)
|
|
|
|
set(LIBS ${LIBS} miniupnpc)
|
|
|
|
endif()
|
|
|
|
|
2013-02-26 19:49:00 +00:00
|
|
|
if(ANDROID)
|
2013-07-27 20:09:18 +00:00
|
|
|
set(DOLPHIN_EXE main)
|
2013-02-26 19:49:00 +00:00
|
|
|
add_library(${DOLPHIN_EXE} SHARED ${SRCS})
|
|
|
|
target_link_libraries(${DOLPHIN_EXE}
|
|
|
|
log
|
|
|
|
android
|
|
|
|
"-Wl,--whole-archive"
|
|
|
|
${LIBS}
|
|
|
|
"-Wl,--no-whole-archive"
|
|
|
|
)
|
2013-07-13 15:32:06 +00:00
|
|
|
if (${CMAKE_SYSTEM_PROCESSOR} MATCHES "mips")
|
|
|
|
set (SO_TARGET "mips")
|
|
|
|
endif()
|
2013-07-27 20:09:18 +00:00
|
|
|
if (${CMAKE_SYSTEM_PROCESSOR} MATCHES "armv7-a")
|
2013-07-13 15:32:06 +00:00
|
|
|
set (SO_TARGET "armeabi-v7a")
|
|
|
|
endif()
|
2013-07-27 20:09:18 +00:00
|
|
|
if(${CMAKE_SYSTEM_PROCESSOR} MATCHES "armv5te")
|
|
|
|
set (SO_TARGET "armeabi")
|
|
|
|
endif()
|
2013-07-13 15:32:06 +00:00
|
|
|
if (${CMAKE_SYSTEM_PROCESSOR} MATCHES "i686")
|
|
|
|
set (SO_TARGET "x86")
|
|
|
|
endif()
|
2013-05-18 08:56:45 +00:00
|
|
|
add_custom_command(TARGET ${DOLPHIN_EXE} POST_BUILD
|
2013-07-13 15:32:06 +00:00
|
|
|
COMMAND mkdir ARGS -p ${CMAKE_SOURCE_DIR}/Source/Android/libs/${SO_TARGET}
|
2013-06-22 12:45:05 +00:00
|
|
|
)
|
|
|
|
add_custom_command(TARGET ${DOLPHIN_EXE} POST_BUILD
|
2013-07-13 15:32:06 +00:00
|
|
|
COMMAND cp ARGS ${CMAKE_SOURCE_DIR}/libs/${SO_TARGET}/lib${DOLPHIN_EXE}.so ${CMAKE_SOURCE_DIR}/Source/Android/libs/${SO_TARGET}/
|
2013-05-18 08:56:45 +00:00
|
|
|
)
|
2013-07-06 00:18:33 +00:00
|
|
|
add_custom_command(TARGET ${DOLPHIN_EXE} POST_BUILD
|
|
|
|
COMMAND cp ARGS ${CMAKE_SOURCE_DIR}/Data/Sys/GC/* ${CMAKE_SOURCE_DIR}/Source/Android/assets/
|
|
|
|
)
|
2013-08-18 00:41:28 +00:00
|
|
|
add_custom_command(TARGET ${DOLPHIN_EXE} POST_BUILD
|
|
|
|
COMMAND cp ARGS ${CMAKE_SOURCE_DIR}/Data/Sys/Wii/* ${CMAKE_SOURCE_DIR}/Source/Android/assets/
|
|
|
|
)
|
2013-02-26 19:49:00 +00:00
|
|
|
else()
|
|
|
|
add_executable(${DOLPHIN_EXE} ${SRCS})
|
|
|
|
target_link_libraries(${DOLPHIN_EXE} ${LIBS} ${WXLIBS})
|
|
|
|
if(${CMAKE_SYSTEM_NAME} MATCHES "Darwin")
|
2011-12-11 15:07:59 +00:00
|
|
|
include(BundleUtilities)
|
2013-02-26 19:49:00 +00:00
|
|
|
set(BUNDLE_PATH ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/${DOLPHIN_EXE}.app)
|
2011-12-12 00:30:42 +00:00
|
|
|
|
2013-02-26 19:49:00 +00: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-12 00:30:42 +00:00
|
|
|
)
|
2013-02-26 19:49:00 +00:00
|
|
|
|
|
|
|
# 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}\")
|
|
|
|
set(BU_CHMOD_BUNDLE_ITEMS ON)
|
|
|
|
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
|
2011-12-17 15:26:52 +00:00
|
|
|
)
|
2013-02-26 19:49:00 +00:00
|
|
|
file(GLOB TRANSLATION_FILES RELATIVE ${CMAKE_BINARY_DIR}
|
|
|
|
${CMAKE_BINARY_DIR}/*.gmo
|
2011-12-17 15:26:52 +00:00
|
|
|
)
|
2013-02-26 19:49:00 +00: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.
|
|
|
|
file(COPY ${CMAKE_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)
|
|
|
|
")
|
|
|
|
add_custom_target(CopyDataIntoBundle ALL
|
|
|
|
COMMAND ${CMAKE_COMMAND} -P copy_data_into_bundle.cmake
|
|
|
|
VERBATIM
|
|
|
|
)
|
2011-12-14 01:50:36 +00:00
|
|
|
|
2013-02-26 19:49:00 +00: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()
|
2011-12-11 15:07:59 +00:00
|
|
|
endif()
|
2012-12-22 11:51:01 +00:00
|
|
|
|
|
|
|
set(CPACK_PACKAGE_EXECUTABLES ${CPACK_PACKAGE_EXECUTABLES} ${DOLPHIN_EXE})
|