-lyx_install(${TOP_SRC_DIR}/lib bind bind . de fi pt sv)
-lyx_install(${TOP_SRC_DIR}/lib commands def .)
-lyx_install(${TOP_SRC_DIR}/lib doc lyx . ca cs da de es eu fr gl he hu it ja nl nb pl pt ro ru sk sl sv uk)
-lyx_install(${TOP_SRC_DIR}/lib doc * clipart)
-lyx_install(${TOP_SRC_DIR}/lib doc/de * clipart)
-lyx_install(${TOP_SRC_DIR}/lib doc/es * clipart)
-lyx_install(${TOP_SRC_DIR}/lib doc/fr * clipart)
-lyx_install(${TOP_SRC_DIR}/lib doc/it * clipart)
-lyx_install(${TOP_SRC_DIR}/lib doc/ja * clipart)
-lyx_install(${TOP_SRC_DIR}/lib doc/uk * clipart)
-lyx_install(${TOP_SRC_DIR}/lib examples * . ca cs da de es eu fr gl he hu it ja nl nb pl pt ro ru sk sl sv uk)
-lyx_install(${TOP_SRC_DIR}/lib fonts * .)
-lyx_install(${TOP_SRC_DIR}/lib images * . math commands attic)
-lyx_install(${TOP_SRC_DIR}/lib kbd * .)
-lyx_install(${TOP_SRC_DIR}/lib layouts * .)
-lyx_install(${TOP_SRC_DIR}/lib lyx2lyx * .)
-lyx_install(${TOP_SRC_DIR}/lib scripts * .)
-lyx_install(${TOP_SRC_DIR}/lib templates * .)
-lyx_install(${TOP_SRC_DIR}/lib tex * .)
-lyx_install(${TOP_SRC_DIR}/lib ui * .)
-lyx_install(${TOP_SRC_DIR}/lib . * .)
-
-# TODO also get dot-less filenames in lyx_install
-install(FILES ${TOP_SRC_DIR}/lib/lyx2lyx/lyx2lyx DESTINATION lyx2lyx)
-foreach(_file unicodesymbols encodings languages)
- install(FILES ${TOP_SRC_DIR}/lib/${_file} DESTINATION .)
-endforeach(_file)
-
-# TODO
-# DESTINATION/lyx2lyx
-# is mode 644 but it should be 755
+# language-specific-directories (like ca, de, es ...) are now globbed as "[a-z][a-z]"
+set(_all_languages "[a-z][a-z]" "[a-z][a-z]_[A-Z][A-Z]")
+
+lyx_install("data" ${TOP_SRC_DIR}/lib bind *.bind . ${_all_languages})
+lyx_install("data" ${TOP_SRC_DIR}/lib commands *.def .)
+
+# this is handled in doc/CMakeLists.txt
+#lyx_install("data" ${TOP_SRC_DIR}/lib doc *.lyx . ${_all_languages})
+#lyx_install("data" ${TOP_SRC_DIR}/lib doc *.txt . ${_all_languages})
+lyx_install("data" ${TOP_SRC_DIR}/lib doc * biblio clipart)
+
+foreach(_lang ${_all_languages})
+ lyx_install("data" ${TOP_SRC_DIR}/lib doc/${_lang} * clipart)
+endforeach()
+
+foreach(_sd "examples" "templates")
+ lyx_install("data" ${TOP_SRC_DIR}/lib ${_sd} * . *)
+ lyx_install("data" ${TOP_SRC_DIR}/lib ${_sd}/* * . *)
+endforeach()
+
+foreach(_sd "kbd" "layouts" "ui" ".")
+ lyx_install("data" ${TOP_SRC_DIR}/lib ${_sd} * . )
+endforeach()
+
+foreach(_sd "lyx2lyx" "scripts" ".")
+ lyx_install("data" ${TOP_SRC_DIR}/lib ${_sd} *.py . )
+endforeach()
+foreach(_script listerrors)
+ lyx_install("data" ${TOP_SRC_DIR}/lib scripts ${_script} . )
+endforeach()
+
+
+foreach(_imgext "png" "svgz" "gif" "xpm")
+ lyx_install("data" ${TOP_SRC_DIR}/lib images "*.${_imgext}" . bullets ipa classic oxygen)
+ lyx_install("data" ${TOP_SRC_DIR}/lib images/math "*.${_imgext}" . oxygen)
+endforeach()
+lyx_install("data" ${TOP_SRC_DIR}/lib citeengines *.citeengine .)
+lyx_install("data" ${TOP_SRC_DIR}/lib scripts *.R .)
+lyx_install("data" ${TOP_SRC_DIR}/lib scripts saxon*.* .)
+lyx_install("data" ${TOP_SRC_DIR}/lib docbook * . epub3 xhtml5 xhtml lib common)
+lyx_install("data" ${TOP_SRC_DIR}/lib xtemplates *.xtemplate .)
+lyx_install("data" ${TOP_SRC_DIR}/3rdparty scripts/evince_sync * .)
+lyx_install("font" ${TOP_SRC_DIR}/lib/fonts . * .)
+lyx_install("tex" ${TOP_SRC_DIR}/lib/tex . * .)
+
+# Install
+set(lyxrcorig "")
+set(program_suffix ${PROGRAM_SUFFIX})
+set(version_suffix ${LYX_VERSION})
+
+if(APPLE)
+ if(LYX_BUNDLE)
+ install(FILES ${TOP_SRC_DIR}/development/MacOSX/spotlight/Info.plist DESTINATION "${MACOSX_BUNDLE_STARTUP_COMMAND}/Contents/Library/Spotlight/LyX-Metadata.mdimporter/Contents")
+ install(FILES "${TOP_SRC_DIR}/development/MacOSX/PkgInfo" DESTINATION "${MACOSX_BUNDLE_STARTUP_COMMAND}/Contents")
+ endif()
+
+ foreach(_i lyxeditor maxima inkscape lilypond lilypond-book)
+ install(PROGRAMS "${TOP_SRC_DIR}/development/MacOSX/${_i}" DESTINATION "${LYX_UTILITIES_INSTALL_PATH}")
+ endforeach()
+ install(FILES "${TOP_SRC_DIR}/development/MacOSX/LyX.icns" DESTINATION "${LYX_DATA_SUBDIR}")
+ set(lyxrcorig "${TOP_SRC_DIR}/development/MacOSX/lyxrc.dist.in")
+elseif(UNIX)
+ configure_file(${TOP_SRC_DIR}/lib/lyx.desktop.in lyx${PROGRAM_SUFFIX}.desktop)
+ install(FILES ${CMAKE_CURRENT_BINARY_DIR}/lyx${PROGRAM_SUFFIX}.desktop DESTINATION ${SYSTEM_DATADIR}/applications)
+ install(FILES ${TOP_SRC_DIR}/lib/images/lyx.svg RENAME lyx${PROGRAM_SUFFIX}.svg DESTINATION ${SYSTEM_DATADIR}/icons/hicolor/scalable/apps/)
+ set(lyxrcorig "${TOP_SRC_DIR}/development/unix/lyxrc.dist.in")
+elseif(CYGWIN)
+ set(lyxrcorig "${TOP_SRC_DIR}/development/cygwin/lyxrc.dist.in")
+elseif(WIN32)
+ set(lyxrcorig "${TOP_SRC_DIR}/development/Win32/lyxrc.dist.in")
+endif()
+foreach(_file lyx.svg icon.aliases)
+ install(FILES ${TOP_SRC_DIR}/lib/images/${_file} DESTINATION ${LYX_DATA_SUBDIR}/images/)
+endforeach()
+
+if(NOT lyxrcorig STREQUAL "")
+ configure_file("${lyxrcorig}" lyxrc.dist)
+ lyx_install("data" ${CMAKE_CURRENT_BINARY_DIR} . lyxrc.dist .)
+endif()