keepassxc

Форк
0
/
CLangFormat.cmake 
60 строк · 2.0 Кб
1
#  Copyright (C) 2017 KeePassXC Team <team@keepassxc.org>
2
#
3
#  This program is free software: you can redistribute it and/or modify
4
#  it under the terms of the GNU General Public License as published by
5
#  the Free Software Foundation, either version 2 or (at your option)
6
#  version 3 of the License.
7
#
8
#  This program is distributed in the hope that it will be useful,
9
#  but WITHOUT ANY WARRANTY; without even the implied warranty of
10
#  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
11
#  GNU General Public License for more details.
12
#
13
#  You should have received a copy of the GNU General Public License
14
#  along with this program.  If not, see <http://www.gnu.org/licenses/>.
15

16
set(EXCLUDED_DIRS
17
        # third-party directories
18
        src/thirdparty
19
        src/zxcvbn
20
        # objective-c directories
21
        src/quickunlock/touchid
22
        src/autotype/mac
23
        src/gui/osutils/macutils)
24

25
set(EXCLUDED_FILES
26
        # third-party files
27
        src/streams/qtiocompressor.\\*
28
        src/gui/KMessageWidget.\\*
29
        src/gui/MainWindowAdaptor.\\*
30
        src/gui/tag/TagsEdit.\\*
31
        tests/modeltest.\\*
32
        # objective-c files
33
        src/core/ScreenLockListenerMac.\\*)
34

35
set(FIND_EXCLUDE_DIR_EXPR "")
36
foreach(EXCLUDE ${EXCLUDED_DIRS})
37
    list(APPEND FIND_EXCLUDE_DIR_EXPR -o -path "${EXCLUDE}" -prune)
38
endforeach()
39

40
set(FIND_EXCLUDE_FILE_EXPR "")
41
foreach(EXCLUDE ${EXCLUDED_FILES})
42
    if(FIND_EXCLUDE_FILE_EXPR)
43
        list(APPEND FIND_EXCLUDE_FILE_EXPR -o)
44
    endif()
45
    list(APPEND FIND_EXCLUDE_FILE_EXPR -path "${EXCLUDE}")
46
endforeach()
47
if(FIND_EXCLUDE_FILE_EXPR)
48
    set(FIND_EXCLUDE_FILE_EXPR -a -not "\\(" ${FIND_EXCLUDE_FILE_EXPR} "\\)")
49
endif()
50

51
add_custom_target(format)
52

53
add_custom_command(
54
        TARGET format
55
        PRE_BUILD
56
        COMMAND find src tests "\\(" -name "\\*.h" -o -name "\\*.cpp" ${FIND_EXCLUDE_DIR_EXPR} "\\)"
57
            ${FIND_EXCLUDE_FILE_EXPR} -type f -print0 | xargs -0 -P0 -n10 clang-format -style=file -i
58

59
        COMMENT "Formatting source files..."
60
        WORKING_DIRECTORY ${CMAKE_SOURCE_DIR})
61

Использование cookies

Мы используем файлы cookie в соответствии с Политикой конфиденциальности и Политикой использования cookies.

Нажимая кнопку «Принимаю», Вы даете АО «СберТех» согласие на обработку Ваших персональных данных в целях совершенствования нашего веб-сайта и Сервиса GitVerse, а также повышения удобства их использования.

Запретить использование cookies Вы можете самостоятельно в настройках Вашего браузера.