{"id":15007134,"url":"https://github.com/pwsafe/pwsafe","last_synced_at":"2025-05-14T21:06:16.370Z","repository":{"id":36683082,"uuid":"40989540","full_name":"pwsafe/pwsafe","owner":"pwsafe","description":"Password Safe - popular secure and convenient password manager","archived":false,"fork":false,"pushed_at":"2025-05-12T19:29:15.000Z","size":133741,"stargazers_count":771,"open_issues_count":153,"forks_count":155,"subscribers_count":35,"default_branch":"master","last_synced_at":"2025-05-12T19:50:51.580Z","etag":null,"topics":["linux-app","windows"],"latest_commit_sha":null,"homepage":"https://pwsafe.org","language":"C++","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/pwsafe.png","metadata":{"files":{"readme":"README.CMAKE.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2015-08-18T18:16:11.000Z","updated_at":"2025-05-12T19:29:21.000Z","dependencies_parsed_at":"2024-03-27T20:23:37.007Z","dependency_job_id":"8e59c3ec-707e-428a-b0ea-6a703afd620e","html_url":"https://github.com/pwsafe/pwsafe","commit_stats":null,"previous_names":[],"tags_count":227,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pwsafe%2Fpwsafe","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pwsafe%2Fpwsafe/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pwsafe%2Fpwsafe/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pwsafe%2Fpwsafe/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/pwsafe","download_url":"https://codeload.github.com/pwsafe/pwsafe/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254227611,"owners_count":22035669,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","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":["linux-app","windows"],"created_at":"2024-09-24T19:04:26.355Z","updated_at":"2025-05-14T21:06:11.355Z","avatar_url":"https://github.com/pwsafe.png","language":"C++","readme":"## Introduction\nWhy Cmake?\n\n- Cmake provides a portable way of configuring the build environment\n  for passwordsafe.\n- Source tree is untouched, all build-related files are in specified\n  \"build\" subdirectory. By convention under the main project\n  directory, \"build\" on unix/mac, \"_build\" on Windows.\n  passwordsafe.sln/Makefile is created under build directory.\n  (I'm using this to keep _build-mfc and _build-wx off the same source tree).\n- Supports all Visual Studio versions, saving the need to update\n  manually when adding/removing files.\n\n\n## Step-by-step for getting started with Cmake using Visual Studio 2022\n1. After installing cmake, create a _build directory under pwsafe's\ntoplevel directory. To keep MFC \u0026 wxWidgets files separate, suggest\n_build_mfc \u0026 _build_wx.\n\n2. Start cmake-gui. Set \"Where is the source code\" to the top of the\ngit repository source tree, and \"Where to build the binaries\" to the\n_build directory you created in the previous step depending on whether\nyou wish to build the MFC or wxWidgets version. To select the\nwxWidgets version, check the box WX_WINDOWS, otherwise you will build the\nMFC version.\n\n3. Click on Configure. Select the \"Visual Studio 17 2022\" generator. \nIf you want to build x64, choose \"Visual Studio 17 2022 Win64\" generator. \n\nCmake will think a bit and then report errors:\n  ```\n  \"CMake Error at [...] (message):\n    Could NOT find GTest (missing: GTEST_LIBRARY GTEST_INCLUDE_DIR\n    GTEST_MAIN_LIBRARY)\n  ```\n\nTo fix this, click on the \"Advanced\" check box to see all of the variables.\nFind GTEST_ROOT in the list and set it to the directory where\ngtest is installed on your machine - for example: `C:/local/src/gtest/.`\nThis should enable cmake to at least find the include directory.\n\nNote: If you do not use the default locations for the built libraries\n(e.g. different directories for the VS2015 \u0026 VS2022 builds), cmake will\nnot find the libraries but you can specify the path relative to the\nGTEST_ROOT, e.g.,\n\nYou need to define all of these values.\n\n|CMake Variable           |Your Configuration     |\n|-------------------------|-----------------------|\n|GTEST_ROOT               |C:/local/src/gtest-svn |\n|GTEST_LIBRARY            |.\\build-vc17\\Release   |\n|GTEST_LIBRARY_DEBUG      |.\\build-vc17\\Debug     |\n|GTEST_MAIN_LIBRARY       |.\\build-vc17\\Release   |\n|GTEST_MAIN_LIBRARY_DEBUG |.\\build-vc17\\Debug     |\n\nIf you are building x64, you need to build gtest in x64 mode. The VS\nsolutions that come with gtest do not include an x64 build, so you \nwill need to create an x64 build configuration. Only the Debug/x64\nconfiguration is needed. You should name the output directory in \na way that that identifies it clearly (e.g. Debug64). Otherwise,\nit is easy to end up with x86/x64 collisions. \n\n4. XML support: For the MFC build, you can choose either: (a)\nXML_MSXML, which will use Microsoft's implementation for XML\nvalidation, (b) XML_XERCESC, which uses the XercesC library, or (c)\nneither, in which case the PUGI XML library is used to import\nXML data.\n\nThe wx build doesn't support XML_MSXML.\nFor Xerces XML processing, check the \"Advanced\" checkbox, and set the\nvalues of XercesC_INCLUDE_DIR, XercesC_LIBRARY_DEBUG and\nXercesC_LIBRARY_RELEASE to the correct values.\n\nNote: Currently only 32-bit compilations are supported.\n\nFor example:\n```\nXercesC_INCLUDE_DIR     C:/local/xerces-c-3.1.3-x86_64-windows-vc-14.0/include\nXercesC_LIBRARY_DEBUG   C:/local/xerces-c-3.1.3-x86-windows-vc-14.0/lib\nXercesC_LIBRARY_RELEASE C:/local/xerces-c-3.1.3-x86-windows-vc-14.0/lib\n```\n\nAgain, if you are building x64, you need to build Xerces in x64 mode.\n\n5. If you wish to build the wxWidgets version, check the box WX_WINDOWS and\npick a different _build directory (e.g. _build_wx) so that your MFC files are\nnot overwritten.  You will have to click Configure whenever you change the _build\ndirectory.\n\nIn addition, you will need to define the following:\n```\nwxWidgets_ROOT_DIR     C:/local/wxWidgets/3.0.2/\nwxWidgets_LIB          C:/local/wxWidgets/3.0.2/lib/vc170_lib\n```\n\nYou may wish to define other variables from your environment e.g.\n```\nHHC                   C:/Program Files (x86)/HTML Help Workshop/hhc.exe\nPERL_EXECUTABLE       perl.exe\n```\n\nNote: wxWidgets_wxrc_EXECUTABLE is not required for pwsafe wxWidgets builds.\n\n6. Click on Generate. This will create the passwordsafe.sln file in the appropriate\n_build directory.\n\n7. Open passwordsafe.sln and right-click on the pwsafe project, select\n\"Set as StartUp Project\" and then build the solution.\n\n## Linux\nFor Linux, similarly, only to get started, do:\n```\n$ mkdir build\n$ cd build\n$ cmake-gui .. # configure stuff as needed\n$ cmake ..\n$ make\n```\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpwsafe%2Fpwsafe","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fpwsafe%2Fpwsafe","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpwsafe%2Fpwsafe/lists"}