diff options
author | SCG82 <scg082+github@gmail.com> | 2021-12-20 23:55:39 +0300 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-12-20 23:55:39 +0300 |
commit | f36a906a446261a26cd9d6ccb97ab06cfde816a6 (patch) | |
tree | e50c6f2da3debf770e6e6f68e7f0340a0c53b4df | |
parent | 6453357120f9da9b62f29a9fa9938a8164b8ffd6 (diff) | |
parent | 357ebbf7a5c1f724caa9e62af12b14eda8f0ee59 (diff) |
Merge pull request #74 from SCG82/master1.0.3
Add option to disable ad-hoc codesigning
-rw-r--r-- | src/Settings.cpp | 3 | ||||
-rw-r--r-- | src/Settings.h | 3 | ||||
-rw-r--r-- | src/Utils.cpp | 2 | ||||
-rw-r--r-- | src/main.cpp | 8 |
4 files changed, 15 insertions, 1 deletions
diff --git a/src/Settings.cpp b/src/Settings.cpp index 0ace811..1d9674b 100644 --- a/src/Settings.cpp +++ b/src/Settings.cpp @@ -31,14 +31,17 @@ namespace Settings bool overwrite_files = false; bool overwrite_dir = false; bool create_dir = false; +bool codesign = true; bool canOverwriteFiles(){ return overwrite_files; } bool canOverwriteDir(){ return overwrite_dir; } bool canCreateDir(){ return create_dir; } +bool canCodesign(){ return codesign; } void canOverwriteFiles(bool permission){ overwrite_files = permission; } void canOverwriteDir(bool permission){ overwrite_dir = permission; } void canCreateDir(bool permission){ create_dir = permission; } +void canCodesign(bool permission){ codesign = permission; } bool bundleLibs_bool = false; diff --git a/src/Settings.h b/src/Settings.h index 1b1cb27..c03afc5 100644 --- a/src/Settings.h +++ b/src/Settings.h @@ -44,6 +44,9 @@ void canOverwriteDir(bool permission); bool canCreateDir(); void canCreateDir(bool permission); +bool canCodesign(); +void canCodesign(bool permission); + bool bundleLibs(); void bundleLibs(bool on); diff --git a/src/Utils.cpp b/src/Utils.cpp index fc2b990..168f659 100644 --- a/src/Utils.cpp +++ b/src/Utils.cpp @@ -220,6 +220,8 @@ std::string getUserInputDirForFile(const std::string& filename) void adhocCodeSign(const std::string& file) { + if( Settings::canCodesign() == false ) return; + // Add ad-hoc signature for ARM (Apple Silicon) binaries std::string signCommand = std::string("codesign --force --deep --preserve-metadata=entitlements,requirements,flags,runtime --sign - \"") + file + "\""; if( systemp( signCommand ) != 0 ) diff --git a/src/main.cpp b/src/main.cpp index 02416d4..d114875 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -41,7 +41,7 @@ THE SOFTWARE. */ -const std::string VERSION = "1.0.2"; +const std::string VERSION = "1.0.3"; // FIXME - no memory management is done at all (anyway the program closes immediately so who cares?) @@ -62,6 +62,7 @@ void showHelp() std::cout << "-of, --overwrite-files (allow overwriting files in output directory)" << std::endl; std::cout << "-od, --overwrite-dir (totally overwrite output directory if it already exists. implies --create-dir)" << std::endl; std::cout << "-cd, --create-dir (creates output directory if necessary)" << std::endl; + std::cout << "-ns, --no-codesign (disables ad-hoc codesigning)" << std::endl; std::cout << "-i, --ignore <location to ignore> (will ignore libraries in this directory)" << std::endl; std::cout << "-h, --help" << std::endl; } @@ -117,6 +118,11 @@ int main (int argc, char * const argv[]) Settings::canCreateDir(true); continue; } + else if(strcmp(argv[i],"-ns")==0 or strcmp(argv[i],"--no-codesign")==0) + { + Settings::canCodesign(false); + continue; + } else if(strcmp(argv[i],"-h")==0 or strcmp(argv[i],"--help")==0) { showHelp(); |