X-Git-Url: https://git.rmz.io/dotfiles.git/blobdiff_plain/6246447e21982bbaada1cb75d4b1c47f3323282d..08d0d7795eec9923e8a4239bca3d84efaf2f15a1:/vim/ultisnips/cmake.snippets diff --git a/vim/ultisnips/cmake.snippets b/vim/ultisnips/cmake.snippets index b3e8861..e773a95 100644 --- a/vim/ultisnips/cmake.snippets +++ b/vim/ultisnips/cmake.snippets @@ -1,19 +1,23 @@ snippet cmake "CMakeFiles Stub" b -cmake_minimum_required(VERSION 3.5) +cmake_minimum_required(VERSION `cmake --version | grep -Po '\d+\.\d+'`) project(${1:ProjectName}) -# find_package(Boost REQUIRED) +set(CMAKE_CXX_STANDARD 17) +set(CMAKE_CXX_STANDARD_REQUIRED TRUE) +set(CMAKE_C_STANDARD 17) +set(CMAKE_C_STANDARD_REQUIRED TRUE) -add_executable(\${PROJECT_NAME} - ${1:main.cpp} +add_executable(${2:$1} + ${3:main.cpp} ) -set_target_properties(\${PROJECT_NAME} - PROPERTIES CXX_STANDARD 14 +target_link_libraries($2 ) +endsnippet -target_link_libraries(\${PROJECT_NAME} -) +snippet pprint "Pretty print variables" b +include(CMakePrintHelpers) +cmake_print_variables(${1:var1}) endsnippet snippet qt5 "Find Qt5 Modules" b @@ -48,8 +52,16 @@ add_subdirectory(${0:src}) endsnippet snippet lib -add_library(${1:lib} - ${${0:SRCS}} +add_library(${1:lib}) +add_library(\${PROJECT_NAME}::$1 ALIAS $1) +target_sources($1 PRIVATE + $2 +) +target_link_libraries($1 + PUBLIC + $3 + PRIVATE + $4 ) endsnippet @@ -61,6 +73,12 @@ endsnippet snippet bin add_executable(${1:bin}) +target_sources($1 PRIVATE + $2 +) +target_link_libraries($1 PRIVATE + $3 +) endsnippet snippet set @@ -90,3 +108,25 @@ set(CMAKE_DEBUG_TARGET_PROPERTIES POSITION_INDEPENDENT_CODE ) endsnippet + +snippet FPP "FPP Copyright" b +# Copyright © Focal Point Positioning Limited `!v strftime("%Y")`. All Rights Reserved. +# This code is the copyright of Focal Point Positioning Limited and +# cannot be used, copied or distributed without the express written +# permission of Focal Point Positioning Limited. +${0} +endsnippet + +snippet FetchContent_url "FetchContent" b +FetchContent_Declare(${1:name} + URL ${2:https://example.com/project.tar.gz} +) +FetchContent_MakeAvailable(${1/\w+/\L$0\E/}) +endsnippet + +snippet FetchContent_git "FetchContent" b +FetchContent_Declare(${1:name} + GIT_REPOSITORY ${2:https://github.com/${3:user/repo}} +) +FetchContent_MakeAvailable(${1/\w+/\L$0\E/}) +endsnippet