Update upstream source from tag 'upstream/3.23.3'

Update to upstream version '3.23.3'
with Debian dir 7f05aaed44
ci/unstable
Timo Röhling 2 years ago
commit 5357d00bbf

@ -9,17 +9,15 @@ tutorial assume that they are not common.
If the platform has ``log`` and ``exp`` then we will use them to compute the
square root in the ``mysqrt`` function. We first test for the availability of
these functions using the :module:`CheckSymbolExists` module in
``MathFunctions/CMakeLists.txt``. On some platforms, we will need to link to
the ``m`` library. If ``log`` and ``exp`` are not initially found, require the
``m`` library and try again.
these functions using the :module:`CheckCXXSourceCompiles` module in
``MathFunctions/CMakeLists.txt``.
Add the checks for ``log`` and ``exp`` to ``MathFunctions/CMakeLists.txt``,
after the call to :command:`target_include_directories`:
.. literalinclude:: Step6/MathFunctions/CMakeLists.txt
:caption: MathFunctions/CMakeLists.txt
:name: MathFunctions/CMakeLists.txt-check_symbol_exists
:name: MathFunctions/CMakeLists.txt-check_cxx_source_compiles
:language: cmake
:start-after: # to find MathFunctions.h, while we don't.
:end-before: # add compile definitions

