summaryrefslogtreecommitdiffstats
path: root/CMakeScripts/ConfigChecks.cmake
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-07 18:24:48 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-07 18:24:48 +0000
commitcca66b9ec4e494c1d919bff0f71a820d8afab1fa (patch)
tree146f39ded1c938019e1ed42d30923c2ac9e86789 /CMakeScripts/ConfigChecks.cmake
parentInitial commit. (diff)
downloadinkscape-cca66b9ec4e494c1d919bff0f71a820d8afab1fa.tar.xz
inkscape-cca66b9ec4e494c1d919bff0f71a820d8afab1fa.zip
Adding upstream version 1.2.2.upstream/1.2.2upstream
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'CMakeScripts/ConfigChecks.cmake')
-rw-r--r--CMakeScripts/ConfigChecks.cmake27
1 files changed, 27 insertions, 0 deletions
diff --git a/CMakeScripts/ConfigChecks.cmake b/CMakeScripts/ConfigChecks.cmake
new file mode 100644
index 0000000..d38d652
--- /dev/null
+++ b/CMakeScripts/ConfigChecks.cmake
@@ -0,0 +1,27 @@
+include(${CMAKE_CURRENT_LIST_DIR}/ConfigPaths.cmake)
+
+# Set all HAVE_XXX variables, to correctly set all defines in config.h
+include(CheckIncludeFiles)
+include(CheckIncludeFileCXX)
+include(CheckFunctionExists)
+include(CheckStructHasMember)
+include(CheckCXXSymbolExists)
+
+set(CMAKE_REQUIRED_LIBRARIES ${CMAKE_REQUIRED_LIBRARIES} ${INKSCAPE_LIBS})
+set(CMAKE_REQUIRED_INCLUDES ${CMAKE_REQUIRED_INCLUDES} ${INKSCAPE_INCS_SYS})
+
+CHECK_INCLUDE_FILES(ieeefp.h HAVE_IEEEFP_H)
+CHECK_FUNCTION_EXISTS(mallinfo HAVE_MALLINFO)
+CHECK_FUNCTION_EXISTS(mallinfo2 HAVE_MALLINFO2)
+CHECK_INCLUDE_FILES(malloc.h HAVE_MALLOC_H)
+CHECK_INCLUDE_FILES(stdint.h HAVE_STDINT_H)
+CHECK_STRUCT_HAS_MEMBER("struct mallinfo" fordblks malloc.h HAVE_STRUCT_MALLINFO_FORDBLKS )
+CHECK_STRUCT_HAS_MEMBER("struct mallinfo" fsmblks malloc.h HAVE_STRUCT_MALLINFO_FSMBLKS )
+CHECK_STRUCT_HAS_MEMBER("struct mallinfo" hblkhd malloc.h HAVE_STRUCT_MALLINFO_HBLKHD )
+CHECK_STRUCT_HAS_MEMBER("struct mallinfo" uordblks malloc.h HAVE_STRUCT_MALLINFO_UORDBLKS )
+CHECK_STRUCT_HAS_MEMBER("struct mallinfo" usmblks malloc.h HAVE_STRUCT_MALLINFO_USMBLKS )
+CHECK_CXX_SYMBOL_EXISTS(sincos math.h HAVE_SINCOS) # 2geom define
+
+# Create the configuration files config.h in the binary root dir
+configure_file(${CMAKE_SOURCE_DIR}/config.h.cmake ${CMAKE_BINARY_DIR}/include/config.h)
+add_definitions(-DHAVE_CONFIG_H)