mirror of
https://git.lyx.org/repos/lyx.git
synced 2024-12-22 13:18:28 +00:00
Cmake build:
Next try to create Resources.qrc on the fly. This time using a cmake-script instead of trying to rebuild the cache
This commit is contained in:
parent
7c6ae4d740
commit
d1ca207e94
56
development/cmake/modules/LyXCreateImagesResource.cmake
Normal file
56
development/cmake/modules/LyXCreateImagesResource.cmake
Normal file
@ -0,0 +1,56 @@
|
||||
# Copyright (c) 2006-2011 Peter Kümmel, <syntheticpp@gmx.net>
|
||||
# 2012, Kornel Benko, <kornel@lyx.org>
|
||||
#
|
||||
# Redistribution and use in source and binary forms, with or without
|
||||
# modification, are permitted provided that the following conditions
|
||||
# are met:
|
||||
#
|
||||
# 1. Redistributions of source code must retain the copyright
|
||||
# notice, this list of conditions and the following disclaimer.
|
||||
# 2. Redistributions in binary form must reproduce the copyright
|
||||
# notice, this list of conditions and the following disclaimer in the
|
||||
# documentation and/or other materials provided with the distribution.
|
||||
# 3. The name of the author may not be used to endorse or promote products
|
||||
# derived from this software without specific prior written permission.
|
||||
#
|
||||
# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
|
||||
# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
|
||||
# OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
|
||||
# IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
|
||||
# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
|
||||
# NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
|
||||
# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
|
||||
# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||
# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
|
||||
# THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
#
|
||||
# To call this script, one has to proved following parameters
|
||||
# IMAGES_DIR # root for the directory-tree for .png and .git image files
|
||||
# RESOURCE_NAME # full path of the resulting resource-file
|
||||
# MAPPED_DIR # Path-prefix to be removed from the file names
|
||||
# -P ${TOP_SRC_DIR}/development/cmake/modules/LyXCreateImagesResource.cmake
|
||||
|
||||
set(CMAKE_ALLOW_LOOSE_LOOP_CONSTRUCTS true)
|
||||
|
||||
file(GLOB_RECURSE images_png ${IMAGES_DIR}/*.png)
|
||||
file(GLOB_RECURSE images_gif ${IMAGES_DIR}/*.gif)
|
||||
|
||||
set(images ${images_png} ${images_gif})
|
||||
set(resource_name ${RESOURCE_NAME})
|
||||
|
||||
#lyx_qt_resources_file(${resource_name} "${MAPPED_DIR}" frontend_qt4_images)
|
||||
|
||||
message(STATUS "Generating ${resource_name}")
|
||||
|
||||
file(WRITE ${resource_name} "<!DOCTYPE RCC><RCC version=\"1.0\">\n")
|
||||
file(APPEND ${resource_name} "<qresource>\n")
|
||||
|
||||
foreach (_current_FILE ${images})
|
||||
get_filename_component(_abs_FILE ${_current_FILE} ABSOLUTE)
|
||||
string(REGEX REPLACE "${MAPPED_DIR}" "" _file_name ${_abs_FILE})
|
||||
file(APPEND ${resource_name} " <file alias=\"${_file_name}\">${_abs_FILE}</file>\n")
|
||||
endforeach (_current_FILE)
|
||||
|
||||
file(APPEND ${resource_name} "</qresource>\n")
|
||||
file(APPEND ${resource_name} "</RCC>\n")
|
||||
|
@ -26,7 +26,20 @@ file(GLOB_RECURSE frontend_qt4_images_png ${TOP_SRC_DIR}/lib/images/*.png)
|
||||
file(GLOB_RECURSE frontend_qt4_images_gif ${TOP_SRC_DIR}/lib/images/*.gif)
|
||||
set(resource_name ${CMAKE_CURRENT_BINARY_DIR}/Resources.qrc)
|
||||
set(frontend_qt4_images ${frontend_qt4_images_png} ${frontend_qt4_images_gif})
|
||||
lyx_qt_resources_file(${resource_name} "${TOP_SRC_DIR}/lib/" frontend_qt4_images)
|
||||
|
||||
#lyx_qt_resources_file(${resource_name} "${TOP_SRC_DIR}/lib/" frontend_qt4_images)
|
||||
|
||||
add_custom_command(
|
||||
OUTPUT ${resource_name}
|
||||
COMMAND ${CMAKE_COMMAND}
|
||||
-DIMAGES_DIR=${TOP_SRC_DIR}/lib/images
|
||||
-DRESOURCE_NAME=${resource_name}
|
||||
-DMAPPED_DIR=${TOP_SRC_DIR}/lib/
|
||||
-P ${TOP_SRC_DIR}/development/cmake/modules/LyXCreateImagesResource.cmake
|
||||
)
|
||||
|
||||
add_custom_target(Resources.qrc DEPENDS ${resource_name})
|
||||
|
||||
qt4_add_resources(resource_files ${resource_name})
|
||||
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user