From e0cfcecca077b96759bc3709195a93d8ea0c48d6 Mon Sep 17 00:00:00 2001 From: Eduard Braun Date: Sat, 4 Mar 2017 21:39:01 +0100 Subject: Support for building with MSYS2 See Wiki for build instructions: http://wiki.inkscape.org/wiki/index.php/Compiling_Inkscape_on_Windows_with_MSYS2 (bzr r15564) --- CMakeScripts/InstallMSYS2.cmake | 228 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 228 insertions(+) create mode 100644 CMakeScripts/InstallMSYS2.cmake (limited to 'CMakeScripts/InstallMSYS2.cmake') diff --git a/CMakeScripts/InstallMSYS2.cmake b/CMakeScripts/InstallMSYS2.cmake new file mode 100644 index 000000000..72069033c --- /dev/null +++ b/CMakeScripts/InstallMSYS2.cmake @@ -0,0 +1,228 @@ +if(WIN32) + install(PROGRAMS + ${EXECUTABLE_OUTPUT_PATH}/inkscape.exe + ${EXECUTABLE_OUTPUT_PATH}/inkview.exe + DESTINATION ${CMAKE_INSTALL_PREFIX} + ) + + install(PROGRAMS + ${EXECUTABLE_OUTPUT_PATH}/inkscape_com.exe + DESTINATION ${CMAKE_INSTALL_PREFIX} + RENAME inkscape.com + ) + + install(FILES + ${LIBRARY_OUTPUT_PATH}/libinkscape_base.dll + DESTINATION ${CMAKE_INSTALL_PREFIX} + ) + + install(FILES + AUTHORS + COPYING + NEWS + README + TRANSLATORS + GPL2.txt + GPL3.txt + LGPL2.1.txt + DESTINATION ${CMAKE_INSTALL_PREFIX}) + + # mingw dlls + install(FILES + ${MINGW_BIN}/LIBEAY32.dll + ${MINGW_BIN}/SSLEAY32.dll + ${MINGW_BIN}/libMagick++-6.Q16HDRI-6.dll + ${MINGW_BIN}/libMagickCore-6.Q16HDRI-2.dll + ${MINGW_BIN}/libMagickWand-6.Q16HDRI-2.dll + ${MINGW_BIN}/libaspell-15.dll + ${MINGW_BIN}/libatk-1.0-0.dll + ${MINGW_BIN}/libatkmm-1.6-1.dll + ${MINGW_BIN}/libbz2-1.dll + ${MINGW_BIN}/libcairo-2.dll + ${MINGW_BIN}/libcairo-gobject-2.dll + ${MINGW_BIN}/libcairomm-1.0-1.dll + ${MINGW_BIN}/libcdr-0.1.dll + ${MINGW_BIN}/libcurl-4.dll + ${MINGW_BIN}/libenchant.dll + ${MINGW_BIN}/libepoxy-0.dll + ${MINGW_BIN}/libexpat-1.dll + ${MINGW_BIN}/libffi-6.dll + ${MINGW_BIN}/libfftw3-3.dll + ${MINGW_BIN}/libfontconfig-1.dll + ${MINGW_BIN}/libfreetype-6.dll + ${MINGW_BIN}/libgc-1.dll + ${MINGW_BIN}/libgdk-3-0.dll + ${MINGW_BIN}/libgdk_pixbuf-2.0-0.dll + ${MINGW_BIN}/libgdkmm-3.0-1.dll + ${MINGW_BIN}/libgdl-3-5.dll + ${MINGW_BIN}/libgio-2.0-0.dll + ${MINGW_BIN}/libgiomm-2.4-1.dll + ${MINGW_BIN}/libglib-2.0-0.dll + ${MINGW_BIN}/libglibmm-2.4-1.dll + ${MINGW_BIN}/libgmodule-2.0-0.dll + ${MINGW_BIN}/libgmp-10.dll + ${MINGW_BIN}/libgnutls-30.dll + ${MINGW_BIN}/libgobject-2.0-0.dll + ${MINGW_BIN}/libgomp-1.dll + ${MINGW_BIN}/libgraphite2.dll + ${MINGW_BIN}/libgsl-19.dll + ${MINGW_BIN}/libgslcblas-0.dll + ${MINGW_BIN}/libgtk-3-0.dll + ${MINGW_BIN}/libgtkmm-3.0-1.dll + ${MINGW_BIN}/libgtkspell3-3-0.dll + ${MINGW_BIN}/libharfbuzz-0.dll + ${MINGW_BIN}/libhogweed-4.dll + ${MINGW_BIN}/libiconv-2.dll + ${MINGW_BIN}/libicudt57.dll + ${MINGW_BIN}/libicuin57.dll + ${MINGW_BIN}/libicuuc57.dll + ${MINGW_BIN}/libidn-11.dll + ${MINGW_BIN}/libintl-8.dll + ${MINGW_BIN}/libjpeg-8.dll + ${MINGW_BIN}/liblcms2-2.dll + ${MINGW_BIN}/liblqr-1-0.dll + ${MINGW_BIN}/libltdl-7.dll + ${MINGW_BIN}/liblzma-5.dll + ${MINGW_BIN}/libnettle-6.dll + ${MINGW_BIN}/libnghttp2-14.dll + ${MINGW_BIN}/libnspr4.dll + ${MINGW_BIN}/libopenjp2-7.dll + ${MINGW_BIN}/libp11-kit-0.dll + ${MINGW_BIN}/libpango-1.0-0.dll + ${MINGW_BIN}/libpangocairo-1.0-0.dll + ${MINGW_BIN}/libpangoft2-1.0-0.dll + ${MINGW_BIN}/libpangomm-1.4-1.dll + ${MINGW_BIN}/libpangowin32-1.0-0.dll + ${MINGW_BIN}/libpcre-1.dll + ${MINGW_BIN}/libpixman-1-0.dll + ${MINGW_BIN}/libplc4.dll + ${MINGW_BIN}/libplds4.dll + ${MINGW_BIN}/libpng16-16.dll + ${MINGW_BIN}/libpoppler-66.dll + ${MINGW_BIN}/libpoppler-glib-8.dll + ${MINGW_BIN}/libpopt-0.dll + ${MINGW_BIN}/libpotrace-0.dll + ${MINGW_BIN}/librevenge-0.0.dll + ${MINGW_BIN}/librevenge-stream-0.0.dll + ${MINGW_BIN}/librtmp-1.dll + ${MINGW_BIN}/libsigc-2.0-0.dll + ${MINGW_BIN}/libssh2-1.dll + ${MINGW_BIN}/libstdc++-6.dll + ${MINGW_BIN}/libtasn1-6.dll + ${MINGW_BIN}/libtiff-5.dll + ${MINGW_BIN}/libunistring-2.dll + ${MINGW_BIN}/libvisio-0.1.dll + ${MINGW_BIN}/libwinpthread-1.dll + ${MINGW_BIN}/libwpd-0.10.dll + ${MINGW_BIN}/libwpg-0.3.dll + ${MINGW_BIN}/libxml2-2.dll + ${MINGW_BIN}/libxslt-1.dll + ${MINGW_BIN}/nss3.dll + ${MINGW_BIN}/nssutil3.dll + ${MINGW_BIN}/smime3.dll + ${MINGW_BIN}/zlib1.dll + # these are not picked up by 'ldd' but are required for SVG support in gdk-pixbuf-2.0 + ${MINGW_BIN}/libcroco-0.6-3.dll + ${MINGW_BIN}/librsvg-2-2.dll + # required by lxml + ${MINGW_BIN}/libexslt-0.dll + DESTINATION ${CMAKE_INSTALL_PREFIX}) + # There are differences for 64-Bit and 32-Bit build environments. + if(HAVE_MINGW64) + install(FILES + ${MINGW_BIN}/libgcc_s_seh-1.dll + DESTINATION ${CMAKE_INSTALL_PREFIX}) + else() + install(FILES + ${MINGW_BIN}/libgcc_s_dw2-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 + DESTINATION ${CMAKE_INSTALL_PREFIX} + PATTERN hicolor/index.theme EXCLUDE # NOTE: Empty index.theme in hicolor icon theme causes SIGSEGV. + PATTERN CMakeLists.txt EXCLUDE + PATTERN *.am EXCLUDE) + + # Generate a dummy file in hicolor/index.theme to avoid bug 1635207 + file(GENERATE OUTPUT ${CMAKE_INSTALL_PREFIX}/share/icons/hicolor/index.theme + CONTENT "[Icon Theme]\nName=hicolor\nDirectories=") + + install(DIRECTORY ${MINGW_PATH}/share/icons/Adwaita + DESTINATION ${CMAKE_INSTALL_PREFIX}/share/icons) + + install(DIRECTORY ${MINGW_PATH}/share/themes + DESTINATION ${CMAKE_INSTALL_PREFIX}/share) + + install(DIRECTORY ${MINGW_PATH}/share/locale + DESTINATION ${CMAKE_INSTALL_PREFIX}/share + PATTERN "*gtk20.mo" EXCLUDE) + + install(DIRECTORY ${MINGW_PATH}/share/poppler + DESTINATION ${CMAKE_INSTALL_PREFIX}/share) + + install(DIRECTORY ${MINGW_PATH}/share/glib-2.0/schemas + DESTINATION ${CMAKE_INSTALL_PREFIX}/share/glib-2.0) + + install(DIRECTORY ${MINGW_PATH}/etc/fonts + DESTINATION ${CMAKE_INSTALL_PREFIX}/etc) + + # GTK 3.0 + install(DIRECTORY ${MINGW_LIB}/gtk-3.0 + DESTINATION ${CMAKE_INSTALL_PREFIX}/lib + FILES_MATCHING + PATTERN "*.dll" + PATTERN "*.cache") + + install(DIRECTORY ${MINGW_PATH}/etc/gtk-3.0 + DESTINATION ${CMAKE_INSTALL_PREFIX}/etc) + + install(DIRECTORY ${MINGW_LIB}/gdk-pixbuf-2.0 + DESTINATION ${CMAKE_INSTALL_PREFIX}/lib + FILES_MATCHING + PATTERN "*.dll" + PATTERN "*.cache") + + # Aspell dictionaries + install(DIRECTORY ${MINGW_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 + ${MINGW_BIN}/gspawn-win64-helper.exe + ${MINGW_BIN}/gspawn-win64-helper-console.exe + DESTINATION ${CMAKE_INSTALL_PREFIX}) + else() + install(FILES + ${MINGW_BIN}/gspawn-win32-helper.exe + ${MINGW_BIN}/gspawn-win32-helper-console.exe + DESTINATION ${CMAKE_INSTALL_PREFIX}) + endif() + + # Python (a bit hacky for backwards compatibility with devlibs at this point) + install(FILES + ${MINGW_BIN}/python2.exe + RENAME python.exe + DESTINATION ${CMAKE_INSTALL_PREFIX}) + install(FILES + ${MINGW_BIN}/python2w.exe + RENAME pythonw.exe + DESTINATION ${CMAKE_INSTALL_PREFIX}) + install(FILES + ${MINGW_BIN}/libpython2.7.dll + DESTINATION ${CMAKE_INSTALL_PREFIX}) + install(DIRECTORY ${MINGW_LIB}/python2.7 + DESTINATION ${CMAKE_INSTALL_PREFIX}/lib) +endif() \ No newline at end of file -- cgit v1.2.3 From 0140ace54f213a01c6e24e0e12179eeae8fe8a38 Mon Sep 17 00:00:00 2001 From: Eduard Braun Date: Sun, 5 Mar 2017 04:31:55 +0100 Subject: CMake: python2-numpy was missing dependencies (bzr r15566) --- CMakeScripts/InstallMSYS2.cmake | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) (limited to 'CMakeScripts/InstallMSYS2.cmake') diff --git a/CMakeScripts/InstallMSYS2.cmake b/CMakeScripts/InstallMSYS2.cmake index 72069033c..3cfc9c20c 100644 --- a/CMakeScripts/InstallMSYS2.cmake +++ b/CMakeScripts/InstallMSYS2.cmake @@ -124,8 +124,12 @@ if(WIN32) # these are not picked up by 'ldd' but are required for SVG support in gdk-pixbuf-2.0 ${MINGW_BIN}/libcroco-0.6-3.dll ${MINGW_BIN}/librsvg-2-2.dll - # required by lxml + # required by python2-lxml ${MINGW_BIN}/libexslt-0.dll + # required by python2-numpy + ${MINGW_BIN}/libgfortran-3.dll + ${MINGW_BIN}/libopenblas.dll + ${MINGW_BIN}/libquadmath-0.dll DESTINATION ${CMAKE_INSTALL_PREFIX}) # There are differences for 64-Bit and 32-Bit build environments. if(HAVE_MINGW64) -- cgit v1.2.3 From 0c9751c69184c11fea5f4f5e27074f1b21abb9da Mon Sep 17 00:00:00 2001 From: Eduard Braun Date: Thu, 9 Mar 2017 00:03:24 +0100 Subject: CMake: Prefer to install the genuine /hicolor/index.theme file in MSYS2 installs This avoids the issues hiughlighted by su_v in https://bugs.launchpad.net/inkscape/+bug/1659336/comments/5 (bzr r15581) --- CMakeScripts/InstallMSYS2.cmake | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) (limited to 'CMakeScripts/InstallMSYS2.cmake') diff --git a/CMakeScripts/InstallMSYS2.cmake b/CMakeScripts/InstallMSYS2.cmake index 3cfc9c20c..63c6f0c4c 100644 --- a/CMakeScripts/InstallMSYS2.cmake +++ b/CMakeScripts/InstallMSYS2.cmake @@ -159,9 +159,10 @@ if(WIN32) PATTERN CMakeLists.txt EXCLUDE PATTERN *.am EXCLUDE) - # Generate a dummy file in hicolor/index.theme to avoid bug 1635207 - file(GENERATE OUTPUT ${CMAKE_INSTALL_PREFIX}/share/icons/hicolor/index.theme - CONTENT "[Icon Theme]\nName=hicolor\nDirectories=") + # Install hicolor/index.theme to avoid bug 1635207 + install(FILES + ${MINGW_PATH}/share/icons/hicolor/index.theme + DESTINATION ${CMAKE_INSTALL_PREFIX}/share/icons/hicolor) install(DIRECTORY ${MINGW_PATH}/share/icons/Adwaita DESTINATION ${CMAKE_INSTALL_PREFIX}/share/icons) -- cgit v1.2.3 From 81fcb041da64d709e6fffb815b0a520ffacdebff Mon Sep 17 00:00:00 2001 From: Eduard Braun Date: Thu, 9 Mar 2017 00:07:18 +0100 Subject: CMake: Don't install /share/themes on Windows There's nothing we want but stuff we definitely don't need. (bzr r15582) --- CMakeScripts/InstallMSYS2.cmake | 3 --- 1 file changed, 3 deletions(-) (limited to 'CMakeScripts/InstallMSYS2.cmake') diff --git a/CMakeScripts/InstallMSYS2.cmake b/CMakeScripts/InstallMSYS2.cmake index 63c6f0c4c..fae4dacce 100644 --- a/CMakeScripts/InstallMSYS2.cmake +++ b/CMakeScripts/InstallMSYS2.cmake @@ -167,9 +167,6 @@ if(WIN32) install(DIRECTORY ${MINGW_PATH}/share/icons/Adwaita DESTINATION ${CMAKE_INSTALL_PREFIX}/share/icons) - install(DIRECTORY ${MINGW_PATH}/share/themes - DESTINATION ${CMAKE_INSTALL_PREFIX}/share) - install(DIRECTORY ${MINGW_PATH}/share/locale DESTINATION ${CMAKE_INSTALL_PREFIX}/share PATTERN "*gtk20.mo" EXCLUDE) -- cgit v1.2.3 From 3475114e7d20d9402f2fba8d4603c3bd6131c571 Mon Sep 17 00:00:00 2001 From: Eduard Braun Date: Thu, 9 Mar 2017 00:14:40 +0100 Subject: CMake: Don't install /share/locale on Windows We only ever wanted "gtk30.mo" for translation of stock items. - As we stripped all stock items from our source we don't need it anymore - As there are *lots* of translations in MSYS2 we installed a huge amount of unneeded files (bzr r15583) --- CMakeScripts/InstallMSYS2.cmake | 4 ---- 1 file changed, 4 deletions(-) (limited to 'CMakeScripts/InstallMSYS2.cmake') diff --git a/CMakeScripts/InstallMSYS2.cmake b/CMakeScripts/InstallMSYS2.cmake index fae4dacce..87867ff73 100644 --- a/CMakeScripts/InstallMSYS2.cmake +++ b/CMakeScripts/InstallMSYS2.cmake @@ -167,10 +167,6 @@ if(WIN32) install(DIRECTORY ${MINGW_PATH}/share/icons/Adwaita DESTINATION ${CMAKE_INSTALL_PREFIX}/share/icons) - install(DIRECTORY ${MINGW_PATH}/share/locale - DESTINATION ${CMAKE_INSTALL_PREFIX}/share - PATTERN "*gtk20.mo" EXCLUDE) - install(DIRECTORY ${MINGW_PATH}/share/poppler DESTINATION ${CMAKE_INSTALL_PREFIX}/share) -- cgit v1.2.3 From d3c760ca97323625ad78234ae76521096b6008ed Mon Sep 17 00:00:00 2001 From: Eduard Braun Date: Sat, 8 Apr 2017 12:41:15 +0200 Subject: cmake/MSYS2: Spell checking via gtkspell now working * the Aspell backend for Enchant was missing (now available [1]) * actually install the backend * install translations required by gtkspell Also re-enable installation of gtk3 translations after r15583 as we still need them in the context menu of native gtk inputs [1] https://github.com/Alexpux/MINGW-packages/pull/2369 (bzr r15618) --- CMakeScripts/InstallMSYS2.cmake | 12 ++++++++++++ 1 file changed, 12 insertions(+) (limited to 'CMakeScripts/InstallMSYS2.cmake') diff --git a/CMakeScripts/InstallMSYS2.cmake b/CMakeScripts/InstallMSYS2.cmake index 87867ff73..bff09cabf 100644 --- a/CMakeScripts/InstallMSYS2.cmake +++ b/CMakeScripts/InstallMSYS2.cmake @@ -167,6 +167,13 @@ if(WIN32) install(DIRECTORY ${MINGW_PATH}/share/icons/Adwaita DESTINATION ${CMAKE_INSTALL_PREFIX}/share/icons) + # translations for libraries (we usually shouldn't need many) + install(DIRECTORY ${MINGW_PATH}/share/locale + DESTINATION ${CMAKE_INSTALL_PREFIX}/share + FILES_MATCHING + PATTERN "*gtk30.mo" + PATTERN "*gtkspell3.mo") + install(DIRECTORY ${MINGW_PATH}/share/poppler DESTINATION ${CMAKE_INSTALL_PREFIX}/share) @@ -196,6 +203,11 @@ if(WIN32) install(DIRECTORY ${MINGW_LIB}/aspell-0.60 DESTINATION ${CMAKE_INSTALL_PREFIX}/lib) + # Aspell backend for Enchant (gtkspell uses Enchant to access Aspell dictionaries) + install(FILES + ${MINGW_LIB}/enchant/libenchant_aspell.dll + DESTINATION ${CMAKE_INSTALL_PREFIX}/lib/enchant) + # Necessary to run extensions on windows if it is not in the path if (HAVE_MINGW64) install(FILES -- cgit v1.2.3 From 3a5ecff18c444eddc4eeb1de6c404a4b44081c60 Mon Sep 17 00:00:00 2001 From: Eduard Braun Date: Sat, 29 Apr 2017 23:16:31 +0200 Subject: cmake/MSYS2: Only install a fixed list of Python extensions (instead of all extensions that happen to be installed on the build system) (bzr r15650) --- CMakeScripts/InstallMSYS2.cmake | 26 ++++++++++++++++++++++++-- 1 file changed, 24 insertions(+), 2 deletions(-) (limited to 'CMakeScripts/InstallMSYS2.cmake') diff --git a/CMakeScripts/InstallMSYS2.cmake b/CMakeScripts/InstallMSYS2.cmake index bff09cabf..8d31aca46 100644 --- a/CMakeScripts/InstallMSYS2.cmake +++ b/CMakeScripts/InstallMSYS2.cmake @@ -173,7 +173,7 @@ if(WIN32) FILES_MATCHING PATTERN "*gtk30.mo" PATTERN "*gtkspell3.mo") - + install(DIRECTORY ${MINGW_PATH}/share/poppler DESTINATION ${CMAKE_INSTALL_PREFIX}/share) @@ -234,5 +234,27 @@ if(WIN32) ${MINGW_BIN}/libpython2.7.dll DESTINATION ${CMAKE_INSTALL_PREFIX}) install(DIRECTORY ${MINGW_LIB}/python2.7 - DESTINATION ${CMAKE_INSTALL_PREFIX}/lib) + DESTINATION ${CMAKE_INSTALL_PREFIX}/lib + PATTERN "python2.7/site-packages" EXCLUDE) + + set(site_packages "lib/python2.7/site-packages") + # Python packages installed via pacman + set(packages "python2-lxml" "python2-numpy") + foreach(package ${packages}) + list_files_pacman(${package} paths) + install_list(FILES ${paths} + ROOT ${MINGW_PATH} + INCLUDE ${site_packages} # only include content from "site-packages" (we might consider to install everything) + ) + endforeach() + # Python packages installed via pip + set(packages "coverage" "pyserial" "scour" "six") + foreach(package ${packages}) + list_files_pip(${package} paths) + install_list(FILES ${paths} + ROOT ${MINGW_PATH}/${site_packages} + DESTINATION ${site_packages}/ + EXCLUDE "^\\.\\.\\/" # exclude content in parent directories (notably scripts installed to /bin) + ) + endforeach() endif() \ No newline at end of file -- cgit v1.2.3 From a42c31431619e71e4da2166fdb28ac49f5ffc365 Mon Sep 17 00:00:00 2001 From: Eduard Braun Date: Sat, 29 Apr 2017 23:45:55 +0200 Subject: cmake: Do not build/install folders (data,modules,plugins) They're empty, are only created on Windows and seem to be completely unused (bzr r15651) --- CMakeScripts/InstallMSYS2.cmake | 20 +++----------------- 1 file changed, 3 insertions(+), 17 deletions(-) (limited to 'CMakeScripts/InstallMSYS2.cmake') diff --git a/CMakeScripts/InstallMSYS2.cmake b/CMakeScripts/InstallMSYS2.cmake index 8d31aca46..c6690bbe9 100644 --- a/CMakeScripts/InstallMSYS2.cmake +++ b/CMakeScripts/InstallMSYS2.cmake @@ -27,6 +27,9 @@ if(WIN32) LGPL2.1.txt DESTINATION ${CMAKE_INSTALL_PREFIX}) + install(DIRECTORY doc + DESTINATION ${CMAKE_INSTALL_PREFIX}) + # mingw dlls install(FILES ${MINGW_BIN}/LIBEAY32.dll @@ -142,23 +145,6 @@ if(WIN32) 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 - DESTINATION ${CMAKE_INSTALL_PREFIX} - PATTERN hicolor/index.theme EXCLUDE # NOTE: Empty index.theme in hicolor icon theme causes SIGSEGV. - PATTERN CMakeLists.txt EXCLUDE - PATTERN *.am EXCLUDE) - # Install hicolor/index.theme to avoid bug 1635207 install(FILES ${MINGW_PATH}/share/icons/hicolor/index.theme -- cgit v1.2.3 From 670266198729ea4264915d3f635ff0735d2cd5bf Mon Sep 17 00:00:00 2001 From: Eduard Braun Date: Wed, 3 May 2017 22:32:58 +0200 Subject: cmake/MSYS2: Exclude python testsuite from install (those are unittests for Python itself, unittest module is still included) (bzr r15660) --- CMakeScripts/InstallMSYS2.cmake | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'CMakeScripts/InstallMSYS2.cmake') diff --git a/CMakeScripts/InstallMSYS2.cmake b/CMakeScripts/InstallMSYS2.cmake index c6690bbe9..aac4fd648 100644 --- a/CMakeScripts/InstallMSYS2.cmake +++ b/CMakeScripts/InstallMSYS2.cmake @@ -221,7 +221,9 @@ if(WIN32) DESTINATION ${CMAKE_INSTALL_PREFIX}) install(DIRECTORY ${MINGW_LIB}/python2.7 DESTINATION ${CMAKE_INSTALL_PREFIX}/lib - PATTERN "python2.7/site-packages" EXCLUDE) + PATTERN "python2.7/site-packages" EXCLUDE # specify individual packages to install below + PATTERN "python2.7/test" EXCLUDE # we don't need the Python testsuite + ) set(site_packages "lib/python2.7/site-packages") # Python packages installed via pacman -- cgit v1.2.3 From bf8e8f45f675e740fe793227c22d554113ea7232 Mon Sep 17 00:00:00 2001 From: Eduard Braun Date: Thu, 4 May 2017 23:41:22 +0200 Subject: cmake/MSYS2: adjust fonts.conf to store fontconfig cache in AppData MSYS2 uses '/var/cache/fontconfig' by default which is not available outside of the MSYS environment and therefore get's created in the root folder of the Inkscape installation. On most systems this will be in read-only 'Program Files' (which might still work thanks to virtual store, but better be safe then sorry). This also makes sure we do not re-introduce bug #1196373 (bzr r15661) --- CMakeScripts/InstallMSYS2.cmake | 13 +++++++++++++ 1 file changed, 13 insertions(+) (limited to 'CMakeScripts/InstallMSYS2.cmake') diff --git a/CMakeScripts/InstallMSYS2.cmake b/CMakeScripts/InstallMSYS2.cmake index aac4fd648..c8c580fe4 100644 --- a/CMakeScripts/InstallMSYS2.cmake +++ b/CMakeScripts/InstallMSYS2.cmake @@ -166,7 +166,20 @@ if(WIN32) install(DIRECTORY ${MINGW_PATH}/share/glib-2.0/schemas DESTINATION ${CMAKE_INSTALL_PREFIX}/share/glib-2.0) + # fontconfig install(DIRECTORY ${MINGW_PATH}/etc/fonts + DESTINATION ${CMAKE_INSTALL_PREFIX}/etc + FILES_MATCHING PATTERN "fonts.conf" EXCLUDE) + # adjust fonts.conf to store font cache in AppData + set(cachedir_default "\\t^/var/cache/fontconfig^") # the '^' are needed to escape angle brackets on Windows command shell + set(cachedir_appdata "\\t^LOCAL_APPDATA_FONTCONFIG_CACHE^") + add_custom_command( + OUTPUT ${CMAKE_BINARY_DIR}/etc/fonts/fonts.conf + COMMAND sed 's!${cachedir_default}!${cachedir_appdata}\\n${cachedir_default}!' ${MINGW_PATH}/etc/fonts/fonts.conf > ${CMAKE_BINARY_DIR}/etc/fonts/fonts.conf + MAIN_DEPENDENCY ${MINGW_PATH}/etc/fonts/fonts.conf + ) + add_custom_target(fonts_conf ALL DEPENDS ${CMAKE_BINARY_DIR}/etc/fonts/fonts.conf) + install(DIRECTORY ${CMAKE_BINARY_DIR}/etc/fonts DESTINATION ${CMAKE_INSTALL_PREFIX}/etc) # GTK 3.0 -- cgit v1.2.3 From 55514fe81102aff77643153208125f2ea0c3c2fb Mon Sep 17 00:00:00 2001 From: Eduard Braun Date: Mon, 8 May 2017 22:11:37 +0200 Subject: Build an inkview.com as consoler wrapper around inkview.exe to allow for printing to console (just as we do with inkscape.com / inkscape.exe) (bzr r15677) --- CMakeScripts/InstallMSYS2.cmake | 5 +++++ 1 file changed, 5 insertions(+) (limited to 'CMakeScripts/InstallMSYS2.cmake') diff --git a/CMakeScripts/InstallMSYS2.cmake b/CMakeScripts/InstallMSYS2.cmake index c8c580fe4..a96df045b 100644 --- a/CMakeScripts/InstallMSYS2.cmake +++ b/CMakeScripts/InstallMSYS2.cmake @@ -10,6 +10,11 @@ if(WIN32) DESTINATION ${CMAKE_INSTALL_PREFIX} RENAME inkscape.com ) + install(PROGRAMS + ${EXECUTABLE_OUTPUT_PATH}/inkview_com.exe + DESTINATION ${CMAKE_INSTALL_PREFIX} + RENAME inkview.com + ) install(FILES ${LIBRARY_OUTPUT_PATH}/libinkscape_base.dll -- cgit v1.2.3 From 576e8b76d437b1f3b3583e9a8f5d55f133c11dda Mon Sep 17 00:00:00 2001 From: Eduard Braun Date: Tue, 9 May 2017 00:59:44 +0200 Subject: cmake: Correctly use 'install(TARGETS ...)' instead of 'install(FILES ...)' for inkscape executables. It's not only more elegant, but it also makes the "install/strip" target work! Also convert DESTINATION to a relative path. As relative paths are relative to ${CMAKE_INSTALL_PREFIX}, it's effectively the same as before, but cmake does not properly handle absolute paths on Windows, see [1]. [1] https://gitlab.kitware.com/cmake/cmake/issues/16859 (bzr r15678) --- CMakeScripts/InstallMSYS2.cmake | 22 ---------------------- 1 file changed, 22 deletions(-) (limited to 'CMakeScripts/InstallMSYS2.cmake') diff --git a/CMakeScripts/InstallMSYS2.cmake b/CMakeScripts/InstallMSYS2.cmake index a96df045b..982237538 100644 --- a/CMakeScripts/InstallMSYS2.cmake +++ b/CMakeScripts/InstallMSYS2.cmake @@ -1,26 +1,4 @@ if(WIN32) - install(PROGRAMS - ${EXECUTABLE_OUTPUT_PATH}/inkscape.exe - ${EXECUTABLE_OUTPUT_PATH}/inkview.exe - DESTINATION ${CMAKE_INSTALL_PREFIX} - ) - - install(PROGRAMS - ${EXECUTABLE_OUTPUT_PATH}/inkscape_com.exe - DESTINATION ${CMAKE_INSTALL_PREFIX} - RENAME inkscape.com - ) - install(PROGRAMS - ${EXECUTABLE_OUTPUT_PATH}/inkview_com.exe - DESTINATION ${CMAKE_INSTALL_PREFIX} - RENAME inkview.com - ) - - install(FILES - ${LIBRARY_OUTPUT_PATH}/libinkscape_base.dll - DESTINATION ${CMAKE_INSTALL_PREFIX} - ) - install(FILES AUTHORS COPYING -- cgit v1.2.3 From ae2703a5383eb29078c09610d713411b2da5ecf8 Mon Sep 17 00:00:00 2001 From: Eduard Braun Date: Tue, 9 May 2017 20:42:01 +0200 Subject: cmake/Windows: convert all 'DESTINATION's to relative paths and allow easy customization of install location via 'CMAKE_INSTALL_PREFIX' (bzr r15681) --- CMakeScripts/InstallMSYS2.cmake | 46 ++++++++++++++++++++--------------------- 1 file changed, 23 insertions(+), 23 deletions(-) (limited to 'CMakeScripts/InstallMSYS2.cmake') diff --git a/CMakeScripts/InstallMSYS2.cmake b/CMakeScripts/InstallMSYS2.cmake index 982237538..a5d451a88 100644 --- a/CMakeScripts/InstallMSYS2.cmake +++ b/CMakeScripts/InstallMSYS2.cmake @@ -8,10 +8,10 @@ if(WIN32) GPL2.txt GPL3.txt LGPL2.1.txt - DESTINATION ${CMAKE_INSTALL_PREFIX}) + DESTINATION .) install(DIRECTORY doc - DESTINATION ${CMAKE_INSTALL_PREFIX}) + DESTINATION .) # mingw dlls install(FILES @@ -116,42 +116,42 @@ if(WIN32) ${MINGW_BIN}/libgfortran-3.dll ${MINGW_BIN}/libopenblas.dll ${MINGW_BIN}/libquadmath-0.dll - DESTINATION ${CMAKE_INSTALL_PREFIX}) + DESTINATION .) # There are differences for 64-Bit and 32-Bit build environments. if(HAVE_MINGW64) install(FILES ${MINGW_BIN}/libgcc_s_seh-1.dll - DESTINATION ${CMAKE_INSTALL_PREFIX}) + DESTINATION .) else() install(FILES ${MINGW_BIN}/libgcc_s_dw2-1.dll - DESTINATION ${CMAKE_INSTALL_PREFIX}) + DESTINATION .) endif() # Install hicolor/index.theme to avoid bug 1635207 install(FILES ${MINGW_PATH}/share/icons/hicolor/index.theme - DESTINATION ${CMAKE_INSTALL_PREFIX}/share/icons/hicolor) + DESTINATION share/icons/hicolor) install(DIRECTORY ${MINGW_PATH}/share/icons/Adwaita - DESTINATION ${CMAKE_INSTALL_PREFIX}/share/icons) + DESTINATION share/icons) # translations for libraries (we usually shouldn't need many) install(DIRECTORY ${MINGW_PATH}/share/locale - DESTINATION ${CMAKE_INSTALL_PREFIX}/share + DESTINATION share FILES_MATCHING PATTERN "*gtk30.mo" PATTERN "*gtkspell3.mo") install(DIRECTORY ${MINGW_PATH}/share/poppler - DESTINATION ${CMAKE_INSTALL_PREFIX}/share) + DESTINATION share) install(DIRECTORY ${MINGW_PATH}/share/glib-2.0/schemas - DESTINATION ${CMAKE_INSTALL_PREFIX}/share/glib-2.0) + DESTINATION share/glib-2.0) # fontconfig install(DIRECTORY ${MINGW_PATH}/etc/fonts - DESTINATION ${CMAKE_INSTALL_PREFIX}/etc + DESTINATION etc FILES_MATCHING PATTERN "fonts.conf" EXCLUDE) # adjust fonts.conf to store font cache in AppData set(cachedir_default "\\t^/var/cache/fontconfig^") # the '^' are needed to escape angle brackets on Windows command shell @@ -163,60 +163,60 @@ if(WIN32) ) add_custom_target(fonts_conf ALL DEPENDS ${CMAKE_BINARY_DIR}/etc/fonts/fonts.conf) install(DIRECTORY ${CMAKE_BINARY_DIR}/etc/fonts - DESTINATION ${CMAKE_INSTALL_PREFIX}/etc) + DESTINATION etc) # GTK 3.0 install(DIRECTORY ${MINGW_LIB}/gtk-3.0 - DESTINATION ${CMAKE_INSTALL_PREFIX}/lib + DESTINATION lib FILES_MATCHING PATTERN "*.dll" PATTERN "*.cache") install(DIRECTORY ${MINGW_PATH}/etc/gtk-3.0 - DESTINATION ${CMAKE_INSTALL_PREFIX}/etc) + DESTINATION etc) install(DIRECTORY ${MINGW_LIB}/gdk-pixbuf-2.0 - DESTINATION ${CMAKE_INSTALL_PREFIX}/lib + DESTINATION lib FILES_MATCHING PATTERN "*.dll" PATTERN "*.cache") # Aspell dictionaries install(DIRECTORY ${MINGW_LIB}/aspell-0.60 - DESTINATION ${CMAKE_INSTALL_PREFIX}/lib) + DESTINATION lib) # Aspell backend for Enchant (gtkspell uses Enchant to access Aspell dictionaries) install(FILES ${MINGW_LIB}/enchant/libenchant_aspell.dll - DESTINATION ${CMAKE_INSTALL_PREFIX}/lib/enchant) + DESTINATION lib/enchant) # Necessary to run extensions on windows if it is not in the path if (HAVE_MINGW64) install(FILES ${MINGW_BIN}/gspawn-win64-helper.exe ${MINGW_BIN}/gspawn-win64-helper-console.exe - DESTINATION ${CMAKE_INSTALL_PREFIX}) + DESTINATION .) else() install(FILES ${MINGW_BIN}/gspawn-win32-helper.exe ${MINGW_BIN}/gspawn-win32-helper-console.exe - DESTINATION ${CMAKE_INSTALL_PREFIX}) + DESTINATION .) endif() # Python (a bit hacky for backwards compatibility with devlibs at this point) install(FILES ${MINGW_BIN}/python2.exe RENAME python.exe - DESTINATION ${CMAKE_INSTALL_PREFIX}) + DESTINATION .) install(FILES ${MINGW_BIN}/python2w.exe RENAME pythonw.exe - DESTINATION ${CMAKE_INSTALL_PREFIX}) + DESTINATION .) install(FILES ${MINGW_BIN}/libpython2.7.dll - DESTINATION ${CMAKE_INSTALL_PREFIX}) + DESTINATION .) install(DIRECTORY ${MINGW_LIB}/python2.7 - DESTINATION ${CMAKE_INSTALL_PREFIX}/lib + DESTINATION lib PATTERN "python2.7/site-packages" EXCLUDE # specify individual packages to install below PATTERN "python2.7/test" EXCLUDE # we don't need the Python testsuite ) -- cgit v1.2.3 From c222a986219d10890555ae21b60f4d2a6c9f3ec3 Mon Sep 17 00:00:00 2001 From: Eduard Braun Date: Sun, 14 May 2017 18:00:58 +0200 Subject: cmake/MSYS2: Install translations for glib (required for help output on console) (bzr r15693) --- CMakeScripts/InstallMSYS2.cmake | 1 + 1 file changed, 1 insertion(+) (limited to 'CMakeScripts/InstallMSYS2.cmake') diff --git a/CMakeScripts/InstallMSYS2.cmake b/CMakeScripts/InstallMSYS2.cmake index a5d451a88..ec2cd0a14 100644 --- a/CMakeScripts/InstallMSYS2.cmake +++ b/CMakeScripts/InstallMSYS2.cmake @@ -140,6 +140,7 @@ if(WIN32) install(DIRECTORY ${MINGW_PATH}/share/locale DESTINATION share FILES_MATCHING + PATTERN "*glib20.mo" PATTERN "*gtk30.mo" PATTERN "*gtkspell3.mo") -- cgit v1.2.3 From f18b7199542c83ddf5c3813fe0ff0336a81fa464 Mon Sep 17 00:00:00 2001 From: Eduard Braun Date: Tue, 23 May 2017 20:44:33 +0200 Subject: cmake/MSYS2: Include libyaml for xverb feature (bzr r15699) --- CMakeScripts/InstallMSYS2.cmake | 1 + 1 file changed, 1 insertion(+) (limited to 'CMakeScripts/InstallMSYS2.cmake') diff --git a/CMakeScripts/InstallMSYS2.cmake b/CMakeScripts/InstallMSYS2.cmake index ec2cd0a14..495e8e1e6 100644 --- a/CMakeScripts/InstallMSYS2.cmake +++ b/CMakeScripts/InstallMSYS2.cmake @@ -103,6 +103,7 @@ if(WIN32) ${MINGW_BIN}/libwpg-0.3.dll ${MINGW_BIN}/libxml2-2.dll ${MINGW_BIN}/libxslt-1.dll + ${MINGW_BIN}/libyaml-0-2.dll ${MINGW_BIN}/nss3.dll ${MINGW_BIN}/nssutil3.dll ${MINGW_BIN}/smime3.dll -- cgit v1.2.3 From 260a45509ec8e9ef91d2df86a2cc9e876a7f9d93 Mon Sep 17 00:00:00 2001 From: Eduard Braun Date: Mon, 29 May 2017 21:22:42 +0200 Subject: cmake/MSYS2: install python2-pillow (bzr r15717) --- CMakeScripts/InstallMSYS2.cmake | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'CMakeScripts/InstallMSYS2.cmake') diff --git a/CMakeScripts/InstallMSYS2.cmake b/CMakeScripts/InstallMSYS2.cmake index 495e8e1e6..d3e63c3c9 100644 --- a/CMakeScripts/InstallMSYS2.cmake +++ b/CMakeScripts/InstallMSYS2.cmake @@ -225,7 +225,7 @@ if(WIN32) set(site_packages "lib/python2.7/site-packages") # Python packages installed via pacman - set(packages "python2-lxml" "python2-numpy") + set(packages "python2-lxml" "python2-numpy" "python2-pillow") foreach(package ${packages}) list_files_pacman(${package} paths) install_list(FILES ${paths} -- cgit v1.2.3