summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMarc Jeanmougin <marc@jeanmougin.fr>2016-07-06 19:47:53 +0000
committerMarc Jeanmougin <marcjeanmougin@free.fr>2016-07-06 19:47:53 +0000
commitda913d5ff40e9947eb9d2815eac3c20436711f7b (patch)
treec6a943e982fd716f22b53bd4410c582c12c687b3
parentTranslations. French translations update. (diff)
parentFixing build for Linux. (diff)
downloadinkscape-da913d5ff40e9947eb9d2815eac3c20436711f7b.tar.gz
inkscape-da913d5ff40e9947eb9d2815eac3c20436711f7b.zip
CMake build on windows (merge Sebastian's branch)
(bzr r15011)
-rw-r--r--AUTHORS2
-rw-r--r--CMakeLists.txt124
-rw-r--r--CMakeScripts/ConfigEnv.cmake54
-rw-r--r--CMakeScripts/ConfigPaths.cmake34
-rw-r--r--CMakeScripts/DefineDependsandFlags.cmake88
-rw-r--r--CMakeScripts/Install.cmake259
-rw-r--r--config.h.cmake4
-rw-r--r--configure.bat9
-rwxr-xr-xmingwenv.bat38
-rw-r--r--mingwenv.cmake184
-rw-r--r--src/CMakeLists.txt913
-rw-r--r--touch.bat1
12 files changed, 1092 insertions, 618 deletions
diff --git a/AUTHORS b/AUTHORS
index 665b32a1e..7dafa6193 100644
--- a/AUTHORS
+++ b/AUTHORS
@@ -172,3 +172,5 @@ Gellule Xg
Daniel Yacob
David Yip
Masatake Yamato
+Moritz Eberl
+Sebastian Faubel \ No newline at end of file
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 94dbf60df..910ed4e20 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -6,6 +6,8 @@ message("------------------------------")
message("Source Dir: ${CMAKE_CURRENT_SOURCE_DIR}")
message("Binary Dir: ${CMAKE_CURRENT_BINARY_DIR}")
+include(CMakeScripts/ConfigEnv.cmake)
+
# -----------------------------------------------------------------------------
# CMake Configuration
# -----------------------------------------------------------------------------
@@ -19,6 +21,7 @@ project(inkscape)
set(INKSCAPE_VERSION 0.92pre1)
set(PROJECT_NAME inkscape)
set(CMAKE_INCLUDE_CURRENT_DIR TRUE)
+
if(APPLE)
SET(CMAKE_MACOSX_RPATH TRUE)
SET(CMAKE_INSTALL_RPATH "@loader_path/../lib/inkscape")
@@ -26,7 +29,6 @@ else()
SET(CMAKE_INSTALL_RPATH "$ORIGIN/../lib/inkscape")
endif()
-
cmake_policy(SET CMP0003 NEW) # don't be prolific with library paths
cmake_policy(SET CMP0005 NEW) # proper define quoting
cmake_policy(SET CMP0009 NEW) # don't follow symbolic links when using GLOB
@@ -41,29 +43,6 @@ endif()
include(CMakeScripts/HelperFunctions.cmake)
# -----------------------------------------------------------------------------
-# Set platform defaults (originally copied from darktable)
-# -----------------------------------------------------------------------------
-if(APPLE)
- message("-- Mac OS X build detected, setting default features")
- # prefer macports and/or user-installed libraries over system ones
- #LIST(APPEND CMAKE_PREFIX_PATH /opt/local /usr/local)
- set(CMAKE_FIND_FRAMEWORK "LAST")
-
- # test and display relevant env variables
- if(DEFINED ENV{CMAKE_PREFIX_PATH})
- message("CMAKE_PREFIX_PATH: $ENV{CMAKE_PREFIX_PATH}")
- endif()
- if(DEFINED ENV{GTKMM_BASEPATH})
- message("GTKMM_BASEPATH: $ENV{GTKMM_BASEPATH}")
- endif()
-
- # detect current GTK+ backend
- pkg_check_variable(gtk+-2.0 target)
- message("GTK2 backend: ${GTK+_2.0_TARGET}")
-
-endif(APPLE)
-
-# -----------------------------------------------------------------------------
# Redirect output files
# -----------------------------------------------------------------------------
set(EXECUTABLE_OUTPUT_PATH ${CMAKE_BINARY_DIR}/bin CACHE INTERNAL "" )
@@ -104,7 +83,6 @@ else()
message("No gmock/gtest found! Perhaps you wish to run 'bash download-gtest.sh' to download it.")
endif()
-include(CMakeScripts/ConfigPaths.cmake) # Installation Paths
include(CMakeScripts/DefineDependsandFlags.cmake) # Includes, Compiler Flags, and Link Libraries
include(CMakeScripts/HelperMacros.cmake) # Misc Utility Macros
@@ -148,54 +126,51 @@ add_custom_target(uninstall
# Subdirs (on only 1 atm), but a lot happens here
# -----------------------------------------------------------------------------
add_subdirectory(src)
+
if(ENABLE_NLS)
add_subdirectory(po)
endif(ENABLE_NLS)
-
# -----------------------------------------------------------------------------
# Man pages
# -----------------------------------------------------------------------------
-include("CMakeScripts/Pod2man.cmake")
-
-# Load AUTHORS file contents into $INKSCAPE_AUTHORS
-file(READ ${CMAKE_CURRENT_SOURCE_DIR}/AUTHORS content)
-string(REGEX REPLACE "^([^\n#]+)\n" "\\1;\n" content_list "${content}")
-join(INKSCAPE_AUTHORS "," "${content_list}")
-
-foreach(podfile
- man/inkscape.pod
- man/inkscape.de.pod
- man/inkscape.el.pod
- man/inkscape.fr.pod
- man/inkscape.ja.pod
- man/inkscape.sk.pod
- man/inkscape.zh_TW.pod
- man/inkview.pod)
- set(POD_IN ${CMAKE_CURRENT_SOURCE_DIR}/${podfile}.in)
- set(POD_OUT ${CMAKE_CURRENT_BINARY_DIR}/${podfile})
- configure_file(${POD_IN} ${POD_OUT})
- pod2man(${POD_OUT} ${INKSCAPE_VERSION} 1 "Inkscape Commands Manual")
-endforeach()
+if(NOT WIN32)
+ include("CMakeScripts/Pod2man.cmake")
+
+ # Load AUTHORS file contents into $INKSCAPE_AUTHORS
+ file(READ ${CMAKE_CURRENT_SOURCE_DIR}/AUTHORS content)
+ string(REGEX REPLACE "^([^\n#]+)\n" "\\1;\n" content_list "${content}")
+
+ join(INKSCAPE_AUTHORS "," "${content_list}")
+
+ foreach(podfile
+ man/inkscape.pod
+ man/inkscape.de.pod
+ man/inkscape.el.pod
+ man/inkscape.fr.pod
+ man/inkscape.ja.pod
+ man/inkscape.sk.pod
+ man/inkscape.zh_TW.pod
+ man/inkview.pod)
+
+ set(POD_IN ${CMAKE_CURRENT_SOURCE_DIR}/${podfile}.in)
+ set(POD_OUT ${CMAKE_CURRENT_BINARY_DIR}/${podfile})
+
+ configure_file(${POD_IN} ${POD_OUT})
+
+ pod2man(${POD_OUT} ${INKSCAPE_VERSION} 1 "Inkscape Commands Manual")
+ endforeach()
+endif()
# -----------------------------------------------------------------------------
# Installation
# -----------------------------------------------------------------------------
-if(UNIX)
- #The install directive for the binaries and libraries are found in src/CMakeList.txt
-
- install(
- FILES ${CMAKE_BINARY_DIR}/inkscape.desktop
- DESTINATION ${CMAKE_INSTALL_PREFIX}/${SHARE_INSTALL}/applications
- )
-
- # this should probably be done no matter what the platform is, just set SHARE_INSTALL first
- add_subdirectory(share)
-
-else()
- # TODO, WIN32, APPLE/OSX, MinGW
-
+if(NOT WIN32)
+ # this should probably be done no matter what the platform is, just set SHARE_INSTALL first
+ add_subdirectory(share)
endif()
+
+include(CMakeScripts/Install.cmake)
# -----------------------------------------------------------------------------
# Clean
@@ -239,6 +214,8 @@ message("")
# cmake info
message("CMAKE_BINARY_DIR: ${CMAKE_BINARY_DIR}")
+message("CMAKE_INSTALL_PREFIX: ${CMAKE_INSTALL_PREFIX}")
+message("PACKAGE_LOCALE_DIR ${PACKAGE_LOCALE_DIR}")
message("CMAKE_SYSTEM_NAME: ${CMAKE_SYSTEM_NAME}")
message("CMAKE_SYSTEM_VERSION: ${CMAKE_SYSTEM_VERSION}")
message("CMAKE_SYSTEM_PROCESSOR: ${CMAKE_SYSTEM_PROCESSOR}")
@@ -247,6 +224,13 @@ message("CMAKE_CXX_COMPILER: ${CMAKE_CXX_COMPILER}")
message("CMAKE_BUILD_TYPE: ${CMAKE_BUILD_TYPE}")
message("")
+if(WIN32)
+message("CMAKE_PREFIX_PATH: ${CMAKE_PREFIX_PATH}")
+message("CMAKE_FIND_LIBRARY_PREFIXES: ${CMAKE_FIND_LIBRARY_PREFIXES}")
+message("CMAKE_FIND_LIBRARY_SUFFIXES: ${CMAKE_FIND_LIBRARY_SUFFIXES}")
+message("")
+endif()
+
# dependency info
message("ENABLE_LCMS: ${ENABLE_LCMS}")
message("ENABLE_POPPLER: ${ENABLE_POPPLER}")
@@ -263,4 +247,22 @@ message("WITH_LIBWPG: ${WITH_LIBWPG}")
message("WITH_NLS: ${WITH_NLS}")
message("WITH_OPENMP: ${WITH_OPENMP}")
message("WITH_PROFILING: ${WITH_PROFILING}")
+
+if(WIN32)
+message("")
+message("HAVE_MINGW: ${HAVE_MINGW}")
+message("HAVE_MINGW64: ${HAVE_MINGW64}")
+message("MINGW_PATH: ${MINGW_PATH}")
+message("MINGW_ARCH: ${MINGW_ARCH}")
+message("MINGW_ARCH_PATH: ${MINGW_ARCH_PATH}")
+message("MINGW64_INCLUDE: ${MINGW64_INCLUDE}")
+message("MINGW64_LIB: ${MINGW64_LIB}")
+message("DEVLIBS_PATH: ${DEVLIBS_PATH}")
+message("DEVLIBS_LIB: ${DEVLIBS_LIB}")
+message("DEVLIBS_BIN: ${DEVLIBS_BIN}")
+message("PKG_CONFIG_PATH: ${PKG_CONFIG_PATH}")
+message("GS_PATH ${GS_PATH}")
+message("GS_BIN ${GS_BIN}")
+endif()
+
message("------------------------------------------------------------------------")
diff --git a/CMakeScripts/ConfigEnv.cmake b/CMakeScripts/ConfigEnv.cmake
new file mode 100644
index 000000000..ebd005cb3
--- /dev/null
+++ b/CMakeScripts/ConfigEnv.cmake
@@ -0,0 +1,54 @@
+# -----------------------------------------------------------------------------
+# Set platform defaults (originally copied from darktable)
+# -----------------------------------------------------------------------------
+if(WIN32)
+ message("-- Windows build detected, setting default features")
+
+ include(mingwenv.cmake)
+
+ list(INSERT CMAKE_SYSTEM_INCLUDE_PATH 0 ${DEVLIBS_PATH})
+ list(INSERT CMAKE_SYSTEM_LIBRARY_PATH 0 ${DEVLIBS_PATH})
+
+ set(CMAKE_C_COMPILER "${MINGW_BIN}/gcc.exe")
+ set(CMAKE_C_LINK_EXECUTABLE "${MINGW_BIN}/gcc.exe")
+ set(CMAKE_CXX_COMPILER "${MINGW_BIN}/g++.exe")
+ set(CMAKE_CXX_LINK_EXECUTABLE "${MINGW_BIN}/g++.exe")
+ set(CMAKE_CXX_STANDARD 11)
+
+ # Setup Windows resource files compiler.
+ set(CMAKE_RC_COMPILER "${MINGW_BIN}/windres.exe")
+ set(CMAKE_RC_COMPILER_INIT windres)
+ enable_language(RC)
+ set(CMAKE_RC_COMPILE_OBJECT "<CMAKE_RC_COMPILER> -O coff -i <SOURCE> -o <OBJECT>")
+
+ # These options are required for having i18n support on Windows.
+ option(ENABLE_NLS "Compile with Native Language Support (using gettext)" ON)
+ option(HAVE_BIND_TEXTDOMAIN_CODESET "Compile with 'bind_textdomain_codeset' function" ON)
+
+ # Does not compile on Windows with these options.
+ option(BR_PTHREADS "Use binreloc thread support" OFF)
+ option(ENABLE_BINRELOC "Use AutoPackage" OFF)
+endif()
+
+if(APPLE)
+ message("-- Mac OS X build detected, setting default features")
+
+ # prefer macports and/or user-installed libraries over system ones
+ #LIST(APPEND CMAKE_PREFIX_PATH /opt/local /usr/local)
+ set(CMAKE_FIND_FRAMEWORK "LAST")
+
+ # test and display relevant env variables
+ if(DEFINED ENV{CMAKE_PREFIX_PATH})
+ message("CMAKE_PREFIX_PATH: $ENV{CMAKE_PREFIX_PATH}")
+ endif()
+
+ if(DEFINED ENV{GTKMM_BASEPATH})
+ message("GTKMM_BASEPATH: $ENV{GTKMM_BASEPATH}")
+ endif()
+
+ # detect current GTK+ backend
+ pkg_check_variable(gtk+-2.0 target)
+ message("GTK2 backend: ${GTK+_2.0_TARGET}")
+endif()
+
+include(CMakeScripts/ConfigPaths.cmake) \ No newline at end of file
diff --git a/CMakeScripts/ConfigPaths.cmake b/CMakeScripts/ConfigPaths.cmake
index 3b13a7734..9489ba047 100644
--- a/CMakeScripts/ConfigPaths.cmake
+++ b/CMakeScripts/ConfigPaths.cmake
@@ -1,16 +1,28 @@
message(STATUS "Creating build files in: ${CMAKE_CURRENT_BINARY_DIR}")
if(WIN32)
- set(PACKAGE_LOCALE_DIR "locale")
+ set(CMAKE_INSTALL_PREFIX "${CMAKE_BINARY_DIR}/inkscape")
+
+ set(INKSCAPE_LIBDIR "\\\\lib")
+ set(INKSCAPE_DATADIR "")
+
+ set(PACKAGE_LOCALE_DIR "\\\\share\\\\locale")
+
+ set(SHARE_INSTALL "share" CACHE STRING "Data file install path. Must be a relative path (from CMAKE_INSTALL_PREFIX), with no trailing slash.")
+
+ mark_as_advanced(SHARE_INSTALL)
+else()
+ set(INKSCAPE_LIBDIR "${CMAKE_INSTALL_PREFIX}/lib")
+ set(INKSCAPE_DATADIR "${CMAKE_INSTALL_PREFIX}/share")
+
+ # TODO: check and change this to correct value:
+ if(NOT PACKAGE_LOCALE_DIR)
+ set(PACKAGE_LOCALE_DIR "${CMAKE_INSTALL_PREFIX}/share/locale") # packagers might overwrite this
+ endif(NOT PACKAGE_LOCALE_DIR)
+
+ if(NOT SHARE_INSTALL)
set(SHARE_INSTALL "share" CACHE STRING "Data file install path. Must be a relative path (from CMAKE_INSTALL_PREFIX), with no trailing slash.")
-else(WIN32)
- # TODO: check and change this to correct value:
- if(NOT PACKAGE_LOCALE_DIR)
- set(PACKAGE_LOCALE_DIR "${CMAKE_INSTALL_PREFIX}/share/locale") # packagers might overwrite this
- endif(NOT PACKAGE_LOCALE_DIR)
+ endif(NOT SHARE_INSTALL)
- if(NOT SHARE_INSTALL)
- set(SHARE_INSTALL "share" CACHE STRING "Data file install path. Must be a relative path (from CMAKE_INSTALL_PREFIX), with no trailing slash.")
- endif(NOT SHARE_INSTALL)
- mark_as_advanced(SHARE_INSTALL)
-endif(WIN32)
+ mark_as_advanced(SHARE_INSTALL)
+endif() \ No newline at end of file
diff --git a/CMakeScripts/DefineDependsandFlags.cmake b/CMakeScripts/DefineDependsandFlags.cmake
index 706860a00..b708484af 100644
--- a/CMakeScripts/DefineDependsandFlags.cmake
+++ b/CMakeScripts/DefineDependsandFlags.cmake
@@ -15,75 +15,31 @@ list(APPEND INKSCAPE_INCS ${PROJECT_SOURCE_DIR}
# Files we include
# ----------------------------------------------------------------------------
if(WIN32)
-message("---------------- BEGIN: Win32 ----------------")
-
- # The name of the target operating system
- set(CMAKE_SYSTEM_NAME Windows)
-
- message("CMAKE_SYSTEM_NAME: " ${CMAKE_SYSTEM_NAME})
-
- set(CMAKE_C_COMPILER gcc)
- set(CMAKE_CXX_COMPILER g++)
- set(CMAKE_RC_COMPILER windres)
-
- # Adjust the command line parameters for windres to the verion of MinGW.
- set(CMAKE_RC_COMPILER_INIT windres)
- enable_language(RC)
- set(CMAKE_RC_COMPILE_OBJECT "<CMAKE_RC_COMPILER> -O coff -i <SOURCE> -o <OBJECT>")
-
- # Here is the target environment located
- set(CMAKE_FIND_ROOT_PATH $ENV{MINGW_PATH}/)
-
- message("CMAKE_FIND_ROOT_PATH: " ${CMAKE_FIND_ROOT_PATH})
-
- # Tweak CMake into using Unix-style library names.
- set(CMAKE_FIND_LIBRARY_PREFIXES "lib")
- set(CMAKE_FIND_LIBRARY_SUFFIXES ".dll.a" ".dll")
-
- message("CMAKE_FIND_LIBRARY_PREFIXES: " ${CMAKE_FIND_LIBRARY_PREFIXES})
- message("CMAKE_FIND_LIBRARY_SUFFIXES: " ${CMAKE_FIND_LIBRARY_SUFFIXES})
-
- set(SDL_INCLUDE_DIR ${CMAKE_FIND_ROOT_PATH}x86_64-w64-mingw32/include/c++)
-
- message("SDL_INCLUDE_DIR: " ${SDL_INCLUDE_DIR})
-
- #if (${CMAKE_SYSTEM_PROCESSOR} MATCHES "^amd64")
- link_directories($ENV{MINGW_PATH}/lib)
- link_directories($ENV{DEVLIBS_PATH}/lib)
- link_directories($ENV{MINGW_PATH}/x86_64-w64-mingw32/lib)
- link_directories($ENV{WINDIR}/system32)
-
- include_directories($ENV{MINGW_PATH}/include)
-
- include_directories($ENV{MINGW_PATH}/x86_64-w64-mingw32/include)
- include_directories($ENV{MINGW_PATH}/x86_64-w64-mingw32/include/c++)
- #endif ()
-
- get_property(dirs DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} PROPERTY INCLUDE_DIRECTORIES)
-
- foreach(dir ${dirs})
- message("CMAKE_INCLUDE_DIR:" ${dir})
- endforeach()
-
- add_definitions(-DFLT_EPSILON=1e-9)
- add_definitions(-DFLT_MAX=1e+37)
- add_definitions(-DFLT_MIN=1e-37)
-
- list(APPEND INKSCAPE_LIBS "-lgomp")
- list(APPEND INKSCAPE_LIBS "-lwinpthread")
- list(APPEND INKSCAPE_LIBS "-lmscms")
-
- list(APPEND INKSCAPE_CXX_FLAGS "-mwindows")
- list(APPEND INKSCAPE_CXX_FLAGS "-mthreads")
- list(APPEND INKSCAPE_CXX_FLAGS "-m64")
-
- # Try to compile using C++ 11.
- set(CMAKE_CXX_STANDARD 11)
-
- message("---------------- END: Win32 ----------------")
+ # Set the link and include directories
+ get_property(dirs DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} PROPERTY INCLUDE_DIRECTORIES)
+
+ # MinGW supplied STL does not define these floating point constants.. :/
+ add_definitions(-DFLT_EPSILON=1e-9)
+ add_definitions(-DFLT_MAX=1e+37)
+ add_definitions(-DFLT_MIN=1e-37)
+
+ list(APPEND INKSCAPE_LIBS "-lmscms")
+
+ list(APPEND INKSCAPE_CXX_FLAGS "-mwindows")
+ list(APPEND INKSCAPE_CXX_FLAGS "-mthreads")
+
+ if(HAVE_MINGW64)
+ list(APPEND INKSCAPE_LIBS "-lgomp")
+ list(APPEND INKSCAPE_LIBS "-lwinpthread")
+
+ list(APPEND INKSCAPE_CXX_FLAGS "-m64")
+ else()
+ list(APPEND INKSCAPE_CXX_FLAGS "-m32")
+ endif()
endif()
pkg_check_modules(INKSCAPE_DEP REQUIRED pangocairo pangoft2 fontconfig gthread-2.0 gsl gmodule-2.0)
+
list(APPEND INKSCAPE_LIBS ${INKSCAPE_DEP_LDFLAGS})
list(APPEND INKSCAPE_INCS_SYS ${INKSCAPE_DEP_INCLUDE_DIRS})
list(APPEND INKSCAPE_LIBS ${INKSCAPE_DEP_LIBRARIES})
diff --git a/CMakeScripts/Install.cmake b/CMakeScripts/Install.cmake
new file mode 100644
index 000000000..aee0444de
--- /dev/null
+++ b/CMakeScripts/Install.cmake
@@ -0,0 +1,259 @@
+if(UNIX)
+ #The install directive for the binaries and libraries are found in src/CMakeList.txt
+ install(FILES
+ ${CMAKE_BINARY_DIR}/inkscape.desktop
+ DESTINATION ${CMAKE_INSTALL_PREFIX}/${SHARE_INSTALL}/applications)
+endif()
+
+if(WIN32)
+ install(PROGRAMS
+ ${EXECUTABLE_OUTPUT_PATH}/inkscape.exe
+ ${EXECUTABLE_OUTPUT_PATH}/inkview.exe
+ DESTINATION ${CMAKE_INSTALL_PREFIX}
+ )
+
+ install(FILES
+ ${LIBRARY_OUTPUT_PATH}/libinkscape_base.dll
+ ${LIBRARY_OUTPUT_PATH}/libgrid2.dll
+ DESTINATION ${CMAKE_INSTALL_PREFIX}
+ )
+
+ # devlibs and mingw dlls
+ install(FILES
+ AUTHORS
+ COPYING
+ NEWS
+ README
+ TRANSLATORS
+ DESTINATION ${CMAKE_INSTALL_PREFIX})
+
+ # There are differences in the devlibs for 64-Bit and 32-Bit build environments.
+ if(HAVE_MINGW64)
+ install(FILES
+ ${DEVLIBS_BIN}/bz2-1.dll
+ ${DEVLIBS_BIN}/icudt56.dll
+ ${DEVLIBS_BIN}/icuin56.dll
+ ${DEVLIBS_BIN}/icuuc56.dll
+ ${DEVLIBS_BIN}/libMagick++-6.Q16-6.dll
+ ${DEVLIBS_BIN}/libMagickCore-6.Q16-2.dll
+ ${DEVLIBS_BIN}/libMagickWand-6.Q16-2.dll
+ ${DEVLIBS_BIN}/libaspell-15.dll
+ ${DEVLIBS_BIN}/libatk-1.0-0.dll
+ ${DEVLIBS_BIN}/libatkmm-1.6-1.dll
+ ${DEVLIBS_BIN}/libcairo-2.dll
+ ${DEVLIBS_BIN}/libcairomm-1.0-1.dll
+ ${DEVLIBS_BIN}/libcdr-0.1.dll
+ ${DEVLIBS_BIN}/libcurl-4.dll
+ ${DEVLIBS_BIN}/libexif-12.dll
+ ${DEVLIBS_BIN}/libexpat-1.dll
+ ${DEVLIBS_BIN}/libexslt-0.dll
+ ${DEVLIBS_BIN}/libffi-6.dll
+ ${DEVLIBS_BIN}/libfontconfig-1.dll
+ ${DEVLIBS_BIN}/libfreetype-6.dll
+ ${DEVLIBS_BIN}/libgc-1.dll
+ ${DEVLIBS_BIN}/libgdk-win32-2.0-0.dll
+ ${DEVLIBS_BIN}/libgdk_pixbuf-2.0-0.dll
+ ${DEVLIBS_BIN}/libgdkmm-2.4-1.dll
+ ${DEVLIBS_BIN}/libgio-2.0-0.dll
+ ${DEVLIBS_BIN}/libgiomm-2.4-1.dll
+ ${DEVLIBS_BIN}/libglib-2.0-0.dll
+ ${DEVLIBS_BIN}/libglibmm-2.4-1.dll
+ ${DEVLIBS_BIN}/libgmodule-2.0-0.dll
+ ${DEVLIBS_BIN}/libgobject-2.0-0.dll
+ ${DEVLIBS_BIN}/libgsl-19.dll
+ ${DEVLIBS_BIN}/libgslcblas-0.dll
+ ${DEVLIBS_BIN}/libgthread-2.0-0.dll
+ ${DEVLIBS_BIN}/libgtk-win32-2.0-0.dll
+ ${DEVLIBS_BIN}/libgtkmm-2.4-1.dll
+ ${DEVLIBS_BIN}/libharfbuzz-0.dll
+ ${DEVLIBS_BIN}/libiconv-2.dll
+ ${DEVLIBS_BIN}/libintl-8.dll
+ ${DEVLIBS_BIN}/libjpeg-9.dll
+ ${DEVLIBS_BIN}/liblcms2-2.dll
+ ${DEVLIBS_BIN}/liblzma-5.dll
+ ${DEVLIBS_BIN}/libpango-1.0-0.dll
+ ${DEVLIBS_BIN}/libpangocairo-1.0-0.dll
+ ${DEVLIBS_BIN}/libpangoft2-1.0-0.dll
+ ${DEVLIBS_BIN}/libpangomm-1.4-1.dll
+ ${DEVLIBS_BIN}/libpangowin32-1.0-0.dll
+ ${DEVLIBS_BIN}/libpixman-1-0.dll
+ ${DEVLIBS_BIN}/libpng16-16.dll
+ ${DEVLIBS_BIN}/libpoppler-58.dll
+ ${DEVLIBS_BIN}/libpoppler-glib-8.dll
+ ${DEVLIBS_BIN}/libpopt-0.dll
+ ${DEVLIBS_BIN}/libpotrace-0.dll
+ ${DEVLIBS_BIN}/librevenge-0.0.dll
+ ${DEVLIBS_BIN}/librevenge-stream-0.0.dll
+ ${DEVLIBS_BIN}/libsigc-2.0-0.dll
+ ${DEVLIBS_BIN}/libtiff-5.dll
+ ${DEVLIBS_BIN}/libvisio-0.1.dll
+ ${DEVLIBS_BIN}/libwpd-0.10.dll
+ ${DEVLIBS_BIN}/libwpg-0.3.dll
+ ${DEVLIBS_BIN}/libxml2-2.dll
+ ${DEVLIBS_BIN}/libxslt-1.dll
+ ${DEVLIBS_BIN}/zlib1.dll
+ ${MINGW_BIN}/libstdc++-6.dll
+ ${MINGW_BIN}/libwinpthread-1.dll
+ ${MINGW_BIN}/libgcc_s_seh-1.dll
+ ${MINGW_BIN}/libgomp-1.dll
+ DESTINATION ${CMAKE_INSTALL_PREFIX})
+ else()
+ install(FILES
+ ${DEVLIBS_BIN}/bzip2.dll
+ ${DEVLIBS_BIN}/freetype6.dll
+ ${DEVLIBS_BIN}/iconv.dll
+ ${DEVLIBS_BIN}/icudata50.dll
+ ${DEVLIBS_BIN}/icui18n50.dll
+ ${DEVLIBS_BIN}/icuuc50.dll
+ ${DEVLIBS_BIN}/intl.dll
+ ${DEVLIBS_BIN}/libMagick++-3.dll
+ ${DEVLIBS_BIN}/libMagickCore-3.dll
+ ${DEVLIBS_BIN}/libMagickWand-3.dll
+ ${DEVLIBS_BIN}/libatk-1.0-0.dll
+ ${DEVLIBS_BIN}/libatkmm-1.6-1.dll
+ ${DEVLIBS_BIN}/libcairo-2.dll
+ ${DEVLIBS_BIN}/libcairomm-1.0-1.dll
+ ${DEVLIBS_BIN}/libcdr-0.1.dll
+ ${DEVLIBS_BIN}/libexif-12.dll
+ ${DEVLIBS_BIN}/libexpat-1.dll
+ ${DEVLIBS_BIN}/libexslt.dll
+ ${DEVLIBS_BIN}/libfontconfig-1.dll
+ ${DEVLIBS_BIN}/libgcc_s_sjlj-1.dll
+ ${DEVLIBS_BIN}/libgdk-win32-2.0-0.dll
+ ${DEVLIBS_BIN}/libgdk_pixbuf-2.0-0.dll
+ ${DEVLIBS_BIN}/libgdkmm-2.4-1.dll
+ ${DEVLIBS_BIN}/libgio-2.0-0.dll
+ ${DEVLIBS_BIN}/libgiomm-2.4-1.dll
+ ${DEVLIBS_BIN}/libglib-2.0-0.dll
+ ${DEVLIBS_BIN}/libglibmm-2.4-1.dll
+ ${DEVLIBS_BIN}/libgmodule-2.0-0.dll
+ ${DEVLIBS_BIN}/libgobject-2.0-0.dll
+ ${DEVLIBS_BIN}/libgthread-2.0-0.dll
+ ${DEVLIBS_BIN}/libgtk-win32-2.0-0.dll
+ ${DEVLIBS_BIN}/libgtkmm-2.4-1.dll
+ ${DEVLIBS_BIN}/libintl-8.dll
+ ${DEVLIBS_BIN}/libjpeg-7.dll
+ ${DEVLIBS_BIN}/liblcms-1.dll
+ ${DEVLIBS_BIN}/liblcms2-2.dll
+ ${DEVLIBS_BIN}/libopenjpeg-2.dll
+ ${DEVLIBS_BIN}/libpango-1.0-0.dll
+ ${DEVLIBS_BIN}/libpangocairo-1.0-0.dll
+ ${DEVLIBS_BIN}/libpangoft2-1.0-0.dll
+ ${DEVLIBS_BIN}/libpangomm-1.4-1.dll
+ ${DEVLIBS_BIN}/libpangowin32-1.0-0.dll
+ ${DEVLIBS_BIN}/libpixman-1-0.dll
+ ${DEVLIBS_BIN}/libpng12-0.dll
+ ${DEVLIBS_BIN}/libpng14-14.dll
+ ${DEVLIBS_BIN}/libpoppler-58.dll
+ ${DEVLIBS_BIN}/libpoppler-glib-8.dll
+ ${DEVLIBS_BIN}/libpopt-0.dll
+ ${DEVLIBS_BIN}/librevenge-0.0.dll
+ ${DEVLIBS_BIN}/librevenge-stream-0.0.dll
+ ${DEVLIBS_BIN}/libsigc-2.0-0.dll
+ ${DEVLIBS_BIN}/libtiff-3.dll
+ ${DEVLIBS_BIN}/libvisio-0.1.dll
+ ${DEVLIBS_BIN}/libwpd-0.9.dll
+ ${DEVLIBS_BIN}/libwpd-stream-0.9.dll
+ ${DEVLIBS_BIN}/libwpg-0.2.dll
+ ${DEVLIBS_BIN}/libxml2.dll
+ ${DEVLIBS_BIN}/libxslt.dll
+ ${DEVLIBS_BIN}/msvcr70.dll
+ ${DEVLIBS_BIN}/msvcr71.dll
+ ${DEVLIBS_BIN}/pthreadGC2.dll
+ ${DEVLIBS_BIN}/zlib1.dll
+ ${MINGW_BIN}/mingwm10.dll
+ ${MINGW_BIN}/libgomp-1.dll
+ DESTINATION ${CMAKE_INSTALL_PREFIX})
+ endif()
+
+ # Setup application data directories, poppler files, locales, icons and themes
+ file(MAKE_DIRECTORY
+ data
+ doc
+ modules
+ plugins)
+
+ install(DIRECTORY
+ data
+ doc
+ modules
+ plugins
+ share
+ DESTINATION ${CMAKE_INSTALL_PREFIX}
+ PATTERN Adwaita EXCLUDE # NOTE: The theme is not used on Windows.
+ PATTERN hicolor/index.theme EXCLUDE # NOTE: Empty index.theme in hicolor icon theme causes SIGSEGV.
+ PATTERN CMakeLists.txt EXCLUDE
+ PATTERN *.am EXCLUDE)
+
+ install(DIRECTORY ${DEVLIBS_PATH}/share/themes
+ DESTINATION ${CMAKE_INSTALL_PREFIX}/share)
+
+ install(DIRECTORY ${DEVLIBS_PATH}/share/locale
+ DESTINATION ${CMAKE_INSTALL_PREFIX}/share)
+
+ install(DIRECTORY ${DEVLIBS_PATH}/share/poppler
+ DESTINATION ${CMAKE_INSTALL_PREFIX}/share)
+
+ install(DIRECTORY ${DEVLIBS_PATH}/etc/fonts
+ DESTINATION ${CMAKE_INSTALL_PREFIX}/etc)
+
+ install(DIRECTORY ${DEVLIBS_PATH}/etc/gtk-2.0
+ DESTINATION ${CMAKE_INSTALL_PREFIX}/etc)
+
+ # GTK 2.0
+ install(DIRECTORY ${DEVLIBS_LIB}/gtk-2.0
+ DESTINATION ${CMAKE_INSTALL_PREFIX}/lib
+ FILES_MATCHING
+ PATTERN "*.dll"
+ PATTERN "*.cache")
+
+ install(DIRECTORY ${DEVLIBS_LIB}/gdk-pixbuf-2.0
+ DESTINATION ${CMAKE_INSTALL_PREFIX}/lib
+ FILES_MATCHING
+ PATTERN "*.dll"
+ PATTERN "*.cache")
+
+ # Aspell dictionaries
+ install(DIRECTORY ${DEVLIBS_LIB}/aspell-0.60
+ DESTINATION ${CMAKE_INSTALL_PREFIX}/lib)
+
+ # Necessary to run extensions on windows if it is not in the path
+ if (HAVE_MINGW64)
+ install(FILES
+ ${DEVLIBS_BIN}/gspawn-win64-helper.exe
+ ${DEVLIBS_BIN}/gspawn-win64-helper-console.exe
+ DESTINATION ${CMAKE_INSTALL_PREFIX})
+ else()
+ install(FILES
+ ${DEVLIBS_BIN}/gspawn-win32-helper.exe
+ ${DEVLIBS_BIN}/gspawn-win32-helper-console.exe
+ DESTINATION ${CMAKE_INSTALL_PREFIX})
+ endif()
+
+ # Perl
+ install(FILES
+ ${DEVLIBS_PATH}/perl/bin/perl58.dll
+ DESTINATION ${CMAKE_INSTALL_PREFIX})
+
+ # Python
+ install(FILES
+ ${DEVLIBS_PATH}/python/python.exe
+ ${DEVLIBS_PATH}/python/pythonw.exe
+ DESTINATION ${CMAKE_INSTALL_PREFIX}/python)
+
+ if(HAVE_MINGW64)
+ install(FILES
+ ${DEVLIBS_PATH}/python/python27.dll
+ DESTINATION ${CMAKE_INSTALL_PREFIX}/python)
+ else()
+ install(FILES
+ ${DEVLIBS_PATH}/python/python26.dll
+ DESTINATION ${CMAKE_INSTALL_PREFIX}/python)
+ endif()
+
+ install(DIRECTORY ${DEVLIBS_PATH}/python/lib
+ DESTINATION ${CMAKE_INSTALL_PREFIX}/python)
+
+ install(DIRECTORY ${DEVLIBS_PATH}/python/dlls
+ DESTINATION ${CMAKE_INSTALL_PREFIX}/python)
+endif() \ No newline at end of file
diff --git a/config.h.cmake b/config.h.cmake
index eae54fd03..00d6fb8b3 100644
--- a/config.h.cmake
+++ b/config.h.cmake
@@ -232,10 +232,10 @@
#cmakedefine HAVE_ZLIB_H 1
/* Base data directory -- only path-prefix.h should use it! */
-#define INKSCAPE_DATADIR "${CMAKE_INSTALL_PREFIX}/share"
+#define INKSCAPE_DATADIR "${INKSCAPE_DATADIR}"
/* Base library directory -- only path-prefix.h should use it! */
-#define INKSCAPE_LIBDIR "${CMAKE_INSTALL_PREFIX}/lib"
+#define INKSCAPE_LIBDIR "${INKSCAPE_LIBDIR}"
/* Define to 1 if `lstat' dereferences a symlink specified with a trailing
slash. */
diff --git a/configure.bat b/configure.bat
deleted file mode 100644
index 11adb9445..000000000
--- a/configure.bat
+++ /dev/null
@@ -1,9 +0,0 @@
-REM Set the MinGW environment variables.
-if "%MINGW_BIN%"=="" call mingwenv.bat
-
-REM Delete the CMake cache. Needed when changes on the CMakeLists should be applied in a consistent way.
-del CMakeCache.txt
-rmdir /s /q CMakeFiles
-
-REM Configure using the MinGW compiler chain.
-cmake -D"CMAKE_SYSTEM_PREFIX_PATH:PATH=C:\MinGW64\mingw64\x86_64-w64-mingw32" -G "MinGW Makefiles" ..
diff --git a/mingwenv.bat b/mingwenv.bat
index 126f3703c..054e5dcc6 100755
--- a/mingwenv.bat
+++ b/mingwenv.bat
@@ -1,9 +1,29 @@
-@echo Setting environment variables for MinGw build of Inkscape
-IF "%DEVLIBS_PATH%"=="" set DEVLIBS_PATH=c:\devlibs
-IF "%MINGW_PATH%"=="" set MINGW_PATH=c:\mingw
-set MINGW_BIN=%MINGW_PATH%\bin
-set PKG_CONFIG_PATH=%DEVLIBS_PATH%\lib\pkgconfig
-set GS_BIN=C:\latex\gs\gs8.61\bin
-set PATH=%DEVLIBS_PATH%\bin;%DEVLIBS_PATH%\python;%MINGW_BIN%;%PATH%;%GS_BIN%
-set CMAKE_PREFIX_PATH=%DEVLIBS_PATH%
-set GTKMM_BASEPATH=%DEVLIBS_PATH%
+@echo off
+
+REM -----------------------------------------------------------------------------
+REM The paths in this file are used if you want to build Inkscape from the
+REM the Windows built-in command line (i.e. MSYS).
+REM -----------------------------------------------------------------------------
+
+REM Directory containing the precompiled Inkscape libraries. Usually c:\devlibs or c:\devlibs64
+if "%DEVLIBS_PATH%"=="" set DEVLIBS_PATH=c:\devlibs64
+
+REM Directory containing the MinGW instance used for compilation. Usually c:\mingw or c:\mingw64
+REM Note: Make sure there are no whitespaces in the path. MinGW doesn't like that.. ;)
+if "%MINGW_PATH%"=="" set MINGW_PATH=c:\mingw64
+
+REM Directory containing the (optional) Ghostscript installation.
+if "%GS_PATH%"=="" set GS_PATH=C:\latex\gs\gs8.61
+
+REM -----------------------------------------------------------------------------
+@echo Setting environment variables for MinGW build of Inkscape..
+
+@echo DEVLIBS_PATH: %DEVLIBS_PATH%
+@echo MINGW_PATH: %MINGW_PATH%
+@echo GS_PATH: %GS_PATH%
+
+REM Include the MinGW environment in the path to prevent error messages during CMake configure.
+set PATH=%DEVLIBS_PATH%\bin;%DEVLIBS_PATH%\python;%MINGW_PATH%\bin;%PATH%;%GS_PATH%\bin
+
+REM Also set the pkgconfig path to prevent error messages during CMake configure.
+set PKG_CONFIG_PATH=%DEVLIBS_PATH%\lib\pkgconfig \ No newline at end of file
diff --git a/mingwenv.cmake b/mingwenv.cmake
new file mode 100644
index 000000000..ab96541d8
--- /dev/null
+++ b/mingwenv.cmake
@@ -0,0 +1,184 @@
+# -----------------------------------------------------------------------------
+# Set the paths in this file if you want to build Inkscape from a shell other than the
+# Windows built-in command line (i.e. MSYS) or IDEs such as CodeLite. These variables
+# will be used as default if no environment variables are set.
+# -----------------------------------------------------------------------------
+
+# Directory containing the precompiled Inkscape libraries. Usually c:\devlibs or c:\devlibs64
+set(ENV_DEVLIBS_PATH C:/devlibs64)
+
+# Directory containing the MinGW instance used for compilation. Usually c:\mingw or c:\mingw64
+set(ENV_MINGW_PATH C:/mingw64)
+
+# Directory containing the (optional) Ghostscript installation.
+set(ENV_GS_PATH C:/latex/gs/gs8.61)
+
+# -----------------------------------------------------------------------------
+# MinGW Configuration
+# -----------------------------------------------------------------------------
+message(STATUS "Configuring MinGW environment:")
+
+if("$ENV{DEVLIBS_PATH}" STREQUAL "")
+ message(STATUS " Setting path to development libraries from mingwenv.cmake: ${ENV_DEVLIBS_PATH}")
+ set(DEVLIBS_PATH ${ENV_DEVLIBS_PATH})
+else()
+ message(STATUS " Setting path to development libraries from environment: $ENV{DEVLIBS_PATH}")
+ set(DEVLIBS_PATH $ENV{DEVLIBS_PATH})
+endif()
+
+if("$ENV{MINGW_PATH}" STREQUAL "")
+ message(STATUS " Setting path to MinGW from mingwenv.cmake: ${ENV_MINGW_PATH}")
+ set(MINGW_PATH ${ENV_MINGW_PATH})
+else()
+ message(STATUS " Setting path to MinGW from environment: $ENV{MINGW_PATH}")
+ set(MINGW_PATH $ENV{MINGW_PATH})
+endif()
+
+if("$ENV{GS_PATH}" STREQUAL "")
+ message(STATUS " Setting path to Ghostscript from mingwenv.cmake: ${ENV_GS_PATH}")
+ set(GS_PATH ${ENV_GS_PATH})
+else()
+ message(STATUS " Setting path to Ghostscript from environment: $ENV{GS_PATH}")
+ set(GS_PATH $ENV{GS_PATH})
+endif()
+
+# Normalize directory separator slashes.
+string(REGEX REPLACE "\\\\" "/" DEVLIBS_PATH ${DEVLIBS_PATH})
+string(REGEX REPLACE "\\\\" "/" MINGW_PATH ${MINGW_PATH})
+string(REGEX REPLACE "\\\\" "/" GS_PATH ${GS_PATH})
+
+# -----------------------------------------------------------------------------
+# DEVLIBS CHECKS
+# -----------------------------------------------------------------------------
+
+# Directory containing the compile time .dll.a and .a files.
+set(DEVLIBS_LIB "${DEVLIBS_PATH}/lib")
+
+if(NOT EXISTS "${DEVLIBS_LIB}")
+ message(FATAL_ERROR "Inkscape development libraries directory does not exist: ${DEVLIBS_LIB}")
+endif()
+
+# Add devlibs libraries to linker path.
+link_directories(${DEVLIBS_LIB})
+
+set(DEVLIBS_INCLUDE ${DEVLIBS_PATH}/include)
+
+if(NOT EXISTS ${DEVLIBS_INCLUDE})
+ message(FATAL_ERROR "Inkscape development libraries directory does not exist: ${DEVLIBS_INCLUDE}")
+endif()
+
+# Add general MinGW headers to compiler include path.
+#include_directories(${DEVLIBS_INCLUDE})
+
+# Directory containing the precompiled .dll files.
+set(DEVLIBS_BIN ${DEVLIBS_PATH}/bin)
+
+if(NOT EXISTS ${DEVLIBS_BIN})
+ message(FATAL_ERROR "Inkscape development binaries directory does not exist: ${DEVLIBS_BIN}")
+endif()
+
+# Directory containing the pkgconfig .pc files.
+set(PKG_CONFIG_PATH "${DEVLIBS_PATH}/lib/pkgconfig")
+
+if(NOT EXISTS "${PKG_CONFIG_PATH}")
+ message(FATAL_ERROR "pkgconfig directory does not exist: ${PKG_CONFIG_PATH}")
+endif()
+
+# Add the devlibs directories to the paths used to find libraries and programs.
+list(APPEND CMAKE_PREFIX_PATH ${DEVLIBS_PATH})
+
+# Eliminate error messages when not having mingw in the environment path variable.
+list(APPEND CMAKE_PROGRAM_PATH ${DEVLIBS_BIN})
+
+# -----------------------------------------------------------------------------
+# MINGW CHECKS
+# -----------------------------------------------------------------------------
+
+# We are in a MinGW environment.
+set(HAVE_MINGW ON)
+
+# Try to determine the MinGW processor architecture.
+if(EXISTS "${MINGW_PATH}/mingw32")
+ set(HAVE_MINGW64 OFF)
+ set(MINGW_ARCH mingw32)
+elseif(EXISTS "${MINGW_PATH}/x86_64-w64-mingw32")
+ set(HAVE_MINGW64 ON)
+ set(MINGW_ARCH x86_64-w64-mingw32)
+else()
+ message(FATAL_ERROR "Unable to determine MinGW processor architecture. Are you using an unsupported MinGW version?")
+endif()
+
+# Path to processor architecture specific binaries and libs.
+set(MINGW_ARCH_PATH "${MINGW_PATH}/${MINGW_ARCH}")
+
+set(MINGW_BIN "${MINGW_PATH}/bin")
+
+if(NOT EXISTS ${MINGW_BIN})
+ message(FATAL_ERROR "MinGW binary directory does not exist: ${MINGW_BIN}")
+endif()
+
+# Eliminate error messages when not having mingw in the environment path variable.
+list(APPEND CMAKE_PROGRAM_PATH ${MINGW_BIN})
+
+set(MINGW_LIB "${MINGW_PATH}/lib")
+
+if(NOT EXISTS ${MINGW_LIB})
+ message(FATAL_ERROR "MinGW library directory does not exist: ${MINGW_LIB}")
+endif()
+
+# Add MinGW libraries to linker path.
+link_directories(${MINGW_LIB})
+
+set(MINGW_INCLUDE "${MINGW_PATH}/include")
+
+if(NOT EXISTS ${MINGW_INCLUDE})
+ message(FATAL_ERROR "MinGW include directory does not exist: ${MINGW_INCLUDE}")
+endif()
+
+# Add general MinGW headers to compiler include path.
+include_directories(SYSTEM ${MINGW_INCLUDE})
+
+if(HAVE_MINGW64)
+ set(MINGW64_LIB "${MINGW_ARCH_PATH}/lib")
+
+ if(NOT EXISTS ${MINGW64_LIB})
+ message(FATAL_ERROR "MinGW 64-Bit libraries directory does not exist: ${MINGW64_LIB}")
+ endif()
+
+ # Add 64-Bit libraries to linker path.
+ link_directories(${MINGW64_LIB})
+
+ set(MINGW64_INCLUDE "${MINGW_ARCH_PATH}/include")
+
+ if(NOT EXISTS ${MINGW64_INCLUDE})
+ message(FATAL_ERROR "MinGW 64-Bit include directory does not exist: ${MINGW64_INCLUDE}")
+ endif()
+
+ # Add 64-Bit MinGW headers to compiler include path.
+ include_directories(${MINGW64_INCLUDE})
+endif()
+
+# -----------------------------------------------------------------------------
+# GHOSTSCRIPT CHECKS
+# -----------------------------------------------------------------------------
+
+# Check for Ghostscript.
+set(GS_BIN "${GS_PATH}/bin")
+
+if(EXISTS "${GS_BIN}")
+ set(HAVE_GS_BIN ON)
+else()
+ set(HAVE_GS_BIN OFF)
+endif()
+
+# -----------------------------------------------------------------------------
+# LIBRARY AND LINKER SETTINGS
+# -----------------------------------------------------------------------------
+
+# Tweak CMake into using Unix-style library names.
+set(CMAKE_FIND_LIBRARY_PREFIXES "lib")
+set(CMAKE_FIND_LIBRARY_SUFFIXES ".dll.a" ".dll")
+
+if(NOT HAVE_MINGW64)
+ list(APPEND CMAKE_FIND_LIBRARY_SUFFIXES ".a")
+endif() \ No newline at end of file
diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
index 66f16b7fb..d4ba9b1f0 100644
--- a/src/CMakeLists.txt
+++ b/src/CMakeLists.txt
@@ -2,461 +2,442 @@
# Define the main source
# -----------------------------------------------------------------------------
-set(main_SRC
- main.cpp
-)
-
set(sp_SRC
- attribute-rel-css.cpp
- attribute-rel-svg.cpp
- attribute-rel-util.cpp
- attribute-sort-util.cpp
- sp-anchor.cpp
- sp-clippath.cpp
- sp-conn-end-pair.cpp
- sp-conn-end.cpp
- sp-cursor.cpp
- sp-defs.cpp
- sp-desc.cpp
- sp-ellipse.cpp
- sp-factory.cpp
- sp-filter-primitive.cpp
- sp-filter-reference.cpp
- sp-filter.cpp
- sp-flowdiv.cpp
- sp-flowregion.cpp
- sp-flowtext.cpp
- sp-font-face.cpp
- sp-font.cpp
- sp-glyph-kerning.cpp
- sp-glyph.cpp
- sp-gradient-reference.cpp
- sp-gradient.cpp
- sp-guide.cpp
- sp-hatch-path.cpp
- sp-hatch.cpp
- sp-image.cpp
- sp-item-group.cpp
- sp-item-notify-moveto.cpp
- sp-item-rm-unsatisfied-cns.cpp
- sp-item-transform.cpp
- sp-item-update-cns.cpp
- sp-item.cpp
- sp-line.cpp
- sp-linear-gradient.cpp
- sp-lpe-item.cpp
- sp-marker.cpp
- sp-mask.cpp
- sp-mesh-array.cpp
- sp-mesh-patch.cpp
- sp-mesh-row.cpp
- sp-mesh.cpp
- sp-metadata.cpp
- sp-missing-glyph.cpp
- sp-namedview.cpp
- sp-object-group.cpp
- sp-object.cpp
- sp-offset.cpp
- sp-paint-server.cpp
- sp-path.cpp
- sp-pattern.cpp
- sp-polygon.cpp
- sp-polyline.cpp
- sp-radial-gradient.cpp
- sp-rect.cpp
- sp-root.cpp
- sp-script.cpp
- sp-shape.cpp
- sp-solid-color.cpp
- sp-spiral.cpp
- sp-star.cpp
- sp-stop.cpp
- sp-string.cpp
- sp-style-elem.cpp
- sp-switch.cpp
- sp-symbol.cpp
- sp-tag-use-reference.cpp
- sp-tag-use.cpp
- sp-tag.cpp
- sp-text.cpp
- sp-title.cpp
- sp-tref-reference.cpp
- sp-tref.cpp
- sp-tspan.cpp
- sp-use-reference.cpp
- sp-use.cpp
- splivarot.cpp
- viewbox.cpp
-
- # -------
- # Headers
- attribute-rel-css.h
- attribute-rel-svg.h
- attribute-rel-util.h
- attribute-sort-util.h
- sp-anchor.h
- sp-clippath.h
- sp-conn-end-pair.h
- sp-conn-end.h
- sp-cursor.h
- sp-defs.h
- sp-desc.h
- sp-ellipse.h
- sp-factory.h
- sp-filter-primitive.h
- sp-filter-reference.h
- sp-filter-units.h
- sp-filter.h
- sp-flowdiv.h
- sp-flowregion.h
- sp-flowtext.h
- sp-font-face.h
- sp-font.h
- sp-glyph-kerning.h
- sp-glyph.h
- sp-gradient-reference.h
- sp-gradient-spread.h
- sp-gradient-test.h
- sp-gradient-units.h
- sp-gradient-vector.h
- sp-gradient.h
- sp-guide-attachment.h
- sp-guide-constraint.h
- sp-guide.h
- sp-hatch-path.h
- sp-hatch.h
- sp-image.h
- sp-item-group.h
- sp-item-notify-moveto.h
- sp-item-rm-unsatisfied-cns.h
- sp-item-transform.h
- sp-item-update-cns.h
- sp-item.h
- sp-line.h
- sp-linear-gradient.h
- sp-lpe-item.h
- sp-marker-loc.h
- sp-marker.h
- sp-mask.h
- sp-mesh-array.h
- sp-mesh-patch.h
- sp-mesh-row.h
- sp-mesh.h
- sp-metadata.h
- sp-missing-glyph.h
- sp-namedview.h
- sp-object-group.h
- sp-object.h
- sp-offset.h
- sp-paint-server-reference.h
- sp-paint-server.h
- sp-path.h
- sp-pattern.h
- sp-polygon.h
- sp-polyline.h
- sp-radial-gradient.h
- sp-rect.h
- sp-root.h
- sp-script.h
- sp-shape.h
- sp-solid-color.h
- sp-spiral.h
- sp-star.h
- sp-stop.h
- sp-string.h
- sp-style-elem-test.h
- sp-style-elem.h
- sp-switch.h
- sp-symbol.h
- sp-tag.h
- sp-tag-use.h
- sp-tag-use-reference.h
- sp-text.h
- sp-textpath.h
- sp-title.h
- sp-tref-reference.h
- sp-tref.h
- sp-tspan.h
- sp-use-reference.h
- sp-use.h
- viewbox.h
+ attribute-rel-css.cpp
+ attribute-rel-svg.cpp
+ attribute-rel-util.cpp
+ attribute-sort-util.cpp
+ sp-anchor.cpp
+ sp-clippath.cpp
+ sp-conn-end-pair.cpp
+ sp-conn-end.cpp
+ sp-cursor.cpp
+ sp-defs.cpp
+ sp-desc.cpp
+ sp-ellipse.cpp
+ sp-factory.cpp
+ sp-filter-primitive.cpp
+ sp-filter-reference.cpp
+ sp-filter.cpp
+ sp-flowdiv.cpp
+ sp-flowregion.cpp
+ sp-flowtext.cpp
+ sp-font-face.cpp
+ sp-font.cpp
+ sp-glyph-kerning.cpp
+ sp-glyph.cpp
+ sp-gradient-reference.cpp
+ sp-gradient.cpp
+ sp-guide.cpp
+ sp-hatch-path.cpp
+ sp-hatch.cpp
+ sp-image.cpp
+ sp-item-group.cpp
+ sp-item-notify-moveto.cpp
+ sp-item-rm-unsatisfied-cns.cpp
+ sp-item-transform.cpp
+ sp-item-update-cns.cpp
+ sp-item.cpp
+ sp-line.cpp
+ sp-linear-gradient.cpp
+ sp-lpe-item.cpp
+ sp-marker.cpp
+ sp-mask.cpp
+ sp-mesh-array.cpp
+ sp-mesh-patch.cpp
+ sp-mesh-row.cpp
+ sp-mesh.cpp
+ sp-metadata.cpp
+ sp-missing-glyph.cpp
+ sp-namedview.cpp
+ sp-object-group.cpp
+ sp-object.cpp
+ sp-offset.cpp
+ sp-paint-server.cpp
+ sp-path.cpp
+ sp-pattern.cpp
+ sp-polygon.cpp
+ sp-polyline.cpp
+ sp-radial-gradient.cpp
+ sp-rect.cpp
+ sp-root.cpp
+ sp-script.cpp
+ sp-shape.cpp
+ sp-solid-color.cpp
+ sp-spiral.cpp
+ sp-star.cpp
+ sp-stop.cpp
+ sp-string.cpp
+ sp-style-elem.cpp
+ sp-switch.cpp
+ sp-symbol.cpp
+ sp-tag-use-reference.cpp
+ sp-tag-use.cpp
+ sp-tag.cpp
+ sp-text.cpp
+ sp-title.cpp
+ sp-tref-reference.cpp
+ sp-tref.cpp
+ sp-tspan.cpp
+ sp-use-reference.cpp
+ sp-use.cpp
+ splivarot.cpp
+ viewbox.cpp
+
+ # -------
+ # Headers
+ attribute-rel-css.h
+ attribute-rel-svg.h
+ attribute-rel-util.h
+ attribute-sort-util.h
+ sp-anchor.h
+ sp-clippath.h
+ sp-conn-end-pair.h
+ sp-conn-end.h
+ sp-cursor.h
+ sp-defs.h
+ sp-desc.h
+ sp-ellipse.h
+ sp-factory.h
+ sp-filter-primitive.h
+ sp-filter-reference.h
+ sp-filter-units.h
+ sp-filter.h
+ sp-flowdiv.h
+ sp-flowregion.h
+ sp-flowtext.h
+ sp-font-face.h
+ sp-font.h
+ sp-glyph-kerning.h
+ sp-glyph.h
+ sp-gradient-reference.h
+ sp-gradient-spread.h
+ sp-gradient-test.h
+ sp-gradient-units.h
+ sp-gradient-vector.h
+ sp-gradient.h
+ sp-guide-attachment.h
+ sp-guide-constraint.h
+ sp-guide.h
+ sp-hatch-path.h
+ sp-hatch.h
+ sp-image.h
+ sp-item-group.h
+ sp-item-notify-moveto.h
+ sp-item-rm-unsatisfied-cns.h
+ sp-item-transform.h
+ sp-item-update-cns.h
+ sp-item.h
+ sp-line.h
+ sp-linear-gradient.h
+ sp-lpe-item.h
+ sp-marker-loc.h
+ sp-marker.h
+ sp-mask.h
+ sp-mesh-array.h
+ sp-mesh-patch.h
+ sp-mesh-row.h
+ sp-mesh.h
+ sp-metadata.h
+ sp-missing-glyph.h
+ sp-namedview.h
+ sp-object-group.h
+ sp-object.h
+ sp-offset.h
+ sp-paint-server-reference.h
+ sp-paint-server.h
+ sp-path.h
+ sp-pattern.h
+ sp-polygon.h
+ sp-polyline.h
+ sp-radial-gradient.h
+ sp-rect.h
+ sp-root.h
+ sp-script.h
+ sp-shape.h
+ sp-solid-color.h
+ sp-spiral.h
+ sp-star.h
+ sp-stop.h
+ sp-string.h
+ sp-style-elem-test.h
+ sp-style-elem.h
+ sp-switch.h
+ sp-symbol.h
+ sp-tag.h
+ sp-tag-use.h
+ sp-tag-use-reference.h
+ sp-text.h
+ sp-textpath.h
+ sp-title.h
+ sp-tref-reference.h
+ sp-tref.h
+ sp-tspan.h
+ sp-use-reference.h
+ sp-use.h
+ viewbox.h
)
set(inkscape_SRC
- attributes.cpp
- axis-manip.cpp
- box3d-side.cpp
- box3d.cpp
- color-profile.cpp
- color.cpp
- composite-undo-stack-observer.cpp
- conditions.cpp
- conn-avoid-ref.cpp
- console-output-undo-observer.cpp
- context-fns.cpp
- desktop-events.cpp
- desktop-style.cpp
- desktop.cpp
- device-manager.cpp
- dir-util.cpp
- document-subset.cpp
- document-undo.cpp
- document.cpp
- ege-color-prof-tracker.cpp
- event-log.cpp
- extract-uri.cpp
- file.cpp
- filter-chemistry.cpp
- filter-enums.cpp
- gc-anchored.cpp
- gc-finalized.cpp
- gradient-chemistry.cpp
- gradient-drag.cpp
- graphlayout.cpp
- guide-snapper.cpp
- help.cpp
- id-clash.cpp
- inkscape.cpp
- knot-holder-entity.cpp
- knot-ptr.cpp
- knot.cpp
- knotholder.cpp
- layer-fns.cpp
- layer-manager.cpp
- layer-model.cpp
- line-geometry.cpp
- line-snapper.cpp
- main-cmdlineact.cpp
- media.cpp
- message-context.cpp
- message-stack.cpp
- mod360.cpp
- object-hierarchy.cpp
- object-snapper.cpp
- path-chemistry.cpp
- persp3d-reference.cpp
- persp3d.cpp
- perspective-line.cpp
- preferences.cpp
- prefix.cpp
- print.cpp
- profile-manager.cpp
- proj_pt.cpp
- pure-transform.cpp
- rdf.cpp
- removeoverlap.cpp
- resource-manager.cpp
- rubberband.cpp
- satisfied-guide-cns.cpp
- selcue.cpp
- selection-chemistry.cpp
- selection-describer.cpp
- selection.cpp
- seltrans-handles.cpp
- seltrans.cpp
- shortcuts.cpp
- snap-preferences.cpp
- snap.cpp
- snapped-curve.cpp
- snapped-line.cpp
- snapped-point.cpp
- snapper.cpp
- style-internal.cpp
- style.cpp
- svg-view-widget.cpp
- svg-view.cpp
- text-chemistry.cpp
- text-editing.cpp
- transf_mat_3x4.cpp
- unclump.cpp
- unicoderange.cpp
- uri-references.cpp
- uri.cpp
- vanishing-point.cpp
- verbs.cpp
- version.cpp
-
- # -------
- # Headers
- MultiPrinter.h
- PylogFormatter.h
- TRPIFormatter.h
- attributes-test.h
- attributes.h
- axis-manip.h
- bad-uri-exception.h
- box3d-side.h
- box3d.h
- cms-color-types.h
- cms-system.h
- color-profile-cms-fns.h
- color-profile-test.h
- color-profile.h
- color-rgba.h
- color.h
- colorspace.h
- composite-undo-stack-observer.h
- conditions.h
- conn-avoid-ref.h
- console-output-undo-observer.h
- context-fns.h
- decimal-round.h
- desktop-events.h
- desktop-style.h
- desktop.h
- device-manager.h
- dir-util-test.h
- dir-util.h
- document-private.h
- document-subset.h
- document-undo.h
- document.h
- ege-color-prof-tracker.h
- enums.h
- event-log.h
- event.h
- extract-uri-test.h
- extract-uri.h
- file.h
- fill-or-stroke.h
- filter-chemistry.h
- filter-enums.h
- gc-anchored.h
- gc-finalized.h
- gradient-chemistry.h
- gradient-drag.h
- graphlayout.h
- guide-snapper.h
- help.h
- helper-fns.h
- icon-size.h
- id-clash.h
- inkscape-version.h
- inkscape.h
- isinf.h
- knot-enums.h
- knot-holder-entity.h
- knot-ptr.h
- knot.h
- knotholder.h
- layer-fns.h
- layer-manager.h
- layer-model.h
- line-geometry.h
- line-snapper.h
- macros.h
- main-cmdlineact.h
- marker-test.h
- media.h
- menus-skeleton.h
- message-context.h
- message-stack.h
- message.h
- mod360-test.h
- mod360.h
- number-opt-number.h
- object-hierarchy.h
- object-snapper.h
- object-test.h
- path-chemistry.h
- path-prefix.h
- persp3d-reference.h
- persp3d.h
- perspective-line.h
- preferences-skeleton.h
- preferences-test.h
- preferences.h
- prefix.h
- print.h
- profile-manager.h
- proj_pt.h
- pure-transform.h
- rdf.h
- remove-last.h
- removeoverlap.h
- require-config.h
- resource-manager.h
- round-test.h
- round.h
- rubberband.h
- satisfied-guide-cns.h
- selcue.h
- selection-chemistry.h
- selection-describer.h
- selection.h
- seltrans-handles.h
- seltrans.h
- shortcuts.h
- snap-candidate.h
- snap-enums.h
- snap-preferences.h
- snap.h
- snapped-curve.h
- snapped-line.h
- snapped-point.h
- snapper.h
- splivarot.h
- streq.h
- strneq.h
- style-enums.h
- style-internal.h
- style-test.h
- style.h
- svg-profile.h
- svg-view-widget.h
- svg-view.h
- syseq.h
- test-helpers.h
- text-chemistry.h
- text-editing.h
- text-tag-attributes.h
- transf_mat_3x4.h
- unclump.h
- undo-stack-observer.h
- unicoderange.h
- uri-references.h
- uri-test.h
- uri.h
- vanishing-point.h
- verbs-test.h
- verbs.h
- version.h
+ attributes.cpp
+ axis-manip.cpp
+ box3d-side.cpp
+ box3d.cpp
+ color-profile.cpp
+ color.cpp
+ composite-undo-stack-observer.cpp
+ conditions.cpp
+ conn-avoid-ref.cpp
+ console-output-undo-observer.cpp
+ context-fns.cpp
+ desktop-events.cpp
+ desktop-style.cpp
+ desktop.cpp
+ device-manager.cpp
+ dir-util.cpp
+ document-subset.cpp
+ document-undo.cpp
+ document.cpp
+ ege-color-prof-tracker.cpp
+ event-log.cpp
+ extract-uri.cpp
+ file.cpp
+ filter-chemistry.cpp
+ filter-enums.cpp
+ gc-anchored.cpp
+ gc-finalized.cpp
+ gradient-chemistry.cpp
+ gradient-drag.cpp
+ graphlayout.cpp
+ guide-snapper.cpp
+ help.cpp
+ id-clash.cpp
+ inkscape.cpp
+ knot-holder-entity.cpp
+ knot-ptr.cpp
+ knot.cpp
+ knotholder.cpp
+ layer-fns.cpp
+ layer-manager.cpp
+ layer-model.cpp
+ line-geometry.cpp
+ line-snapper.cpp
+ main-cmdlineact.cpp
+ media.cpp
+ message-context.cpp
+ message-stack.cpp
+ mod360.cpp
+ object-hierarchy.cpp
+ object-snapper.cpp
+ path-chemistry.cpp
+ persp3d-reference.cpp
+ persp3d.cpp
+ perspective-line.cpp
+ preferences.cpp
+ prefix.cpp
+ print.cpp
+ profile-manager.cpp
+ proj_pt.cpp
+ pure-transform.cpp
+ rdf.cpp
+ removeoverlap.cpp
+ resource-manager.cpp
+ rubberband.cpp
+ satisfied-guide-cns.cpp
+ selcue.cpp
+ selection-chemistry.cpp
+ selection-describer.cpp
+ selection.cpp
+ seltrans-handles.cpp
+ seltrans.cpp
+ shortcuts.cpp
+ snap-preferences.cpp
+ snap.cpp
+ snapped-curve.cpp
+ snapped-line.cpp
+ snapped-point.cpp
+ snapper.cpp
+ style-internal.cpp
+ style.cpp
+ svg-view-widget.cpp
+ svg-view.cpp
+ text-chemistry.cpp
+ text-editing.cpp
+ transf_mat_3x4.cpp
+ unclump.cpp
+ unicoderange.cpp
+ uri-references.cpp
+ uri.cpp
+ vanishing-point.cpp
+ verbs.cpp
+ version.cpp
+
+ # -------
+ # Headers
+ MultiPrinter.h
+ PylogFormatter.h
+ TRPIFormatter.h
+ attributes-test.h
+ attributes.h
+ axis-manip.h
+ bad-uri-exception.h
+ box3d-side.h
+ box3d.h
+ cms-color-types.h
+ cms-system.h
+ color-profile-cms-fns.h
+ color-profile-test.h
+ color-profile.h
+ color-rgba.h
+ color.h
+ colorspace.h
+ composite-undo-stack-observer.h
+ conditions.h
+ conn-avoid-ref.h
+ console-output-undo-observer.h
+ context-fns.h
+ decimal-round.h
+ desktop-events.h
+ desktop-style.h
+ desktop.h
+ device-manager.h
+ dir-util-test.h
+ dir-util.h
+ document-private.h
+ document-subset.h
+ document-undo.h
+ document.h
+ ege-color-prof-tracker.h
+ enums.h
+ event-log.h
+ event.h
+ extract-uri-test.h
+ extract-uri.h
+ file.h
+ fill-or-stroke.h
+ filter-chemistry.h
+ filter-enums.h
+ gc-anchored.h
+ gc-finalized.h
+ gradient-chemistry.h
+ gradient-drag.h
+ graphlayout.h
+ guide-snapper.h
+ help.h
+ helper-fns.h
+ icon-size.h
+ id-clash.h
+ inkscape-version.h
+ inkscape.h
+ isinf.h
+ knot-enums.h
+ knot-holder-entity.h
+ knot-ptr.h
+ knot.h
+ knotholder.h
+ layer-fns.h
+ layer-manager.h
+ layer-model.h
+ line-geometry.h
+ line-snapper.h
+ macros.h
+ main-cmdlineact.h
+ marker-test.h
+ media.h
+ menus-skeleton.h
+ message-context.h
+ message-stack.h
+ message.h
+ mod360-test.h
+ mod360.h
+ number-opt-number.h
+ object-hierarchy.h
+ object-snapper.h
+ object-test.h
+ path-chemistry.h
+ path-prefix.h
+ persp3d-reference.h
+ persp3d.h
+ perspective-line.h
+ preferences-skeleton.h
+ preferences-test.h
+ preferences.h
+ prefix.h
+ print.h
+ profile-manager.h
+ proj_pt.h
+ pure-transform.h
+ rdf.h
+ remove-last.h
+ removeoverlap.h
+ require-config.h
+ resource-manager.h
+ round-test.h
+ round.h
+ rubberband.h
+ satisfied-guide-cns.h
+ selcue.h
+ selection-chemistry.h
+ selection-describer.h
+ selection.h
+ seltrans-handles.h
+ seltrans.h
+ shortcuts.h
+ snap-candidate.h
+ snap-enums.h
+ snap-preferences.h
+ snap.h
+ snapped-curve.h
+ snapped-line.h
+ snapped-point.h
+ snapper.h
+ splivarot.h
+ streq.h
+ strneq.h
+ style-enums.h
+ style-internal.h
+ style-test.h
+ style.h
+ svg-profile.h
+ svg-view-widget.h
+ svg-view.h
+ syseq.h
+ test-helpers.h
+ text-chemistry.h
+ text-editing.h
+ text-tag-attributes.h
+ transf_mat_3x4.h
+ unclump.h
+ undo-stack-observer.h
+ unicoderange.h
+ uri-references.h
+ uri-test.h
+ uri.h
+ vanishing-point.h
+ verbs-test.h
+ verbs.h
+ version.h
)
-if(WIN32)
- list(APPEND inkscape_SRC
- inkscape.rc
- registrytool.cpp
- #deptool.cpp
- winconsole.cpp
- winmain.cpp
-
- # -------
- # Headers
- registrytool.h
- )
-endif()
-
-
# -----------------------------------------------------------------------------
# Generate version file
# -----------------------------------------------------------------------------
# a custom target that is always built
add_custom_target(
- inkscape_version ALL
- COMMAND ${CMAKE_COMMAND}
- -DINKSCAPE_SOURCE_DIR=${CMAKE_SOURCE_DIR}
- -DINKSCAPE_BINARY_DIR=${CMAKE_BINARY_DIR}
- -P ${CMAKE_SOURCE_DIR}/CMakeScripts/inkscape-version.cmake)
+ inkscape_version ALL
+ COMMAND ${CMAKE_COMMAND}
+ -DINKSCAPE_SOURCE_DIR=${CMAKE_SOURCE_DIR}
+ -DINKSCAPE_BINARY_DIR=${CMAKE_BINARY_DIR}
+ -P ${CMAKE_SOURCE_DIR}/CMakeScripts/inkscape-version.cmake)
# buildinfo.h is a generated file
set_source_files_properties(
- ${CMAKE_BINARY_DIR}/src/inkscape-version.cpp
- PROPERTIES GENERATED TRUE)
+ ${CMAKE_BINARY_DIR}/src/inkscape-version.cpp
+ PROPERTIES GENERATED TRUE)
list(APPEND inkscape_SRC
- ${CMAKE_BINARY_DIR}/src/inkscape-version.cpp
+ ${CMAKE_BINARY_DIR}/src/inkscape-version.cpp
)
@@ -481,7 +462,6 @@ add_subdirectory(widgets)
add_subdirectory(xml)
add_subdirectory(2geom)
-
# Directories containing lists files that describe building internal libraries
add_subdirectory(libavoid)
add_subdirectory(libcola)
@@ -494,12 +474,11 @@ add_subdirectory(livarot)
add_subdirectory(libnrtype)
add_subdirectory(libdepixelize)
-
get_property(inkscape_global_SRC GLOBAL PROPERTY inkscape_global_SRC)
set(inkscape_SRC
- ${inkscape_global_SRC}
- ${inkscape_SRC}
+ ${inkscape_global_SRC}
+ ${inkscape_SRC}
)
# -----------------------------------------------------------------------------
@@ -508,12 +487,32 @@ set(inkscape_SRC
#add_inkscape_lib(sp_LIB "${sp_SRC}")
#add_inkscape_lib(inkscape_LIB "${inkscape_SRC}")
+if(WIN32)
+ # Sources for the inkscape executable on Windows.
+ set(main_SRC
+ registrytool.h
+ registrytool.cpp
+ main.cpp
+ winmain.cpp
+ #winconsole.cpp
+ )
+
+ # Add the platform specific resource files (enabling the app icon).
+ if(${HAVE_MINGW64})
+ list(APPEND main_SRC inkscape-x64.rc)
+ else()
+ list(APPEND main_SRC inkscape.rc)
+ endif()
+else()
+ set(main_SRC main.cpp)
+endif()
+
# Build everything except main and inkview.c in a shared library.
add_library(inkscape_base SHARED ${inkscape_SRC} ${sp_SRC})
# make executables for inkscape and inkview
-add_executable(inkscape ${main_SRC} )
-add_executable(inkview inkview.cpp )
+add_executable(inkscape ${main_SRC})
+add_executable(inkview inkview.cpp)
add_dependencies(inkscape inkscape_version)
@@ -525,11 +524,9 @@ set(INKSCAPE_TARGET_LIBS
# order from automake
#sp_LIB
#nrtype_LIB
-
#inkscape_LIB
#sp_LIB # annoying, we need both!
nrtype_LIB # annoying, we need both!
-
croco_LIB
avoid_LIB
cola_LIB
@@ -548,22 +545,20 @@ if (NOT "${WITH_EXT_GDL}")
list (INSERT INKSCAPE_TARGET_LIBS 0 "gdl_LIB")
endif()
-
-
-
# Link the inkscape_base library against all external dependencies
target_link_libraries(inkscape_base ${INKSCAPE_TARGET_LIBS})
# Link inkscape and inkview against inkscape_base
-target_link_libraries(inkscape inkscape_base )
+target_link_libraries(inkscape inkscape_base)
target_link_libraries(inkview inkscape_base)
-#Define the installation
-install(
- TARGETS inkscape_base inkscape inkview
- RUNTIME DESTINATION bin
- LIBRARY DESTINATION lib/inkscape
- ARCHIVE DESTINATION lib/inkscape
- )
-
-
+if(NOT WIN32)
+ #Define the installation
+ install(TARGETS
+ inkscape_base
+ inkscape
+ inkview
+ RUNTIME DESTINATION bin
+ LIBRARY DESTINATION lib/inkscape
+ ARCHIVE DESTINATION lib/inkscape)
+endif()
diff --git a/touch.bat b/touch.bat
deleted file mode 100644
index 043b3eb99..000000000
--- a/touch.bat
+++ /dev/null
@@ -1 +0,0 @@
-forfiles /s /m *.obj /c "cmd /c copy /b @path +,," \ No newline at end of file