cmake: attempt to get diagnostic output right

This commit is contained in:
Peter Wu 2016-02-11 18:19:45 +01:00
parent 900667a998
commit 3842fe175c
1 changed files with 101 additions and 63 deletions

View File

@ -145,6 +145,11 @@ cmake_pop_check_state()
# esac # esac
pkg_check_modules(ZLIB zlib>=1.2.3) pkg_check_modules(ZLIB zlib>=1.2.3)
if(ZLIB_FOUND)
set(HAVE_ZLIB 1)
else()
set(HAVE_ZLIB 0)
endif()
# # dl: openssl requires libdl when it is statically linked. # # dl: openssl requires libdl when it is statically linked.
# case "${host_os}" in # case "${host_os}" in
@ -189,17 +194,34 @@ pkg_check_modules(CUNIT cunit>=2.1)
# libev (for src) # libev (for src)
find_package(Libev) find_package(Libev)
if(Libev_FOUND)
set(HAVE_LIBEV 1)
else()
set(HAVE_LIBEV 0)
endif()
# openssl (for src) # openssl (for src)
pkg_check_modules(OPENSSL openssl>=1.0.1) pkg_check_modules(OPENSSL openssl>=1.0.1)
if(OPENSSL_FOUND)
set(HAVE_OPENSSL 1)
else()
set(HAVE_OPENSSL 0)
endif()
# libevent_openssl (for examples) # libevent_openssl (for examples)
# 2.0.8 is required because we use evconnlistener_set_error_cb() # 2.0.8 is required because we use evconnlistener_set_error_cb()
pkg_check_modules(LIBEVENT_OPENSSL libevent_openssl>=2.0.8) pkg_check_modules(LIBEVENT_OPENSSL libevent_openssl>=2.0.8)
if(LIBEVENT_OPENSSL_FOUND)
set(HAVE_LIBEVENT_OPENSSL 1)
else()
set(HAVE_LIBEVENT_OPENSSL 0)
endif()
# jansson (for src/nghttp, src/deflatehd and src/inflatehd) # jansson (for src/nghttp, src/deflatehd and src/inflatehd)
pkg_check_modules(JANSSON jansson>=2.5) pkg_check_modules(JANSSON jansson>=2.5)
if(JANSSON_FOUND) if(JANSSON_FOUND)
set(HAVE_JANSSON 1) set(HAVE_JANSSON 1)
else()
set(HAVE_JANSSON 0)
endif() endif()
# libxml2 (for src/nghttp) # libxml2 (for src/nghttp)
@ -207,6 +229,8 @@ if(WITH_LIBXML2)
find_package(LibXml2 2.7.7 REQUIRED) find_package(LibXml2 2.7.7 REQUIRED)
set(HAVE_LIBXML2 1) set(HAVE_LIBXML2 1)
# XXX fail if WITH_LIBXML2=ON # XXX fail if WITH_LIBXML2=ON
else()
set(HAVE_LIBXML2 0)
endif() endif()
# jemalloc # jemalloc
@ -215,6 +239,13 @@ if(WITH_JEMALLOC)
if(NOT JEMALLOC_FOUND) if(NOT JEMALLOC_FOUND)
find_package(jemalloc REQUIRED) find_package(jemalloc REQUIRED)
endif() endif()
if(JEMALLOC_FOUND)
set(HAVE_JEMALLOC 1)
else()
set(HAVE_JEMALLOC 0)
endif()
else()
set(HAVE_JEMALLOC 0)
endif() endif()
# spdylay (for src/nghttpx and src/h2load) # spdylay (for src/nghttpx and src/h2load)
@ -223,9 +254,12 @@ if(WITH_SPDYLAY)
if(LIBSPDYLAY_FOUND) if(LIBSPDYLAY_FOUND)
set(HAVE_SPDYLAY 1) set(HAVE_SPDYLAY 1)
else() else()
set(HAVE_SPDYLAY 0)
message(STATUS "The SPDY support in nghttpx and h2load will be disabled.") message(STATUS "The SPDY support in nghttpx and h2load will be disabled.")
endif() endif()
# XXX fail if WITH_SPDYLAY=ON # XXX fail if WITH_SPDYLAY=ON
else()
set(HAVE_SPDYLAY 0)
endif() endif()
if(ENABLE_ASIO_LIB) if(ENABLE_ASIO_LIB)
@ -254,10 +288,17 @@ if(ENABLE_EXAMPLES OR ENABLE_APP OR ENABLE_HPACK_TOOLS OR ENABLE_ASIO_LIB)
if(WITH_MRUBY) if(WITH_MRUBY)
set(HAVE_MRUBY 1) set(HAVE_MRUBY 1)
# XXX add -lmruby and -lm libs # XXX add -lmruby and -lm libs
else()
set(HAVE_MRUBY 0)
endif() endif()
if(WITH_NEVERBLEED) if(WITH_NEVERBLEED)
set(HAVE_NEVERBLEED 1) set(HAVE_NEVERBLEED 1)
else()
set(HAVE_NEVERBLEED 0)
endif() endif()
else()
set(HAVE_MRUBY 0)
set(HAVE_NEVERBLEED 0)
endif() endif()
# Python bindings # Python bindings
@ -473,66 +514,63 @@ endforeach()
# script/Makefile # script/Makefile
# ]) # ])
# AC_OUTPUT # AC_OUTPUT
#
# AC_MSG_NOTICE([summary of build options: # XXX - fix list of variables
# message(STATUS "summary of build options:
# Package version: ${VERSION}
# Library version: $LT_CURRENT:$LT_REVISION:$LT_AGE Package version: ${VERSION}
# Install prefix: ${prefix} Library version: $LT_CURRENT:$LT_REVISION:$LT_AGE
# System types: Install prefix: ${prefix}
# Build: ${build} System types:
# Host: ${host} Build: ${build}
# Target: ${target} Host: ${host}
# Compiler: Target: ${target}
# C compiler: ${CC} Compiler:
# CFLAGS: ${CFLAGS} C compiler: ${CMAKE_C_COMPILER}
# LDFLAGS: ${LDFLAGS} CFLAGS: ${CMAKE_C_FLAGS}
# C++ compiler: ${CXX} C++ compiler: ${CMAKE_CXX_COMPILER}
# CXXFLAGS: ${CXXFLAGS} CXXFLAGS: ${CMAKE_CXX_FLAGS}
# CXXCPP: ${CXXCPP} WARNCFLAGS: ${WARNCFLAGS}
# C preprocessor: ${CPP} CXX1XCXXFLAGS: ${CXX1XCXXFLAGS}
# CPPFLAGS: ${CPPFLAGS} EXTRACFLAG: ${EXTRACFLAG}
# WARNCFLAGS: ${WARNCFLAGS} LIBS: ${LIBS}
# CXX1XCXXFLAGS: ${CXX1XCXXFLAGS} Library:
# EXTRACFLAG: ${EXTRACFLAG} Shared: ${enable_shared}
# LIBS: ${LIBS} Static: ${enable_static}
# Library: Python:
# Shared: ${enable_shared} Python: ${PYTHON}
# Static: ${enable_static} PYTHON_VERSION: ${PYTHON_VERSION}
# Python: pyexecdir: ${pyexecdir}
# Python: ${PYTHON} Python-dev: ${have_python_dev}
# PYTHON_VERSION: ${PYTHON_VERSION} PYTHON_CPPFLAGS:${PYTHON_CPPFLAGS}
# pyexecdir: ${pyexecdir} PYTHON_LDFLAGS: ${PYTHON_LDFLAGS}
# Python-dev: ${have_python_dev} Cython: ${CYTHON}
# PYTHON_CPPFLAGS:${PYTHON_CPPFLAGS} Test:
# PYTHON_LDFLAGS: ${PYTHON_LDFLAGS} CUnit: ${HAVE_CUNIT} (CFLAGS='${CUNIT_CFLAGS}' LIBS='${CUNIT_LIBS}')
# Cython: ${CYTHON} Failmalloc: ${ENABLE_FAILMALLOC}
# Test: Libs:
# CUnit: ${have_cunit} (CFLAGS='${CUNIT_CFLAGS}' LIBS='${CUNIT_LIBS}') OpenSSL: ${HAVE_OPENSSL} (CFLAGS='${OPENSSL_CFLAGS}' LIBS='${OPENSSL_LIBS}')
# Failmalloc: ${enable_failmalloc} Libxml2: ${HAVE_LIBXML2} (CFLAGS='${XML_CPPFLAGS}' LIBS='${XML_LIBS}')
# Libs: Libev: ${HAVE_LIBEV} (CFLAGS='${LIBEV_CFLAGS}' LIBS='${LIBEV_LIBS}')
# OpenSSL: ${have_openssl} (CFLAGS='${OPENSSL_CFLAGS}' LIBS='${OPENSSL_LIBS}') Libevent(SSL): ${HAVE_LIBEVENT_OPENSSL} (CFLAGS='${LIBEVENT_OPENSSL_CFLAGS}' LIBS='${LIBEVENT_OPENSSL_LIBS}')
# Libxml2: ${have_libxml2} (CFLAGS='${XML_CPPFLAGS}' LIBS='${XML_LIBS}') Spdylay: ${HAVE_SPDYLAY} (CFLAGS='${LIBSPDYLAY_CFLAGS}' LIBS='${LIBSPDYLAY_LIBS}')
# Libev: ${have_libev} (CFLAGS='${LIBEV_CFLAGS}' LIBS='${LIBEV_LIBS}') Jansson: ${HAVE_JANSSON} (CFLAGS='${JANSSON_CFLAGS}' LIBS='${JANSSON_LIBS}')
# Libevent(SSL): ${have_libevent_openssl} (CFLAGS='${LIBEVENT_OPENSSL_CFLAGS}' LIBS='${LIBEVENT_OPENSSL_LIBS}') Jemalloc: ${HAVE_JEMALLOC} (LIBS='${JEMALLOC_LIBS}')
# Spdylay: ${have_spdylay} (CFLAGS='${LIBSPDYLAY_CFLAGS}' LIBS='${LIBSPDYLAY_LIBS}') Zlib: ${HAVE_ZLIB} (CFLAGS='${ZLIB_CFLAGS}' LIBS='${ZLIB_LIBS}')
# Jansson: ${have_jansson} (CFLAGS='${JANSSON_CFLAGS}' LIBS='${JANSSON_LIBS}') Boost CPPFLAGS: ${BOOST_CPPFLAGS}
# Jemalloc: ${have_jemalloc} (LIBS='${JEMALLOC_LIBS}') Boost LDFLAGS: ${BOOST_LDFLAGS}
# Zlib: ${have_zlib} (CFLAGS='${ZLIB_CFLAGS}' LIBS='${ZLIB_LIBS}') Boost::ASIO: ${BOOST_ASIO_LIB}
# Boost CPPFLAGS: ${BOOST_CPPFLAGS} Boost::System: ${BOOST_SYSTEM_LIB}
# Boost LDFLAGS: ${BOOST_LDFLAGS} Boost::Thread: ${BOOST_THREAD_LIB}
# Boost::ASIO: ${BOOST_ASIO_LIB} Third-party:
# Boost::System: ${BOOST_SYSTEM_LIB} http-parser: ${ENABLE_THIRD_PARTY}
# Boost::Thread: ${BOOST_THREAD_LIB} MRuby: ${HAVE_MRUBY} (CFLAGS='${LIBMRUBY_CFLAGS}' LIBS='${LIBMRUBY_LIBS}')
# Third-party: Neverbleed: ${HAVE_NEVERBLEED}
# http-parser: ${enable_third_party} Features:
# MRuby: ${have_mruby} (CFLAGS='${LIBMRUBY_CFLAGS}' LIBS='${LIBMRUBY_LIBS}') Applications: ${ENABLE_APP}
# Neverbleed: ${have_neverbleed} HPACK tools: ${ENABLE_HPACK_TOOLS}
# Features: Libnghttp2_asio:${ENABLE_ASIO_LIB}
# Applications: ${enable_app} Examples: ${ENABLE_EXAMPLES}
# HPACK tools: ${enable_hpack_tools} Python bindings:${ENABLE_PYTHON_BINDINGS}
# Libnghttp2_asio:${enable_asio_lib} Threading: ${ENABLE_THREADS}
# Examples: ${enable_examples} ")
# Python bindings:${enable_python_bindings}
# Threading: ${enable_threads}
# ])