diff options
author | Brad King <brad.king@kitware.com> | 2020-04-01 18:08:51 (GMT) |
---|---|---|
committer | Brad King <brad.king@kitware.com> | 2020-04-03 10:43:00 (GMT) |
commit | 0b872fd4beee649103f0e737fca5838c2b6a1e88 (patch) | |
tree | b7cee0b687e75d5de12f3fdac89f2c26650af769 /Utilities/cmnghttp2/CMakeLists.txt | |
parent | cd5a320d68824c630661748f632ea5f2008d9a4f (diff) | |
download | CMake-0b872fd4beee649103f0e737fca5838c2b6a1e88.zip CMake-0b872fd4beee649103f0e737fca5838c2b6a1e88.tar.gz CMake-0b872fd4beee649103f0e737fca5838c2b6a1e88.tar.bz2 |
nghttp2: Build the library within CMake for use by our curl
Provide our own minimal `config.h` since the upstream one is much
larger to support other parts of its distribution. Compile with
warnings disabled since this is third-party code.
Diffstat (limited to 'Utilities/cmnghttp2/CMakeLists.txt')
-rw-r--r-- | Utilities/cmnghttp2/CMakeLists.txt | 52 |
1 files changed, 52 insertions, 0 deletions
diff --git a/Utilities/cmnghttp2/CMakeLists.txt b/Utilities/cmnghttp2/CMakeLists.txt new file mode 100644 index 0000000..3a11ace --- /dev/null +++ b/Utilities/cmnghttp2/CMakeLists.txt @@ -0,0 +1,52 @@ +# Disable warnings to avoid changing 3rd party code. +if(CMAKE_C_COMPILER_ID MATCHES + "^(GNU|Clang|AppleClang|XLClang|XL|VisualAge|SunPro|HP|Intel)$") + set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -w") +elseif(CMAKE_C_COMPILER_ID STREQUAL "PathScale") + set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -woffall") +endif() + +# Re-use some check result cache entries from cmcurl: +# * HAVE_ARPA_INET_H +# * HAVE_NETINET_IN_H +# * HAVE_SSIZE_T +if(NOT HAVE_SSIZE_T) + set(ssize_t KWIML_INT_intptr_t) +endif() +configure_file(cmakeconfig.h.in config.h) + +add_library(cmnghttp2 STATIC + lib/nghttp2_buf.c + lib/nghttp2_callbacks.c + lib/nghttp2_debug.c + lib/nghttp2_frame.c + lib/nghttp2_hd.c + lib/nghttp2_hd_huffman.c + lib/nghttp2_hd_huffman_data.c + lib/nghttp2_helper.c + lib/nghttp2_http.c + lib/nghttp2_map.c + lib/nghttp2_mem.c + lib/nghttp2_npn.c + lib/nghttp2_option.c + lib/nghttp2_outbound_item.c + lib/nghttp2_pq.c + lib/nghttp2_priority_spec.c + lib/nghttp2_queue.c + lib/nghttp2_rcbuf.c + lib/nghttp2_session.c + lib/nghttp2_stream.c + lib/nghttp2_submit.c + lib/nghttp2_version.c + ) + +target_compile_definitions(cmnghttp2 + PUBLIC NGHTTP2_STATICLIB + PRIVATE HAVE_CONFIG_H + ) +target_include_directories(cmnghttp2 PRIVATE + ${CMAKE_CURRENT_BINARY_DIR} + ${CMAKE_CURRENT_SOURCE_DIR}/lib/includes + ) + +install(FILES COPYING DESTINATION ${CMAKE_DOC_DIR}/cmnghttp2) |