mirror of
https://github.com/dolphin-emu/dolphin.git
synced 2025-07-30 09:39:46 -06:00
Merge branch 'master' into GLSL-master
Conflicts: CMakeLists.txt Source/Core/DolphinWX/CMakeLists.txt Source/Core/DolphinWX/Src/GLInterface.h Source/Core/VideoCommon/Src/PixelShaderGen.cpp Source/Core/VideoCommon/Src/TextureCacheBase.cpp Source/Core/VideoCommon/Src/VertexManagerBase.cpp Source/Plugins/Plugin_VideoDX11/Src/VertexManager.cpp Source/Plugins/Plugin_VideoDX9/Src/VertexManager.cpp Source/Plugins/Plugin_VideoOGL/Plugin_VideoOGL.vcxproj Source/Plugins/Plugin_VideoOGL/Plugin_VideoOGL.vcxproj.filters Source/Plugins/Plugin_VideoOGL/Src/GLUtil.h Source/Plugins/Plugin_VideoOGL/Src/PixelShaderCache.cpp Source/Plugins/Plugin_VideoOGL/Src/TextureCache.cpp Source/Plugins/Plugin_VideoOGL/Src/VertexManager.cpp Source/Plugins/Plugin_VideoOGL/Src/VertexShaderCache.cpp Source/Plugins/Plugin_VideoOGL/Src/main.cpp
This commit is contained in:
@ -10,21 +10,21 @@ set(LIBS core
|
||||
${GTK2_LIBRARIES}
|
||||
${XRANDR_LIBRARIES}
|
||||
${X11_LIBRARIES})
|
||||
|
||||
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)
|
||||
if(NOT ANDROID)
|
||||
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()
|
||||
endif()
|
||||
endif()
|
||||
|
||||
|
||||
if(LIBAV_FOUND)
|
||||
set(LIBS ${LIBS} ${LIBAV_LIBRARIES})
|
||||
endif()
|
||||
@ -79,13 +79,18 @@ if(wxWidgets_FOUND)
|
||||
|
||||
set(WXLIBS ${wxWidgets_LIBRARIES})
|
||||
else()
|
||||
set(SRCS
|
||||
Src/MainNoGUI.cpp)
|
||||
if(ANDROID)
|
||||
set(SRCS Src/MainAndroid.cpp)
|
||||
else()
|
||||
set(SRCS Src/MainNoGUI.cpp)
|
||||
endif()
|
||||
endif()
|
||||
|
||||
if(USE_EGL)
|
||||
set(SRCS ${SRCS} Src/GLInterface/EGL.cpp
|
||||
Src/GLInterface/X11_Util.cpp)
|
||||
if(NOT ANDROID)
|
||||
set(SRCS ${SRCS} Src/GLInterface/EGL_X11.cpp
|
||||
Src/GLInterface/X11_Util.cpp)
|
||||
endif()
|
||||
else()
|
||||
if(WIN32)
|
||||
set(SRCS ${SRCS} Src/GLInterface/GLW.cpp)
|
||||
@ -123,7 +128,9 @@ elseif(${CMAKE_SYSTEM_NAME} MATCHES "Darwin")
|
||||
set_source_files_properties(${RESOURCES} PROPERTIES
|
||||
MACOSX_PACKAGE_LOCATION Resources)
|
||||
else()
|
||||
set(SRCS ${SRCS} Src/X11Utils.cpp)
|
||||
if(NOT ANDROID)
|
||||
set(SRCS ${SRCS} Src/X11Utils.cpp)
|
||||
endif()
|
||||
endif()
|
||||
|
||||
if(${CMAKE_SYSTEM_NAME} MATCHES "FreeBSD" OR
|
||||
@ -142,67 +149,85 @@ 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
|
||||
)
|
||||
|
||||
# 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
|
||||
)
|
||||
file(GLOB TRANSLATION_FILES RELATIVE ${CMAKE_BINARY_DIR}
|
||||
${CMAKE_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_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
|
||||
)
|
||||
|
||||
# Install bundle into systemwide /Applications directory.
|
||||
install(DIRECTORY ${BUNDLE_PATH} DESTINATION /Applications
|
||||
USE_SOURCE_PERMISSIONS
|
||||
)
|
||||
if(ANDROID)
|
||||
add_library(${DOLPHIN_EXE} SHARED ${SRCS})
|
||||
target_link_libraries(${DOLPHIN_EXE}
|
||||
log
|
||||
android
|
||||
"-Wl,--whole-archive"
|
||||
${LIBS}
|
||||
"-Wl,--no-whole-archive"
|
||||
)
|
||||
else()
|
||||
install(TARGETS ${DOLPHIN_EXE} RUNTIME DESTINATION ${bindir})
|
||||
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}\")
|
||||
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
|
||||
)
|
||||
file(GLOB TRANSLATION_FILES RELATIVE ${CMAKE_BINARY_DIR}
|
||||
${CMAKE_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_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
|
||||
)
|
||||
|
||||
# Install bundle into systemwide /Applications directory.
|
||||
install(DIRECTORY ${BUNDLE_PATH} DESTINATION /Applications
|
||||
USE_SOURCE_PERMISSIONS
|
||||
)
|
||||
else()
|
||||
install(TARGETS ${DOLPHIN_EXE} RUNTIME DESTINATION ${bindir})
|
||||
endif()
|
||||
endif()
|
||||
|
||||
set(CPACK_PACKAGE_EXECUTABLES ${CPACK_PACKAGE_EXECUTABLES} ${DOLPHIN_EXE})
|
||||
|
Reference in New Issue
Block a user