Warning, /graphics/kst-plot/cmake/modules/MergedFilesBuild.cmake is written in an unsupported language. File is not indexed.

0001 # ***************************************************************************
0002 # *                                                                         *
0003 # *   Copyright : (C) 2010 The University of Toronto                        *
0004 # *   email     : netterfield@astro.utoronto.ca                             *
0005 # *                                                                         *
0006 # *   Copyright : (C) 2010 Peter Kümmel                                     *
0007 # *   email     : syntheticpp@gmx.net                                       *
0008 # *                                                                         *
0009 # *   This program is free software; you can redistribute it and/or modify  *
0010 # *   it under the terms of the GNU General Public License as published by  *
0011 # *   the Free Software Foundation; either version 2 of the License, or     *
0012 # *   (at your option) any later version.                                   *
0013 # *                                                                         *
0014 # ***************************************************************************
0015 
0016 
0017 macro(merged_files_build _allinone_name _list)
0018         set(_file_list ${_allinone_name}_files)
0019         set(_file_const ${CMAKE_CURRENT_BINARY_DIR}/${_allinone_name}_const.cpp)
0020         set(_file_touched ${CMAKE_CURRENT_BINARY_DIR}/${_allinone_name}_touched.cpp)
0021 
0022         # don't touch existing or non-empty file,
0023         # so a cmake re-run doesn't touch all created files
0024         set(_rebuild_file_const 0)
0025         if (NOT EXISTS ${_file_const})
0026                 set(_rebuild_file_const 1)
0027         else()
0028                 FILE(READ ${_file_const} _file_content)
0029                 if (NOT _file_content)
0030                         set(_rebuild_file_const 1)
0031                 endif()
0032         endif()
0033 
0034         set(_rebuild_file_touched 0)
0035         if (NOT EXISTS ${_file_touched})
0036                 set(_rebuild_file_touched 1)
0037         else()
0038                 FILE(READ ${_file_touched} _file_content)
0039                 if (NOT _file_content)
0040                         set(_rebuild_file_touched 1)
0041                 endif()
0042         endif()
0043 
0044         if (merged_files_rebuild)
0045                 set(_rebuild_file_const 1)
0046                 set(_rebuild_file_touched 1)
0047         endif()
0048 
0049         if (_rebuild_file_const)
0050                 file(WRITE  ${_file_const} "// autogenerated file \n//\n")
0051                 file(APPEND ${_file_const} "//    * clear or delete this file to build it again by cmake \n//\n\n")
0052         endif()
0053 
0054         if (_rebuild_file_touched)
0055                 file(WRITE  ${_file_touched} "// autogenerated file \n//\n")
0056                 file(APPEND ${_file_touched} "//    * clear or delete this file to build it again by cmake \n//\n")
0057                 file(APPEND ${_file_touched} "//    * don't touch this file \n//\n\n")
0058                 file(APPEND ${_file_touched} "#define DONT_INCLUDE_CONST_FILES\n")
0059                 file(APPEND ${_file_touched} "#include \"${_file_const}\"\n\n\n")
0060         endif()
0061 
0062         set(${_file_list} ${_file_const} ${_file_touched})
0063 
0064         foreach (_current_FILE ${${_list}})
0065                 get_filename_component(_abs_FILE ${_current_FILE} ABSOLUTE)
0066 
0067                 GET_FILENAME_COMPONENT(_file_name ${_abs_FILE} NAME_WE)
0068                 STRING(REGEX REPLACE "-" "_" _file_name "${_file_name}")
0069                 set(__macro_name ${_file_name}___ASSUME_CONST)
0070 
0071 #               if (_rebuild_file_const)
0072 #                       file(APPEND ${_file_const}  "#define ${__macro_name}\n")
0073 #                       file(APPEND ${_file_const}  "#if defined(${__macro_name}) && !defined(DONT_INCLUDE_CONST_FILES)\n")
0074 #                       file(APPEND ${_file_const}  "#include \"${_abs_FILE}\"\n")
0075 #                       file(APPEND ${_file_const}  "#endif\n\n")
0076 #               endif()
0077 
0078     if (_rebuild_file_const)
0079                         file(APPEND ${_file_const}  "#if (!defined(${__macro_name})) && (!defined(DONT_INCLUDE_CONST_FILES))\n")
0080                         file(APPEND ${_file_const}  "#include \"${_abs_FILE}\"\n")
0081                         file(APPEND ${_file_const}  "#endif\n\n")
0082                         file(APPEND ${_file_const}  "#define ${__macro_name}\n")
0083                 endif()
0084 
0085                 if (_rebuild_file_touched)
0086                         file(APPEND ${_file_touched}  "#ifndef ${__macro_name}\n")
0087       file(APPEND ${_file_touched}  "#define ${__macro_name}\n")
0088                         file(APPEND ${_file_touched}  "#include \"${_abs_FILE}\"\n")
0089                         file(APPEND ${_file_touched}  "#endif\n\n")
0090                 endif()
0091         endforeach (_current_FILE)
0092 endmacro()
0093 
0094 
0095 
0096 
0097 
0098