project(genomicsdb-htslib)

add_definitions("-DVCF_ALLOW_INT64=1")

find_package(BZip2 REQUIRED)
find_package(CURL REQUIRED)
find_package(LibLZMA REQUIRED)

set(lib_files
        kfunc.c
	knetfile.c
	kstring.c
	bcf_sr_sort.c
	bgzf.c
	errmod.c
	faidx.c
	header.c
	hfile.c
	hfile_libcurl.c
	hfile_net.c
	hts.c
	hts_os.c
	md5.c
	multipart.c
	probaln.c
	realn.c
	regidx.c
	region.c
	sam.c
	synced_bcf_reader.c
	vcf_sweep.c
	tbx.c
	textutils.c
	thread_pool.c
	vcf.c
	vcfutils.c
	cram/cram_codecs.c
	cram/cram_decode.c
	cram/cram_encode.c
	cram/cram_external.c
	cram/cram_index.c
	cram/cram_io.c
	cram/cram_samtools.c
	cram/cram_stats.c
	cram/mFILE.c
	cram/open_trace_file.c
	cram/pooled_alloc.c
	cram/rANS_static.c
	cram/string_alloc.c
)

add_library(genomicsdb-hts
        SHARED
        ${lib_files}
)

target_include_directories(genomicsdb-hts
        PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}
        PUBLIC ${BZIP2_INCLUDE_DIRS}
        PUBLIC ${CURL_INCLUDE_DIRS}
)

target_link_libraries(genomicsdb-hts
        PUBLIC ${BZIP2_LIBRARIES}
        PUBLIC ${CURL_LIBRARIES}
        PUBLIC ${LIBLZMA_LIBRARIES}
)

install(TARGETS genomicsdb-hts DESTINATION "lib/${CMAKE_LIBRARY_ARCHITECTURE}/genomicsdb")
install(DIRECTORY
        htslib/
        DESTINATION include/genomicsdb/htslib
        FILES_MATCHING PATTERN "*.h")
