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:
Kornel Benko 2012-10-25 10:45:28 +02:00
parent 7c6ae4d740
commit d1ca207e94
2 changed files with 70 additions and 1 deletions

View 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")

View File

@ -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})