]> git.lyx.org Git - lyx.git/blob - development/cmake/doc/CMakeLists.txt
Amend 2d48072e: Get rid of Qt resources
[lyx.git] / development / cmake / doc / CMakeLists.txt
1 # This file is part of LyX, the document processor.
2 # Licence details can be found in the file COPYING.
3 #
4 # Copyright (c) 2008-2011 Peter Kümmel, <syntheticpp@gmx.net>
5 # Copyright (c) 2008-2011 Kornel Benko, <Kornel.Benko@berlin.de>
6 #
7
8 project(doc)
9
10 SET(_docs)
11 file(GLOB_RECURSE _rel_lyx_docs RELATIVE "${TOP_SRC_DIR}/lib/doc"
12                         "${TOP_SRC_DIR}/lib/doc/*.lyx"
13                         "${TOP_SRC_DIR}/lib/doc/*.txt"
14                         "${TOP_SRC_DIR}/lib/doc/*.tex")
15 list(REMOVE_ITEM _rel_lyx_docs LFUNs.lyx)
16
17 foreach(_rel_doc ${_rel_lyx_docs})
18   if (NOT "${_rel_doc}" MATCHES "#" )
19     if ("${_rel_doc}" MATCHES "/" )
20       string(REGEX REPLACE "/[^/]*$" "" _rel_dir_part ${_rel_doc})
21     else("${_rel_doc}" MATCHES "/")
22       set(_rel_dir_part ".")
23     endif("${_rel_doc}" MATCHES "/")
24     set(_created_doc "${CMAKE_CURRENT_BINARY_DIR}/${_rel_doc}")
25     get_filename_component(_doc_dir ${_created_doc} PATH)
26     file(MAKE_DIRECTORY ${_doc_dir})
27     #message(STATUS "found relative file " ${_rel_doc})
28     #message(STATUS "input ${TOP_SRC_DIR}/lib/doc/${_rel_doc}")
29     #message(STATUS "output ${_created_doc}")
30     #message(STATUS "rel_dir_part ${_rel_dir_part}")
31     SET_SOURCE_FILES_PROPERTIES(${_created_doc} GENERATED)
32     if ("${_rel_doc}" MATCHES ".lyx$")
33       add_custom_command(
34         OUTPUT "${_created_doc}"
35         COMMAND ${CMAKE_COMMAND}
36           -DLYX_PYTHON_EXECUTABLE=${LYX_PYTHON_EXECUTABLE}
37           -DTOP_CMAKE_PATH=${TOP_CMAKE_PATH}
38           -DLYX_USERDIR_VER=${LYX_USERDIR_VER}
39           -DLYX_DIR_VER=${LYX_DIR_VER}
40           -DTOP_SRC_DIR=${TOP_SRC_DIR}
41           -DREL_DIR=${_rel_dir_part}
42           -DSOURCE=${_rel_doc}
43           -DCREATED=${_created_doc}
44           -P "${TOP_CMAKE_PATH}/doc/ReplaceValues.cmake"
45         DEPENDS "${TOP_SRC_DIR}/lib/doc/${_rel_doc}" "${TOP_CMAKE_PATH}/doc/ReplaceValues.py"
46         )
47     else()
48       # Copy only
49       add_custom_command(
50         OUTPUT "${_created_doc}"
51         COMMAND ${CMAKE_COMMAND}
52           -E copy_if_different "${TOP_SRC_DIR}/lib/doc/${_rel_doc}" "${_created_doc}"
53       )
54     endif()
55     install(FILES "${CMAKE_CURRENT_BINARY_DIR}/${_rel_doc}" DESTINATION "${LYX_DATA_SUBDIR}doc/${_rel_dir_part}")
56     LIST(APPEND _docs "${_created_doc}")
57   endif()
58 endforeach(_rel_doc)
59
60 # Special commands to create and install LFUNs.lyx
61 add_custom_command(
62   OUTPUT LFUNs.lyx
63   COMMAND ${LYX_PYTHON_EXECUTABLE} "${TOP_SRC_DIR}/development/tools/gen_lfuns.py" "${TOP_SRC_DIR}/src/LyXAction.cpp" > LFUNs.lyx
64   DEPENDS "${TOP_SRC_DIR}/development/tools/gen_lfuns.py" "${TOP_SRC_DIR}/src/LyXAction.cpp")
65 LIST(APPEND _docs "${CMAKE_CURRENT_BINARY_DIR}/LFUNs.lyx")
66 install(FILES "${CMAKE_CURRENT_BINARY_DIR}/LFUNs.lyx" DESTINATION "${LYX_DATA_SUBDIR}doc")
67
68 ADD_CUSTOM_TARGET(doc ALL DEPENDS ${_docs})
69
70 ADD_CUSTOM_TARGET(lfundoc DEPENDS LFUNs.lyx)
71
72 set_target_properties(doc lfundoc PROPERTIES FOLDER "doc")
73