summaryrefslogtreecommitdiffstats
path: root/bibletime/display-templates/CMakeLists.txt
blob: d227852bd0b80b7b3824a4baaff9d071ee58bde3 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30

##### template-init.cpp (generated)

file( READ "names.conf" TEMPLATE_NAMES )
string( REGEX REPLACE "\n" ";" TEMPLATE_NAMES "${TEMPLATE_NAMES}" )
list( SORT TEMPLATE_NAMES )

file( WRITE ${CMAKE_CURRENT_BINARY_DIR}/template-init.cpp
  "void CDisplayTemplateMgr::init() {\n"
)

foreach( TEMPLATE_INFO IN LISTS TEMPLATE_NAMES )
  string( REGEX REPLACE "^([^ \t]*)[ \t]+(.*)" "\\1" TEMPLATE_FILE "${TEMPLATE_INFO}" )
  string( REGEX REPLACE "^([^ \t]*)[ \t]+(.*)" "\\2" TEMPLATE_NAME "${TEMPLATE_INFO}" )

  if( NOT "${TEMPLATE_FILE}" STREQUAL "" )
    file( READ ${TEMPLATE_FILE} TEMPLATE_CONTENT )
    string( REGEX REPLACE "\n+$" "\n" TEMPLATE_CONTENT "${TEMPLATE_CONTENT}\n" )
    string( REGEX REPLACE "\"" "\\\\\"" TEMPLATE_CONTENT "${TEMPLATE_CONTENT}" )
    string( REGEX REPLACE "\n" "\\\\\n" TEMPLATE_CONTENT "${TEMPLATE_CONTENT}" )
    string( REGEX REPLACE "[ \t]+" " " TEMPLATE_CONTENT "${TEMPLATE_CONTENT}" )
    file( APPEND ${CMAKE_CURRENT_BINARY_DIR}/template-init.cpp
      "\tm_templateMap[ i18n(\"${TEMPLATE_NAME}\") ] = \"${TEMPLATE_CONTENT}\";\n"
    )
  endif()
endforeach()

file( APPEND ${CMAKE_CURRENT_BINARY_DIR}/template-init.cpp
  "}\n"
)