mirror of https://github.com/bjornbytes/lovr.git
CMake: Windows includes lovrc.bat in builds;
Also made a nifty helper function to move resources to the build folder, in an effort to avoid writing duplicate versions of these functions for each platform.
This commit is contained in:
parent
c81a356799
commit
d438578c42
|
@ -26,6 +26,7 @@ jobs:
|
|||
name: lovr.exe
|
||||
path: |
|
||||
build/Release/lovr.exe
|
||||
build/Release/lovrc.bat
|
||||
build/Release/*.dll
|
||||
linux:
|
||||
name: Linux
|
||||
|
|
|
@ -623,7 +623,17 @@ foreach(path ${LOVR_RESOURCES})
|
|||
endforeach()
|
||||
|
||||
# Add a custom target that is always out of date so libraries are always moved
|
||||
add_custom_target(move_libraries ALL)
|
||||
add_custom_target(move_files ALL)
|
||||
|
||||
# Moves something from etc to the build directory
|
||||
function(move_resource)
|
||||
add_custom_command(TARGET move_files POST_BUILD
|
||||
DEPENDS ${SRC}
|
||||
COMMAND ${CMAKE_COMMAND} -E copy
|
||||
"${CMAKE_CURRENT_SOURCE_DIR}/etc/${ARGV0}"
|
||||
$<TARGET_FILE_DIR:lovr>/${ARGV0}
|
||||
)
|
||||
endfunction()
|
||||
|
||||
# Platforms
|
||||
if(WIN32)
|
||||
|
@ -652,7 +662,7 @@ if(WIN32)
|
|||
|
||||
function(move_dll)
|
||||
if(TARGET ${ARGV0})
|
||||
add_custom_command(TARGET move_libraries POST_BUILD
|
||||
add_custom_command(TARGET move_files POST_BUILD
|
||||
COMMAND ${CMAKE_COMMAND} -E copy
|
||||
$<TARGET_FILE:${ARGV0}>
|
||||
$<TARGET_FILE_DIR:lovr>/$<TARGET_FILE_NAME:${ARGV0}>
|
||||
|
@ -670,6 +680,7 @@ if(WIN32)
|
|||
foreach(target ${ALL_PLUGIN_TARGETS})
|
||||
move_dll(${target})
|
||||
endforeach()
|
||||
move_resource("lovrc.bat")
|
||||
elseif(APPLE)
|
||||
find_library(AVFOUNDATION AVFoundation)
|
||||
target_link_libraries(lovr objc ${AVFOUNDATION})
|
||||
|
@ -696,13 +707,13 @@ elseif(APPLE)
|
|||
if(TARGET ${ARGV0})
|
||||
get_target_property(TARGET_TYPE ${ARGV0} TYPE)
|
||||
if(${TARGET_TYPE} STREQUAL "MODULE_LIBRARY")
|
||||
add_custom_command(TARGET move_libraries POST_BUILD
|
||||
add_custom_command(TARGET move_files POST_BUILD
|
||||
COMMAND ${CMAKE_COMMAND} -E copy
|
||||
$<TARGET_FILE:${ARGV0}>
|
||||
${EXE_DIR}/$<TARGET_FILE_NAME:${ARGV0}>
|
||||
)
|
||||
else()
|
||||
add_custom_command(TARGET move_libraries POST_BUILD
|
||||
add_custom_command(TARGET move_files POST_BUILD
|
||||
COMMAND ${CMAKE_COMMAND} -E copy
|
||||
$<TARGET_SONAME_FILE:${ARGV0}>
|
||||
${EXE_DIR}/$<TARGET_SONAME_FILE_NAME:${ARGV0}>
|
||||
|
@ -808,13 +819,13 @@ elseif(ANDROID)
|
|||
|
||||
# Copy plugin libraries to lib folder before packaging APK
|
||||
foreach(target ${ALL_PLUGIN_TARGETS})
|
||||
add_custom_command(TARGET move_libraries POST_BUILD
|
||||
add_custom_command(TARGET move_files POST_BUILD
|
||||
COMMAND ${CMAKE_COMMAND} -E copy
|
||||
$<TARGET_FILE:${target}>
|
||||
raw/lib/${ANDROID_ABI}/$<TARGET_FILE_NAME:${target}>
|
||||
)
|
||||
endforeach()
|
||||
add_dependencies(buildAPK move_libraries)
|
||||
add_dependencies(buildAPK move_files)
|
||||
endif()
|
||||
elseif(UNIX)
|
||||
target_sources(lovr PRIVATE src/core/os_linux.c)
|
||||
|
@ -827,13 +838,13 @@ elseif(UNIX)
|
|||
if(TARGET ${ARGV0})
|
||||
get_target_property(TARGET_TYPE ${ARGV0} TYPE)
|
||||
if(${TARGET_TYPE} STREQUAL "MODULE_LIBRARY")
|
||||
add_custom_command(TARGET move_libraries POST_BUILD
|
||||
add_custom_command(TARGET move_files POST_BUILD
|
||||
COMMAND ${CMAKE_COMMAND} -E copy
|
||||
$<TARGET_FILE:${ARGV0}>
|
||||
${CMAKE_BINARY_DIR}/bin/$<TARGET_FILE_NAME:${ARGV0}>
|
||||
)
|
||||
elseif(${TARGET_TYPE} STREQUAL "SHARED_LIBRARY")
|
||||
add_custom_command(TARGET move_libraries POST_BUILD
|
||||
add_custom_command(TARGET move_files POST_BUILD
|
||||
COMMAND ${CMAKE_COMMAND} -E copy
|
||||
$<TARGET_SONAME_FILE:${ARGV0}>
|
||||
${CMAKE_BINARY_DIR}/bin/$<TARGET_SONAME_FILE_NAME:${ARGV0}>
|
||||
|
@ -841,14 +852,6 @@ elseif(UNIX)
|
|||
endif()
|
||||
endif()
|
||||
endfunction()
|
||||
function(move_app_image_file)
|
||||
set(SRC "${CMAKE_CURRENT_SOURCE_DIR}/etc/${ARGV0}")
|
||||
set(DST "${CMAKE_BINARY_DIR}/bin/${ARGV0}")
|
||||
add_custom_command(TARGET lovr POST_BUILD
|
||||
DEPENDS ${SRC}
|
||||
COMMAND ${CMAKE_COMMAND} -E copy ${SRC} ${DST}
|
||||
)
|
||||
endfunction()
|
||||
move_lib(${LOVR_GLFW})
|
||||
move_lib(${LOVR_LUA})
|
||||
move_lib(${LOVR_ODE})
|
||||
|
@ -859,8 +862,8 @@ elseif(UNIX)
|
|||
move_lib(${target})
|
||||
endforeach()
|
||||
if(LOVR_BUILD_BUNDLE)
|
||||
move_app_image_file("lovr.desktop")
|
||||
move_app_image_file("AppRun")
|
||||
move_app_image_file("logo.svg")
|
||||
move_resource("lovr.desktop")
|
||||
move_resource("AppRun")
|
||||
move_resource("logo.svg")
|
||||
endif()
|
||||
endif()
|
||||
|
|
|
@ -0,0 +1 @@
|
|||
lovr --console %*
|
Loading…
Reference in New Issue