CMakeLists.txt revision 966c52fc
17d09751dSDmitri Tikhonov# Copyright (c) 2017 - 2020 LiteSpeed Technologies Inc. See LICENSE. 250aadb33SDmitri TikhonovSET(lsquic_STAT_SRCS 35392f7a3SLiteSpeed Tech ls-qpack/lsqpack.c 4b1a7c3f9SDmitri Tikhonov lsquic_adaptive_cc.c 550aadb33SDmitri Tikhonov lsquic_alarmset.c 65392f7a3SLiteSpeed Tech lsquic_arr.c 75392f7a3SLiteSpeed Tech lsquic_attq.c 85392f7a3SLiteSpeed Tech lsquic_bbr.c 95392f7a3SLiteSpeed Tech lsquic_bw_sampler.c 105392f7a3SLiteSpeed Tech lsquic_cfcw.c 1150aadb33SDmitri Tikhonov lsquic_chsk_stream.c 125392f7a3SLiteSpeed Tech lsquic_conn.c 1310c41073SDmitri Tikhonov lsquic_crand.c 145392f7a3SLiteSpeed Tech lsquic_crt_compress.c 1550aadb33SDmitri Tikhonov lsquic_crypto.c 165392f7a3SLiteSpeed Tech lsquic_cubic.c 175392f7a3SLiteSpeed Tech lsquic_di_error.c 185392f7a3SLiteSpeed Tech lsquic_di_hash.c 195392f7a3SLiteSpeed Tech lsquic_di_nocopy.c 205392f7a3SLiteSpeed Tech lsquic_enc_sess_common.c 215392f7a3SLiteSpeed Tech lsquic_enc_sess_ietf.c 225392f7a3SLiteSpeed Tech lsquic_eng_hist.c 235392f7a3SLiteSpeed Tech lsquic_engine.c 245392f7a3SLiteSpeed Tech lsquic_ev_log.c 255392f7a3SLiteSpeed Tech lsquic_frab_list.c 265392f7a3SLiteSpeed Tech lsquic_frame_common.c 275392f7a3SLiteSpeed Tech lsquic_frame_reader.c 285392f7a3SLiteSpeed Tech lsquic_frame_writer.c 295392f7a3SLiteSpeed Tech lsquic_full_conn.c 305392f7a3SLiteSpeed Tech lsquic_full_conn_ietf.c 315392f7a3SLiteSpeed Tech lsquic_global.c 3250aadb33SDmitri Tikhonov lsquic_handshake.c 335392f7a3SLiteSpeed Tech lsquic_hash.c 345392f7a3SLiteSpeed Tech lsquic_hcsi_reader.c 355392f7a3SLiteSpeed Tech lsquic_hcso_writer.c 365392f7a3SLiteSpeed Tech lsquic_headers_stream.c 375392f7a3SLiteSpeed Tech lsquic_hkdf.c 385392f7a3SLiteSpeed Tech lsquic_hspack_valid.c 395392f7a3SLiteSpeed Tech lsquic_http1x_if.c 4050aadb33SDmitri Tikhonov lsquic_logger.c 4150aadb33SDmitri Tikhonov lsquic_malo.c 425392f7a3SLiteSpeed Tech lsquic_min_heap.c 435392f7a3SLiteSpeed Tech lsquic_mini_conn.c 445392f7a3SLiteSpeed Tech lsquic_mini_conn_ietf.c 455392f7a3SLiteSpeed Tech lsquic_minmax.c 4650aadb33SDmitri Tikhonov lsquic_mm.c 475392f7a3SLiteSpeed Tech lsquic_pacer.c 485392f7a3SLiteSpeed Tech lsquic_packet_common.c 495392f7a3SLiteSpeed Tech lsquic_packet_gquic.c 505392f7a3SLiteSpeed Tech lsquic_packet_in.c 515392f7a3SLiteSpeed Tech lsquic_packet_out.c 52b8fa6195SDmitri Tikhonov lsquic_packet_resize.c 535392f7a3SLiteSpeed Tech lsquic_parse_Q046.c 547a8b2eceSDmitri Tikhonov lsquic_parse_Q050.c 555392f7a3SLiteSpeed Tech lsquic_parse_common.c 565392f7a3SLiteSpeed Tech lsquic_parse_gquic_be.c 575392f7a3SLiteSpeed Tech lsquic_parse_gquic_common.c 585392f7a3SLiteSpeed Tech lsquic_parse_ietf_v1.c 595392f7a3SLiteSpeed Tech lsquic_parse_iquic_common.c 605392f7a3SLiteSpeed Tech lsquic_pr_queue.c 615392f7a3SLiteSpeed Tech lsquic_purga.c 625392f7a3SLiteSpeed Tech lsquic_qdec_hdl.c 635392f7a3SLiteSpeed Tech lsquic_qenc_hdl.c 645392f7a3SLiteSpeed Tech lsquic_qlog.c 6550aadb33SDmitri Tikhonov lsquic_rechist.c 6650aadb33SDmitri Tikhonov lsquic_rtt.c 6750aadb33SDmitri Tikhonov lsquic_send_ctl.c 6850aadb33SDmitri Tikhonov lsquic_senhist.c 695392f7a3SLiteSpeed Tech lsquic_set.c 7050aadb33SDmitri Tikhonov lsquic_sfcw.c 715392f7a3SLiteSpeed Tech lsquic_shsk_stream.c 725392f7a3SLiteSpeed Tech lsquic_spi.c 735392f7a3SLiteSpeed Tech lsquic_stock_shi.c 745392f7a3SLiteSpeed Tech lsquic_str.c 7550aadb33SDmitri Tikhonov lsquic_stream.c 765392f7a3SLiteSpeed Tech lsquic_tokgen.c 775392f7a3SLiteSpeed Tech lsquic_trans_params.c 7850aadb33SDmitri Tikhonov lsquic_util.c 795392f7a3SLiteSpeed Tech lsquic_varint.c 8050aadb33SDmitri Tikhonov lsquic_version.c 815392f7a3SLiteSpeed Tech) 825392f7a3SLiteSpeed Tech 83fb3e20e0SDmitri TikhonovIF(NOT MSVC) 845392f7a3SLiteSpeed Techset_source_files_properties(ls-qpack/lsqpack.c PROPERTIES COMPILE_FLAGS -Wno-uninitialized) 85fb3e20e0SDmitri TikhonovENDIF() 8650aadb33SDmitri Tikhonov 875392f7a3SLiteSpeed Techinclude_directories(ls-qpack) 885392f7a3SLiteSpeed Tech 895392f7a3SLiteSpeed TechIF(PROJECT_NAME STREQUAL "openlitespeed") 905392f7a3SLiteSpeed Tech INCLUDE_DIRECTORIES(${PROJECT_SOURCE_DIR}/src/spdy) 915392f7a3SLiteSpeed TechELSE() 9283506617SDmitri Tikhonov INCLUDE_DIRECTORIES(../lshpack) 935392f7a3SLiteSpeed Tech SET(lsquic_STAT_SRCS ${lsquic_STAT_SRCS} 945392f7a3SLiteSpeed Tech lsquic_xxhash.c 955392f7a3SLiteSpeed Tech ../lshpack/lshpack.c 965392f7a3SLiteSpeed Tech ) 975392f7a3SLiteSpeed TechENDIF() 9850aadb33SDmitri Tikhonov 995392f7a3SLiteSpeed TechADD_CUSTOM_COMMAND( 1003ff30b27SDmitri Tikhonov OUTPUT ${CMAKE_CURRENT_SOURCE_DIR}/lsquic_versions_to_string.c 101fb3e20e0SDmitri Tikhonov COMMAND ${PERL} 102fb3e20e0SDmitri Tikhonov ARGS ${CMAKE_CURRENT_SOURCE_DIR}/gen-verstrs.pl ${CMAKE_CURRENT_SOURCE_DIR}/../../include/lsquic.h ${CMAKE_CURRENT_SOURCE_DIR}/lsquic_versions_to_string.c 1031245d2e0SDmitri Tikhonov DEPENDS ./gen-verstrs.pl ${CMAKE_CURRENT_SOURCE_DIR}/../../include/lsquic.h 1045392f7a3SLiteSpeed Tech) 1055392f7a3SLiteSpeed TechSET(lsquic_STAT_SRCS ${lsquic_STAT_SRCS} lsquic_versions_to_string.c) 10650aadb33SDmitri Tikhonov 107bea64822SDmitri TikhonovSET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -DXXH_HEADER_NAME=\\\"lsquic_xxhash.h\\\"") 1085392f7a3SLiteSpeed TechSET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -DLSQPACK_ENC_LOGGER_HEADER=\\\"lsquic_qpack_enc_logger.h\\\"") 1095392f7a3SLiteSpeed TechSET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -DLSQPACK_DEC_LOGGER_HEADER=\\\"lsquic_qpack_dec_logger.h\\\"") 11050aadb33SDmitri Tikhonov 1112e1429b4SDmitri TikhonovIF(LSQUIC_SHARED_LIB) 112038a9441SAaron France add_library(lsquic SHARED ${lsquic_STAT_SRCS} ) 1132e1429b4SDmitri Tikhonov TARGET_LINK_LIBRARIES(lsquic PRIVATE ${BORINGSSL_LIB_ssl} ${BORINGSSL_LIB_crypto} ${ZLIB_LIB}) 114038a9441SAaron FranceELSE() 115038a9441SAaron France add_library(lsquic STATIC ${lsquic_STAT_SRCS}) 116038a9441SAaron FranceENDIF() 117b62ec17fSDmitri Tikhonov 118966c52fcSJonas Vautherininstall(TARGETS lsquic 119966c52fcSJonas Vautherin EXPORT lsquic-targets 120966c52fcSJonas Vautherin LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} 121966c52fcSJonas Vautherin ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} 122966c52fcSJonas Vautherin) 123966c52fcSJonas Vautherin 124