1 SET(INKSCAPE_DEPENDS
2 gtk+-2.0
3 gtkmm-2.4
4 cairo
5 cairomm-1.0
6 sigc++-2.0
7 lcms
8 libgc1c2
9 libpng
10 glib-2.0
11 glibmm-2.4
12 libxml-2.0
13 libxslt
14 ImageMagick++
15 libpopt
16 freetype2)
17 SET(INKSCAPE_OPTIONAL
18 gnome-vfs-2.0
19 libwpg-0.1
20 libssl)
22 include(UsePkgConfig)
24 # Dependencies Packages
25 message(STATUS "")
26 message(STATUS "")
27 message(STATUS "Checking For REQUIRED Libraries for Building Inkscape.")
28 FOREACH(dep ${INKSCAPE_DEPENDS})
29 # This is a hack due to a bug in Cmake vars system, Uncomment if using a version older than 2.4 //verbalshadow
30 # IF("${dep}" MATCHES "gtk\\+-2.0")
31 # SET(dep_name "GTK2")
32 # ELSE("${dep}" MATCHES "gtk\\+-2.0")
33 SET(dep_name "${dep}")
34 # ENDIF("${dep}" MATCHES "gtk\\+-2.0")
36 PKGCONFIG_FOUND(${dep} "${dep}_FOUND")
37 PKGCONFIG(${dep} "${dep_name}_INCLUDE_DIR" "${dep_name}_LINK_DIR" "${dep_name}_LINK_FLAGS" "${dep_name}_CFLAGS")
38 # PKGCONFIG_VERSION(${dep} "${dep}_VERSION")
39 IF("${dep}_FOUND")
40 message(STATUS "${dep}: FOUND")
41 # Set Compiler Flags\r
42 SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${${dep_name}_CFLAGS}")\r
43 ELSE("${dep}_FOUND")
44 message(STATUS "${dep}: NOT FOUND")
45 ENDIF("${dep}_FOUND")
46 ENDFOREACH(dep)
47 # Include non pkg-config dependencies:
48 INCLUDE(FindBoost)
49 INCLUDE(FindGC)
50 # end Dependencies
52 # Optional Dependencies Packages
53 message(STATUS "")
54 message(STATUS "")
55 message(STATUS "Checking For OPTIONAL Libraries for Building Inkscape.")
56 message(STATUS "These add additional functionality to Inkscape.")
57 FOREACH(opt ${INKSCAPE_OPTIONAL})
58 SET(opt_name "${opt}")
59 PKGCONFIG_FOUND(${opt} "${opt}_FOUND")
60 PKGCONFIG(${opt} "${opt_name}_INCLUDE_DIR" "${opt_name}_LINK_DIR" "${opt_name}_LINK_FLAGS" "${opt_name}_CFLAGS")
61 # PKGCONFIG_VERSION(${opt} "${opt}_VERSION")
62 IF("${opt}_FOUND")
63 message(STATUS "${opt}: FOUND")
64 ELSE("${opt}_FOUND")
65 message(STATUS "${opt}: NOT FOUND")
66 ENDIF("${opt}_FOUND")
67 ENDFOREACH(opt)
68 # end Optional Dependencies
69 message(STATUS "")
70 message(STATUS "")
72 SET(CMAKE_MAKE_PROGRAM "${CMAKE_MAKE_PROGRAM} -j2")
74 INCLUDE (CheckIncludeFiles)
75 # usage: CHECK_INCLUDE_FILES (<header> <RESULT_VARIABLE> )
77 CHECK_INCLUDE_FILES (malloc.h HAVE_MALLOC_H)
78 CHECK_INCLUDE_FILES (boost/concept_check.hpp HAVE_BOOST_CONCEPT_CHECK_HPP)
79 CHECK_INCLUDE_FILES (gc/gc.h HAVE_GC_GC_H)
80 CHECK_INCLUDE_FILES (gc.h HAVE_GC_H)
81 CHECK_INCLUDE_FILES (getopt.h HAVE_GETOPT_H)
82 CHECK_INCLUDE_FILES (ieeefp.h HAVE_IEEEFP_H)
83 CHECK_INCLUDE_FILES (inttypes.h HAVE_INTTYPES_H)
84 CHECK_INCLUDE_FILES (locale.h HAVE_LC_MESSAGES)
85 CHECK_INCLUDE_FILES (locale.h HAVE_LOCALE_H)
86 CHECK_INCLUDE_FILES (libintl.h HAVE_LIBINTL_H)
87 CHECK_INCLUDE_FILES (fcntl.h HAVE_FCNTL_H)
88 CHECK_INCLUDE_FILES (memory.h HAVE_MEMORY_H)
89 CHECK_INCLUDE_FILES (stddef.h HAVE_STDDEF_H)
90 CHECK_INCLUDE_FILES (stdint.h HAVE_STDINT_H)
91 CHECK_INCLUDE_FILES (stdlib.h HAVE_STDLIB_H)
92 CHECK_INCLUDE_FILES (strings.h HAVE_STRINGS_H)
93 CHECK_INCLUDE_FILES (string.h HAVE_STRING_H)
94 CHECK_INCLUDE_FILES (sys/filio.h HAVE_SYS_FILIO_H)
95 CHECK_INCLUDE_FILES (sys/stat.h HAVE_SYS_STAT_H)
96 CHECK_INCLUDE_FILES (sys/time.h HAVE_SYS_TIME_H)
97 CHECK_INCLUDE_FILES (sys/types.h HAVE_SYS_TYPES_H)
98 CHECK_INCLUDE_FILES (unistd.h HAVE_UNISTD_H)
99 CHECK_INCLUDE_FILES (zlib.h HAVE_ZLIB_H)
101 CONFIGURE_FILE(${CMAKE_CURRENT_SOURCE_DIR}/config.h.cmake ${CMAKE_CURRENT_BINARY_DIR}/config.h)
103 # Create File inkscape_version.h
104 FILE(WRITE ${CMAKE_CURRENT_BINARY_DIR}/inkscape_version.h "#define INKSCAPE_VERSION \"${INKSCAPE_VERSION}\"\n")