]> git.lyx.org Git - features.git/commitdiff
Cmake build:
authorKornel Benko <kornel@lyx.org>
Fri, 2 Nov 2012 12:25:04 +0000 (13:25 +0100)
committerKornel Benko <kornel@lyx.org>
Fri, 2 Nov 2012 12:25:04 +0000 (13:25 +0100)
1.) Cleanup the use of path-variables
2.) New directory for cmake-scripts which can be called
    at build-time

development/cmake/modules/LyXCreateImagesResource.cmake [deleted file]
development/cmake/modules/LyXGetVersion.cmake [deleted file]
development/cmake/scripts/LyXCreateImagesResource.cmake [new file with mode: 0644]
development/cmake/scripts/LyXGetVersion.cmake [new file with mode: 0644]

diff --git a/development/cmake/modules/LyXCreateImagesResource.cmake b/development/cmake/modules/LyXCreateImagesResource.cmake
deleted file mode 100644 (file)
index f360d1c..0000000
+++ /dev/null
@@ -1,73 +0,0 @@
-#  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 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} "<!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")
-
-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 (file)
index 1f6cde7..0000000
+++ /dev/null
@@ -1,54 +0,0 @@
-#  Copyright (c) 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 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 (file)
index 0000000..f360d1c
--- /dev/null
@@ -0,0 +1,73 @@
+#  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 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} "<!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")
+
+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 (file)
index 0000000..1f6cde7
--- /dev/null
@@ -0,0 +1,54 @@
+#  Copyright (c) 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 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
+)
+