Force /usr/local/include as search path on FreeBSD
authorJan Henke <Jan.Henke@taujhe.de>
Tue, 24 Mar 2015 15:24:16 +0000 (15:24 +0000)
committerJan Henke <Jan.Henke@taujhe.de>
Tue, 24 Mar 2015 18:35:20 +0000 (18:35 +0000)
CMake does not find headers installed in /usr/local/include by default. On
FreeBSD this is the default location for libunwind.h though. Define
CMAKE_REQUIERED_INCLUDE to include both /usr/local/include and /usr/include.
This change only affects FreeBSD. Also FreeBSD (like Darwin) does not work with
_DEFAULT_SOURCE or _POSIX_C_SOURCE defined. Closes #547

src/pal/src/configure.cmake

index 28f6ff8..c7b7f33 100644 (file)
@@ -6,7 +6,9 @@ include(CheckIncludeFiles)
 include(CheckStructHasMember)
 include(CheckTypeSize)
 
-if(NOT CMAKE_SYSTEM_NAME STREQUAL Darwin)
+if(CMAKE_SYSTEM_NAME STREQUAL FreeBSD)
+  set(CMAKE_REQUIRED_INCLUDES "/usr/local/include" "/usr/include")
+elseif(NOT CMAKE_SYSTEM_NAME STREQUAL Darwin)
   set(CMAKE_REQUIRED_DEFINITIONS "-D_DEFAULT_SOURCE -D_POSIX_C_SOURCE=200809L")
 endif()
 check_include_files(ieeefp.h HAVE_IEEEFP_H)