mirror of
https://github.com/dolphin-emu/dolphin.git
synced 2026-05-09 21:14:24 -05:00
CMake: Remove LINUX_LOCAL_DEV and symlink required files
This commit is contained in:
parent
30031a0412
commit
d8ac710436
20
CMake/DolphinSymlinkOrCopy.cmake
Normal file
20
CMake/DolphinSymlinkOrCopy.cmake
Normal file
|
|
@ -0,0 +1,20 @@
|
|||
if(NOT DEFINED target OR NOT DEFINED link)
|
||||
message(FATAL_ERROR "`target` and `link` must be defined")
|
||||
endif()
|
||||
|
||||
file(CREATE_LINK "${target}" "${link}" RESULT result SYMBOLIC)
|
||||
if(result EQUAL 0)
|
||||
return()
|
||||
endif()
|
||||
|
||||
if(WIN32)
|
||||
set(hint "On Windows, enable Developer Mode to allow symlinks (https://learn.microsoft.com/windows/advanced-settings/developer-mode).")
|
||||
endif()
|
||||
message(WARNING "Symlink failed (${result}). Falling back to copying. ${hint}")
|
||||
|
||||
file(REMOVE_RECURSE "${link}")
|
||||
if(IS_DIRECTORY "${target}")
|
||||
file(COPY "${target}/." DESTINATION "${link}")
|
||||
else()
|
||||
file(COPY_FILE "${target}" "${link}" ONLY_IF_DIFFERENT)
|
||||
endif()
|
||||
|
|
@ -146,12 +146,6 @@ if(CMAKE_SYSTEM_NAME STREQUAL "Linux")
|
|||
endif()
|
||||
endif()
|
||||
|
||||
if(UNIX)
|
||||
# Builds a relocatable binary on Linux.
|
||||
# The Sys folder will need to be copied to the Binaries folder.
|
||||
option(LINUX_LOCAL_DEV "Enable relocatable binary" OFF)
|
||||
endif()
|
||||
|
||||
list(APPEND CMAKE_MODULE_PATH
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/CMake
|
||||
)
|
||||
|
|
@ -391,12 +385,6 @@ if(ENABLE_LTO)
|
|||
endif()
|
||||
endif()
|
||||
|
||||
if(UNIX)
|
||||
if(LINUX_LOCAL_DEV)
|
||||
add_definitions(-DLINUX_LOCAL_DEV)
|
||||
endif()
|
||||
endif()
|
||||
|
||||
# BSDs put packages in /usr/local instead of /usr, so we need to
|
||||
# force CMake to look in those directories by default, too.
|
||||
# All commands and submodule commands also need to see these
|
||||
|
|
|
|||
|
|
@ -495,7 +495,51 @@ if (MSVC)
|
|||
target_compile_options(dolphin-emu PRIVATE "/GR")
|
||||
endif()
|
||||
|
||||
if(WIN32)
|
||||
if (NOT APPLE AND NOT ANDROID)
|
||||
# Symlink Sys
|
||||
add_custom_command(TARGET dolphin-emu POST_BUILD
|
||||
COMMAND ${CMAKE_COMMAND}
|
||||
-Dtarget="${CMAKE_SOURCE_DIR}/Data/Sys"
|
||||
-Dlink="${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/Sys"
|
||||
-P="${CMAKE_SOURCE_DIR}/CMake/DolphinSymlinkOrCopy.cmake"
|
||||
)
|
||||
|
||||
# Symlink COPYING
|
||||
add_custom_command(TARGET dolphin-emu POST_BUILD
|
||||
COMMAND ${CMAKE_COMMAND}
|
||||
-Dtarget="${CMAKE_SOURCE_DIR}/COPYING"
|
||||
-Dlink="${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/COPYING"
|
||||
-P="${CMAKE_SOURCE_DIR}/CMake/DolphinSymlinkOrCopy.cmake"
|
||||
)
|
||||
|
||||
# Symlink Licenses dir
|
||||
add_custom_command(TARGET dolphin-emu POST_BUILD
|
||||
COMMAND ${CMAKE_COMMAND}
|
||||
-Dtarget="${CMAKE_SOURCE_DIR}/LICENSES"
|
||||
-Dlink="${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/Licenses"
|
||||
-P="${CMAKE_SOURCE_DIR}/CMake/DolphinSymlinkOrCopy.cmake"
|
||||
)
|
||||
endif()
|
||||
if (WIN32)
|
||||
# Symlink qt.conf
|
||||
add_custom_command(TARGET dolphin-emu POST_BUILD
|
||||
COMMAND ${CMAKE_COMMAND}
|
||||
-Dtarget="${CMAKE_CURRENT_SOURCE_DIR}/qt.conf.win"
|
||||
-Dlink="${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/qt.conf"
|
||||
-P="${CMAKE_SOURCE_DIR}/CMake/DolphinSymlinkOrCopy.cmake"
|
||||
)
|
||||
|
||||
if (ENABLE_AUTOUPDATE)
|
||||
# Symlink build_info.txt
|
||||
add_custom_command(TARGET dolphin-emu POST_BUILD
|
||||
COMMAND ${CMAKE_COMMAND}
|
||||
-Dtarget="${CMAKE_BINARY_DIR}/build_info.txt"
|
||||
-Dlink="${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/build_info.txt"
|
||||
-P="${CMAKE_SOURCE_DIR}/CMake/DolphinSymlinkOrCopy.cmake"
|
||||
)
|
||||
endif()
|
||||
|
||||
|
||||
target_sources(dolphin-emu PRIVATE DolphinQt.manifest DolphinQt.rc)
|
||||
|
||||
set_target_properties(dolphin-emu PROPERTIES
|
||||
|
|
@ -503,35 +547,6 @@ if(WIN32)
|
|||
OUTPUT_NAME Dolphin
|
||||
WIN32_EXECUTABLE TRUE
|
||||
)
|
||||
|
||||
# Copy Sys dir
|
||||
add_custom_command(TARGET dolphin-emu POST_BUILD
|
||||
COMMAND ${CMAKE_COMMAND} -E remove_directory "${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/Sys"
|
||||
COMMAND ${CMAKE_COMMAND} -E copy_directory "${CMAKE_SOURCE_DIR}/Data/Sys" "${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/Sys"
|
||||
)
|
||||
|
||||
# Copy COPYING
|
||||
add_custom_command(TARGET dolphin-emu POST_BUILD
|
||||
COMMAND ${CMAKE_COMMAND} -E copy_if_different "${CMAKE_SOURCE_DIR}/COPYING" "${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/COPYING"
|
||||
)
|
||||
|
||||
# Copy Licenses dir
|
||||
add_custom_command(TARGET dolphin-emu POST_BUILD
|
||||
COMMAND ${CMAKE_COMMAND} -E copy_directory "${CMAKE_SOURCE_DIR}/LICENSES" "${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/Licenses"
|
||||
)
|
||||
|
||||
# Copy qt.conf
|
||||
add_custom_command(TARGET dolphin-emu POST_BUILD
|
||||
COMMAND ${CMAKE_COMMAND} -E copy_if_different "${CMAKE_CURRENT_SOURCE_DIR}/qt.conf.win" "${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/qt.conf"
|
||||
)
|
||||
|
||||
if (ENABLE_AUTOUPDATE)
|
||||
# Copy build_info.txt
|
||||
add_custom_command(TARGET dolphin-emu POST_BUILD
|
||||
COMMAND ${CMAKE_COMMAND} -E copy_if_different "${CMAKE_BINARY_DIR}/build_info.txt" "${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/build_info.txt"
|
||||
)
|
||||
endif()
|
||||
|
||||
# Delegate to Qt's official deployment binary on Windows to copy over the necessary Qt-specific libraries, etc.
|
||||
get_target_property(MOC_EXECUTABLE_LOCATION Qt6::moc IMPORTED_LOCATION)
|
||||
get_filename_component(QT_BINARY_DIRECTORY "${MOC_EXECUTABLE_LOCATION}" DIRECTORY)
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user