mirror of
https://github.com/overte-org/overte.git
synced 2025-08-10 11:42:55 +02:00
optionally grab serverless tutorial, on for installers
This commit is contained in:
parent
11f5e7812b
commit
b52a877d8d
4 changed files with 65 additions and 15 deletions
|
@ -39,6 +39,7 @@ set(BUILD_TOOLS_OPTION ON)
|
||||||
set(BUILD_INSTALLER_OPTION ON)
|
set(BUILD_INSTALLER_OPTION ON)
|
||||||
set(GLES_OPTION OFF)
|
set(GLES_OPTION OFF)
|
||||||
set(DISABLE_QML_OPTION OFF)
|
set(DISABLE_QML_OPTION OFF)
|
||||||
|
set(DOWNLOAD_SERVERLESS_CONTENT_OPTION OFF)
|
||||||
|
|
||||||
if (ANDROID OR UWP)
|
if (ANDROID OR UWP)
|
||||||
set(BUILD_SERVER_OPTION OFF)
|
set(BUILD_SERVER_OPTION OFF)
|
||||||
|
@ -74,6 +75,11 @@ option(BUILD_INSTALLER "Build installer" ${BUILD_INSTALLER_OPTION})
|
||||||
option(USE_GLES "Use OpenGL ES" ${GLES_OPTION})
|
option(USE_GLES "Use OpenGL ES" ${GLES_OPTION})
|
||||||
option(DISABLE_QML "Disable QML" ${DISABLE_QML_OPTION})
|
option(DISABLE_QML "Disable QML" ${DISABLE_QML_OPTION})
|
||||||
option(DISABLE_KTX_CACHE "Disable KTX Cache" OFF)
|
option(DISABLE_KTX_CACHE "Disable KTX Cache" OFF)
|
||||||
|
option(
|
||||||
|
DOWNLOAD_SERVERLESS_CONTENT
|
||||||
|
"Download and setup default serverless content beside Interface"
|
||||||
|
${DOWNLOAD_SERVERLESS_CONTENT_OPTION}
|
||||||
|
)
|
||||||
|
|
||||||
set(PLATFORM_QT_GL OpenGL)
|
set(PLATFORM_QT_GL OpenGL)
|
||||||
|
|
||||||
|
@ -88,12 +94,13 @@ foreach(PLATFORM_QT_COMPONENT ${PLATFORM_QT_COMPONENTS})
|
||||||
list(APPEND PLATFORM_QT_LIBRARIES "Qt5::${PLATFORM_QT_COMPONENT}")
|
list(APPEND PLATFORM_QT_LIBRARIES "Qt5::${PLATFORM_QT_COMPONENT}")
|
||||||
endforeach()
|
endforeach()
|
||||||
|
|
||||||
MESSAGE(STATUS "Build server: " ${BUILD_SERVER})
|
MESSAGE(STATUS "Build server: " ${BUILD_SERVER})
|
||||||
MESSAGE(STATUS "Build client: " ${BUILD_CLIENT})
|
MESSAGE(STATUS "Build client: " ${BUILD_CLIENT})
|
||||||
MESSAGE(STATUS "Build tests: " ${BUILD_TESTS})
|
MESSAGE(STATUS "Build tests: " ${BUILD_TESTS})
|
||||||
MESSAGE(STATUS "Build tools: " ${BUILD_TOOLS})
|
MESSAGE(STATUS "Build tools: " ${BUILD_TOOLS})
|
||||||
MESSAGE(STATUS "Build installer: " ${BUILD_INSTALLER})
|
MESSAGE(STATUS "Build installer: " ${BUILD_INSTALLER})
|
||||||
MESSAGE(STATUS "GL ES: " ${USE_GLES})
|
MESSAGE(STATUS "GL ES: " ${USE_GLES})
|
||||||
|
MESSAGE(STATUS "DL serverless content: " ${DOWNLOAD_SERVERLESS_CONTENT})
|
||||||
|
|
||||||
if (DISABLE_QML)
|
if (DISABLE_QML)
|
||||||
MESSAGE(STATUS "QML disabled!")
|
MESSAGE(STATUS "QML disabled!")
|
||||||
|
|
16
cmake/externals/serverless-content/CMakeLists.txt
vendored
Normal file
16
cmake/externals/serverless-content/CMakeLists.txt
vendored
Normal file
|
@ -0,0 +1,16 @@
|
||||||
|
include(ExternalProject)
|
||||||
|
|
||||||
|
set(EXTERNAL_NAME serverless-content)
|
||||||
|
|
||||||
|
ExternalProject_Add(
|
||||||
|
${EXTERNAL_NAME}
|
||||||
|
URL http://cdn.highfidelity.com/content-sets/serverless-tutorial-RC66.zip
|
||||||
|
URL_MD5 9db56f45a2fe7f1e5bfcfb2d8a575b38
|
||||||
|
CONFIGURE_COMMAND ""
|
||||||
|
BUILD_COMMAND ""
|
||||||
|
INSTALL_COMMAND ""
|
||||||
|
LOG_DOWNLOAD 1
|
||||||
|
)
|
||||||
|
|
||||||
|
# Hide this external target (for IDE users)
|
||||||
|
set_target_properties(${EXTERNAL_NAME} PROPERTIES FOLDER "hidden/externals")
|
|
@ -73,6 +73,11 @@ macro(SET_PACKAGING_PARAMETERS)
|
||||||
add_definitions(-DDEV_BUILD)
|
add_definitions(-DDEV_BUILD)
|
||||||
endif ()
|
endif ()
|
||||||
|
|
||||||
|
if (DEPLOY_PACKAGE)
|
||||||
|
# for deployed packages always grab the serverless content
|
||||||
|
set(DOWNLOAD_SERVERLESS_CONTENT ON)
|
||||||
|
endif ()
|
||||||
|
|
||||||
if (APPLE)
|
if (APPLE)
|
||||||
set(DMG_SUBFOLDER_NAME "${BUILD_ORGANIZATION}")
|
set(DMG_SUBFOLDER_NAME "${BUILD_ORGANIZATION}")
|
||||||
|
|
||||||
|
|
|
@ -43,7 +43,6 @@ endif()
|
||||||
list(APPEND GENERATE_QRC_DEPENDS ${RESOURCES_RCC})
|
list(APPEND GENERATE_QRC_DEPENDS ${RESOURCES_RCC})
|
||||||
add_custom_target(resources ALL DEPENDS ${GENERATE_QRC_DEPENDS})
|
add_custom_target(resources ALL DEPENDS ${GENERATE_QRC_DEPENDS})
|
||||||
|
|
||||||
|
|
||||||
# set a default root dir for each of our optional externals if it was not passed
|
# set a default root dir for each of our optional externals if it was not passed
|
||||||
set(OPTIONAL_EXTERNALS "LeapMotion")
|
set(OPTIONAL_EXTERNALS "LeapMotion")
|
||||||
|
|
||||||
|
@ -313,20 +312,22 @@ if (APPLE)
|
||||||
COMPONENT ${CLIENT_COMPONENT}
|
COMPONENT ${CLIENT_COMPONENT}
|
||||||
)
|
)
|
||||||
|
|
||||||
set(SCRIPTS_INSTALL_DIR "${INTERFACE_INSTALL_APP_PATH}/Contents/Resources")
|
set(RESOURCES_INSTALL_DIR "${INTERFACE_INSTALL_APP_PATH}/Contents/Resources")
|
||||||
|
set(RESOURCES_DEV_DIR "$<TARGET_FILE_DIR:${TARGET_NAME}>/../Resources")
|
||||||
|
|
||||||
# copy script files beside the executable
|
# copy script files beside the executable
|
||||||
add_custom_command(TARGET ${TARGET_NAME} POST_BUILD
|
add_custom_command(TARGET ${TARGET_NAME} POST_BUILD
|
||||||
COMMAND "${CMAKE_COMMAND}" -E copy_directory
|
COMMAND "${CMAKE_COMMAND}" -E copy_directory
|
||||||
"${CMAKE_SOURCE_DIR}/scripts"
|
"${CMAKE_SOURCE_DIR}/scripts"
|
||||||
"$<TARGET_FILE_DIR:${TARGET_NAME}>/../Resources/scripts"
|
"${RESOURCES_DEV_DIR}/scripts"
|
||||||
)
|
)
|
||||||
|
|
||||||
# call the fixup_interface macro to add required bundling commands for installation
|
# call the fixup_interface macro to add required bundling commands for installation
|
||||||
fixup_interface()
|
fixup_interface()
|
||||||
|
|
||||||
else()
|
else()
|
||||||
|
set(RESOURCES_DEV_DIR "$<TARGET_FILE_DIR:${TARGET_NAME}>")
|
||||||
|
|
||||||
# copy the resources files beside the executable
|
# copy the resources files beside the executable
|
||||||
add_custom_command(TARGET ${TARGET_NAME} POST_BUILD
|
add_custom_command(TARGET ${TARGET_NAME} POST_BUILD
|
||||||
COMMAND "${CMAKE_COMMAND}" -E copy_if_different
|
COMMAND "${CMAKE_COMMAND}" -E copy_if_different
|
||||||
|
@ -342,7 +343,7 @@ else()
|
||||||
"$<TARGET_FILE_DIR:${TARGET_NAME}>/resources/fonts"
|
"$<TARGET_FILE_DIR:${TARGET_NAME}>/resources/fonts"
|
||||||
COMMAND "${CMAKE_COMMAND}" -E copy_directory
|
COMMAND "${CMAKE_COMMAND}" -E copy_directory
|
||||||
"${CMAKE_SOURCE_DIR}/scripts"
|
"${CMAKE_SOURCE_DIR}/scripts"
|
||||||
"$<TARGET_FILE_DIR:${TARGET_NAME}>/scripts"
|
"${RESOURCES_DEV_DIR}/scripts"
|
||||||
)
|
)
|
||||||
|
|
||||||
# link target to external libraries
|
# link target to external libraries
|
||||||
|
@ -359,7 +360,7 @@ else()
|
||||||
PATTERN "*.exp" EXCLUDE
|
PATTERN "*.exp" EXCLUDE
|
||||||
)
|
)
|
||||||
|
|
||||||
set(SCRIPTS_INSTALL_DIR "${INTERFACE_INSTALL_DIR}")
|
set(RESOURCES_INSTALL_DIR "${INTERFACE_INSTALL_DIR}")
|
||||||
|
|
||||||
set(EXECUTABLE_COMPONENT ${CLIENT_COMPONENT})
|
set(EXECUTABLE_COMPONENT ${CLIENT_COMPONENT})
|
||||||
|
|
||||||
|
@ -367,16 +368,37 @@ else()
|
||||||
endif()
|
endif()
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
if (SCRIPTS_INSTALL_DIR)
|
if (RESOURCES_INSTALL_DIR)
|
||||||
|
|
||||||
# setup install of scripts beside interface executable
|
# setup install of scripts beside interface executable
|
||||||
install(
|
install(
|
||||||
DIRECTORY "${CMAKE_SOURCE_DIR}/scripts/"
|
DIRECTORY "${CMAKE_SOURCE_DIR}/scripts/"
|
||||||
DESTINATION ${SCRIPTS_INSTALL_DIR}/scripts
|
DESTINATION ${RESOURCES_INSTALL_DIR}/scripts
|
||||||
COMPONENT ${CLIENT_COMPONENT}
|
COMPONENT ${CLIENT_COMPONENT}
|
||||||
)
|
)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
|
if (DOWNLOAD_SERVERLESS_CONTENT)
|
||||||
|
add_dependency_external_projects(serverless-content)
|
||||||
|
|
||||||
|
ExternalProject_Get_Property(serverless-content SOURCE_DIR)
|
||||||
|
|
||||||
|
# for dev builds, copy the serverless content to the resources folder
|
||||||
|
add_custom_command(TARGET ${TARGET_NAME} POST_BUILD
|
||||||
|
COMMAND "${CMAKE_COMMAND}" -E copy_directory
|
||||||
|
"${SOURCE_DIR}/serverless/"
|
||||||
|
"${RESOURCES_DEV_DIR}/serverless"
|
||||||
|
)
|
||||||
|
|
||||||
|
# for installs, put the serverless content in the resources folder beside the executable
|
||||||
|
if (RESOURCES_INSTALL_DIR)
|
||||||
|
install(
|
||||||
|
DIRECTORY "${SOURCE_DIR}/serverless"
|
||||||
|
DESTINATION "${RESOURCES_INSTALL_DIR}"
|
||||||
|
COMPONENT ${CLIENT_COMPONENT}
|
||||||
|
)
|
||||||
|
endif ()
|
||||||
|
endif ()
|
||||||
|
|
||||||
if (WIN32)
|
if (WIN32)
|
||||||
set(EXTRA_DEPLOY_OPTIONS "--qmldir \"${PROJECT_SOURCE_DIR}/resources/qml\"")
|
set(EXTRA_DEPLOY_OPTIONS "--qmldir \"${PROJECT_SOURCE_DIR}/resources/qml\"")
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue