CMakeLists.txt revision fbc6cc04
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 38fbc6cc04SDmitri Tikhonov lsquic_hpi.c 395392f7a3SLiteSpeed Tech lsquic_hspack_valid.c 40fbc6cc04SDmitri Tikhonov lsquic_http.c 415392f7a3SLiteSpeed Tech lsquic_http1x_if.c 4250aadb33SDmitri Tikhonov lsquic_logger.c 4350aadb33SDmitri Tikhonov lsquic_malo.c 445392f7a3SLiteSpeed Tech lsquic_min_heap.c 455392f7a3SLiteSpeed Tech lsquic_mini_conn.c 465392f7a3SLiteSpeed Tech lsquic_mini_conn_ietf.c 475392f7a3SLiteSpeed Tech lsquic_minmax.c 4850aadb33SDmitri Tikhonov lsquic_mm.c 495392f7a3SLiteSpeed Tech lsquic_pacer.c 505392f7a3SLiteSpeed Tech lsquic_packet_common.c 515392f7a3SLiteSpeed Tech lsquic_packet_gquic.c 525392f7a3SLiteSpeed Tech lsquic_packet_in.c 535392f7a3SLiteSpeed Tech lsquic_packet_out.c 54b8fa6195SDmitri Tikhonov lsquic_packet_resize.c 555392f7a3SLiteSpeed Tech lsquic_parse_Q046.c 567a8b2eceSDmitri Tikhonov lsquic_parse_Q050.c 575392f7a3SLiteSpeed Tech lsquic_parse_common.c 585392f7a3SLiteSpeed Tech lsquic_parse_gquic_be.c 595392f7a3SLiteSpeed Tech lsquic_parse_gquic_common.c 605392f7a3SLiteSpeed Tech lsquic_parse_ietf_v1.c 615392f7a3SLiteSpeed Tech lsquic_parse_iquic_common.c 625392f7a3SLiteSpeed Tech lsquic_pr_queue.c 635392f7a3SLiteSpeed Tech lsquic_purga.c 645392f7a3SLiteSpeed Tech lsquic_qdec_hdl.c 655392f7a3SLiteSpeed Tech lsquic_qenc_hdl.c 665392f7a3SLiteSpeed Tech lsquic_qlog.c 6750aadb33SDmitri Tikhonov lsquic_rechist.c 6850aadb33SDmitri Tikhonov lsquic_rtt.c 6950aadb33SDmitri Tikhonov lsquic_send_ctl.c 7050aadb33SDmitri Tikhonov lsquic_senhist.c 715392f7a3SLiteSpeed Tech lsquic_set.c 7250aadb33SDmitri Tikhonov lsquic_sfcw.c 735392f7a3SLiteSpeed Tech lsquic_shsk_stream.c 745392f7a3SLiteSpeed Tech lsquic_spi.c 755392f7a3SLiteSpeed Tech lsquic_stock_shi.c 765392f7a3SLiteSpeed Tech lsquic_str.c 7750aadb33SDmitri Tikhonov lsquic_stream.c 785392f7a3SLiteSpeed Tech lsquic_tokgen.c 795392f7a3SLiteSpeed Tech lsquic_trans_params.c 80fbc6cc04SDmitri Tikhonov lsquic_trechist.c 8150aadb33SDmitri Tikhonov lsquic_util.c 825392f7a3SLiteSpeed Tech lsquic_varint.c 8350aadb33SDmitri Tikhonov lsquic_version.c 845392f7a3SLiteSpeed Tech) 855392f7a3SLiteSpeed Tech 86fb3e20e0SDmitri TikhonovIF(NOT MSVC) 875392f7a3SLiteSpeed Techset_source_files_properties(ls-qpack/lsqpack.c PROPERTIES COMPILE_FLAGS -Wno-uninitialized) 88fb3e20e0SDmitri TikhonovENDIF() 8950aadb33SDmitri Tikhonov 905392f7a3SLiteSpeed Techinclude_directories(ls-qpack) 915392f7a3SLiteSpeed Tech 925392f7a3SLiteSpeed TechIF(PROJECT_NAME STREQUAL "openlitespeed") 935392f7a3SLiteSpeed Tech INCLUDE_DIRECTORIES(${PROJECT_SOURCE_DIR}/src/spdy) 945392f7a3SLiteSpeed TechELSE() 9583506617SDmitri Tikhonov INCLUDE_DIRECTORIES(../lshpack) 965392f7a3SLiteSpeed Tech SET(lsquic_STAT_SRCS ${lsquic_STAT_SRCS} 975392f7a3SLiteSpeed Tech lsquic_xxhash.c 985392f7a3SLiteSpeed Tech ../lshpack/lshpack.c 995392f7a3SLiteSpeed Tech ) 1005392f7a3SLiteSpeed TechENDIF() 10150aadb33SDmitri Tikhonov 1025392f7a3SLiteSpeed TechADD_CUSTOM_COMMAND( 1033ff30b27SDmitri Tikhonov OUTPUT ${CMAKE_CURRENT_SOURCE_DIR}/lsquic_versions_to_string.c 104fb3e20e0SDmitri Tikhonov COMMAND ${PERL} 105fb3e20e0SDmitri 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 1061245d2e0SDmitri Tikhonov DEPENDS ./gen-verstrs.pl ${CMAKE_CURRENT_SOURCE_DIR}/../../include/lsquic.h 1075392f7a3SLiteSpeed Tech) 1085392f7a3SLiteSpeed TechSET(lsquic_STAT_SRCS ${lsquic_STAT_SRCS} lsquic_versions_to_string.c) 109fbc6cc04SDmitri TikhonovSET(lsquic_STAT_SRCS ${lsquic_STAT_SRCS} ls-sfparser.c) 11050aadb33SDmitri Tikhonov 111bea64822SDmitri TikhonovSET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -DXXH_HEADER_NAME=\\\"lsquic_xxhash.h\\\"") 1125392f7a3SLiteSpeed TechSET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -DLSQPACK_ENC_LOGGER_HEADER=\\\"lsquic_qpack_enc_logger.h\\\"") 1135392f7a3SLiteSpeed TechSET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -DLSQPACK_DEC_LOGGER_HEADER=\\\"lsquic_qpack_dec_logger.h\\\"") 11450aadb33SDmitri Tikhonov 1152e1429b4SDmitri TikhonovIF(LSQUIC_SHARED_LIB) 116038a9441SAaron France add_library(lsquic SHARED ${lsquic_STAT_SRCS} ) 1172e1429b4SDmitri Tikhonov TARGET_LINK_LIBRARIES(lsquic PRIVATE ${BORINGSSL_LIB_ssl} ${BORINGSSL_LIB_crypto} ${ZLIB_LIB}) 118038a9441SAaron FranceELSE() 119038a9441SAaron France add_library(lsquic STATIC ${lsquic_STAT_SRCS}) 120038a9441SAaron FranceENDIF() 121b62ec17fSDmitri Tikhonov 122966c52fcSJonas Vautherininstall(TARGETS lsquic 123966c52fcSJonas Vautherin EXPORT lsquic-targets 124966c52fcSJonas Vautherin LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} 125966c52fcSJonas Vautherin ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} 126966c52fcSJonas Vautherin) 127966c52fcSJonas Vautherin 128