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/ConfigPaths.cmake | 4 +++- CMakeScripts/Install.cmake | 34 +++++++++++++++--------------- CMakeScripts/InstallMSYS2.cmake | 46 ++++++++++++++++++++--------------------- 3 files changed, 43 insertions(+), 41 deletions(-) (limited to 'CMakeScripts') diff --git a/CMakeScripts/ConfigPaths.cmake b/CMakeScripts/ConfigPaths.cmake index fae8ceea6..417b265bf 100644 --- a/CMakeScripts/ConfigPaths.cmake +++ b/CMakeScripts/ConfigPaths.cmake @@ -1,7 +1,9 @@ message(STATUS "Creating build files in: ${CMAKE_CURRENT_BINARY_DIR}") if(WIN32) - set(CMAKE_INSTALL_PREFIX "${CMAKE_BINARY_DIR}/inkscape") + if(${CMAKE_INSTALL_PREFIX_INITIALIZED_TO_DEFAULT}) + set(CMAKE_INSTALL_PREFIX "${CMAKE_BINARY_DIR}/inkscape") + endif() set(INKSCAPE_LIBDIR "\\\\lib") set(INKSCAPE_DATADIR "") diff --git a/CMakeScripts/Install.cmake b/CMakeScripts/Install.cmake index aab92067a..782161dc2 100644 --- a/CMakeScripts/Install.cmake +++ b/CMakeScripts/Install.cmake @@ -15,10 +15,10 @@ if(WIN32) GPL2.txt GPL3.txt LGPL2.1.txt - DESTINATION ${CMAKE_INSTALL_PREFIX}) + DESTINATION .) install(DIRECTORY doc - DESTINATION ${CMAKE_INSTALL_PREFIX}) + DESTINATION .) # devlibs and mingw dlls @@ -94,7 +94,7 @@ if(WIN32) ${MINGW_BIN}/libwinpthread-1.dll ${MINGW_BIN}/libgcc_s_seh-1.dll ${MINGW_BIN}/libgomp-1.dll - DESTINATION ${CMAKE_INSTALL_PREFIX}) + DESTINATION .) else() install(FILES ${DEVLIBS_BIN}/bzip2.dll @@ -161,66 +161,66 @@ if(WIN32) ${DEVLIBS_BIN}/zlib1.dll ${MINGW_BIN}/mingwm10.dll ${MINGW_BIN}/libgomp-1.dll - DESTINATION ${CMAKE_INSTALL_PREFIX}) + DESTINATION .) endif() # Generate a dummy file in hicolor/index.theme to avoid bug 1635207 - file(GENERATE OUTPUT ${CMAKE_INSTALL_PREFIX}/share/icons/hicolor/index.theme + file(GENERATE OUTPUT share/icons/hicolor/index.theme CONTENT "[Icon Theme]\nName=hicolor\nDirectories=") install(DIRECTORY ${DEVLIBS_PATH}/share/icons/Adwaita - DESTINATION ${CMAKE_INSTALL_PREFIX}/share/icons) + DESTINATION share/icons) install(DIRECTORY ${DEVLIBS_PATH}/share/poppler - DESTINATION ${CMAKE_INSTALL_PREFIX}/share) + DESTINATION share) install(DIRECTORY ${DEVLIBS_PATH}/share/glib-2.0/schemas - DESTINATION ${CMAKE_INSTALL_PREFIX}/share/glib-2.0) + DESTINATION share/glib-2.0) install(DIRECTORY ${DEVLIBS_PATH}/etc/fonts - DESTINATION ${CMAKE_INSTALL_PREFIX}/etc) + DESTINATION etc) # GTK 3.0 install(DIRECTORY ${DEVLIBS_LIB}/gtk-3.0 - DESTINATION ${CMAKE_INSTALL_PREFIX}/lib + DESTINATION lib FILES_MATCHING PATTERN "*.dll" PATTERN "*.cache") install(DIRECTORY ${DEVLIBS_PATH}/etc/gtk-3.0 - DESTINATION ${CMAKE_INSTALL_PREFIX}/etc) + DESTINATION etc) install(DIRECTORY ${DEVLIBS_LIB}/gdk-pixbuf-2.0 - DESTINATION ${CMAKE_INSTALL_PREFIX}/lib + DESTINATION lib FILES_MATCHING PATTERN "*.dll" PATTERN "*.cache") # Aspell dictionaries install(DIRECTORY ${DEVLIBS_LIB}/aspell-0.60 - DESTINATION ${CMAKE_INSTALL_PREFIX}/lib) + 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 ${CMAKE_INSTALL_PREFIX}) + DESTINATION .) else() install(FILES ${DEVLIBS_BIN}/gspawn-win32-helper.exe ${DEVLIBS_BIN}/gspawn-win32-helper-console.exe - DESTINATION ${CMAKE_INSTALL_PREFIX}) + DESTINATION .) endif() # Perl install(FILES ${DEVLIBS_PATH}/perl/bin/perl58.dll - DESTINATION ${CMAKE_INSTALL_PREFIX}) + DESTINATION .) # Python install(DIRECTORY ${DEVLIBS_PATH}/python - DESTINATION ${CMAKE_INSTALL_PREFIX} + DESTINATION . PATTERN "python/include" EXCLUDE PATTERN "python/libs" EXCLUDE PATTERN "*.pyc" EXCLUDE) 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