X-Git-Url: https://git.rmz.io/dotfiles.git/blobdiff_plain/7069fb50f04a8df46fdab42732e82e9e2c4389a2..08d0d7795eec9923e8a4239bca3d84efaf2f15a1:/vim/ultisnips/cmake.snippets diff --git a/vim/ultisnips/cmake.snippets b/vim/ultisnips/cmake.snippets index 1983d60..e773a95 100644 --- a/vim/ultisnips/cmake.snippets +++ b/vim/ultisnips/cmake.snippets @@ -1,19 +1,16 @@ snippet cmake "CMakeFiles Stub" b -cmake_minimum_required(VERSION 3.12) +cmake_minimum_required(VERSION `cmake --version | grep -Po '\d+\.\d+'`) project(${1:ProjectName}) -set(CMAKE_EXPORT_COMPILE_COMMANDS ON) - -# 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(${2:$1} ${3:main.cpp} ) -set_target_properties($2 - PROPERTIES CXX_STANDARD 14 -) - target_link_libraries($2 ) endsnippet @@ -55,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 @@ -68,6 +73,12 @@ endsnippet snippet bin add_executable(${1:bin}) +target_sources($1 PRIVATE + $2 +) +target_link_libraries($1 PRIVATE + $3 +) endsnippet snippet set @@ -97,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