Add more CMake snippets

This commit is contained in:
Kenneth Benzie 2016-02-24 00:55:54 +00:00
parent 371432423e
commit bef1581105

View File

@ -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 <oldname> <newname>)
# 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 [<format string>] [UTC])
# file(GENERATE OUTPUT output_file
# <INPUT input_file|CONTENT input_content>
# [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 <output variable> [<format string>] [UTC])
#string(MAKE_C_IDENTIFIER <input string> <output variable>)
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()