config BR2_PACKAGE_CMAKE_ARCH_SUPPORTS
	bool
	default y
	depends on BR2_arm    || BR2_armeb       || BR2_aarch64  || \
		BR2_m68k      || BR2_mips        || BR2_mips64   || \
		BR2_mipsel    || BR2_mips64el    || BR2_powerpc  || \
		BR2_powerpc64 || BR2_powerpc64le || BR2_sparc    || \
		BR2_i386      || BR2_x86_64      || BR2_xtensa

config BR2_PACKAGE_CMAKE
	bool

config BR2_PACKAGE_CMAKE_CTEST
	bool "ctest"
	depends on BR2_PACKAGE_CMAKE_ARCH_SUPPORTS
	depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_7 # from jsoncpp
	depends on BR2_USE_WCHAR # libarchive
	depends on BR2_INSTALL_LIBSTDCPP
	depends on !BR2_STATIC_LIBS
	depends on BR2_TOOLCHAIN_HAS_THREADS_NPTL # libuv
	depends on BR2_USE_MMU # libuv
	depends on BR2_TOOLCHAIN_HAS_SYNC_4 # libuv
	select BR2_PACKAGE_CMAKE
	select BR2_PACKAGE_ZLIB
	select BR2_PACKAGE_JSONCPP
	select BR2_PACKAGE_LIBCURL
	select BR2_PACKAGE_LIBARCHIVE
	select BR2_PACKAGE_EXPAT
	select BR2_PACKAGE_BZIP2
	select BR2_PACKAGE_XZ
	select BR2_PACKAGE_LIBUV
	help
	  CTest is a testing tool distributed as a part of CMake. It
	  can be used to automate updating (using CVS for example),
	  configuring, building, testing, performing memory checking,
	  performing coverage, and submitting results to a CDash or
	  Dart dashboard system.

	  http://www.cmake.org/

comment "ctest needs a toolchain w/ C++, wchar, dynamic library, gcc >= 4.7, NPTL"
	depends on BR2_PACKAGE_CMAKE_ARCH_SUPPORTS
	depends on BR2_USE_MMU
	depends on BR2_TOOLCHAIN_HAS_SYNC_4
	depends on !BR2_INSTALL_LIBSTDCPP || !BR2_USE_WCHAR || \
		BR2_STATIC_LIBS || !BR2_TOOLCHAIN_GCC_AT_LEAST_4_7 || \
		!BR2_TOOLCHAIN_HAS_THREADS_NPTL
