cmake_minimum_required ( VERSION 3.20 )

add_library ( manticore_std OBJECT
		accessor.h
		accessor_impl.h
		at_scope_exit.h
		attrstub.h
		autoevent.h
		base64.h
		binarysearch.h
		binarysearch_impl.h
		bitcount.h
		bitcount_impl.h
		bitvec.h
		bitvec_impl.h
		blobs.h
		blobs_impl.h
		buffer.h
		buffer_impl.h
		checks.h
		circular_buffer.h
		circular_buffer_impl.h
		comma.h
		comma_impl.h
		comp.h
		comp_impl.h
		crc32.h
		crc32_impl.h
		datamove.h
		datamove_impl.h
		deleter.h
		deleter_impl.h
		env.h
		escaped_builder.h
		escaped_builder_impl.h
		fastlog.h
		fastlog_impl.h
		fatal.h
		fixedvector.h
		fixedvector_impl.h
		fnv64.h
		format.h
		generics.h
		hash.h
		helpers.h
		helpers_impl.h
		ints.h
		iterations.h
		iterations_impl.h
		largebuffer.h
		largebuffer_impl.h
		log2.h
		log2_impl.h
		lrucache.h
		mem.h
		mm.h
		mutex.h
		num_conv.h
		openhash.h
		openhash_impl.h
		orderedhash.h
		orderedhash_impl.h
		queue.h
		queue_impl.h
		rand.h
		refcounted_mt.h
		refcounted_mt_impl.h
		refptr.h
		relimit.h
		relimit_impl.h
		rwlock.h
		rwlock_impl.h
		scoped_comma.h
		scoped_comma_impl.h
		scopedlock.h
		scopedlock_impl.h
		sharedptr.h
		sharedptr_impl.h
		smalloc.h
		smalloc_impl.h
		sort.h
		sort_impl.h
		sphwarn.h
		spinlock.h
		storage.h
		strerrorm.h
		string.h
		string_impl.h
		stringbuilder.h
		stringbuilder_impl.h
		stringhash.h
		sys.h
		tdigest.h
		thread_annotations.h
		threadrole.h
		timers.h
		type_traits.h
		uniq.h
		uniq_impl.h
		unique_lock.h
		variant.h
		variant_impl.h
		vector.h
		vector_impl.h
		vectraits.h
		vectraits_impl.h
		zip.h
		zip_impl.h

		autoevent.cpp
		base64.cpp
		checks.cpp
		crc32.cpp
		env.cpp
		fastlog.cpp
		fatal.cpp
		fnv64.cpp
		mem.cpp
		mm.cpp
		mutex.cpp
		rand.cpp
		rwlock.cpp
		smalloc.cpp
		sphwarn.cpp
		string.cpp
		stringbuilder.cpp
		stringhash.cpp
		sys.cpp
		tdigest.cpp
		timers.cpp
		)
target_include_directories( manticore_std PRIVATE "${MANTICORE_SOURCE_DIR}/src" )
target_link_libraries ( manticore_std PRIVATE lextra )
