cmake: Add FCGI_INCLUDE_DIR to include_directories for rgw

rgw_fcgi.{cc,h} includes either "fastcgi/fcgiapp.h" or "fcgiapp.h",
depending on whether FASTCGI_INCLUDE_DIR is set.  That define is set by
autotools, but cmake builds work a little differently -- in the cmake
case, FCGI_INCLUDE_DIR is set by Findfcgi.cmake, provided it can find
the fastcgi headers *somewhere*.  This means the cmake build breaks on
SUSE distros (and presumably others) which use "fastcgi/fcgiapp.h",
because FASTCGI_INCLUDE_DIR isn't set, so it tries to include
"fcgiapp.h", and fails.

This change adds FCGI_INCLUDE_DIR to the include directories, and tries
to #include <fcgiapp.h> if FASTCGI_INCLUDE_DIR is not set, which should
work for both cmake and autotools builds.

(It would probably be cleanest to fix autotools to behave like cmake,
then the #ifdef/#else stuff can be dropped, and we could just always
include <fcgiapp.h>)

Signed-off-by: Tim Serong <tserong@suse.com>
This commit is contained in:
Tim Serong 2016-06-28 21:51:32 +10:00
parent 5de4a9cef6
commit 3cf6c534ff
3 changed files with 4 additions and 2 deletions

View File

@ -1,3 +1,5 @@
include_directories(${FCGI_INCLUDE_DIR})
add_executable(ceph_rgw_jsonparser
rgw_jsonparser.cc
rgw_common.cc

View File

@ -7,7 +7,7 @@
#ifdef FASTCGI_INCLUDE_DIR
# include "fastcgi/fcgiapp.h"
#else
# include "fcgiapp.h"
# include <fcgiapp.h>
#endif

View File

@ -8,7 +8,7 @@
#ifdef FASTCGI_INCLUDE_DIR
# include "fastcgi/fcgiapp.h"
#else
# include "fcgiapp.h"
# include <fcgiapp.h>
#endif
#include "rgw_client_io.h"