diff options
author | Justin M. Keyes <justinkz@gmail.com> | 2022-06-27 03:08:59 -0700 |
---|---|---|
committer | Justin M. Keyes <justinkz@gmail.com> | 2022-06-28 04:02:29 -0700 |
commit | f05a2891d3da9f9fcd9c7457ca0c2a54ff65078b (patch) | |
tree | de382ef0008871d7e7a41b29172b41bd97a39e05 /cmake.packaging | |
parent | 9ddb481d88d3926111e83d512921ebe98bb426ae (diff) | |
download | rneovim-f05a2891d3da9f9fcd9c7457ca0c2a54ff65078b.tar.gz rneovim-f05a2891d3da9f9fcd9c7457ca0c2a54ff65078b.tar.bz2 rneovim-f05a2891d3da9f9fcd9c7457ca0c2a54ff65078b.zip |
build: rename build-related dirs
Problem:
Dirs "config", "packaging", and "third-party" are all closely related
but this is not obvious from the layout. This adds friction for new
contributors.
Solution:
- rename config/ to cmake.config/
- rename test/config/ to test/cmakeconfig/ because it is used in Lua
tests: require('test.cmakeconfig.paths').
- rename packaging/ to cmake.packaging/
- rename third-party/ to cmake.deps/ (parallel with .deps/)
Diffstat (limited to 'cmake.packaging')
-rw-r--r-- | cmake.packaging/CMakeLists.txt | 64 | ||||
-rw-r--r-- | cmake.packaging/WixPatch.xml | 14 | ||||
-rw-r--r-- | cmake.packaging/neovim.icns | bin | 0 -> 86517 bytes | |||
-rw-r--r-- | cmake.packaging/neovim.ico | bin | 0 -> 122355 bytes | |||
-rw-r--r-- | cmake.packaging/neovim.png | bin | 0 -> 6758 bytes | |||
-rw-r--r-- | cmake.packaging/neovim.svg | 147 |
6 files changed, 225 insertions, 0 deletions
diff --git a/cmake.packaging/CMakeLists.txt b/cmake.packaging/CMakeLists.txt new file mode 100644 index 0000000000..8538075388 --- /dev/null +++ b/cmake.packaging/CMakeLists.txt @@ -0,0 +1,64 @@ +set(CPACK_PACKAGE_NAME "Neovim") +set(CPACK_PACKAGE_VENDOR "neovim.io") +set(CPACK_PACKAGE_FILE_NAME "nvim") + +# From the GitHub About section +set(CPACK_PACKAGE_DESCRIPTION_SUMMARY "Vim-fork focused on extensibility and usability.") + +set(CPACK_PACKAGE_INSTALL_DIRECTORY ${CPACK_PACKAGE_NAME}) + +# Pull the versions defined with the top level CMakeLists.txt +set(CPACK_PACKAGE_VERSION_MAJOR ${NVIM_VERSION_MAJOR}) +set(CPACK_PACKAGE_VERSION_MINOR ${NVIM_VERSION_MINOR}) +set(CPACK_PACKAGE_VERSION_PATCH ${NVIM_VERSION_PATCH}) + +# CPACK_VERBATIM_VARIABLES ensures that the variables prefixed with *CPACK_* +# are correctly passed to the cpack program. +# This should always be set to true. +set(CPACK_VERBATIM_VARIABLES TRUE) + +set(CPACK_RESOURCE_FILE_LICENSE "${PROJECT_SOURCE_DIR}/LICENSE.txt") +set(CPACK_RESOURCE_FILE_README ${PROJECT_SOURCE_DIR}/README.md) + + +if(WIN32) + set(CPACK_PACKAGE_FILE_NAME "nvim-win64") + set(CPACK_GENERATOR ZIP WIX) + + # WIX + # CPACK_WIX_UPGRADE_GUID should be set, but should never change. + # CPACK_WIX_PRODUCT_GUID should not be set (leave as default to auto-generate). + + # The following guid is just a randomly generated guid that's been pasted here. + # It has no special meaning other than to supply it to WIX. + set(CPACK_WIX_UPGRADE_GUID "207A1A70-7B0C-418A-A153-CA6883E38F4D") + set(CPACK_WIX_PRODUCT_ICON ${CMAKE_CURRENT_LIST_DIR}/neovim.ico) + + # We use a wix patch to add further options to the installer. At present, it's just to add neovim to the path + # on installation, however, it can be extended. + # See: https://cmake.org/cmake/help/v3.7/module/CPackWIX.html#variable:CPACK_WIX_PATCH_FILE + list(APPEND CPACK_WIX_EXTENSIONS WixUtilExtension) + list(APPEND CPACK_WIX_PATCH_FILE ${CMAKE_CURRENT_LIST_DIR}/WixPatch.xml) +elseif(APPLE) + set(CPACK_PACKAGE_FILE_NAME "nvim-macos") + set(CPACK_GENERATOR TGZ) + set(CPACK_PACKAGE_ICON ${CMAKE_CURRENT_LIST_DIR}/neovim.icns) +elseif(CMAKE_SYSTEM_NAME STREQUAL "Linux") + set(CPACK_PACKAGE_FILE_NAME "nvim-linux64") + set(CPACK_GENERATOR TGZ DEB) + set(CPACK_DEBIAN_PACKAGE_NAME "Neovim") # required + set(CPACK_DEBIAN_PACKAGE_MAINTAINER "Neovim.io") # required + + # Automatically compute required shared lib dependencies. + # Unfortunately, you "just need to know" that this has a hidden + # dependency on dpkg-shlibdeps whilst using a debian based host. + set(CPACK_DEBIAN_PACKAGE_SHLIBDEPS TRUE) +else() + set(CPACK_GENERATOR TGZ) +endif() + +# CPack variables are loaded in on the call to include(CPack). If you set +# variables *after* the inclusion, they don't get updated within the CPack +# config. Note that some CPack commands should still be run after it, such +# as cpack_add_component(). +include(CPack) diff --git a/cmake.packaging/WixPatch.xml b/cmake.packaging/WixPatch.xml new file mode 100644 index 0000000000..3cbbb04850 --- /dev/null +++ b/cmake.packaging/WixPatch.xml @@ -0,0 +1,14 @@ +<CPackWiXPatch> + <!-- Fragment ID is from: <your build dir>/_CPack_Packages/win64/WIX/files.wxs --> + <CPackWiXFragment Id="CM_CP_bin.nvim.exe"> + <Environment + Id='UpdatePath' + Name='PATH' + Action='set' + Permanent='no' + System='yes' + Part='last' + Value='[INSTALL_ROOT]bin' + /> + </CPackWiXFragment> +</CPackWiXPatch> diff --git a/cmake.packaging/neovim.icns b/cmake.packaging/neovim.icns Binary files differnew file mode 100644 index 0000000000..df0e982369 --- /dev/null +++ b/cmake.packaging/neovim.icns diff --git a/cmake.packaging/neovim.ico b/cmake.packaging/neovim.ico Binary files differnew file mode 100644 index 0000000000..e0c151c966 --- /dev/null +++ b/cmake.packaging/neovim.ico diff --git a/cmake.packaging/neovim.png b/cmake.packaging/neovim.png Binary files differnew file mode 100644 index 0000000000..a3960b41bd --- /dev/null +++ b/cmake.packaging/neovim.png diff --git a/cmake.packaging/neovim.svg b/cmake.packaging/neovim.svg new file mode 100644 index 0000000000..d82ad667c1 --- /dev/null +++ b/cmake.packaging/neovim.svg @@ -0,0 +1,147 @@ +<?xml version="1.0" encoding="UTF-8" standalone="no"?> +<svg + xmlns:sketch="http://www.bohemiancoding.com/sketch/ns" + xmlns:dc="http://purl.org/dc/elements/1.1/" + xmlns:cc="http://creativecommons.org/ns#" + xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" + xmlns:svg="http://www.w3.org/2000/svg" + xmlns="http://www.w3.org/2000/svg" + xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" + xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" + width="256" + height="256" + viewBox="0 0 256 256" + version="1.1" + id="svg4612" + sodipodi:docname="neovim.svg" + inkscape:version="0.92.4 5da689c313, 2019-01-14"> + <metadata + id="metadata4616"> + <rdf:RDF> + <cc:Work + rdf:about=""> + <dc:format>image/svg+xml</dc:format> + <dc:type + rdf:resource="http://purl.org/dc/dcmitype/StillImage" /> + <dc:title>neovim-mark@2x</dc:title> + </cc:Work> + </rdf:RDF> + </metadata> + <sodipodi:namedview + pagecolor="#ffffff" + bordercolor="#666666" + borderopacity="1" + objecttolerance="10" + gridtolerance="10" + guidetolerance="10" + inkscape:pageopacity="0" + inkscape:pageshadow="2" + inkscape:window-width="2560" + inkscape:window-height="1333" + id="namedview4614" + showgrid="false" + inkscape:zoom="2.1945358" + inkscape:cx="132.84232" + inkscape:cy="196.34741" + inkscape:window-x="0" + inkscape:window-y="34" + inkscape:window-maximized="1" + inkscape:current-layer="svg4612" /> + <title + id="title4587">neovim-mark@2x</title> + <description>Created with Sketch (http://www.bohemiancoding.com/sketch)</description> + <defs + id="defs4604"> + <linearGradient + x1="167.95833" + y1="-0.46142399" + x2="167.95833" + y2="335.45523" + id="linearGradient-1" + gradientTransform="scale(0.46142398,2.1672042)" + gradientUnits="userSpaceOnUse"> + <stop + stop-color="#16B0ED" + stop-opacity="0.800235524" + offset="0%" + id="stop4589" /> + <stop + stop-color="#0F59B2" + stop-opacity="0.83700023" + offset="100%" + id="stop4591" /> + </linearGradient> + <linearGradient + x1="1118.3427" + y1="-0.46586797" + x2="1118.3427" + y2="338.68604" + id="linearGradient-2" + gradientTransform="scale(0.46586797,2.1465309)" + gradientUnits="userSpaceOnUse"> + <stop + stop-color="#7DB643" + offset="0%" + id="stop4594" /> + <stop + stop-color="#367533" + offset="100%" + id="stop4596" /> + </linearGradient> + <linearGradient + x1="356.33795" + y1="0" + x2="356.33795" + y2="612.90131" + id="linearGradient-3" + gradientTransform="scale(0.84189739,1.1877932)" + gradientUnits="userSpaceOnUse"> + <stop + stop-color="#88C649" + stop-opacity="0.8" + offset="0%" + id="stop4599" /> + <stop + stop-color="#439240" + stop-opacity="0.84" + offset="100%" + id="stop4601" /> + </linearGradient> + </defs> + <g + id="Page-1" + sketch:type="MSPage" + style="fill:none;fill-rule:evenodd;stroke:none;stroke-width:1" + transform="matrix(0.34367476,0,0,0.34367476,25.312651,1.7737533)"> + <g + id="mark-copy" + sketch:type="MSLayerGroup" + transform="translate(2,3)"> + <path + d="M 0,155.5704 155,-1 V 727 L 0,572.23792 Z" + id="Left---green" + sketch:type="MSShapeGroup" + inkscape:connector-curvature="0" + style="fill:url(#linearGradient-1)" /> + <path + d="M 443.0604,156.9824 600,-1 596.81879,727 442,572.21994 Z" + id="Right---blue" + sketch:type="MSShapeGroup" + transform="matrix(-1,0,0,1,1042,0)" + inkscape:connector-curvature="0" + style="fill:url(#linearGradient-2)" /> + <path + d="M 154.98629,0 558,615.1897 445.2246,728 42,114.17202 Z" + id="Cross---blue" + sketch:type="MSShapeGroup" + inkscape:connector-curvature="0" + style="fill:url(#linearGradient-3)" /> + <path + d="M 155,283.83232 154.78675,308 31,124.71061 42.461949,113 Z" + id="Shadow" + sketch:type="MSShapeGroup" + inkscape:connector-curvature="0" + style="fill:#000000;fill-opacity:0.12999998" /> + </g> + </g> +</svg> |