]> granicus.if.org Git - graphviz/commitdiff
common: CMake: specify include directory of expat
authorNehal J Wani <nehaljw.kkd1@gmail.com>
Mon, 15 Feb 2021 20:19:14 +0000 (15:19 -0500)
committerMatthew Fernandez <matthew.fernandez@gmail.com>
Mon, 1 Nov 2021 00:48:44 +0000 (17:48 -0700)
A build system should not rely on the existence of 3rd party
library/header files in standard prefixes as one might want to compile
and link against a patched build or a custom install in some
non-standard location. This is also helpful for developers who rely on
package managers like Conda or Spack for their daily development.

If expat is a dep, we need to pass -I/path/containing/expat.h to the
compiler while compiling the source files of the target 'common_obj',
without which, one can face the following issue:

graphviz/lib/common/htmllex.c:28:10: fatal error: expat.h: No such file or directory
   28 | #include <expat.h>
      |          ^~~~~~~~~
compilation terminated.

lib/common/CMakeLists.txt

index b858ededab959c865814dd85962192ead6f0d0b9..f39a3215709daf7ebfd42e0de6424d8798f7b122 100644 (file)
@@ -106,6 +106,7 @@ target_include_directories(common_obj PRIVATE
     ${GRAPHVIZ_LIB_DIR}/pack
     ${GRAPHVIZ_LIB_DIR}/pathplan
     ${GRAPHVIZ_LIB_DIR}/xdot
+    ${EXPAT_INCLUDE_DIRS}
 )
 
 if (WIN32)