{"id":22282121,"url":"https://github.com/genericmappingtools/custom-supplements","last_synced_at":"2026-03-19T22:19:05.657Z","repository":{"id":78848228,"uuid":"164028902","full_name":"GenericMappingTools/custom-supplements","owner":"GenericMappingTools","description":"How to make custom GMT supplements","archived":false,"fork":false,"pushed_at":"2024-01-14T12:41:46.000Z","size":3423,"stargazers_count":2,"open_issues_count":2,"forks_count":1,"subscribers_count":5,"default_branch":"master","last_synced_at":"2025-06-21T04:46:06.950Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"PostScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/GenericMappingTools.png","metadata":{"files":{"readme":"README.CMake","changelog":null,"contributing":null,"funding":null,"license":"COPYING.LESSERv3","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2019-01-03T22:22:41.000Z","updated_at":"2025-02-11T00:42:46.000Z","dependencies_parsed_at":null,"dependency_job_id":"285fed93-623e-4ed9-9cf3-c2f1add3007c","html_url":"https://github.com/GenericMappingTools/custom-supplements","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/GenericMappingTools/custom-supplements","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/GenericMappingTools%2Fcustom-supplements","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/GenericMappingTools%2Fcustom-supplements/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/GenericMappingTools%2Fcustom-supplements/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/GenericMappingTools%2Fcustom-supplements/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/GenericMappingTools","download_url":"https://codeload.github.com/GenericMappingTools/custom-supplements/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/GenericMappingTools%2Fcustom-supplements/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29002631,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-02T01:32:03.847Z","status":"online","status_checked_at":"2026-02-02T02:00:07.448Z","response_time":58,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-12-03T16:25:40.190Z","updated_at":"2026-02-02T03:02:10.039Z","avatar_url":"https://github.com/GenericMappingTools.png","language":"PostScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"Copyright (c) 1991-2024 by the GMT Team. See LICENSE.TXT file for copying and redistribution conditions.\n\nContact info: www.generic-mapping-tools.org\n\nCMake User Guide\n================\n\nBuild and runtime prerequisites\n-------------------------------\n\nYou need CMake (\u003e=2.8.5) and an installation of GMT (\u003e=5.2.0).\n\nInformation for building GMT 5 with CMake\n-----------------------------------------\n\nQuick start:\n~~~~~~~~~~~~\n\nCheckout the GMT extension template from its subversion repository;\nhere we call the directory \"custom\":\n\n  $ git@github.com:GenericMappingTools/custom-supplements.git custom\n  $ cd custom\n  $ cp cmake/ConfigUserTemplate.cmake cmake/ConfigUser.cmake\n\nEdit *cmake/ConfigUser.cmake* [see comments in the file]. Then:\n\n  $ mkdir build\n  $ cd build\n  $ cmake -DCMAKE_INSTALL_PREFIX=custom -DCMAKE_BUILD_TYPE=RelWithDebInfo ..\n  $ make -jx_\n\nwhere _x_ is the number of threads you want to use and depends on the number\nof cores in your CPU and if hyperthreading is available or not.\ncmake will build out-of-source in the the directory _build_. 'CMAKE_BUILD_TYPE'\ncan be one of: empty, Debug, Release, RelWithDebInfo or MinSizeRel\n\n  $ make -jx_ install\n\ninstalls a basic custom in _build/custom_.\n\nNOTE: All cmake command line options such as _-DCMAKE_INSTALL_PREFIX_ can be\nconfigured in *cmake/ConfigUser.cmake*.\n\nIn more detail:\n~~~~~~~~~~~~~~~\n\nFor CMake related questions refer to the CMake manual which is available\nonline: http://www.cmake.org/cmake/help/cmake-2-8-docs.html\n\nTo avoid CMake's lengthy command line options you can create your custom\nConfigUser.cmake file in the cmake directory. Simply duplicate the\ncmake/ConfigUserTemplate.cmake to cmake/ConfigUser.cmake and then make\nchanges in cmake/ConfigUser.cmake. See additional comments in that file.\n\nThere are two configuration files:\n\n1. \"ConfigDefault.cmake\" -- is version controlled and used to add new default\n    variables and set defaults for everyone. You should not edit this file.\n2. \"ConfigUser.cmake\" -- is not version controlled (currently listed in svn:ignore\n    property) and used to override defaults on a per-user basis. There is a\n    template file, ConfigUserTemplate.cmake, that you should copy to\n    ConfigUser.cmake and make your changes therein.\n\nNOTE: If you want to change CMake behaviour for your build then only modify the\n      \"ConfigUser.cmake\" file (not \"ConfigDefault.cmake\").\n\nInvoking CMake:\n~~~~~~~~~~~~~~~\n\nCMake supports out-of-source builds and puts generated files in a completely\nseparate directory, so that the source tree is unchanged. Trying to run CMake\nin the source tree will result in an error. CMake will first check for the\nminimal required version and then search for required and optional libraries\n(netCDF, PCRE, GDAL) in the default locations. The configuration step will\nfail if dependencies are not met. You have to ensure that CMake can find the\nrequired resources by configuring *cmake/ConfigUser.cmake*.\n\nFinding GMT:\n~~~~~~~~~~~~\n\nGMT is searched in FindGMT.cmake. If CMake cannot find GMT then you\nhave to configure _GMT_ROOT_ in cmake/ConfigUser.cmake.\n\nInstalling:\n~~~~~~~~~~~\n\n  $ make -jx_ install\n\nwill compile and install the shared library.\n\nYou have the choice between a monolithic installation\n(_-DGMT_INSTALL_MONOLITHIC=ON_) where everything goes into a common\nsubdirectory or a distribution-like installation (PREFIX/bin/custom-VERSION,\nPREFIX/lib/custom-VERSION/).\n\nCUSTOM is shipped as a single shared library.  By default we also set \"classic mode\"\nby installing convenience links for all CUSTOM modules. New GMT users should set\nINSTALL_MODULE_LINKS to FALSE in cmake/ConfigUser.cmake to avoid these links.\n\nUpdating:\n~~~~~~~~~\n\nAssuming you did not delete the build directory and that your current\nworking directory is the build directory this is just as simple as\n\n  $ cd ..\n  $ svn up\n  $ cd -\n  $ make -jx_ install\n\nCMake will detect any changes to the source files and will automatically\nreconfigure. If you deleted all files inside the build directory you have to\nrun cmake again manually.\n\nPackaging:\n~~~~~~~~~~\n\nCurrently, packaging with CPack works on MacOSX (Bundle, TGZ, TBZ2),\nWindows (ZIP, NSIS), and UNIX (TGZ, TBZ2). On Windows you need to install NSIS\n(http://nsis.sourceforge.net/). After building GMT run either one of these:\n\n  $ make package\n  $ cpack -G \u003cTGZ|TBZ2|Bundle|ZIP|NSIS\u003e\n\nYou probably also want to run cmake with _-DGMT_INSTALL_MONOLITHIC=ON_ before\ncreating packages.\n\nCreating a source package:\n~~~~~~~~~~~~~~~~~~~~~~~~~~\n\nSet CUSTOM_RELEASE_PREFIX in cmake/ConfigUser.cmake and run cmake. Then do\n\n  $ make custom_release     # export the source tree and install doc\n\nYou should then edit ${CUSTOM_RELEASE_PREFIX}/cmake/ConfigDefault.cmake and\nset CUSTOM_PACKAGE_VERSION_MAJOR, CUSTOM_PACKAGE_VERSION_MINOR, and\nCUSTOM_PACKAGE_VERSION_PATCH. Also uncomment and set\nCUSTOM_SOURCE_CODE_CONTROL_VERSION_STRING to the current svn version.\n\n////\nvim: ft=asciidoc tw=78 et ts=2 sts=2 sw=2 autoindent smartindent\n////\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgenericmappingtools%2Fcustom-supplements","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fgenericmappingtools%2Fcustom-supplements","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgenericmappingtools%2Fcustom-supplements/lists"}