From bef1581105fd59aaa42c9ed99f58359709a64923 Mon Sep 17 00:00:00 2001 From: "Kenneth Benzie (Benie)" Date: Wed, 24 Feb 2016 00:55:54 +0000 Subject: [PATCH] Add more CMake snippets --- UltiSnips/cmake.snippets | 387 ++++++++++++++++++++++++++------------- 1 file changed, 256 insertions(+), 131 deletions(-) diff --git a/UltiSnips/cmake.snippets b/UltiSnips/cmake.snippets index 69658c2..484c844 100644 --- a/UltiSnips/cmake.snippets +++ b/UltiSnips/cmake.snippets @@ -9,11 +9,11 @@ def complete(t, opts): return '[' + '|'.join(opts) + ']' endglobal -snippet add_compile_options "add_compile_options" +snippet add_compile_options add_compile_options($1) endsnippet -snippet add_custom_command "add_custom_command OUTPUT" +snippet add_custom_command "output" add_custom_command(OUTPUT ${1:outputs} COMMAND ${2:command}${3: COMMAND ${4:command}}${5: @@ -23,8 +23,7 @@ add_custom_command(OUTPUT ${1:outputs} WORKING_DIRECTORY ${13:dir}}${14: COMMENT "${15:comment}"}${16: VERBATIM}${17: APPEND}) endsnippet - -snippet add_custom_command "add_custom_command TARGET" +snippet add_custom_command "target" add_custom_command(TARGET ${1:target} $2`!p snip.rv=complete(t[2], ['PRE_BUILD', 'PRE_LINK', 'POST_BUILD'])` COMMAND ${3:command}${4: COMMAND ${5:command}}${6: @@ -32,7 +31,7 @@ add_custom_command(TARGET ${1:target} $2`!p snip.rv=complete(t[2], ['PRE_BUILD', COMMENT "${9:comment}"}${10: VERBATIM}) endsnippet -snippet add_custom_target "add_custom_target" +snippet add_custom_target add_custom_target(${1:target} ${2:ALL} ${3:command}${4: COMMAND ${5:command}}${6: @@ -42,80 +41,77 @@ add_custom_target(${1:target} ${2:ALL} SOURCES ${14:sources}}) endsnippet -snippet add_definitions "add_definitions" +snippet add_definitions add_definitions(-D${1:MACRO}$2) endsnippet -snippet add_dependencies "add_dependencies" +snippet add_dependencies add_dependencies(${1:target} ${2:dependencies}) endsnippet -snippet add_executable "add_executable" +snippet add_executable add_executable(${1:target}${2: WIN32}${3: MACOSX_BUNDLE}${4: EXCLUDE_FROM_ALL} ${0:sources}) endsnippet -snippet add_library "add_library" +snippet add_library add_library(${1:target} $2`!p snip.rv=complete(t[2], ['STATIC', 'SHARED', 'MODULE'])`${4: EXCLUDE_FROM_ALL} ${0:sources}) endsnippet -snippet add_subdirectory "add_subdirectory" +snippet add_subdirectory add_subdirectory(${1:source_dir} ${2:binary_dir}${3: EXCLUDE_FROM_ALL}) endsnippet -snippet add_test "add_test" +snippet add_test add_test(NAME ${1:name} COMMAND ${2:command}${3: CONFIGURATIONS ${4:config}}${5: WORKING_DIRECTORY ${6:directory}}) endsnippet -snippet aux_source_directory "aux_source_directory" +snippet aux_source_directory aux_source_directory(${1:directory} ${2:variable}) endsnippet -snippet break "break" +snippet break break() endsnippet -snippet build_command "build_command" +snippet build_command build_command(${1:variable}${2: CONFIGURATION ${3:config}}${4: TARGET ${6:target}}) endsnippet -snippet cmake_host_system_information "cmake_host_system_information" +snippet cmake_host_system_information cmake_host_system_information(RESULT ${1:variable} QUERY $2`!p snip.rv=complete(t[2], ['NUMBER_OF_LOGICAL_CORES', 'NUMBER_OF_PHYSICAL_CORES', 'HOSTNAME', 'FQDN', 'TOTAL_VIRTUAL_MEMORY', 'AVAILABLE_VIRTUAL_MEMORY', 'TOTAL_PHYSICAL_MEMORY', 'AVAILABLE_PHYSICAL_MEMORY'])`) endsnippet -snippet cmake_minimum_required "cmake_minimum_required" -cmake_minimum_required(VERSION $1${2: FATAL_ERROR}) +snippet cmake_minimum_required +cmake_minimum_required(VERSION ${1:version}${2: FATAL_ERROR}) endsnippet -snippet cmake_policy "cmake_policy VERSION" +snippet cmake_policy "version" cmake_policy(VERSION ${1:version}) endsnippet - -snippet cmake_policy "cmake_policy SET" +snippet cmake_policy "set" cmake_policy(SET CMP${1:0000} $2`!p snip.rv=complete(t[2], ['OLD', 'NEW'])`) endsnippet - -snippet cmake_policy "cmake_policy GET" +snippet cmake_policy "get" cmake_policy(GET CMP${1:0000} ${2:variable}) endsnippet - -snippet cmake_policy "cmake_policy PUSH/POP" +snippet cmake_policy "push/pop" cmake_policy($1`!p snip.rv=complete(t[1], ['PUSH', 'POP'])`) endsnippet -snippet configure_file "configure_file" +snippet configure_file configure_file(${1:input} ${2:output}${3: COPYONLY}${4: ESCAPE_QUOTES}${5: @ONLY}${6: NEWLINE_STYLE $7`!p snip.rv=complete(t[7], ['UNIX','DOS','WIN32','LF','CRLF'])`}) endsnippet -snippet create_test_sourcelist "create_test_sourcelist" +snippet create_test_sourcelist create_test_sourcelist( ${1:sourceListName} ${2:driverName} @@ -124,27 +120,27 @@ create_test_sourcelist( FUNCTION ${5:function}) endsnippet -snippet define_property "define_property" +snippet define_property define_property($1`!p snip.rv=complete(t[1], ['GLOBAL','DIRECTORY','TARGET','SOURCE','TEST','VARIABLE','CACHED_VARIABLE'])` PROPERTY ${2:name}${3: INHERITED} BRIEF_DOCS ${4:brief-docs} FULL_DOCS ${5:full-docs}) endsnippet -snippet elseif "elseif" +snippet elseif elseif(${1:condition}) $0 endsnippet -snippet enable_language "enable_language" +snippet enable_language enable_language($1`!p snip.rv=complete(t[1], ['C', 'CXX', 'FORTRAN'])`${2: OPTIONAL}) endsnippet -snippet enable_testing "enable_testing" +snippet enable_testing enable_testing() endsnippet -snippet execute_process "execute_process" +snippet execute_process execute_process( COMMAND ${1:commands}${2: WORKING_DIRECTORY ${3:directory}}${4: @@ -161,57 +157,130 @@ execute_process( ERROR_STRIP_TRAILING_WHITESPACE}) endsnippet -snippet export "export" +snippet export export(EXPORT ${1:export-name}${2: NAMESPACE ${3:namespace}}${4: FILE ${5:filename}}) endsnippet -snippet file "file WRITE" +snippet file "write" file(WRITE ${1:filename} "${2:message to write}") endsnippet - -snippet file "file APPEND" +snippet file "append" file(APPEND ${1:filename} "${2:message to write}") endsnippet - -snippet file "file READ" +snippet file "read" file(READ ${1:filename} ${2:variable}${3: LIMIT ${4:numBytes}}${5: OFFSET ${6:offset}}${7: HEX}) endsnippet - -snippet file "file HASH" +snippet file "hash" file($1`!p snip.rv=complete(t[1], ['MD5','SHA1','SHA224','SHA256','SHA384','SHA512'])` ${2:filename} ${3:variable}) endsnippet +snippet file "strings" +file(STRINGS ${1:filename} ${2:variable}${3: LIMIT_COUNT ${4:number}}${5: + ${6:LIMIT_INPUT ${7:numBytes}}${8: LIMIT_OUTPUT ${9:numBytes}}}${10: + ${11:LENGTH_MINIMUM ${12:numBytes}}${13: LENGTH_MAXIMUM ${14:numBytes}}}${15: + NEWLINE_CONSUME}${16: + REGEX "${17:regex}"}${18: + NO_HEX_CONVERSION}) +endsnippet +snippet file "glob" +file(GLOB ${1:variable}${2: RELATIVE ${3:path}}${4: ${5:globbing expressions}}) +endsnippet +snippet file "glob recursive" +le(GLOB_RECURSE ${1:variable}${2: RELATIVE ${3:path}}${4: + FOLLOW_SYMLINKS}${5: ${6:globbing expressions}}) +endsnippet +snippet file "rename" +file(RENAME ${1:oldname} ${2:newname}) +endsnippet +snippet REMOVE "remove" +file(REMOVE ${1:files}) +endsnippet +snippet file "remove recursive" +file(REMOVE_RECURSE ${1:files}) +endsnippet +snippet file "make directory" +file(MAKE_DIRECTORY ${1:directories}) +endsnippet +snippet file "relative path" +file(RELATIVE_PATH ${1:variable} ${2:directory} ${3:file}) +endsnippet +snippet file "to cmake path" +file(TO_CMAKE_PATH ${1:path} ${2:result}) +endsnippet +snippet file "to native path" +file(TO_NATIVE_PATH ${1:path} ${2:result}) +endsnippet +snippet file "download" +file(DOWNLOAD ${1:url} ${2:file}${3: + INACTIVITY_TIMEOUT ${4:timeout}}${5: + TIMEOUT ${6:timeout}}${7: + STATUS ${8:status}}${9: + LOG ${10:log}}${11: + SHOW_PROGRESS}${12: + EXPECTED_HASH ALGO=${13:value}}${14: + EXPECTED_MD5 ${15:sum}}${16: + TLS_VERIFY $17`!p snip.rv=complete(t[17], ['on', 'off'])`}${18: + TLS_CAINFO ${19:file}}) +endsnippet +snippet file "upload" +file(UPLOAD ${1:filename} ${2:url}${3: + INACTIVITY_TIMEOUT ${4:timeout}}${5: + TIMEOUT ${6:timeout}}${7: + STATUS ${8:status}}${9: + LOG ${10:log}}${11: + SHOW_PROGRESS}) +endsnippet +snippet file "timestamp" +file(TIMESTAMP ${1:filename} ${2:variable}${3: ${4:format string}}${5: ${6:UTC}}) +endsnippet +snippet file "generate output" +file(GENERATE OUTPUT ${1:output_file} + $2`!p snip.rv=complete(t[2], ['INPUT', 'CONTENT'])` ${3:input}${4: + CONDITION ${5:expression}}) +endsnippet -# file(STRINGS filename variable [LIMIT_COUNT num] -# [LIMIT_INPUT numBytes] [LIMIT_OUTPUT numBytes] -# [LENGTH_MINIMUM numBytes] [LENGTH_MAXIMUM numBytes] -# [NEWLINE_CONSUME] [REGEX regex] -# [NO_HEX_CONVERSION]) -# file(GLOB variable [RELATIVE path] [globbing expressions]...) -# file(GLOB_RECURSE variable [RELATIVE path] -# [FOLLOW_SYMLINKS] [globbing expressions]...) -# file(RENAME ) -# file(REMOVE [file1 ...]) -# file(REMOVE_RECURSE [file1 ...]) -# file(MAKE_DIRECTORY [directory1 directory2 ...]) -# file(RELATIVE_PATH variable directory file) -# file(TO_CMAKE_PATH path result) -# file(TO_NATIVE_PATH path result) -# file(DOWNLOAD url file [INACTIVITY_TIMEOUT timeout] -# [TIMEOUT timeout] [STATUS status] [LOG log] [SHOW_PROGRESS] -# [EXPECTED_HASH ALGO=value] [EXPECTED_MD5 sum] -# [TLS_VERIFY on|off] [TLS_CAINFO file]) -# file(UPLOAD filename url [INACTIVITY_TIMEOUT timeout] -# [TIMEOUT timeout] [STATUS status] [LOG log] [SHOW_PROGRESS]) -# file(TIMESTAMP filename variable [] [UTC]) -# file(GENERATE OUTPUT output_file -# -# [CONDITION expression]) +snippet find_file "shorthand" +find_file(${1:variable} ${2:paths}) +endsnippet +snippet find_file "general" +find_file(${1:variable} + NAMES ${2:names}${3: + HINTS ${4:paths}${5: ENV ${6:variable}}}${7: + PATHS ${8:paths}${9: ENV ${10:variable}}}${11: + PATH_SUFFIXES ${12:suffixes}}${13: + DOC "${14:doc string}"}${15:${16: + NO_DEFAULT_PATH}${17: + NO_CMAKE_ENVIRONMENT_PATH}${18: + NO_CMAKE_PATH}${19: + NO_SYSTEM_ENVIRONMENT_PATH}${20: + NO_CMAKE_SYSTEM_PATH}${21: + $22`!p snip.rv=complete(t[22], ['CMAKE_FIND_ROOT_PATH_BOTH', 'ONLY_CMAKE_FIND_ROOT_PATH', 'NO_CMAKE_FIND_ROOT_PATH'])`}}) +endsnippet -# TODO: find_file() -# TODO: find_package() -# TODO: find_path() +# TODO: find_package -snippet find_program "find_program" +snippet find_path "shorthand" +find_path(${1:variable} ${1:names}) +endsnippet + +snippet find_path "general" +find_path(${1:variable} + NAMES ${2:names}${3: + HINTS ${4:paths}${5: ENV ${6:variable}}}${7: + PATHS ${8:paths}${9: ENV ${10:variable}}}${11: + PATH_SUFFIXES ${12:suffixes}}${13: + DOC "${14:doc string}"}${15:${16: + NO_DEFAULT_PATH}${17: + NO_CMAKE_ENVIRONMENT_PATH}${18: + NO_CMAKE_PATH}${19: + NO_SYSTEM_ENVIRONMENT_PATH}${20: + NO_CMAKE_SYSTEM_PATH}${21: + $22`!p snip.rv=complete(t[22], ['CMAKE_FIND_ROOT_PATH_BOTH', 'ONLY_CMAKE_FIND_ROOT_PATH', 'NO_CMAKE_FIND_ROOT_PATH'])`}}) +endsnippet + +snippet find_program "shorthand" +find_program(${1:variable} ${2:name}${3: ${4:paths}}) +endsnippet +snippet find_program "general" find_program(${1:variable} NAMES ${2:names}${3: HINTS ${4:paths}${5: ENV ${6:variable}}}${7: @@ -226,16 +295,18 @@ find_program(${1:variable} $22`!p snip.rv=complete(t[22], ['CMAKE_FIND_ROOT_PATH_BOTH', 'ONLY_CMAKE_FIND_ROOT_PATH', 'NO_CMAKE_FIND_ROOT_PATH'])`}}) endsnippet -# TODO: fltk_wrap_ui() +snippet fltk_wrap_ui +fltk_wrap_ui(${1:resulting_library_name} ${2:sources}) +endsnippet -snippet foreach "foreach" +snippet foreach foreach(${1:item} \$\{${2:list}\}) $0 endforeach() endsnippet -snippet function "function" -function(${1:name} ${2:...}) +snippet function +function(${1:name} ${2:arguments}) $0 endfunction() endsnippet @@ -248,103 +319,157 @@ endsnippet # TODO: get_target_property() # TODO: get_test_property() -snippet if "if" +snippet if if(${1:condition}) $0 endif() endsnippet -snippet include_directories "include_directories" -include_directories($1) +snippet include_directories +include_directories(${1:SYSTEM }$3) endsnippet -# TODO: include_external_msproject() -# TODO: include_regular_expression() -# TODO: include() -# TODO: install() -# TODO: link_directories() -# TODO: list() -# TODO: load_cache() -# TODO: load_command() -# TODO: macro() -# TODO: mark_as_advanced() -# TODO: math() +snippet include_external_msproject "include_external_msproject" +include_external_msproject(${1:projectname} ${2:location}${3: + TYPE ${4:projectTypeGUID}}${5: + GUID ${6:projectGUID}}${7: + PLATFORM ${8:platformName}} + ${9:dependencies}) +endsnippet -snippet message "message" +snippet include_regular_expression "include_regular_expression" +include_regular_expression(${1:regex_match}${2: ${3:regex_complain}}) +endsnippet + +snippet include +include(${1:file|module}${2: ${3:OPTIONAL}}${4: ${5:RESULT_VARIABLE} ${6:variable}}${7: NO_POLICY_SCOPE}) +endsnippet + +# TODO: install() + +snippet link_directories +link_directories(${1:directories}) +endsnippet + +snippet list +list(APPEND ${1:list} ${2:elements}) +endsnippet + +snippet load_cache "prefix" +load_cache(${1:path_to_cache_file} READ_WITH_PREFIX ${2:prefix} ${3:entries}) +endsnippet +snippet load_cache "internal" +load_cache(${1:path_to_cache_file}${2: EXCLUDE ${3:entries}}${4: + INCLUDE_INTERNALS ${5:entries}}) +endsnippet + +snippet load_command +load_command(COMMAND_NAME ${1:locations}) +endsnippet + +snippet macro +macro(${1:name} ${2:arguments}) + $0 +endmacro() +endsnippet + +snippet mark_as_advanced +mark_as_advanced($1`!p snip.rv=complete(t[1], ['CLEAR', 'FORCE'])` ${2:variables}) +endsnippet + +snippet math +math(EXPR ${1:output} ${2:expression}) +endsnippet + +snippet message message($1`!p snip.rv=complete(t[1], ['STATUS', 'WARNING', 'AUTHOR_WARNING', 'SEND_ERROR', 'FATAL_ERROR', 'DEPRECATION'])` "$2") endsnippet -snippet option "option" +snippet option option(${1:option} "${2:description}." $3`!p snip.rv=complete(t[3], ['ON', 'OFF'])`) endsnippet -snippet project "project" +snippet project project(${1:name}${2: VERSION ${4:version}}${5: LANGUAGES ${6:languages}}) endsnippet -# TODO: qt_wrap_cpp() -# TODO: qt_wrap_ui() -# TODO: remove_definitions() +snippet qt_wrap_cpp +qt_wrap_cpp(${1:resulting_library_name} ${2:destination_name} + ${3:source_lists}) +endsnippet -snippet return "return" +snippet qt_wrap_ui +qt_wrap_ui(${1:resulting_library_name} ${2:header_destination_name} + ${3:sources_destination_name} ${4:source_lists}) +endsnippet + +snippet remove_definitions +remove_definitions(${1:definitions}) +endsnippet + +snippet return return() endsnippet -snippet separate_arguments "separate_arguments" +snippet separate_arguments separate_arguments(${1:variable} $2`!p snip.rv=complete(t[2], ['UNIX_COMMAND', 'WINDOWS_COMMAND'])` "${3:arguments}") endsnippet -snippet set_directory_properties "set_directory_properties" +snippet set_directory_properties set_directory_properties(PROPERTIES ${1:property} ${2:value}) endsnippet -snippet set_property "set_property" -set_property($1`!p -scopes=['GLOBAL', 'DIRECTORY', 'TARGET', 'SOURCE', 'TEST', 'CACHE'] -snip.rv=complete(t[1], scopes)`${2/(.*)/(?1: :)/}${2:`!p -if 0 == len(t[1]): - snip.rv='' -elif 'DIRECTORY'.startswith(t[1]): - snip.rv='directory' -elif 2 <= len(t[1]) and 'TARGET'.startswith(t[1]): - snip.rv='targets' -elif 'SOURCE'.startswith(t[1]): - snip.rv='sources' -elif 2 <= len(t[1]) and 'TEST'.startswith(t[1]): - snip.rv='tests' -elif 'CACHE'.startswith(t[1]): - snip.rv='entries' -else: - snip.rv=''`}${3: - APPEND}${4: - APPEND_STRING} +snippet set_property "global" +set_property(GLOBAL${1: ${2:APPEND}}${3: ${4:APPEND_STRING}} PROPERTY ${5:name}${6: ${7:values}}) endsnippet -snippet set "set" +snippet set_property "directory" +set_property(DIRECTORY ${1:directory}${2: ${3:APPEND}}${4: ${5:APPEND_STRING}} + PROPERTY ${6:name}${7: ${8:values}}) +endsnippet +snippet set_property "target" +set_property(TARGET ${1:targets}${2: ${3:APPEND}}${4: ${5:APPEND_STRING}} + PROPERTY ${6:name}${7: ${8:values}}) +endsnippet +snippet set_property "source" +set_property(SOURCE ${1:sources}${2: ${3:APPEND}}${4: ${5:APPEND_STRING}} + PROPERTY ${6:name}${7: ${8:values}}) +endsnippet +snippet set_property "test" +set_property(TEST ${1:tests}${2: ${3:APPEND}}${4: ${5:APPEND_STRING}} + PROPERTY ${6:name}${7: ${8:values}}) +endsnippet +snippet set_property "cache" +set_property(CACHE ${1:entries}${2: ${3:APPEND}}${4: ${5:APPEND_STRING}} + PROPERTY ${6:name}${7: ${8:values}}) +endsnippet + +# TODO Add support for CACHE|PARENT_SCOPE options. +snippet set set(${1:variable} ${2:value}) endsnippet -snippet set_source_files_properties "set_source_files_properties" +snippet set_source_files_properties set_source_files_properties(${1:files} PROPERTIES ${property} ${value}) endsnippet -snippet set_target_properties "set_target_properties" +snippet set_target_properties set_target_properties(${1:targets} PROPERTIES ${2:property} ${3:value}) endsnippet -snippet set_tests_properties "set_tests_properties" +snippet set_tests_properties set_tests_properties(${1:tests} PROPERTIES ${2:property} ${3:value}) endsnippet -snippet site_name "site_name" +snippet site_name site_name(${1:variable}) endsnippet -snippet source_group "source_group" +snippet source_group source_group(${1:name}${2: FILES ${3:sources}}${4: REGULAR_EXPRESSION "${5:regex}"}) @@ -381,33 +506,33 @@ endsnippet #string(TIMESTAMP [] [UTC]) #string(MAKE_C_IDENTIFIER ) -snippet target_compile_definitions "target_compile_options" +snippet target_compile_definitions target_compile_definitions(${1:target} $2`!p snip.rv=complete(t[2], ['INTERFACE', 'PUBLIC', 'PRIVATE'])` ${4:definitions}) endsnippet -snippet target_compile_options "target_compile_options" +snippet target_compile_options target_compile_options(${1:target}${2: BEFORE} $3`!p snip.rv=complete(t[3], ['INTERFACE', 'PUBLIC', 'PRIVATE'])` ${4:options}) endsnippet -snippet target_include_directories "target_include_directories" +snippet target_include_directories target_include_directories(${1:target}${2: SYSTEM}${3: BEFORE} $4`!p snip.rv=complete(t[4], ['INTERFACE', 'PUBLIC', 'PRIVATE'])` ${5:includes}) endsnippet -snippet target_link_libraries "target_link_libraries" +snippet target_link_libraries target_link_libraries(${1:target} $2`!p snip.rv=complete(t[2], ['PRIVATE', 'PUBLIC', 'INTERFACE'])` ${3:libraries}) endsnippet -snippet try_compile "try_compile CMAKE" +snippet try_compile "cmake" try_compile(${1:result} ${2:binary_dir} ${3:source_dir} ${4:project_name}${5: ${6:target_name}}${7: CMAKE_FLAGS ${8:flags}}${9: OUTPUT_VARIABLE ${10:variable}}) endsnippet -snippet try_compile "try_compile RAW" +snippet try_compile "raw" try_compile(${1:result} ${2:binary_dir}${3: SOURCES} ${4:source_files}${5: CMAKE_FLAGS ${6:flags}}${7: COMPILE_DEFINITIONS ${8:flags}}${9: @@ -416,7 +541,7 @@ try_compile(${1:result} ${2:binary_dir}${3: SOURCES} ${4:source_files}${5: COPY_FILE ${14:file_name} COPY_FILE_ERROR ${15:copy_result}}) endsnippet -snippet try_run "try_run" +snippet try_run try_run(${1:run_result} ${2:compile_result} ${3:binary_dir} ${4:source_file}${5: CMAKE_FLAGS ${6:flags}}${7: COMPILE_DEFINITIONS ${8:flags}}${9: @@ -426,15 +551,15 @@ try_run(${1:run_result} ${2:compile_result} ARGS ${16:arguments}}) endsnippet -snippet unset "unset" +snippet unset unset(${1:variable}${2: $3`!p snip.rv=complete(t[3], ['CACHE', 'PARENT_SCOPE'])`}) endsnippet -snippet variable_watch "variable_watch" +snippet variable_watch variable_watch(${1:variable}${2: ${3:command}}) endsnippet -snippet while "while" +snippet while while(${1:condition}) $0 endwhile()