From 4d613dc583b96ea9205cd06f229956d6ec56c9e6 Mon Sep 17 00:00:00 2001 From: Nick Drobchenko Date: Tue, 5 Jul 2011 19:12:43 +0400 Subject: Gcodetools have been upgraded to v. 1.7. (bzr r10417) --- CMakeScripts/ConfigChecks.cmake | 140 ++++++++++++++++++++-------------------- CMakeScripts/ConfigPaths.cmake | 62 +++++++++--------- CMakeScripts/HelperMacros.cmake | 130 ++++++++++++++++++------------------- CMakeScripts/IncludeJava.cmake | 28 ++++---- 4 files changed, 180 insertions(+), 180 deletions(-) (limited to 'CMakeScripts') diff --git a/CMakeScripts/ConfigChecks.cmake b/CMakeScripts/ConfigChecks.cmake index a04cf2698..5f76e01e9 100644 --- a/CMakeScripts/ConfigChecks.cmake +++ b/CMakeScripts/ConfigChecks.cmake @@ -1,70 +1,70 @@ -#--------------- -# From here on: -# Set all HAVE_XXX variables, to correctly set all defines in config.h -#SET(CMAKE_REQUIRED_INCLUDES ${INK_INCLUDES}) -include(CheckIncludeFiles) -include(CheckFunctionExists) -include(CheckStructHasMember) -# usage: CHECK_INCLUDE_FILES (
) -# usage: CHECK_FUNCTION_EXISTS ( ) -# usage: CHECK_STRUCT_HAS_MEMBER (
) - -CHECK_INCLUDE_FILES(boost/concept_check.hpp HAVE_BOOST_CONCEPT_CHECK_HPP) -CHECK_INCLUDE_FILES(cairo-pdf.h HAVE_CAIRO_PDF) -CHECK_FUNCTION_EXISTS(floor HAVE_FLOOR) -CHECK_FUNCTION_EXISTS(fpsetmask HAVE_FPSETMASK) -CHECK_INCLUDE_FILES(gc/gc.h HAVE_GC_GC_H) -CHECK_INCLUDE_FILES(gc.h HAVE_GC_H) -CHECK_INCLUDE_FILES(getopt.h HAVE_GETOPT_H) -CHECK_FUNCTION_EXISTS(gettext HAVE_GETTEXT) -CHECK_FUNCTION_EXISTS(gettimeofday HAVE_GETTIMEOFDAY) -CHECK_FUNCTION_EXISTS(gtk_window_fullscreen HAVE_GTK_WINDOW_FULLSCREEN) -CHECK_FUNCTION_EXISTS(gtk_window_set_default_icon_from_file HAVE_GTK_WINDOW_SET_DEFAULT_ICON_FROM_FILE) -CHECK_INCLUDE_FILES(ieeefp.h HAVE_IEEEFP_H) -CHECK_INCLUDE_FILES(inttypes.h HAVE_INTTYPES_H) -CHECK_INCLUDE_FILES(locale.h HAVE_LC_MESSAGES) -CHECK_INCLUDE_FILES(locale.h HAVE_LOCALE_H) -CHECK_INCLUDE_FILES(libintl.h HAVE_LIBINTL_H) -CHECK_INCLUDE_FILES(fcntl.h HAVE_FCNTL_H) -CHECK_FUNCTION_EXISTS(mallinfo HAVE_MALLINFO) -CHECK_INCLUDE_FILES(malloc.h HAVE_MALLOC_H) -CHECK_FUNCTION_EXISTS(memmove HAVE_MEMMOVE) -CHECK_INCLUDE_FILES(memory.h HAVE_MEMORY_H) -CHECK_FUNCTION_EXISTS(memset HAVE_MEMSET) -CHECK_FUNCTION_EXISTS(mkdir HAVE_MKDIR) -CHECK_FUNCTION_EXISTS(pow HAVE_POW) -CHECK_FUNCTION_EXISTS(sqrt HAVE_SQRT) -CHECK_INCLUDE_FILES(stddef.h HAVE_STDDEF_H) -CHECK_INCLUDE_FILES(stdint.h HAVE_STDINT_H) -CHECK_INCLUDE_FILES(stdlib.h HAVE_STDLIB_H) -CHECK_INCLUDE_FILES(strings.h HAVE_STRINGS_H) -CHECK_INCLUDE_FILES(string.h HAVE_STRING_H) -CHECK_FUNCTION_EXISTS(strncasecmp HAVE_STRNCASECMP) -CHECK_FUNCTION_EXISTS(strpbrk HAVE_STRPBRK) -CHECK_FUNCTION_EXISTS(strrchr HAVE_STRRCHR) -CHECK_FUNCTION_EXISTS(strspn HAVE_STRSPN) -CHECK_FUNCTION_EXISTS(strstr HAVE_STRSTR) -CHECK_FUNCTION_EXISTS(strtoul HAVE_STRTOUL) -CHECK_STRUCT_HAS_MEMBER(fordblks mallinfo malloc.h HAVE_STRUCT_MALLINFO_FORDBLKS) -CHECK_STRUCT_HAS_MEMBER(fsmblks mallinfo malloc.h HAVE_STRUCT_MALLINFO_FSMBLKS) -CHECK_STRUCT_HAS_MEMBER(hblkhd mallinfo malloc.h HAVE_STRUCT_MALLINFO_HBLKHD) -CHECK_STRUCT_HAS_MEMBER(uordblks mallinfo malloc.h HAVE_STRUCT_MALLINFO_UORDBLKS) -CHECK_STRUCT_HAS_MEMBER(usmblks mallinfo malloc.h HAVE_STRUCT_MALLINFO_USMBLKS) -CHECK_INCLUDE_FILES(sys/filio.h HAVE_SYS_FILIO_H) -CHECK_INCLUDE_FILES(sys/stat.h HAVE_SYS_STAT_H) -CHECK_INCLUDE_FILES(sys/time.h HAVE_SYS_TIME_H) -CHECK_INCLUDE_FILES(sys/types.h HAVE_SYS_TYPES_H) -CHECK_INCLUDE_FILES(unistd.h HAVE_UNISTD_H) -CHECK_INCLUDE_FILES(zlib.h HAVE_ZLIB_H) - -#Enable pango defines, necessary for compilation on Win32, how about Linux? -# yes but needs to be done a better way -if(HAVE_CAIRO_PDF) - set(PANGO_ENABLE_ENGINE TRUE) - set(RENDER_WITH_PANGO_CAIRO TRUE) -endif() - -# Create the two configuration files: config.h and inkscape_version.h -# Create them in the binary root dir -configure_file(${CMAKE_SOURCE_DIR}/config.h.cmake ${CMAKE_BINARY_DIR}/include/config.h) -add_definitions(-DHAVE_CONFIG_H) +#--------------- +# From here on: +# Set all HAVE_XXX variables, to correctly set all defines in config.h +#SET(CMAKE_REQUIRED_INCLUDES ${INK_INCLUDES}) +include(CheckIncludeFiles) +include(CheckFunctionExists) +include(CheckStructHasMember) +# usage: CHECK_INCLUDE_FILES (
) +# usage: CHECK_FUNCTION_EXISTS ( ) +# usage: CHECK_STRUCT_HAS_MEMBER (
) + +CHECK_INCLUDE_FILES(boost/concept_check.hpp HAVE_BOOST_CONCEPT_CHECK_HPP) +CHECK_INCLUDE_FILES(cairo-pdf.h HAVE_CAIRO_PDF) +CHECK_FUNCTION_EXISTS(floor HAVE_FLOOR) +CHECK_FUNCTION_EXISTS(fpsetmask HAVE_FPSETMASK) +CHECK_INCLUDE_FILES(gc/gc.h HAVE_GC_GC_H) +CHECK_INCLUDE_FILES(gc.h HAVE_GC_H) +CHECK_INCLUDE_FILES(getopt.h HAVE_GETOPT_H) +CHECK_FUNCTION_EXISTS(gettext HAVE_GETTEXT) +CHECK_FUNCTION_EXISTS(gettimeofday HAVE_GETTIMEOFDAY) +CHECK_FUNCTION_EXISTS(gtk_window_fullscreen HAVE_GTK_WINDOW_FULLSCREEN) +CHECK_FUNCTION_EXISTS(gtk_window_set_default_icon_from_file HAVE_GTK_WINDOW_SET_DEFAULT_ICON_FROM_FILE) +CHECK_INCLUDE_FILES(ieeefp.h HAVE_IEEEFP_H) +CHECK_INCLUDE_FILES(inttypes.h HAVE_INTTYPES_H) +CHECK_INCLUDE_FILES(locale.h HAVE_LC_MESSAGES) +CHECK_INCLUDE_FILES(locale.h HAVE_LOCALE_H) +CHECK_INCLUDE_FILES(libintl.h HAVE_LIBINTL_H) +CHECK_INCLUDE_FILES(fcntl.h HAVE_FCNTL_H) +CHECK_FUNCTION_EXISTS(mallinfo HAVE_MALLINFO) +CHECK_INCLUDE_FILES(malloc.h HAVE_MALLOC_H) +CHECK_FUNCTION_EXISTS(memmove HAVE_MEMMOVE) +CHECK_INCLUDE_FILES(memory.h HAVE_MEMORY_H) +CHECK_FUNCTION_EXISTS(memset HAVE_MEMSET) +CHECK_FUNCTION_EXISTS(mkdir HAVE_MKDIR) +CHECK_FUNCTION_EXISTS(pow HAVE_POW) +CHECK_FUNCTION_EXISTS(sqrt HAVE_SQRT) +CHECK_INCLUDE_FILES(stddef.h HAVE_STDDEF_H) +CHECK_INCLUDE_FILES(stdint.h HAVE_STDINT_H) +CHECK_INCLUDE_FILES(stdlib.h HAVE_STDLIB_H) +CHECK_INCLUDE_FILES(strings.h HAVE_STRINGS_H) +CHECK_INCLUDE_FILES(string.h HAVE_STRING_H) +CHECK_FUNCTION_EXISTS(strncasecmp HAVE_STRNCASECMP) +CHECK_FUNCTION_EXISTS(strpbrk HAVE_STRPBRK) +CHECK_FUNCTION_EXISTS(strrchr HAVE_STRRCHR) +CHECK_FUNCTION_EXISTS(strspn HAVE_STRSPN) +CHECK_FUNCTION_EXISTS(strstr HAVE_STRSTR) +CHECK_FUNCTION_EXISTS(strtoul HAVE_STRTOUL) +CHECK_STRUCT_HAS_MEMBER(fordblks mallinfo malloc.h HAVE_STRUCT_MALLINFO_FORDBLKS) +CHECK_STRUCT_HAS_MEMBER(fsmblks mallinfo malloc.h HAVE_STRUCT_MALLINFO_FSMBLKS) +CHECK_STRUCT_HAS_MEMBER(hblkhd mallinfo malloc.h HAVE_STRUCT_MALLINFO_HBLKHD) +CHECK_STRUCT_HAS_MEMBER(uordblks mallinfo malloc.h HAVE_STRUCT_MALLINFO_UORDBLKS) +CHECK_STRUCT_HAS_MEMBER(usmblks mallinfo malloc.h HAVE_STRUCT_MALLINFO_USMBLKS) +CHECK_INCLUDE_FILES(sys/filio.h HAVE_SYS_FILIO_H) +CHECK_INCLUDE_FILES(sys/stat.h HAVE_SYS_STAT_H) +CHECK_INCLUDE_FILES(sys/time.h HAVE_SYS_TIME_H) +CHECK_INCLUDE_FILES(sys/types.h HAVE_SYS_TYPES_H) +CHECK_INCLUDE_FILES(unistd.h HAVE_UNISTD_H) +CHECK_INCLUDE_FILES(zlib.h HAVE_ZLIB_H) + +#Enable pango defines, necessary for compilation on Win32, how about Linux? +# yes but needs to be done a better way +if(HAVE_CAIRO_PDF) + set(PANGO_ENABLE_ENGINE TRUE) + set(RENDER_WITH_PANGO_CAIRO TRUE) +endif() + +# Create the two configuration files: config.h and inkscape_version.h +# Create them in the binary root dir +configure_file(${CMAKE_SOURCE_DIR}/config.h.cmake ${CMAKE_BINARY_DIR}/include/config.h) +add_definitions(-DHAVE_CONFIG_H) diff --git a/CMakeScripts/ConfigPaths.cmake b/CMakeScripts/ConfigPaths.cmake index de9a9b5d0..af0a7d50c 100644 --- a/CMakeScripts/ConfigPaths.cmake +++ b/CMakeScripts/ConfigPaths.cmake @@ -1,31 +1,31 @@ -MESSAGE(STATUS "Creating build files in: ${CMAKE_CURRENT_BINARY_DIR}") - -IF(WIN32) - SET(PACKAGE_LOCALE_DIR "locale") -ELSEIF(WIN32) - # TODO: check and change this to correct value: - SET(PACKAGE_LOCALE_DIR "locale") -ENDIF(WIN32) - -#SET(CMAKE_INSTALL_RPATH ${CMAKE_INSTALL_PREFIX}/lib) -#SET(CMAKE_SKIP_RPATH:BOOL OFF) - -# Include base dir, so other files can refer to the generated files. -# CMAKE_INCLUDE_CURRENT_DIR is not enough as it only includes the current dir and not the basedir with config.h in it -#INCLUDE_DIRECTORIES ("${CMAKE_BINARY_DIR}" "${PROJECT_SOURCE_DIR}" src/) -#LINK_DIRECTORIES ("${LINK_DIRECTORIES}" "${CMAKE_BINARY_DIR}" "${PROJECT_SOURCE_DIR}" src/) - -#INSTALL(TARGETS INKSCAPE -# RUNTIME DESTINATION bin -# LIBRARY DESTINATION lib -# ARCHIVE DESTINATION lib -#) - -#FILE(GLOB files "${CMAKE_CURRENT_SOURCE_DIR}/*.h") -#INSTALL(FILES ${files} DESTINATION include/INKSCAPE/INKSCAPE) - -#CONFIGURE_FILE( ${CMAKE_SOURCE_DIR}/INKSCAPE.pc.in -# ${CMAKE_BINARY_DIR}/INKSCAPE.pc @ONLY IMMEDIATE ) -#INSTALL(FILES "${CMAKE_BINARY_DIR}/INKSCAPE.pc" DESTINATION lib/pkgconfig) - -#SET(EXECUTABLE_OUTPUT_PATH ${CMAKE_BINARY_DIR}/bin CACHE INTERNAL "Where to put the executables")set(LIBRARY_OUTPUT_PATH ${CMAKE_BINARY_DIR}/lib CACHE INTERNAL "Where to put the libraries") +MESSAGE(STATUS "Creating build files in: ${CMAKE_CURRENT_BINARY_DIR}") + +IF(WIN32) + SET(PACKAGE_LOCALE_DIR "locale") +ELSEIF(WIN32) + # TODO: check and change this to correct value: + SET(PACKAGE_LOCALE_DIR "locale") +ENDIF(WIN32) + +#SET(CMAKE_INSTALL_RPATH ${CMAKE_INSTALL_PREFIX}/lib) +#SET(CMAKE_SKIP_RPATH:BOOL OFF) + +# Include base dir, so other files can refer to the generated files. +# CMAKE_INCLUDE_CURRENT_DIR is not enough as it only includes the current dir and not the basedir with config.h in it +#INCLUDE_DIRECTORIES ("${CMAKE_BINARY_DIR}" "${PROJECT_SOURCE_DIR}" src/) +#LINK_DIRECTORIES ("${LINK_DIRECTORIES}" "${CMAKE_BINARY_DIR}" "${PROJECT_SOURCE_DIR}" src/) + +#INSTALL(TARGETS INKSCAPE +# RUNTIME DESTINATION bin +# LIBRARY DESTINATION lib +# ARCHIVE DESTINATION lib +#) + +#FILE(GLOB files "${CMAKE_CURRENT_SOURCE_DIR}/*.h") +#INSTALL(FILES ${files} DESTINATION include/INKSCAPE/INKSCAPE) + +#CONFIGURE_FILE( ${CMAKE_SOURCE_DIR}/INKSCAPE.pc.in +# ${CMAKE_BINARY_DIR}/INKSCAPE.pc @ONLY IMMEDIATE ) +#INSTALL(FILES "${CMAKE_BINARY_DIR}/INKSCAPE.pc" DESTINATION lib/pkgconfig) + +#SET(EXECUTABLE_OUTPUT_PATH ${CMAKE_BINARY_DIR}/bin CACHE INTERNAL "Where to put the executables")set(LIBRARY_OUTPUT_PATH ${CMAKE_BINARY_DIR}/lib CACHE INTERNAL "Where to put the libraries") diff --git a/CMakeScripts/HelperMacros.cmake b/CMakeScripts/HelperMacros.cmake index cdb4d0386..7cd2333bc 100644 --- a/CMakeScripts/HelperMacros.cmake +++ b/CMakeScripts/HelperMacros.cmake @@ -1,65 +1,65 @@ -# A macro to replace slashes and spaces in a string with underscores -macro(SANITIZE_PATH _string_var) - string(REGEX REPLACE "[\\/ ]+" "_" ${_string_var} ${${_string_var}}) -endmacro() - - -macro(inkscape_source_group - sources) - - # Group by location on disk - source_group("Source Files" FILES CMakeLists.txt) - - foreach(_SRC ${sources}) - get_filename_component(_SRC_EXT ${_SRC} EXT) - if((${_SRC_EXT} MATCHES ".h") OR (${_SRC_EXT} MATCHES ".hpp")) - source_group("Header Files" FILES ${_SRC}) - else() - source_group("Source Files" FILES ${_SRC}) - endif() - endforeach() - - unset(_SRC) - unset(_SRC_EXT) -endmacro() - - -# only MSVC uses SOURCE_GROUP -macro(add_inkscape_lib - name - sources) - - add_library(${name} ${sources}) - - # works fine without having the includes - # listed is helpful for IDE's (QtCreator/MSVC) - inkscape_source_group("${sources}") - -endmacro() - - -# A macro to append to the global source property -set_property(GLOBAL PROPERTY inkscape_global_SRC "") - -macro (add_inkscape_source - sources) - - foreach(_SRC ${ARGV}) - get_filename_component(_ABS_SRC ${_SRC} ABSOLUTE) - set_property(GLOBAL APPEND PROPERTY inkscape_global_SRC ${_ABS_SRC}) - endforeach() - unset(_SRC) - unset(_ABS_SRC) -endmacro() - -# A macro to append to the global source property -macro (add_inkscape_library - sources) - - foreach(_SRC ${ARGV}) - get_filename_component(_ABS_SRC ${_SRC} ABSOLUTE) - set_property(GLOBAL APPEND PROPERTY inkscape_global_SRC ${_ABS_SRC}) - endforeach() - unset(_SRC) - unset(_ABS_SRC) -endmacro() +# A macro to replace slashes and spaces in a string with underscores +macro(SANITIZE_PATH _string_var) + string(REGEX REPLACE "[\\/ ]+" "_" ${_string_var} ${${_string_var}}) +endmacro() + + +macro(inkscape_source_group + sources) + + # Group by location on disk + source_group("Source Files" FILES CMakeLists.txt) + + foreach(_SRC ${sources}) + get_filename_component(_SRC_EXT ${_SRC} EXT) + if((${_SRC_EXT} MATCHES ".h") OR (${_SRC_EXT} MATCHES ".hpp")) + source_group("Header Files" FILES ${_SRC}) + else() + source_group("Source Files" FILES ${_SRC}) + endif() + endforeach() + + unset(_SRC) + unset(_SRC_EXT) +endmacro() + + +# only MSVC uses SOURCE_GROUP +macro(add_inkscape_lib + name + sources) + + add_library(${name} ${sources}) + + # works fine without having the includes + # listed is helpful for IDE's (QtCreator/MSVC) + inkscape_source_group("${sources}") + +endmacro() + + +# A macro to append to the global source property +set_property(GLOBAL PROPERTY inkscape_global_SRC "") + +macro (add_inkscape_source + sources) + + foreach(_SRC ${ARGV}) + get_filename_component(_ABS_SRC ${_SRC} ABSOLUTE) + set_property(GLOBAL APPEND PROPERTY inkscape_global_SRC ${_ABS_SRC}) + endforeach() + unset(_SRC) + unset(_ABS_SRC) +endmacro() + +# A macro to append to the global source property +macro (add_inkscape_library + sources) + + foreach(_SRC ${ARGV}) + get_filename_component(_ABS_SRC ${_SRC} ABSOLUTE) + set_property(GLOBAL APPEND PROPERTY inkscape_global_SRC ${_ABS_SRC}) + endforeach() + unset(_SRC) + unset(_ABS_SRC) +endmacro() diff --git a/CMakeScripts/IncludeJava.cmake b/CMakeScripts/IncludeJava.cmake index bd8bdb58e..1e20a4ca5 100644 --- a/CMakeScripts/IncludeJava.cmake +++ b/CMakeScripts/IncludeJava.cmake @@ -1,14 +1,14 @@ -# - include the src/javainc dir in the include path and the correct config path too - - -INCLUDE_DIRECTORIES( ${CMAKE_SOURCE_DIR}/src/bind/javainc ) - -IF (WIN32) - INCLUDE_DIRECTORIES( ${CMAKE_SOURCE_DIR}/src/bind/javainc/win32 ) -ENDIF (WIN32) -IF (UNIX) - INCLUDE_DIRECTORIES( ${CMAKE_SOURCE_DIR}/src/bind/javainc/linux ) -ENDIF (UNIX) -IF (SOLARIS) - INCLUDE_DIRECTORIES( ${CMAKE_SOURCE_DIR}/src/bind/javainc/solaris ) -ENDIF (SOLARIS) +# - include the src/javainc dir in the include path and the correct config path too + + +INCLUDE_DIRECTORIES( ${CMAKE_SOURCE_DIR}/src/bind/javainc ) + +IF (WIN32) + INCLUDE_DIRECTORIES( ${CMAKE_SOURCE_DIR}/src/bind/javainc/win32 ) +ENDIF (WIN32) +IF (UNIX) + INCLUDE_DIRECTORIES( ${CMAKE_SOURCE_DIR}/src/bind/javainc/linux ) +ENDIF (UNIX) +IF (SOLARIS) + INCLUDE_DIRECTORIES( ${CMAKE_SOURCE_DIR}/src/bind/javainc/solaris ) +ENDIF (SOLARIS) -- cgit v1.2.3