mirror of
https://github.com/OpenMW/openmw.git
synced 2025-01-21 08:23:53 +00:00
Merge pull request #1498 from AnyOldName3/cmake-resource-handling
Make CMake copy the runtime resources to the correct location
This commit is contained in:
commit
cf1106f3eb
7 changed files with 62 additions and 42 deletions
|
@ -750,19 +750,4 @@ if [ -z $VERBOSE ]; then
|
|||
fi
|
||||
fi
|
||||
|
||||
if [ -z $CI ]; then
|
||||
echo "- Copying Runtime Resources/Config Files"
|
||||
echo " gamecontrollerdb.txt"
|
||||
cp gamecontrollerdb.txt $BUILD_CONFIG/gamecontrollerdb.txt
|
||||
echo " openmw.cfg"
|
||||
cp openmw.cfg.install $BUILD_CONFIG/openmw.cfg
|
||||
echo " openmw-cs.cfg"
|
||||
cp openmw-cs.cfg $BUILD_CONFIG/openmw-cs.cfg
|
||||
echo " settings-default.cfg"
|
||||
cp settings-default.cfg $BUILD_CONFIG/settings-default.cfg
|
||||
echo " resources/"
|
||||
cp -r resources $BUILD_CONFIG/resources
|
||||
echo
|
||||
fi
|
||||
|
||||
exit $RET
|
||||
|
|
|
@ -313,27 +313,27 @@ endif (APPLE)
|
|||
|
||||
# Other files
|
||||
|
||||
configure_file(${OpenMW_SOURCE_DIR}/files/settings-default.cfg
|
||||
"${OpenMW_BINARY_DIR}/settings-default.cfg")
|
||||
configure_resource_file(${OpenMW_SOURCE_DIR}/files/settings-default.cfg
|
||||
"${OpenMW_BINARY_DIR}" "settings-default.cfg")
|
||||
|
||||
if (NOT APPLE)
|
||||
configure_file(${OpenMW_SOURCE_DIR}/files/openmw.cfg.local
|
||||
"${OpenMW_BINARY_DIR}/openmw.cfg")
|
||||
configure_file(${OpenMW_SOURCE_DIR}/files/openmw.cfg
|
||||
"${OpenMW_BINARY_DIR}/openmw.cfg.install")
|
||||
configure_resource_file(${OpenMW_SOURCE_DIR}/files/openmw.cfg.local
|
||||
"${OpenMW_BINARY_DIR}" "openmw.cfg")
|
||||
configure_resource_file(${OpenMW_SOURCE_DIR}/files/openmw.cfg
|
||||
"${OpenMW_BINARY_DIR}" "openmw.cfg.install")
|
||||
else ()
|
||||
configure_file(${OpenMW_SOURCE_DIR}/files/openmw.cfg
|
||||
"${OpenMW_BINARY_DIR}/openmw.cfg")
|
||||
endif ()
|
||||
|
||||
configure_file(${OpenMW_SOURCE_DIR}/files/openmw-cs.cfg
|
||||
"${OpenMW_BINARY_DIR}/openmw-cs.cfg")
|
||||
configure_resource_file(${OpenMW_SOURCE_DIR}/files/openmw-cs.cfg
|
||||
"${OpenMW_BINARY_DIR}" "openmw-cs.cfg")
|
||||
|
||||
configure_file(${OpenMW_SOURCE_DIR}/files/opencs/defaultfilters
|
||||
"${OpenMW_BINARY_DIR}/resources/defaultfilters" COPYONLY)
|
||||
configure_resource_file(${OpenMW_SOURCE_DIR}/files/opencs/defaultfilters
|
||||
"${OpenMW_BINARY_DIR}" "resources/defaultfilters" COPYONLY)
|
||||
|
||||
configure_file(${OpenMW_SOURCE_DIR}/files/gamecontrollerdb.txt
|
||||
"${OpenMW_BINARY_DIR}/gamecontrollerdb.txt")
|
||||
configure_resource_file(${OpenMW_SOURCE_DIR}/files/gamecontrollerdb.txt
|
||||
"${OpenMW_BINARY_DIR}" "gamecontrollerdb.txt")
|
||||
|
||||
if (NOT WIN32 AND NOT APPLE)
|
||||
configure_file(${OpenMW_SOURCE_DIR}/files/openmw.desktop
|
||||
|
|
|
@ -26,4 +26,6 @@ else ()
|
|||
message(WARNING "Failed to get valid version information from Git")
|
||||
endif ()
|
||||
|
||||
configure_file(${VERSION_IN_FILE} ${VERSION_FILE})
|
||||
include(${MACROSFILE})
|
||||
|
||||
configure_resource_file(${VERSION_IN_FILE} ${VERSION_FILE_PATH_BASE} ${VERSION_FILE_PATH_RELATIVE})
|
||||
|
|
|
@ -88,13 +88,6 @@ endforeach (u)
|
|||
source_group ("components\\${dir}" FILES ${files})
|
||||
endmacro (add_component_qt_dir)
|
||||
|
||||
macro (copy_all_files source_dir destination_dir files)
|
||||
foreach (f ${files})
|
||||
get_filename_component(filename ${f} NAME)
|
||||
configure_file(${source_dir}/${f} ${destination_dir}/${filename} COPYONLY)
|
||||
endforeach (f)
|
||||
endmacro (copy_all_files)
|
||||
|
||||
macro (add_file project type file)
|
||||
list (APPEND ${project}${type} ${file})
|
||||
endmacro (add_file)
|
||||
|
@ -171,3 +164,40 @@ macro (openmw_add_executable target)
|
|||
endif (CMAKE_VERSION VERSION_GREATER 3.8 OR CMAKE_VERSION VERSION_EQUAL 3.8)
|
||||
endif (MSVC)
|
||||
endmacro (openmw_add_executable)
|
||||
|
||||
macro (get_generator_is_multi_config VALUE)
|
||||
if (CMAKE_VERSION VERSION_GREATER 3.9 OR CMAKE_VERSION VERSION_EQUAL 3.9)
|
||||
get_cmake_property(${VALUE} GENERATOR_IS_MULTI_CONFIG)
|
||||
else (CMAKE_VERSION VERSION_GREATER 3.9 OR CMAKE_VERSION VERSION_EQUAL 3.9)
|
||||
list(LENGTH "${CMAKE_CONFIGURATION_TYPES}" ${VALUE})
|
||||
endif (CMAKE_VERSION VERSION_GREATER 3.9 OR CMAKE_VERSION VERSION_EQUAL 3.9)
|
||||
endmacro (get_generator_is_multi_config)
|
||||
|
||||
macro (copy_resource_file source_path destination_dir_base dest_path_relative)
|
||||
get_generator_is_multi_config(multi_config)
|
||||
if (multi_config)
|
||||
foreach(cfgtype ${CMAKE_CONFIGURATION_TYPES})
|
||||
configure_file(${source_path} "${destination_dir_base}/${cfgtype}/${dest_path_relative}" COPYONLY)
|
||||
endforeach(cfgtype)
|
||||
else (multi_config)
|
||||
configure_file(${source_path} "${destination_dir_base}/${dest_path_relative}" COPYONLY)
|
||||
endif (multi_config)
|
||||
endmacro (copy_resource_file)
|
||||
|
||||
macro (configure_resource_file source_path destination_dir_base dest_path_relative)
|
||||
get_generator_is_multi_config(multi_config)
|
||||
if (multi_config)
|
||||
foreach(cfgtype ${CMAKE_CONFIGURATION_TYPES})
|
||||
configure_file(${source_path} "${destination_dir_base}/${cfgtype}/${dest_path_relative}")
|
||||
endforeach(cfgtype)
|
||||
else (multi_config)
|
||||
configure_file(${source_path} "${destination_dir_base}/${dest_path_relative}")
|
||||
endif (multi_config)
|
||||
endmacro (configure_resource_file)
|
||||
|
||||
macro (copy_all_resource_files source_dir destination_dir_base destination_dir_relative files)
|
||||
foreach (f ${files})
|
||||
get_filename_component(filename ${f} NAME)
|
||||
copy_resource_file("${source_dir}/${f}" "${destination_dir_base}" "${destination_dir_relative}/${filename}")
|
||||
endforeach (f)
|
||||
endmacro (copy_all_resource_files)
|
|
@ -2,22 +2,25 @@ project (Components)
|
|||
|
||||
# Version file
|
||||
set (VERSION_IN_FILE "${OpenMW_SOURCE_DIR}/files/version.in")
|
||||
set (VERSION_FILE "${OpenMW_BINARY_DIR}/resources/version")
|
||||
set (VERSION_FILE_PATH_BASE "${OpenMW_BINARY_DIR}")
|
||||
set (VERSION_FILE_PATH_RELATIVE resources/version)
|
||||
if (GIT_CHECKOUT)
|
||||
add_custom_target (git-version
|
||||
COMMAND ${CMAKE_COMMAND}
|
||||
-DGIT_EXECUTABLE=${GIT_EXECUTABLE}
|
||||
-DPROJECT_SOURCE_DIR=${PROJECT_SOURCE_DIR}
|
||||
-DVERSION_IN_FILE=${VERSION_IN_FILE}
|
||||
-DVERSION_FILE=${VERSION_FILE}
|
||||
-DVERSION_FILE_PATH_BASE=${VERSION_FILE_PATH_BASE}
|
||||
-DVERSION_FILE_PATH_RELATIVE=${VERSION_FILE_PATH_RELATIVE}
|
||||
-DOPENMW_VERSION_MAJOR=${OPENMW_VERSION_MAJOR}
|
||||
-DOPENMW_VERSION_MINOR=${OPENMW_VERSION_MINOR}
|
||||
-DOPENMW_VERSION_RELEASE=${OPENMW_VERSION_RELEASE}
|
||||
-DOPENMW_VERSION=${OPENMW_VERSION}
|
||||
-DMACROSFILE=${CMAKE_SOURCE_DIR}/cmake/OpenMWMacros.cmake
|
||||
-P ${CMAKE_CURRENT_SOURCE_DIR}/../cmake/GitVersion.cmake
|
||||
VERBATIM)
|
||||
else (GIT_CHECKOUT)
|
||||
configure_file(${VERSION_IN_FILE} ${VERSION_FILE})
|
||||
configure_resource_file(${VERSION_IN_FILE} ${VERSION_FILE_PATH_BASE} ${VERSION_FILE_PATH_RELATIVE})
|
||||
endif (GIT_CHECKOUT)
|
||||
|
||||
if (OPENGL_ES)
|
||||
|
|
|
@ -4,7 +4,7 @@ endif()
|
|||
|
||||
# Copy resource files into the build directory
|
||||
set(SDIR ${CMAKE_CURRENT_SOURCE_DIR})
|
||||
set(DDIR ${OPENMW_MYGUI_FILES_ROOT}/resources/mygui)
|
||||
set(DDIRRELATIVE resources/mygui)
|
||||
|
||||
set(MYGUI_FILES
|
||||
core.skin
|
||||
|
@ -97,4 +97,4 @@ set(MYGUI_FILES
|
|||
)
|
||||
|
||||
|
||||
copy_all_files(${CMAKE_CURRENT_SOURCE_DIR} ${DDIR} "${MYGUI_FILES}")
|
||||
copy_all_resource_files(${CMAKE_CURRENT_SOURCE_DIR} ${OPENMW_MYGUI_FILES_ROOT} ${DDIRRELATIVE} "${MYGUI_FILES}")
|
||||
|
|
|
@ -4,7 +4,7 @@ endif()
|
|||
|
||||
# Copy resource files into the build directory
|
||||
set(SDIR ${CMAKE_CURRENT_SOURCE_DIR})
|
||||
set(DDIR ${OPENMW_SHADERS_ROOT}/resources/shaders)
|
||||
set(DDIRRELATIVE resources/shaders)
|
||||
|
||||
set(SHADER_FILES
|
||||
water_vertex.glsl
|
||||
|
@ -18,4 +18,4 @@ set(SHADER_FILES
|
|||
parallax.glsl
|
||||
)
|
||||
|
||||
copy_all_files(${CMAKE_CURRENT_SOURCE_DIR} ${DDIR} "${SHADER_FILES}")
|
||||
copy_all_resource_files(${CMAKE_CURRENT_SOURCE_DIR} ${OPENMW_SHADERS_ROOT} ${DDIRRELATIVE} "${SHADER_FILES}")
|
||||
|
|
Loading…
Reference in a new issue