with section('parse'): # Specify structure for custom cmake functions additional_commands = { 'draco_add_emscripten_executable': { 'kwargs': { 'NAME': '*', 'SOURCES': '*', 'OUTPUT_NAME': '*', 'DEFINES': '*', 'INCLUDES': '*', 'COMPILE_FLAGS': '*', 'LINK_FLAGS': '*', 'OBJLIB_DEPS': '*', 'LIB_DEPS': '*', 'GLUE_PATH': '*', 'PRE_LINK_JS_SOURCES': '*', 'POST_LINK_JS_SOURCES': '*', 'FEATURES': '*', }, 'pargs': 0, }, 'draco_add_executable': { 'kwargs': { 'NAME': '*', 'SOURCES': '*', 'OUTPUT_NAME': '*', 'TEST': 0, 'DEFINES': '*', 'INCLUDES': '*', 'COMPILE_FLAGS': '*', 'LINK_FLAGS': '*', 'OBJLIB_DEPS': '*', 'LIB_DEPS': '*', }, 'pargs': 0, }, 'draco_add_library': { 'kwargs': { 'NAME': '*', 'TYPE': '*', 'SOURCES': '*', 'TEST': 0, 'OUTPUT_NAME': '*', 'DEFINES': '*', 'INCLUDES': '*', 'COMPILE_FLAGS': '*', 'LINK_FLAGS': '*', 'OBJLIB_DEPS': '*', 'LIB_DEPS': '*', 'PUBLIC_INCLUDES': '*', }, 'pargs': 0, }, 'draco_generate_emscripten_glue': { 'kwargs': { 'INPUT_IDL': '*', 'OUTPUT_PATH': '*', }, 'pargs': 0, }, 'draco_get_required_emscripten_flags': { 'kwargs': { 'FLAG_LIST_VAR_COMPILER': '*', 'FLAG_LIST_VAR_LINKER': '*', }, 'pargs': 0, }, 'draco_option': { 'kwargs': { 'NAME': '*', 'HELPSTRING': '*', 'VALUE': '*', }, 'pargs': 0, }, # Rules for built in CMake commands and those from dependencies. 'list': { 'kwargs': { 'APPEND': '*', 'FILTER': '*', 'FIND': '*', 'GET': '*', 'INSERT': '*', 'JOIN': '*', 'LENGTH': '*', 'POP_BACK': '*', 'POP_FRONT': '*', 'PREPEND': '*', 'REMOVE_DUPLICATES': '*', 'REMOVE_ITEM': '*', 'REVERSE': '*', 'SORT': '*', 'SUBLIST': '*', 'TRANSFORM': '*', }, }, 'protobuf_generate': { 'kwargs': { 'IMPORT_DIRS': '*', 'LANGUAGE': '*', 'OUT_VAR': '*', 'PROTOC_OUT_DIR': '*', 'PROTOS': '*', }, }, } with section('format'): # Formatting options. # How wide to allow formatted cmake files line_width = 80 # How many spaces to tab for indent tab_size = 2 # If true, separate flow control names from their parentheses with a space separate_ctrl_name_with_space = False # If true, separate function names from parentheses with a space separate_fn_name_with_space = False # If a statement is wrapped to more than one line, than dangle the closing # parenthesis on its own line. dangle_parens = False # Do not sort argument lists. enable_sort = False # What style line endings to use in the output. line_ending = 'unix' # Format command names consistently as 'lower' or 'upper' case command_case = 'canonical' # Format keywords consistently as 'lower' or 'upper' case keyword_case = 'upper'