snippet init
	cmake_minimum_required(VERSION ${1:2.8.2})
	project(${2:ProjectName})

	find_package(${3:library})

	include_directories(${$3_INCLUDE_DIRS})

	add_subdirectory(${0:src})

	add_executable($2)

	target_link_libraries($2 ${$3_LIBRARIES})

snippet proj
	project(${0:Name})

snippet min
	cmake_minimum_required(VERSION ${0:2.8.2})

snippet include
	include_directories(${${0:include_dir}})

snippet find
	find_package(${1:library} ${0:REQUIRED})

snippet glob
	file(glob ${1:srcs} *.${0:cpp})

snippet subdir
	add_subdirectory(${0:src})

snippet lib
	add_library(${1:lib} ${${0:srcs}})

snippet link
	target_link_libraries(${1:bin} ${0:somelib})

snippet bin
	add_executable(${1:bin})

snippet set
	set(${1:var} ${0:val})

snippet dep
	add_dependencies(${1:target}
		${0:dep}
	)

snippet Ext_url
	include(ExternalProject)
	ExternalProject_Add(${1:googletest}
	  URL ${2:http://googletest.googlecode.com/files/gtest-1.7.0.zip}
	  URL_HASH SHA1=${3:f85f6d2481e2c6c4a18539e391aa4ea8ab0394af}
	  SOURCE_DIR "${4:${CMAKE_BINARY_DIR}/gtest-src}"
	  BINARY_DIR "${0:${CMAKE_BINARY_DIR}/gtest-build}"
	  CONFIGURE_COMMAND ""
	  BUILD_COMMAND     ""
	  INSTALL_COMMAND   ""
	  TEST_COMMAND      ""
	)

snippet Ext_git
	include(ExternalProject)
	ExternalProject_Add(${1:googletest}
	  GIT_REPOSITORY    ${2:https://github.com/google/googletest.git}
	  GIT_TAG           ${3:master}
	  SOURCE_DIR        "${4:${CMAKE_BINARY_DIR}/googletest-src}"
	  BINARY_DIR        "${0:${CMAKE_BINARY_DIR}/googletest-build}"
	  CONFIGURE_COMMAND ""
	  BUILD_COMMAND     ""
	  INSTALL_COMMAND   ""
	  TEST_COMMAND      ""
	)

snippet props
	set_target_properties(${1:target}
		${2:properties} ${3:compile_flags}
		${0:"-O3 -Wall -pedantic"}
	)

snippet test
	add_test(${1:ATestName} ${0:testCommand --options})
