diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 5fe5730e85eee5ce7e77c829b62d0cc5e12e6f1e..52b09337aced2526adaae0677ac8750937e220d1 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -25,6 +25,7 @@ inkscape:linux: - cmake .. -DCMAKE_C_COMPILER_LAUNCHER=ccache -DCMAKE_CXX_COMPILER_LAUNCHER=ccache -DCMAKE_BUILD_TYPE=Debug -DCMAKE_INSTALL_PREFIX:PATH=$PWD/install_dir/ - make -j3 install - make -j3 tests + - cpack -G DEB - cd .. artifacts: expire_in: 1 year diff --git a/CMakeLists.txt b/CMakeLists.txt index a5cdd262fa3b40cd8e7387601825916c8a5974cb..10d5f7b15c2cc379c66723a2e16cf5e32fe1f5cb 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -311,3 +311,4 @@ endif() endif() message("------------------------------------------------------------------------") +include(CMakeScripts/ConfigCPack.cmake) diff --git a/CMakeScripts/ConfigCPack.cmake b/CMakeScripts/ConfigCPack.cmake new file mode 100644 index 0000000000000000000000000000000000000000..c0cbe8a37f31c5411928d6e33ab6faf71e358e72 --- /dev/null +++ b/CMakeScripts/ConfigCPack.cmake @@ -0,0 +1,68 @@ +############################ +# CPack configuration file # +############################ + + +## General ## + +set(CPACK_PACKAGE_NAME "Inkscape") +set(CPACK_PACKAGE_DESCRIPTION_SUMMARY "Inkscape, open-source vector graphics editor") +set(CPACK_PACKAGE_VENDOR "Inkscape") +set(CPACK_PACKAGE_CONTACT "Inkscape developers ") +set(CPACK_PACKAGE_DESCRIPTION_FILE "${CMAKE_CURRENT_SOURCE_DIR}/README.md") +set(CPACK_RESOURCE_FILE_LICENSE "${CMAKE_CURRENT_SOURCE_DIR}/GPL2.txt") +set(CPACK_PACKAGE_INSTALL_DIRECTORY ${CPACK_PACKAGE_NAME}) +set(CPACK_PACKAGE_VERSION_MAJOR ${INKSCAPE_VERSION_MAJOR}) +set(CPACK_PACKAGE_VERSION_MINOR ${INKSCAPE_VERSION_MINOR}) +set(CPACK_PACKAGE_VERSION_PATCH ${INKSCAPE_VERSION_PATCH}) + +set(CPACK_PACKAGE_VERSION "${CPACK_PACKAGE_VERSION_MAJOR}.${CPACK_PACKAGE_VERSION_MINOR}.${CPACK_PACKAGE_VERSION_PATCH}${INKSCAPE_VERSION_SUFFIX}") +set(CPACK_PACKAGE_INSTALL_DIRECTORY "CMake ${CMake_VERSION_MAJOR}.${CMake_VERSION_MINOR}") +set(CPACK_SOURCE_IGNORE_FILES "~$;[.]swp$;/[.]svn/;/[.]git/;.gitignore;/build/;/obj*/;tags;cscope.*") +set(INKSCAPE_DIST_PREFIX ${PROJECT_NAME}-${INKSCAPE_VERSION}_${INKSCAPE_REVISION_DATE}_${INKSCAPE_REVISION_HASH}) +set(CPACK_SOURCE_PACKAGE_FILE_NAME ${INKSCAPE_DIST_PREFIX}) +set(CPACK_PACKAGE_FILE_NAME ${INKSCAPE_DIST_PREFIX}) +set(CPACK_PACKAGE_INSTALL_DIRECTORY "inkscape") +set(CPACK_SOURCE_GENERATOR "TXZ") + +## Windows ## + +if (WIN32) + set(CPACK_GENERATOR "ZIP") + ### nsis generator + find_package(NSIS) + if (NSIS_MAKE) + set(CPACK_GENERATOR "${CPACK_GENERATOR};NSIS") + set(CPACK_NSIS_DISPLAY_NAME "Inkscape") + set(CPACK_NSIS_COMPRESSOR "/SOLID zlib") + set(CPACK_NSIS_MENU_LINKS "https://inkscape.org/" "Inkscape homepage") + endif (NSIS_MAKE) +endif (WIN32) + +## Linux ## + +### DEB ### + +SET(CPACK_DEBIAN_PACKAGE_DEPENDS "libaspell15 (>= 0.60.7~20110707), libatkmm-1.6-1v5 (>= 2.24.0), libc6 (>= 2.14), libcairo2 (>= 1.14.0), libcairomm-1.0-1v5 (>= 1.12.0), libcdr-0.1-1, libdbus-glib-1-2 (>= 0.88), libfontconfig1 (>= 2.12), libfreetype6 (>= 2.2.1), libgc1c2 (>= 1:7.2d), libgcc1 (>= 1:4.0), libgdk-pixbuf2.0-0 (>= 2.22.0), libgdl-3-5 (>= 3.8.1), libglib2.0-0 (>= 2.41.1), libglibmm-2.4-1v5 (>= 2.54.0), libgomp1 (>= 4.9), libgsl23, libgslcblas0, libgtk-3-0 (>= 3.21.5), libgtkmm-3.0-1v5 (>= 3.22.0), libgtkspell3-3-0, libharfbuzz0b (>= 1.2.6), libjpeg8 (>= 8c), liblcms2-2 (>= 2.2+git20110628), libmagick++-6.q16-7 (>= 8:6.9.6.8), libpango-1.0-0 (>= 1.37.2), libpangocairo-1.0-0 (>= 1.14.0), libpangoft2-1.0-0 (>= 1.37.2), libpangomm-1.4-1v5 (>= 2.40.0), libpng16-16 (>= 1.6.2-1), libpoppler-glib8 (>= 0.18.0), libpoppler68 (>= 0.57.0), libpopt0 (>= 1.14), libpotrace0, librevenge-0.0-0, libsigc++-2.0-0v5 (>= 2.8.0), libsoup2.4-1 (>= 2.41.90), libstdc++6 (>= 5.2), libvisio-0.1-1, libwpg-0.3-3, libx11-6, libxml2 (>= 2.7.4), libxslt1.1 (>= 1.1.25), zlib1g (>= 1:1.1.4)") +IF(NOT CPACK_DEBIAN_PACKAGE_ARCHITECTURE) + FIND_PROGRAM(DPKG_CMD dpkg) + IF(NOT DPKG_CMD) + MESSAGE(STATUS "Can not find dpkg in your path, default to i386.") + SET(CPACK_DEBIAN_PACKAGE_ARCHITECTURE i386) + ENDIF(NOT DPKG_CMD) + EXECUTE_PROCESS(COMMAND "${DPKG_CMD}" --print-architecture + OUTPUT_VARIABLE CPACK_DEBIAN_PACKAGE_ARCHITECTURE + OUTPUT_STRIP_TRAILING_WHITESPACE + ) +ENDIF(NOT CPACK_DEBIAN_PACKAGE_ARCHITECTURE) +SET(CPACK_DEBIAN_PACKAGE_SECTION "graphics") +SET(CPACK_DEBIAN_PACKAGE_RECOMMENDS "aspell, imagemagick, libwmf-bin, perlmagick, python-numpy, python-lxml, python-scour, python-uniconvertor") +SET(CPACK_DEBIAN_PACKAGE_SUGGESTS "dia, libsvg-perl, libxml-xql-perl, pstoedit, python-uniconvertor, ruby") + +### RPM ### + + +## MacOS ## + + +include(CPack) diff --git a/CMakeScripts/Install.cmake b/CMakeScripts/Install.cmake index a188ba2c9c22f568b145ce272557646bf3efa424..2c6d2ba1282eb24f5c5b2ba0d2fa590d12d3fd10 100644 --- a/CMakeScripts/Install.cmake +++ b/CMakeScripts/Install.cmake @@ -1,227 +1,227 @@ -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(FILES - AUTHORS - COPYING - NEWS - README.md - TRANSLATORS - GPL2.txt - GPL3.txt - LGPL2.1.txt - DESTINATION .) - - install(DIRECTORY doc - DESTINATION .) - - # devlibs and mingw dlls - - # 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}/libcairo-gobject-2.dll - ${DEVLIBS_BIN}/libcairomm-1.0-1.dll - ${DEVLIBS_BIN}/libcdr-0.1.dll - ${DEVLIBS_BIN}/libcurl-4.dll - ${DEVLIBS_BIN}/libepoxy-0.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-3-0.dll - ${DEVLIBS_BIN}/libgdk_pixbuf-2.0-0.dll - ${DEVLIBS_BIN}/libgdkmm-3.0-1.dll - ${DEVLIBS_BIN}/libgdl-3-5.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-3-0.dll - ${DEVLIBS_BIN}/libgtkmm-3.0-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 .) - 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 .) - endif() - - # Generate a dummy file in hicolor/index.theme to avoid bug 1635207 - file(GENERATE OUTPUT share/icons/hicolor/index.theme - CONTENT "[Icon Theme]\nName=hicolor\nDirectories=") - - install(DIRECTORY ${DEVLIBS_PATH}/share/icons/Adwaita - DESTINATION share/icons) - - install(DIRECTORY ${DEVLIBS_PATH}/share/poppler - DESTINATION share) - - install(DIRECTORY ${DEVLIBS_PATH}/share/glib-2.0/schemas - DESTINATION share/glib-2.0) - - install(DIRECTORY ${DEVLIBS_PATH}/etc/fonts - DESTINATION etc) - - # GTK 3.0 - install(DIRECTORY ${DEVLIBS_LIB}/gtk-3.0 - DESTINATION lib - FILES_MATCHING - PATTERN "*.dll" - PATTERN "*.cache") - - install(DIRECTORY ${DEVLIBS_PATH}/etc/gtk-3.0 - DESTINATION etc) - - install(DIRECTORY ${DEVLIBS_LIB}/gdk-pixbuf-2.0 - DESTINATION lib - FILES_MATCHING - PATTERN "*.dll" - PATTERN "*.cache") - - # Aspell dictionaries - install(DIRECTORY ${DEVLIBS_LIB}/aspell-0.60 - DESTINATION 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 .) - else() - install(FILES - ${DEVLIBS_BIN}/gspawn-win32-helper.exe - ${DEVLIBS_BIN}/gspawn-win32-helper-console.exe - DESTINATION .) - endif() - - # Perl - install(FILES - ${DEVLIBS_PATH}/perl/bin/perl58.dll - DESTINATION .) - - # Python - install(DIRECTORY ${DEVLIBS_PATH}/python - DESTINATION . - PATTERN "python/include" EXCLUDE - PATTERN "python/libs" EXCLUDE - PATTERN "*.pyc" EXCLUDE) -endif() \ No newline at end of file +if(UNIX) + #The install directive for the binaries and libraries are found in src/CMakeList.txt + install(FILES + ${CMAKE_BINARY_DIR}/inkscape.desktop + DESTINATION ${SHARE_INSTALL}/applications) +endif() + +if(WIN32) + install(FILES + AUTHORS + COPYING + NEWS + README.md + TRANSLATORS + GPL2.txt + GPL3.txt + LGPL2.1.txt + DESTINATION .) + + install(DIRECTORY doc + DESTINATION .) + + # devlibs and mingw dlls + + # 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}/libcairo-gobject-2.dll + ${DEVLIBS_BIN}/libcairomm-1.0-1.dll + ${DEVLIBS_BIN}/libcdr-0.1.dll + ${DEVLIBS_BIN}/libcurl-4.dll + ${DEVLIBS_BIN}/libepoxy-0.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-3-0.dll + ${DEVLIBS_BIN}/libgdk_pixbuf-2.0-0.dll + ${DEVLIBS_BIN}/libgdkmm-3.0-1.dll + ${DEVLIBS_BIN}/libgdl-3-5.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-3-0.dll + ${DEVLIBS_BIN}/libgtkmm-3.0-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 .) + 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 .) + endif() + + # Generate a dummy file in hicolor/index.theme to avoid bug 1635207 + file(GENERATE OUTPUT share/icons/hicolor/index.theme + CONTENT "[Icon Theme]\nName=hicolor\nDirectories=") + + install(DIRECTORY ${DEVLIBS_PATH}/share/icons/Adwaita + DESTINATION share/icons) + + install(DIRECTORY ${DEVLIBS_PATH}/share/poppler + DESTINATION share) + + install(DIRECTORY ${DEVLIBS_PATH}/share/glib-2.0/schemas + DESTINATION share/glib-2.0) + + install(DIRECTORY ${DEVLIBS_PATH}/etc/fonts + DESTINATION etc) + + # GTK 3.0 + install(DIRECTORY ${DEVLIBS_LIB}/gtk-3.0 + DESTINATION lib + FILES_MATCHING + PATTERN "*.dll" + PATTERN "*.cache") + + install(DIRECTORY ${DEVLIBS_PATH}/etc/gtk-3.0 + DESTINATION etc) + + install(DIRECTORY ${DEVLIBS_LIB}/gdk-pixbuf-2.0 + DESTINATION lib + FILES_MATCHING + PATTERN "*.dll" + PATTERN "*.cache") + + # Aspell dictionaries + install(DIRECTORY ${DEVLIBS_LIB}/aspell-0.60 + DESTINATION 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 .) + else() + install(FILES + ${DEVLIBS_BIN}/gspawn-win32-helper.exe + ${DEVLIBS_BIN}/gspawn-win32-helper-console.exe + DESTINATION .) + endif() + + # Perl + install(FILES + ${DEVLIBS_PATH}/perl/bin/perl58.dll + DESTINATION .) + + # Python + install(DIRECTORY ${DEVLIBS_PATH}/python + DESTINATION . + PATTERN "python/include" EXCLUDE + PATTERN "python/libs" EXCLUDE + PATTERN "*.pyc" EXCLUDE) +endif() diff --git a/CMakeScripts/Modules/FindNSIS.cmake b/CMakeScripts/Modules/FindNSIS.cmake new file mode 100644 index 0000000000000000000000000000000000000000..21f80d868e1335ad217d30838c39e698dfabe99e --- /dev/null +++ b/CMakeScripts/Modules/FindNSIS.cmake @@ -0,0 +1,55 @@ +# - Try to find NSIS +# Once done this will define +# +# NSIS_ROOT_PATH - Set this variable to the root installation of NSIS +# +# Read-Only variables: +# +# NSIS_FOUND - system has NSIS +# NSIS_MAKE - NSIS creator executable +# +#============================================================================= +# Copyright (c) 2010-2013 Andreas Schneider +# +# Distributed under the OSI-approved BSD License (the "License"); +# see accompanying file Copyright.txt for details. +# +# This software is distributed WITHOUT ANY WARRANTY; without even the +# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. +# See the License for more information. +#============================================================================= +# + +if (WIN32) + set(_NSIS_ROOT_HINTS + "[HKEY_LOCAL_MACHINE\\SOFTWARE\\Wow6432Node\\NSIS;Default]") + + set(_NSIS_ROOT_PATHS + $ENV{PROGRAMFILES}/NSIS) + + find_path(NSIS_ROOT_PATH + NAMES + Include/Library.nsh + HINTS + ${_NSIS_ROOT_HINTS} + PATHS + ${_NSIS_ROOT_PATHS} + ) + mark_as_advanced(NSIS_ROOT_PATH) +endif (WIN32) + +find_program(NSIS_MAKE + NAMES + makensis + PATHS + ${NSIS_ROOT_PATH} +) + +include(FindPackageHandleStandardArgs) +find_package_handle_standard_args(NSIS DEFAULT_MSG NSIS_MAKE) + +if (NSIS_MAKE) + set(NSIS_FOUND TRUE) +endif (NSIS_MAKE) + +mark_as_advanced(NSIS_MAKE) diff --git a/CMakeScripts/Pod2man.cmake b/CMakeScripts/Pod2man.cmake index 348319b4aa682757efa22ca737caa608b19b5f0a..5b6afa914f08695621eae9b72571af3f5de423a3 100644 --- a/CMakeScripts/Pod2man.cmake +++ b/CMakeScripts/Pod2man.cmake @@ -28,12 +28,12 @@ macro(pod2man PODFILE_FULL RELEASE SECTION CENTER) set(MANPAGE_TARGET "man-${NAME}-${LANG}") set(MANFILE_TEMP "${CMAKE_CURRENT_BINARY_DIR}/${NAME}.${LANG}.tmp") set(MANFILE_FULL "${CMAKE_CURRENT_BINARY_DIR}/${NAME}.${LANG}.${SECTION}") - set(MANFILE_DEST "${CMAKE_INSTALL_PREFIX}/${SHARE_INSTALL}/man/${LANG}/man${SECTION}") + set(MANFILE_DEST "${SHARE_INSTALL}/man/${LANG}/man${SECTION}") else() set(MANPAGE_TARGET "man-${NAME}") set(MANFILE_TEMP "${CMAKE_CURRENT_BINARY_DIR}/${NAME}.tmp") set(MANFILE_FULL "${CMAKE_CURRENT_BINARY_DIR}/${NAME}.${SECTION}") - set(MANFILE_DEST "${CMAKE_INSTALL_PREFIX}/${SHARE_INSTALL}/man/man${SECTION}") + set(MANFILE_DEST "${SHARE_INSTALL}/man/man${SECTION}") endif() add_custom_command( OUTPUT ${MANFILE_TEMP} diff --git a/share/icons/application/CMakeLists.txt b/share/icons/application/CMakeLists.txt index f93b4068ee74dda3061469b32134104e3781e1cd..6322ba87b43c381bd580c21f85c5334ed1871613 100644 --- a/share/icons/application/CMakeLists.txt +++ b/share/icons/application/CMakeLists.txt @@ -6,4 +6,5 @@ foreach(pixmap_size ${PIXMAP_SIZES}) endforeach(pixmap_size) # I hope that this is actually run after installing the files. -install(CODE "execute_process(COMMAND gtk-update-icon-cache -f -t ${CMAKE_INSTALL_PREFIX}/${SHARE_INSTALL}/icons/${THEME})") \ No newline at end of file +install(CODE "execute_process(COMMAND gtk-update-icon-cache -f -t ${CMAKE_INSTALL_PREFIX}/${SHARE_INSTALL}/icons/${THEME})") +install(FILES ${CMAKE_INSTALL_PREFIX}/${SHARE_INSTALL}/icons/${THEME}/icon-theme.cache DESTINATION ${SHARE_INSTALL}/icons/${THEME})