@ -7,19 +7,21 @@ target_include_directories(MathFunctions
)
# does this system provide the log and exp functions?
include(CheckSymbolExists)
check_symbol_exists(log "math.h" HAVE_LOG)
check_symbol_exists(exp "math.h" HAVE_EXP)
if(NOT (HAVE_LOG AND HAVE_EXP))
unset(HAVE_LOG CACHE)
unset(HAVE_EXP CACHE)
set(CMAKE_REQUIRED_LIBRARIES "m")
check_symbol_exists(log "math.h" HAVE_LOG)
check_symbol_exists(exp "math.h" HAVE_EXP)
if(HAVE_LOG AND HAVE_EXP)
target_link_libraries(MathFunctions PRIVATE m)
endif()
endif()
include(CheckCXXSourceCompiles)
check_cxx_source_compiles("
#include <cmath>
int main() {
std::log(1.0);
return 0;
}
" HAVE_LOG)
check_cxx_source_compiles("
#include <cmath>
int main() {
std::exp(1.0);
return 0;
}
" HAVE_EXP)
# add compile definitions
if(HAVE_LOG AND HAVE_EXP)

@ -12,7 +12,7 @@ double mysqrt(double x)
// if we have both log and exp then use them
#if defined(HAVE_LOG) && defined(HAVE_EXP)
double result = exp(log(x) * 0.5);
double result = std::exp(std::log(x) * 0.5);
std::cout << "Computing sqrt of " << x << " to be " << result
<< " using log and exp" << std::endl;
#else

@ -335,8 +335,8 @@ Changes made since CMake 3.21.0 include the following.
"Visual Studio 2022" release candidates. Previously it was based on
preview versions.
3.21.5, 3.21.6
--------------
3.21.5, 3.21.6, 3.21.7
----------------------
These versions made no changes to documented features or interfaces.
Some implementation updates were made to support ecosystem changes

@ -170,9 +170,9 @@ Changes made since CMake 3.22.0 include the following.
compatibility. The fix may be restored in a future version of CMake
via a policy.
3.22.4
------
3.22.4, 3.22.5, 3.22.6
----------------------
* This version made no changes to documented features or interfaces.
* These versions made no changes to documented features or interfaces.
Some implementation updates were made to support ecosystem changes
and/or fix regressions.

@ -309,3 +309,10 @@ Changes made since CMake 3.23.0 include the following.
expected the ``CPACK_PACKAGEMAKER_CHOICES`` variable to be defined.
The old ``CPACK_PACKAGEMAKER_CHOICES`` variable is now also set to the
same content as it was before, but it is formally deprecated.
3.23.3
------
* This version made no changes to documented features or interfaces.
Some implementation updates were made to support ecosystem changes
and/or fix regressions.

@ -617,6 +617,7 @@ Id flags: ${testflags} ${CMAKE_${lang}_COMPILER_ID_FLAGS_ALWAYS}
endif()
endif()
if(CMAKE_SYSTEM_NAME STREQUAL "Darwin" AND CMAKE_OSX_SYSROOT MATCHES "^$|[Mm][Aa][Cc][Oo][Ss]")
set(id_code_sign_identity "-")
# When targeting macOS, use only the host architecture.
if (_CMAKE_APPLE_ARCHS_DEFAULT)
set(id_archs "ARCHS = \"${_CMAKE_APPLE_ARCHS_DEFAULT}\";")
@ -626,6 +627,7 @@ Id flags: ${testflags} ${CMAKE_${lang}_COMPILER_ID_FLAGS_ALWAYS}
set(id_arch_active "ONLY_ACTIVE_ARCH = YES;")
endif()
else()
set(id_code_sign_identity "")
set(id_archs "")
set(id_arch_active "ONLY_ACTIVE_ARCH = YES;")
endif()

@ -49,6 +49,7 @@
};
2C8FEB8E15DC1A1A00E56A5D = {
isa = PBXShellScriptBuildPhase;
alwaysOutOfDate = 1;
buildActionMask = 2147483647;
files = (
);
@ -72,7 +73,7 @@
1DEB928608733DD80010E9CD = {
isa = XCBuildConfiguration;
buildSettings = {
CODE_SIGN_IDENTITY = "";
CODE_SIGN_IDENTITY = "@id_code_sign_identity@";
PRODUCT_NAME = CompilerId@id_lang@;
};
name = Debug;

@ -1651,6 +1651,7 @@ function(_ep_set_directories name)
${script_filename}
@ONLY
)
unset(cfgdir) # do not leak into mkdirs.cmake script
include(${script_filename})
endfunction()
@ -2419,11 +2420,12 @@ endfunction()
function(_ep_add_mkdir_command name)
ExternalProject_Get_Property(${name} tmp_dir)
set(script_filename "${tmp_dir}/${name}-mkdirs.cmake")
_ep_get_configuration_subdir_suffix(cfgdir)
ExternalProject_Add_Step(${name} mkdir
INDEPENDENT TRUE
COMMENT "Creating directories for '${name}'"
COMMAND ${CMAKE_COMMAND} -P ${script_filename}
COMMAND ${CMAKE_COMMAND} -Dcfgdir=${cfgdir} -P ${script_filename}
)
endfunction()

@ -17,3 +17,6 @@ set(configSubDirs @CMAKE_CONFIGURATION_TYPES@)
foreach(subDir IN LISTS configSubDirs)
file(MAKE_DIRECTORY "@stamp_dir@/${subDir}")
endforeach()
if(cfgdir)
file(MAKE_DIRECTORY "@stamp_dir@${cfgdir}") # cfgdir has leading slash
endif()

@ -663,6 +663,10 @@ if(NOT LAPACK_NOT_FOUND_MESSAGE)
elseif(_lapack_sizeof_integer EQUAL 4)
string(APPEND _lapack_nvhpc_lib "_lp64")
endif()
set(_lapack_nvhpc_flags)
if(";${CMAKE_C_COMPILER_ID};${CMAKE_CXX_COMPILER_ID};${CMAKE_Fortran_COMPILER_ID};" MATCHES ";(NVHPC|PGI);")
set(_lapack_nvhpc_flags "-fortranlibs")
endif()
check_lapack_libraries(
LAPACK_LIBRARIES
@ -670,7 +674,7 @@ if(NOT LAPACK_NOT_FOUND_MESSAGE)
cheev
""
"${_lapack_nvhpc_lib}"
"-fortranlibs"
"${_lapack_nvhpc_flags}"
""
""
"${BLAS_LIBRARIES}"
@ -688,7 +692,7 @@ if(NOT LAPACK_NOT_FOUND_MESSAGE)
cheev
""
"${_lapack_nvhpc_lib}"
"-fortranlibs"
"${_lapack_nvhpc_flags}"
""
""
"${BLAS_LIBRARIES}"
@ -696,6 +700,7 @@ if(NOT LAPACK_NOT_FOUND_MESSAGE)
endif()
unset(_lapack_nvhpc_lib)
unset(_lapack_nvhpc_flags)
endif()
# Generic LAPACK library?

@ -1,3 +1,7 @@
include(Platform/Linux-LCC)
__linux_compiler_lcc(Fortran)
if (CMAKE_Fortran_COMPILER_VERSION VERSION_LESS "1.26.03")
set(CMAKE_SHARED_LIBRARY_LINK_Fortran_FLAGS "-llfortran")
else()
set(CMAKE_SHARED_LIBRARY_LINK_Fortran_FLAGS "-lgfortran")
endif()

@ -1,7 +1,7 @@
# CMake version number components.
set(CMake_VERSION_MAJOR 3)
set(CMake_VERSION_MINOR 23)
set(CMake_VERSION_PATCH 2)
set(CMake_VERSION_PATCH 3)
#set(CMake_VERSION_RC 0)
set(CMake_VERSION_IS_DIRTY 0)
@ -21,7 +21,7 @@ endif()
if(NOT CMake_VERSION_NO_GIT)
# If this source was exported by 'git archive', use its commit info.
set(git_info [==[a8bd06dfd4 CMake 3.23.2]==])
set(git_info [==[d566bd962d CMake 3.23.3]==])
# Otherwise, try to identify the current development source version.
if(NOT git_info MATCHES "^([0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f]?[0-9a-f]?)[0-9a-f]* "

@ -10,6 +10,15 @@
#include <QTranslator>
#include <QtPlugin>
// FIXME(#23565): Qt6 has QTextCodec in Core5Compat, but using its
// `setCodecForLocale` does not make cmake-gui support non-ASCII chars
// on Windows. For now we only support them with Qt5. How do we support
// them with Qt6, preferably without Core5Compat?
#if defined(Q_OS_WIN) && (QT_VERSION < QT_VERSION_CHECK(6, 0, 0))
# include <QTextCodec>
# define CMAKE_HAVE_QTEXTCODEC
#endif
#include "cmsys/CommandLineArguments.hxx"
#include "cmsys/Encoding.hxx"
#include "cmsys/SystemTools.hxx"
@ -124,6 +133,11 @@ int main(int argc, char** argv)
setlocale(LC_NUMERIC, "C");
#ifdef CMAKE_HAVE_QTEXTCODEC
QTextCodec* utf8_codec = QTextCodec::codecForName("UTF-8");
QTextCodec::setCodecForLocale(utf8_codec);
#endif
// tell the cmake library where cmake is
QDir cmExecDir(QApplication::applicationDirPath());
#if defined(Q_OS_MAC)

@ -2,10 +2,15 @@
file Copyright.txt or https://cmake.org/licensing for details. */
#include "cmExportSet.h"
#include <algorithm>
#include <tuple>
#include <utility>
#include "cmGeneratorTarget.h"
#include "cmLocalGenerator.h"
#include "cmMessageType.h"
#include "cmStringAlgorithms.h"
#include "cmTarget.h"
#include "cmTargetExport.h"
cmExportSet::cmExportSet(std::string name)
@ -15,11 +20,35 @@ cmExportSet::cmExportSet(std::string name)
cmExportSet::~cmExportSet() = default;
void cmExportSet::Compute(cmLocalGenerator* lg)
bool cmExportSet::Compute(cmLocalGenerator* lg)
{
for (std::unique_ptr<cmTargetExport>& tgtExport : this->TargetExports) {
tgtExport->Target = lg->FindGeneratorTargetToUse(tgtExport->TargetName);
auto const interfaceFileSets =
tgtExport->Target->Target->GetAllInterfaceFileSets();
auto const fileSetInTargetExport =
[&tgtExport, lg](const std::string& fileSetName) -> bool {
auto* fileSet = tgtExport->Target->Target->GetFileSet(fileSetName);
if (!tgtExport->FileSetGenerators.count(fileSet)) {
lg->IssueMessage(MessageType::FATAL_ERROR,
cmStrCat("File set \"", fileSetName,
"\" is listed in interface file sets of ",
tgtExport->Target->GetName(),
" but has not been exported"));
return false;
}
return true;
};
if (!std::all_of(interfaceFileSets.begin(), interfaceFileSets.end(),
fileSetInTargetExport)) {
return false;
}
}
return true;
}
void cmExportSet::AddTargetExport(std::unique_ptr<cmTargetExport> te)

@ -25,7 +25,7 @@ public:
cmExportSet(const cmExportSet&) = delete;
cmExportSet& operator=(const cmExportSet&) = delete;
void Compute(cmLocalGenerator* lg);
bool Compute(cmLocalGenerator* lg);
void AddTargetExport(std::unique_ptr<cmTargetExport> tgt);

@ -1361,8 +1361,10 @@ void cmGlobalGenerator::CreateGenerationObjects(TargetTypes targetTypes)
this->CheckTargetProperties();
}
this->CreateGeneratorTargets(targetTypes);
if (targetTypes == TargetTypes::AllTargets) {
this->ComputeBuildFileGenerators();
}
}
void cmGlobalGenerator::CreateImportedGenerationObjects(
cmMakefile* mf, const std::vector<std::string>& targets,

@ -49,8 +49,7 @@ cmInstallExportGenerator::~cmInstallExportGenerator() = default;
bool cmInstallExportGenerator::Compute(cmLocalGenerator* lg)
{
this->LocalGenerator = lg;
this->ExportSet->Compute(lg);
return true;
return this->ExportSet->Compute(lg);
}
void cmInstallExportGenerator::ComputeTempDir()

@ -405,9 +405,6 @@ void cmake::PrintPresetEnvironment()
// Parse the args
bool cmake::SetCacheArgs(const std::vector<std::string>& args)
{
auto findPackageMode = false;
auto seenScriptOption = false;
auto DefineLambda = [](std::string const& entry, cmake* state) -> bool {
std::string var;
std::string value;
@ -498,10 +495,10 @@ bool cmake::SetCacheArgs(const std::vector<std::string>& args)
GetProjectCommandsInScriptMode(state->GetState());
// Documented behavior of CMAKE{,_CURRENT}_{SOURCE,BINARY}_DIR is to be
// set to $PWD for -P mode.
state->SetWorkingMode(SCRIPT_MODE);
state->SetHomeDirectory(cmSystemTools::GetCurrentWorkingDirectory());
state->SetHomeOutputDirectory(cmSystemTools::GetCurrentWorkingDirectory());
state->ReadListFile(args, path);
seenScriptOption = true;
return true;
};
@ -565,15 +562,12 @@ bool cmake::SetCacheArgs(const std::vector<std::string>& args)
"No install directory specified for --install-prefix",
CommandArgument::Values::One, PrefixLambda },
CommandArgument{ "--find-package", CommandArgument::Values::Zero,
[&](std::string const&, cmake*) -> bool {
findPackageMode = true;
return true;
} },
IgnoreAndTrueLambda },
};
for (decltype(args.size()) i = 1; i < args.size(); ++i) {
std::string const& arg = args[i];
if (arg == "--" && seenScriptOption) {
if (arg == "--" && this->GetWorkingMode() == SCRIPT_MODE) {
// Stop processing CMake args and avoid possible errors
// when arbitrary args are given to CMake script.
break;
@ -588,7 +582,7 @@ bool cmake::SetCacheArgs(const std::vector<std::string>& args)
}
}
if (findPackageMode) {
if (this->GetWorkingMode() == FIND_PACKAGE_MODE) {
return this->FindPackage(args);
}
@ -793,7 +787,6 @@ void cmake::SetArgs(const std::vector<std::string>& args)
bool haveToolset = false;
bool havePlatform = false;
bool haveBArg = false;
bool scriptMode = false;
std::string possibleUnknownArg;
std::string extraProvidedPath;
#if !defined(CMAKE_BOOTSTRAP)
@ -871,10 +864,7 @@ void cmake::SetArgs(const std::vector<std::string>& args)
CommandArgument{ "-P", "-P must be followed by a file name.",
CommandArgument::Values::One,
CommandArgument::RequiresSeparator::No,
[&](std::string const&, cmake*) -> bool {
scriptMode = true;
return true;
} },
IgnoreAndTrueLambda },
CommandArgument{ "-D", "-D must be followed with VAR=VALUE.",
CommandArgument::Values::One,
CommandArgument::RequiresSeparator::No,
@ -1198,12 +1188,12 @@ void cmake::SetArgs(const std::vector<std::string>& args)
}
}
if (!extraProvidedPath.empty() && !scriptMode) {
if (!extraProvidedPath.empty() && this->GetWorkingMode() == NORMAL_MODE) {
this->IssueMessage(MessageType::WARNING,
cmStrCat("Ignoring extra path from command line:\n \"",
extraProvidedPath, "\""));
}
if (!possibleUnknownArg.empty() && !scriptMode) {
if (!possibleUnknownArg.empty() && this->GetWorkingMode() != SCRIPT_MODE) {
cmSystemTools::Error(cmStrCat("Unknown argument ", possibleUnknownArg));
cmSystemTools::Error("Run 'cmake --help' for all supported options.");
exit(1);
@ -1787,7 +1777,8 @@ void cmake::SetHomeDirectoryViaCommandLine(std::string const& path)
}
auto prev_path = this->GetHomeDirectory();
if (prev_path != path && !prev_path.empty()) {
if (prev_path != path && !prev_path.empty() &&
this->GetWorkingMode() == NORMAL_MODE) {
this->IssueMessage(MessageType::WARNING,
cmStrCat("Ignoring extra path from command line:\n \"",
prev_path, "\""));

@ -0,0 +1,6 @@
^-- CMAKE_ARGC='5'
-- CMAKE_ARGV1='-P'
-- CMAKE_ARGV2='[^']*/Tests/RunCMake/CommandLine/P_args.cmake'
-- CMAKE_ARGV3='relative/path'
-- CMAKE_ARGV4='[^']*/Tests/RunCMake/CommandLine'
-- CMAKE_ARGV5=''$

@ -0,0 +1,6 @@
message(STATUS "CMAKE_ARGC='${CMAKE_ARGC}'")
message(STATUS "CMAKE_ARGV1='${CMAKE_ARGV1}'")
message(STATUS "CMAKE_ARGV2='${CMAKE_ARGV2}'")
message(STATUS "CMAKE_ARGV3='${CMAKE_ARGV3}'")
message(STATUS "CMAKE_ARGV4='${CMAKE_ARGV4}'")
message(STATUS "CMAKE_ARGV5='${CMAKE_ARGV5}'")

@ -52,6 +52,7 @@ run_cmake_command(G_no-arg ${CMAKE_COMMAND} -B DummyBuildDir -G)
run_cmake_command(G_bad-arg ${CMAKE_COMMAND} -B DummyBuildDir -G NoSuchGenerator)
run_cmake_command(P_no-arg ${CMAKE_COMMAND} -P)
run_cmake_command(P_no-file ${CMAKE_COMMAND} -P nosuchscriptfile.cmake)
run_cmake_command(P_args ${CMAKE_COMMAND} -P "${RunCMake_SOURCE_DIR}/P_args.cmake" relative/path "${RunCMake_SOURCE_DIR}")
run_cmake_command(P_arbitrary_args ${CMAKE_COMMAND} -P "${RunCMake_SOURCE_DIR}/P_arbitrary_args.cmake" -- -DFOO)
run_cmake_command(build-no-dir

@ -164,7 +164,9 @@ function(run_cmake test)
"|[^\n]*install_name_tool: warning: changes being made to the file will invalidate the code signature in:"
"|[^\n]*xcodebuild[^\n]*DVTPlugInManager"
"|[^\n]*xcodebuild[^\n]*DVTSDK: Warning: SDK path collision for path"
"|[^\n]*xcodebuild[^\n]*Requested but did not find extension point with identifier"
"|[^\n]*xcodebuild[^\n]*nil host used in call to allows.*HTTPSCertificateForHost"
"|[^\n]*xcodebuild[^\n]*warning: file type[^\n]*is based on missing file type"
"|[^\n]*objc[^\n]*: Class [^\n]* One of the two will be used. Which one is undefined."
"|[^\n]*is a member of multiple groups"

@ -18,3 +18,4 @@ run_cmake(DependOnDoubleExport)
run_cmake(UnknownExport)
run_cmake(NamelinkOnlyExport)
run_cmake(SeparateNamelinkExport)
run_cmake(TryCompileExport)

@ -0,0 +1,9 @@
enable_language(CXX)
add_library(interface INTERFACE)
install(TARGETS interface EXPORT export)
export(EXPORT export)
add_library(imported IMPORTED INTERFACE)
try_compile(tc "${CMAKE_CURRENT_BINARY_DIR}/tc" "${CMAKE_CURRENT_SOURCE_DIR}/empty.cpp" LINK_LIBRARIES imported)

@ -0,0 +1,6 @@
^CMake Error in CMakeLists\.txt:
File set "a" is listed in interface file sets of lib1 but has not been
exported
CMake Generate step failed\. Build files cannot be regenerated correctly\.$

@ -0,0 +1,6 @@
enable_language(C)
add_library(lib1 STATIC empty.c)
install(TARGETS lib1 EXPORT a)
target_sources(lib1 INTERFACE FILE_SET a TYPE HEADERS BASE_DIRS ${CMAKE_CURRENT_SOURCE_DIR} FILES h1.h)
export(EXPORT a)

@ -0,0 +1,6 @@
^CMake Error in CMakeLists\.txt:
File set "a" is listed in interface file sets of lib1 but has not been
exported
CMake Generate step failed\. Build files cannot be regenerated correctly\.$

@ -0,0 +1,6 @@
enable_language(C)
add_library(lib1 STATIC empty.c)
install(TARGETS lib1 EXPORT a)
target_sources(lib1 INTERFACE FILE_SET a TYPE HEADERS BASE_DIRS ${CMAKE_CURRENT_SOURCE_DIR} FILES h1.h)
install(EXPORT a DESTINATION lib/cmake/test)

@ -33,6 +33,8 @@ run_cmake(FileSetWrongBaseDirsRelative)
run_cmake(FileSetOverlappingBaseDirs)
run_cmake(FileSetInstallMissingSetsPrivate)
run_cmake(FileSetInstallMissingSetsInterface)
run_cmake(FileSetInstallMissingSetsInterfacePostInstall)
run_cmake(FileSetExportMissingSetsInterfacePostExport)
run_cmake(FileSetReadOnlyPrivate)
run_cmake(FileSetReadOnlyInterface)
run_cmake(FileSetNoExistInstall)

@ -1,6 +1,6 @@
#!/usr/bin/env bash
set -e
readonly usage='usage: sign-notarize.bash -i <id> -d <dev-acct> -k <key-item> [-p <provider>] [--] <package>.dmg
readonly usage='usage: sign-notarize.bash -i <id> -k <keychain-profile> [--] <package>.dmg
Sign and notarize the "CMake.app" bundle inside the given "<package>.dmg" disk image.
Also produce a "<package>.tar.gz" tarball containing the same "CMake.app".
@ -8,9 +8,22 @@ Also produce a "<package>.tar.gz" tarball containing the same "CMake.app".
Options:
-i <id> Signing Identity
-d <dev-acct> Developer account name
-k <key-item> Keychain item containing account credentials
-p <provider> Provider short name
-k <keychain-profile> Keychain profile containing stored credentials
Create the keychain profile ahead of time using
xcrun notarytool store-credentials <keychain-profile> \
--apple-id <dev-acct> --team-id <team-id> [--password <app-specific-password>]
where:
<dev-acct> is an Apple ID of a developer account
<team-id> is from https://developer.apple.com/account/#!/membership
<app-specific-password> is generated via https://support.apple.com/en-us/HT204397
If --password is omitted, notarytool will prompt for it.
This creates a keychain item called "com.apple.gke.notary.tool" with an
account name "com.apple.gke.notary.tool.saved-creds.<keychain-profile>".
'
cleanup() {
@ -29,15 +42,11 @@ die() {
}
id=''
dev_acct=''
key_item=''
provider=''
keychain_profile=''
while test "$#" != 0; do
case "$1" in
-i) shift; id="$1" ;;
-d) shift; dev_acct="$1" ;;
-k) shift; key_item="$1" ;;
-p) shift; provider="$1" ;;
-k) shift; keychain_profile="$1" ;;
--) shift ; break ;;
-*) die "$usage" ;;
*) break ;;
@ -51,18 +60,14 @@ esac
test "$#" = 0 || die "$usage"
# Verify arguments.
if test -z "$id" -o -z "$dev_acct" -o -z "$key_item"; then
if test -z "$id" -o -z "$keychain_profile"; then
die "$usage"
fi
if test -n "$provider"; then
provider="--provider $provider"
fi
# Verify environment.
if ! xcnotary="$(type -p xcnotary)"; then
die "'xcnotary' not found in PATH"
if ! xcrun --find notarytool 2>/dev/null; then
die "'xcrun notarytool' not found"
fi
readonly xcnotary
readonly tmpdir="$(mktemp -d)"
@ -101,7 +106,9 @@ codesign --verify --timestamp --options=runtime --verbose --deep \
"$vol_path/CMake.app/Contents/bin/cpack" \
"$vol_path/CMake.app"
xcnotary notarize "$vol_path/CMake.app" -d "$dev_acct" -k "$key_item" $provider
ditto -c -k --keepParent "$vol_path/CMake.app" "$tmpdir/CMake.app.zip"
xcrun notarytool submit "$tmpdir/CMake.app.zip" --keychain-profile "$keychain_profile" --wait
xcrun stapler staple "$vol_path/CMake.app"
# Create a tarball of the volume next to the original disk image.
readonly tar_gz="${dmg/%.dmg/.tar.gz}"

Loading…
Cancel
Save