cmake_minimum_required(VERSION 3.6)

set(SRC_HEADERS
	src/compress/rpc_compress.h
	src/compress/rpc_compress_gzip.h
	src/message/rpc_message.h
	src/message/rpc_message_srpc.h
	src/message/rpc_message_thrift.h
	src/message/rpc_message_brpc.h
	src/message/rpc_message_trpc.h
	src/thrift/rpc_thrift_buffer.h
	src/thrift/rpc_thrift_enum.h
	src/thrift/rpc_thrift_idl.h
	src/thrift/rpc_thrift_idl.inl
	src/var/ckms_quantiles.h
	src/var/time_window_quantiles.h
	src/var/rpc_var.h
	src/module/rpc_module.h
	src/module/rpc_trace_module.h
	src/module/rpc_metrics_module.h
	src/module/rpc_filter.h
	src/module/rpc_trace_filter.h
	src/module/rpc_metrics_filter.h
	src/rpc_basic.h
	src/rpc_buffer.h
	src/rpc_client.h
	src/rpc_context.h
	src/rpc_context.inl
	src/rpc_global.h
	src/rpc_options.h
	src/rpc_server.h
	src/rpc_service.h
	src/rpc_task.inl
	src/rpc_types.h
	src/rpc_zero_copy_stream.h
	src/rpc_define.h
)

if (NOT WIN32)
	set(SRC_HEADERS
		${SRC_HEADERS}
		src/http/http_task.h
		src/http/http_module.h
		src/http/http_client.h
		src/http/http_server.h
	)
endif ()

if (NOT SNAPPY_INSTALLED)
	set(SNAPPY_HEADERS
		third_party/snappy/snappy.h
		third_party/snappy/snappy-c.h
		third_party/snappy/snappy-sinksource.h
		third_party/snappy/snappy-stubs-public.h
	)
endif ()

if (NOT LZ4_INSTALLED)
	set(LZ4_HEADERS
		third_party/lz4/lib/lz4.h
		third_party/lz4/lib/lz4frame.h
	)
endif ()

if (WITH_VCPKG_TOOLCHAIN)
	set(INCLUDE_HEADERS ${SRC_HEADERS})
else()
	set(INCLUDE_HEADERS ${SRC_HEADERS} ${SNAPPY_HEADERS} ${LZ4_HEADERS})
endif()

