This commit is contained in:
Andrei Astafev 2020-04-13 12:06:11 +03:00
parent bdda710617
commit e9970d2b2b

View File

@ -1,7 +1,8 @@
= Программный проект и иерархия каталогов
:title-separator: {sp}|
:category: Программирование
:tags: Linux, программирование, cmake
:tags: Linux, файлы, каталоги, программирование, cmake
:toc:
Для операционных систем типа Linux принят стандарт
https://ru.wikipedia.org/wiki/FHS[FHS] («стандарт иерархии файловой
@ -215,7 +216,7 @@ qDebug() << paths.systemConstDataDirectory().path();
Если исполняемый файл находится в каталоге `bin` и при этом окружение не совпадает
ни с одним из перечисленных выше, то делается предположение, что исполняемый файл
запускается из окружения, сформированного системой управления проектом, и в данный
момент разработчик ведёт отладку приложения. В этом случае целесообразно считать
момент идёт разработка (отладка) приложения. В этом случае целесообразно считать
системными каталогами те, которые находятся внутри иерархии каталогов программного
проекта. Если присутствуют каталоги, созданные системой управления проекта,
то принимается решение, что окружение сформировано правильно,
@ -235,3 +236,19 @@ qDebug() << paths.systemConstDataDirectory().path();
|===
==== Расположение в одном каталоге
Если в ходе перечисленных выше проверок не удалось найти правильно
сформированное окружение, то применяется настройка по умолчанию,
которая соответствует ситуации, когда все типы файлов расположены
в одном каталоге с исполняемым файлом. Пример для такого случая приведён в таблице.
[cols="4,4m,6m",options="header"]
|===
| Назначение файла / каталога | Метод | Значение
| Исполняемый файл | executableFilePath() | /home/user/work/project/application
| Файлы настройки | systemConfigDirectory() | /home/user/work/project
| Неизменяемые файлы | systemConstDataDirectory() | /home/user/work/project
| Изменяемые файлы | systemVarDataDirectory() | /home/user/work/project
| Журналы работы | systemLogDirectory() | /home/user/work/project
|===