From: Kornel Benko Date: Fri, 2 Nov 2012 12:25:04 +0000 (+0100) Subject: Cmake build: X-Git-Tag: 2.1.0beta1~1314 X-Git-Url: https://git.lyx.org/gitweb/?a=commitdiff_plain;h=7ede020a0284fe143bb10e18381f24429f4fe00a;p=features.git Cmake build: 1.) Cleanup the use of path-variables 2.) New directory for cmake-scripts which can be called at build-time --- diff --git a/development/cmake/modules/LyXCreateImagesResource.cmake b/development/cmake/modules/LyXCreateImagesResource.cmake deleted file mode 100644 index f360d1c4a4..0000000000 --- a/development/cmake/modules/LyXCreateImagesResource.cmake +++ /dev/null @@ -1,73 +0,0 @@ -# Copyright (c) 2006-2011 Peter Kümmel, -# 2012, Kornel Benko, -# -# 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 provide 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 name entries - -set(CMAKE_ALLOW_LOOSE_LOOP_CONSTRUCTS true) - -if(NOT RESOURCE_NAME) - message(FATAL_ERROR "RESOURCE_NAME not given") -endif() - -message(STATUS "Generating ${RESOURCE_NAME}") - -if(NOT IS_DIRECTORY ${IMAGES_DIR}) - message(FATAL_ERROR "Directory ${IMAGES_DIR} does not exist") -endif() - -if(NOT EXISTS ${MAPPED_DIR}) - message(FATAL_ERROR "Directory ${MAPPED_DIR} does not exist") -endif() - -file(GLOB_RECURSE images_png ${IMAGES_DIR}/*.png) -file(GLOB_RECURSE images_gif ${IMAGES_DIR}/*.gif) - -set(images ${images_png} ${images_gif}) - -file(REMOVE ${RESOURCE_NAME}) - if(EXISTS ${RESOURCE_NAME}) - message(FATAL_ERROR "Cannot remove file ${RESOURCE_NAME}") - endif() -endif() - -file(WRITE ${RESOURCE_NAME} "\n") -file(APPEND ${RESOURCE_NAME} "\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} " ${_abs_FILE}\n") -endforeach (_current_FILE) - -file(APPEND ${RESOURCE_NAME} "\n") -file(APPEND ${RESOURCE_NAME} "\n") - -if(NOT EXISTS ${RESOURCE_NAME}) - message(FATAL_ERROR "File ${RESOURCE_NAME} could not be created") -endif() diff --git a/development/cmake/modules/LyXGetVersion.cmake b/development/cmake/modules/LyXGetVersion.cmake deleted file mode 100644 index 1f6cde7005..0000000000 --- a/development/cmake/modules/LyXGetVersion.cmake +++ /dev/null @@ -1,54 +0,0 @@ -# Copyright (c) 2012, Kornel Benko, -# -# 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 provide following parameters -# TOP_SRC_DIR -# LYX_CMAKE_DIR -# TOP_BINARY_DIR -# LYX_DATE: to be used if not under git control - - -set(CMAKE_ALLOW_LOOSE_LOOP_CONSTRUCTS true) - -FIND_PROGRAM(LYX_GITVERSION git) -if(LYX_GITVERSION) - # Override the value from configure.ac, if possible - EXECUTE_PROCESS(COMMAND ${LYX_GITVERSION} "log" "-1" "--format=%h %ci" - WORKING_DIRECTORY "${TOP_SRC_DIR}" - OUTPUT_VARIABLE LYX_DATEtmp OUTPUT_STRIP_TRAILING_WHITESPACE) - - if(LYX_DATEtmp MATCHES "^([0-9a-f]+) ([0-9]+-[0-9]+-[0-9]+)") - set(LYX_GITHASH ${CMAKE_MATCH_1}) - set(LYX_DATE ${CMAKE_MATCH_2}) - message(STATUS "Git-hash = ${LYX_GITHASH}") - endif() -endif() - -configure_file(${TOP_SRC_DIR}/${LYX_CMAKE_DIR}/lyx_date.h.cmake ${TOP_BINARY_DIR}/lyx_date.tmp) -EXECUTE_PROCESS( - COMMAND ${CMAKE_COMMAND} -E copy_if_different ${TOP_BINARY_DIR}/lyx_date.tmp ${TOP_BINARY_DIR}/lyx_date.h - COMMAND ${CMAKE_COMMAND} -E remove ${TOP_BINARY_DIR}/lyx_date.tmp -) - diff --git a/development/cmake/scripts/LyXCreateImagesResource.cmake b/development/cmake/scripts/LyXCreateImagesResource.cmake new file mode 100644 index 0000000000..f360d1c4a4 --- /dev/null +++ b/development/cmake/scripts/LyXCreateImagesResource.cmake @@ -0,0 +1,73 @@ +# Copyright (c) 2006-2011 Peter Kümmel, +# 2012, Kornel Benko, +# +# 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 provide 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 name entries + +set(CMAKE_ALLOW_LOOSE_LOOP_CONSTRUCTS true) + +if(NOT RESOURCE_NAME) + message(FATAL_ERROR "RESOURCE_NAME not given") +endif() + +message(STATUS "Generating ${RESOURCE_NAME}") + +if(NOT IS_DIRECTORY ${IMAGES_DIR}) + message(FATAL_ERROR "Directory ${IMAGES_DIR} does not exist") +endif() + +if(NOT EXISTS ${MAPPED_DIR}) + message(FATAL_ERROR "Directory ${MAPPED_DIR} does not exist") +endif() + +file(GLOB_RECURSE images_png ${IMAGES_DIR}/*.png) +file(GLOB_RECURSE images_gif ${IMAGES_DIR}/*.gif) + +set(images ${images_png} ${images_gif}) + +file(REMOVE ${RESOURCE_NAME}) + if(EXISTS ${RESOURCE_NAME}) + message(FATAL_ERROR "Cannot remove file ${RESOURCE_NAME}") + endif() +endif() + +file(WRITE ${RESOURCE_NAME} "\n") +file(APPEND ${RESOURCE_NAME} "\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} " ${_abs_FILE}\n") +endforeach (_current_FILE) + +file(APPEND ${RESOURCE_NAME} "\n") +file(APPEND ${RESOURCE_NAME} "\n") + +if(NOT EXISTS ${RESOURCE_NAME}) + message(FATAL_ERROR "File ${RESOURCE_NAME} could not be created") +endif() diff --git a/development/cmake/scripts/LyXGetVersion.cmake b/development/cmake/scripts/LyXGetVersion.cmake new file mode 100644 index 0000000000..1f6cde7005 --- /dev/null +++ b/development/cmake/scripts/LyXGetVersion.cmake @@ -0,0 +1,54 @@ +# Copyright (c) 2012, Kornel Benko, +# +# 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 provide following parameters +# TOP_SRC_DIR +# LYX_CMAKE_DIR +# TOP_BINARY_DIR +# LYX_DATE: to be used if not under git control + + +set(CMAKE_ALLOW_LOOSE_LOOP_CONSTRUCTS true) + +FIND_PROGRAM(LYX_GITVERSION git) +if(LYX_GITVERSION) + # Override the value from configure.ac, if possible + EXECUTE_PROCESS(COMMAND ${LYX_GITVERSION} "log" "-1" "--format=%h %ci" + WORKING_DIRECTORY "${TOP_SRC_DIR}" + OUTPUT_VARIABLE LYX_DATEtmp OUTPUT_STRIP_TRAILING_WHITESPACE) + + if(LYX_DATEtmp MATCHES "^([0-9a-f]+) ([0-9]+-[0-9]+-[0-9]+)") + set(LYX_GITHASH ${CMAKE_MATCH_1}) + set(LYX_DATE ${CMAKE_MATCH_2}) + message(STATUS "Git-hash = ${LYX_GITHASH}") + endif() +endif() + +configure_file(${TOP_SRC_DIR}/${LYX_CMAKE_DIR}/lyx_date.h.cmake ${TOP_BINARY_DIR}/lyx_date.tmp) +EXECUTE_PROCESS( + COMMAND ${CMAKE_COMMAND} -E copy_if_different ${TOP_BINARY_DIR}/lyx_date.tmp ${TOP_BINARY_DIR}/lyx_date.h + COMMAND ${CMAKE_COMMAND} -E remove ${TOP_BINARY_DIR}/lyx_date.tmp +) +