Post

Replies

Boosts

Views

Activity

Reply to Errors compiling C++ code for x86_64
This question isn't about CMake it's about the compiler. However I worked around the problem by building the files that needed the special compilation options for AVX into a different static library. I think the issue is that the files in question don't use PCH, but the rest of the files do so. I think the parse tree for AST was built from the precompiled headers.
Apr ’25
Reply to Notarising two builds of the same app
I accept the point about the Universal Binary but unfortunately vcpgk doesn't support universal binaries. I also I can't compile my code x64 and arm64 with same compiler options, because since the latest update XCode rejects arm64 compilations with AVX related options specified. So separate builds it is. For clarification are you saying I should zip up a directory containing DeepSkyStacker.app, DeepSkyStackerCL.app and DeepSkyStackerLive.app and submit that for notarising? Thanks David
Apr ’25
Reply to Building an app with both GUI and Command Line versions
The command line version of the app is structured quite differently from the GUI and is already written and working. I've just spent weeks porting from Visual Studio/msbuild to CMake so we can build for Win/Linux/Mac using ONE tool. So I really don't wish to convert the build to XCode. Should I put the command line version into the SharedSupport directory of the app rather than the MacOS one?
Apr ’25
Reply to Building an app with both GUI and Command Line versions
I've placed the CL executable in the MacOS directory I expect that users will place a symlink to it in /usr/local/bin/ The CL program doesn't have any GUI stuff... I hope/expect users will be able to run from either Terminal or an SSH session. I realise they'll need to create an .zshenv looking a bit like this: # remove duplicate entries from $PATH # zsh uses $path array along with $PATH typeset -U PATH path pathadd () { if [ "$2" = "after" ] ; then PATH=$PATH:$1 else PATH=$1:$PATH fi } pathadd /usr/local/bin pathadd /home/amonra/bin Cheers, David
Apr ’25
Reply to Associating file extension with my application
That is in the archive, so isn't current ... I think that having something like this in the Info.plist file is part of the story <key>UTExportedTypeDeclarations</key> <array> <dict> <key>UTTypeIdentifier</key> <string>com.github.deepskystacker-dssfilelist</string> <key>UTTypeConformsTo</key> <array> <string>public.plaintext</string> </array> <key>UTTypeDescription</key> <string>DeepSkyStacker file-list file</string> <key>UTTypeIconFile</key> <string>DSS_filelist.icns</string> <key>UTTypeTagSpecification</key> <dict> <key>public.filename-extension</key> <array> <string>dssfilelist</string> </array> </dict> <key>public.mime-type</key> <string>text/dssfilelist</string> </dict> </array> Is that correct? If there are errors please tell me. Will that also cause d'clicking on a .dssfilelist file cause my application com.github.deepskystackerto open it?
May ’25
Reply to Associating file extension with my application
My Info.plist as shown by XCode looks like this: but my application still isn't associated to the type I registered, and .dssfilelist files don't display the Icon I supplied. Also lsregister -dump | grep dssfilelist shows multiple entries which doesn't seem correct: amonra@Saturn ~ % lsregister -dump |grep dssfilelist type id: com.github.deepskystacker-dssfilelist (0xb384) uti: com.github.deepskystacker-dssfilelist tags: .dssfilelist type id: com.github.deepskystacker-dssfilelist (0xb390) uti: com.github.deepskystacker-dssfilelist tags: .dssfilelist claimed UTIs: com.github.deepskystacker-dssfilelist type id: com.github.deepskystacker-dssfilelist (0xb39c) uti: com.github.deepskystacker-dssfilelist tags: .dssfilelist bindings: com.github.deepskystacker-dssfilelist bindings: com.github.deepskystacker-dssfilelist type id: com.github.deepskystacker-dssfilelist (0xb384) uti: com.github.deepskystacker-dssfilelist tags: .dssfilelist type id: com.github.deepskystacker-dssfilelist (0xb390) uti: com.github.deepskystacker-dssfilelist tags: .dssfilelist type id: com.github.deepskystacker-dssfilelist (0xb39c) uti: com.github.deepskystacker-dssfilelist tags: .dssfilelist do I need to add something to my Info.plist to stop that?
May ’25
Reply to Associating file extension with my application
Hmmm here's what lsregister says about my application and the filetype it has registered (now set to com.github.deepskystacker.filelist): --------------------------------------------------------------------------- bundle id: DeepSkyStacker (0x3cc) class: kLSBundleClassApplication (0x2) container: / (0x4) mount state: mounted Mach-O UUIDs: 14010933-1443-3ABE-8993-EFF084AD3949 sequenceNum: 972 path: /Applications/DeepSkyStacker.app (0xa48) directory: /Applications name: DeepSkyStacker localizedShortNames: "ca" = ?, "cs" = ?, "de" = ?, "English" = ?, "es" = ?, "fr" = ?, "it" = ?, "ja_JP" = ?, "LSDefaultLocalizedValue" = "DeepSkyStacker", "nl" = ?, "pt_BR" = ?, "ro" = ?, "ru" = ?, "tr" = ?, "zh_CN" = ?, "zh_TW" = ? teamID: VH8AYT3C7Y identifier: com.github.deepskystacker version: 6.1 ({length = 32, bytes = 0x06000000 00000000 01000000 00000000 ... 00000000 00000000 }) versionString: 6.1.0 displayVersion: 6.1 mod date: 2025-05-11 09:37 (POSIX 1746952679, 𝛥 7hrs 26min 20secs) exec mod date: 2025-05-11 09:37 (POSIX 1746952679, 𝛥 7hrs 26min 20secs) reg date: 2025-05-11 16:52 (POSIX 1746978754, 𝛥 11min 45secs) rec mod date: 2025-05-11 16:52 (POSIX 1746978754, 𝛥 11min 45secs) type code: 'APPL' (4150504c) creator code: '????' (3f3f3f3f) plist flags: has-custom-bindings (0000000000010000) icon flags: relative-icon-path (0000000000000001) slices: arm64 (0000000000000080) item flags: package application container native-app extension-hidden (000000000010008e) App Nap: capable (0000000000000001) eGPU: capable can-change (0000000000000005) safeAperture system fullscreen: capable can-change (0000000000000005) safeAperture app fullscreen: capable can-change (0000000000000005) safeAperture windowed: capable can-change (0000000000000005) Game Mode: capable can-change (0000000000000005) Identified Game: capable can-change (0000000000000005) platform: native iconDict: 1 values (9156 (0x23c4)) { CFBundlePrimaryIcon = { CFBundleIconFile = "DeepSkyStacker.icns"; }; } icons: Contents/Resources/DeepSkyStacker.icns executable: Contents/MacOS/DeepSkyStacker inode: 9686765 exec inode: 9686771 execSDK ver: 15.4 ({length = 32, bytes = 0x0f000000 00000000 04000000 00000000 ... 00000000 00000000 }) mach min ver: 13.4 ({length = 32, bytes = 0x0d000000 00000000 04000000 00000000 ... 00000000 00000000 }) infoDictionary: 15 values (9160 (0x23c8)) { CFBundleDevelopmentRegion = English; CFBundleExecutable = DeepSkyStacker; CFBundleGetInfoString = ""; CFBundleIconFile = "DeepSkyStacker.icns"; CFBundleIdentifier = "com.github.deepskystacker"; CFBundleInfoDictionaryVersion = "6.0"; CFBundleLocalizations = ( ca, cs, de, es, fr, it, "ja_JP", nl, "pt_BR", ro, ru, tr, "zh_CN", "zh_TW" ); CFBundleLongVersionString = ""; CFBundleName = DeepSkyStacker; CFBundleNumericVersion = 101744640; CFBundlePackageType = APPL; CFBundleShortVersionString = "6.1"; CFBundleSignature = "????"; CFBundleVersion = "6.1.0"; NSHumanReadableCopyright = "Copyright \U00a9 2018-2025, David C. Partridge; Copyright \U00a9 2006-2019, Luc Coiffier"; } activityTypes: NOTIFICATION#VH8AYT3C7Y:com.github.deepskystacker, pv-eb6d5fe6c3ff51 trustedCodeSignatures: 3b627d5ab5825da80f3291707f69c8257dce381c claimed UTIs: com.github.deepskystacker.dssfilelist Intents: 0 values (9164 (0x23cc)) { } -------------------------------------------------------------------------------- type id: com.github.deepskystacker.dssfilelist (0x26c8) bundle: DeepSkyStacker (0x3cc) uti: com.github.deepskystacker.dssfilelist localizedDescription: "ca" = ?, "cs" = ?, "de" = ?, "English" = ?, "es" = ?, "fr" = ?, "it" = ?, "ja_JP" = ?, "LSDefaultLocalizedValue" = "DeepSkyStacker file-list file", "nl" = ?, "pt_BR" = ?, "ro" = ?, "ru" = ?, "tr" = ?, "zh_CN" = ?, "zh_TW" = ? flags: active exported trusted (0000000000000051) icons: 1 values (9168 (0x23d0)) { UTTypeIconFile = "DSS_filelist.icns"; } conforms to: public.plaintext tags: .dssfilelist, text/dssfilelist -------------------------------------------------------------------------------- claim id: 3396 (0xd44) rank: Owner bundle: DeepSkyStacker (0x3cc) flags: doc-type (0000000000000020) roles: Editor (0000000000000004) bindings: com.github.deepskystacker.dssfilelist
May ’25
Reply to Associating file extension with my application
I'm able to report some progress :)! Setting that to public.plain-text made a difference, and the application is now opened when the file is double-clicked on, but it doesn't actually open the file? I expected the application to be invoked like (e.g.): /Applications/DeepSkyStacker.app/Contents/MacOS/DeepSkyStacker Documents/Astrophotography/NGC\ 457\ Owl\ Cluster/NGC457.dssfilelist which when typed from the command line opened the file as expected. But clearly that isn't how the application was invoked. What am I not understanding here? The specified Icon was also not associated to the file. Even though it is in DeepSkyStacker.app/Contents/Resources amonra@Saturn ~ % ls /Applications/DeepSkyStacker.app/Contents/Resources DeepSkyStacker.icns DSS_filelist.icns qt.conf amonra@Saturn ~ %
May ’25
Reply to SIGABRT loading signed application
This maybe the result on not using a proper Developer ID cert. I created a self-signed cert for code signing. Would that explain the problem?
Topic: Code Signing SubTopic: General
Replies
Boosts
Views
Activity
Apr ’25
Reply to SIGABRT loading signed application
I confirm that signing with a real Developer ID cert works
Topic: Code Signing SubTopic: General
Replies
Boosts
Views
Activity
Apr ’25
Reply to add /usr/bin/codesign to acl for private key
Thanks, I'm new to Mac, so didn't know I could do that from a "file open" dialogue.
Topic: Code Signing SubTopic: General
Replies
Boosts
Views
Activity
Apr ’25
Reply to Code no longer builds "unsupported option for target"
It turns out that it may have been an update to XCode that caused the errors to be reported when none were previously. I just hadn't tried to build the code since before the update. So this can be ignored David
Replies
Boosts
Views
Activity
Apr ’25
Reply to Errors compiling C++ code for x86_64
Well that has changed! With the latest XCode update to 16.3 I can't specify those options for an ARM build :( Which is OK, so long as I can work out how to avoid specifying them for an ARM target, but I NEED them for the x86_64 build. But of course I still have the problem above ... D.
Replies
Boosts
Views
Activity
Apr ’25
Reply to Errors compiling C++ code for x86_64
This question isn't about CMake it's about the compiler. However I worked around the problem by building the files that needed the special compilation options for AVX into a different static library. I think the issue is that the files in question don't use PCH, but the rest of the files do so. I think the parse tree for AST was built from the precompiled headers.
Replies
Boosts
Views
Activity
Apr ’25
Reply to Notarising two builds of the same app
I accept the point about the Universal Binary but unfortunately vcpgk doesn't support universal binaries. I also I can't compile my code x64 and arm64 with same compiler options, because since the latest update XCode rejects arm64 compilations with AVX related options specified. So separate builds it is. For clarification are you saying I should zip up a directory containing DeepSkyStacker.app, DeepSkyStackerCL.app and DeepSkyStackerLive.app and submit that for notarising? Thanks David
Replies
Boosts
Views
Activity
Apr ’25
Reply to Building an app with both GUI and Command Line versions
The command line version of the app is structured quite differently from the GUI and is already written and working. I've just spent weeks porting from Visual Studio/msbuild to CMake so we can build for Win/Linux/Mac using ONE tool. So I really don't wish to convert the build to XCode. Should I put the command line version into the SharedSupport directory of the app rather than the MacOS one?
Replies
Boosts
Views
Activity
Apr ’25
Reply to Building an app with both GUI and Command Line versions
I've placed the CL executable in the MacOS directory I expect that users will place a symlink to it in /usr/local/bin/ The CL program doesn't have any GUI stuff... I hope/expect users will be able to run from either Terminal or an SSH session. I realise they'll need to create an .zshenv looking a bit like this: # remove duplicate entries from $PATH # zsh uses $path array along with $PATH typeset -U PATH path pathadd () { if [ "$2" = "after" ] ; then PATH=$PATH:$1 else PATH=$1:$PATH fi } pathadd /usr/local/bin pathadd /home/amonra/bin Cheers, David
Replies
Boosts
Views
Activity
Apr ’25
Reply to Associating file extension with my application
PS where can I find the information about the Info.plist file in the current documentation - contents doesn't suggest any obvious place to look... I looked under the XCode section but didn't find what I wanted. Thanks David
Replies
Boosts
Views
Activity
May ’25
Reply to Associating file extension with my application
That is in the archive, so isn't current ... I think that having something like this in the Info.plist file is part of the story <key>UTExportedTypeDeclarations</key> <array> <dict> <key>UTTypeIdentifier</key> <string>com.github.deepskystacker-dssfilelist</string> <key>UTTypeConformsTo</key> <array> <string>public.plaintext</string> </array> <key>UTTypeDescription</key> <string>DeepSkyStacker file-list file</string> <key>UTTypeIconFile</key> <string>DSS_filelist.icns</string> <key>UTTypeTagSpecification</key> <dict> <key>public.filename-extension</key> <array> <string>dssfilelist</string> </array> </dict> <key>public.mime-type</key> <string>text/dssfilelist</string> </dict> </array> Is that correct? If there are errors please tell me. Will that also cause d'clicking on a .dssfilelist file cause my application com.github.deepskystackerto open it?
Replies
Boosts
Views
Activity
May ’25
Reply to Associating file extension with my application
My Info.plist as shown by XCode looks like this: but my application still isn't associated to the type I registered, and .dssfilelist files don't display the Icon I supplied. Also lsregister -dump | grep dssfilelist shows multiple entries which doesn't seem correct: amonra@Saturn ~ % lsregister -dump |grep dssfilelist type id: com.github.deepskystacker-dssfilelist (0xb384) uti: com.github.deepskystacker-dssfilelist tags: .dssfilelist type id: com.github.deepskystacker-dssfilelist (0xb390) uti: com.github.deepskystacker-dssfilelist tags: .dssfilelist claimed UTIs: com.github.deepskystacker-dssfilelist type id: com.github.deepskystacker-dssfilelist (0xb39c) uti: com.github.deepskystacker-dssfilelist tags: .dssfilelist bindings: com.github.deepskystacker-dssfilelist bindings: com.github.deepskystacker-dssfilelist type id: com.github.deepskystacker-dssfilelist (0xb384) uti: com.github.deepskystacker-dssfilelist tags: .dssfilelist type id: com.github.deepskystacker-dssfilelist (0xb390) uti: com.github.deepskystacker-dssfilelist tags: .dssfilelist type id: com.github.deepskystacker-dssfilelist (0xb39c) uti: com.github.deepskystacker-dssfilelist tags: .dssfilelist do I need to add something to my Info.plist to stop that?
Replies
Boosts
Views
Activity
May ’25
Reply to Associating file extension with my application
Hmmm here's what lsregister says about my application and the filetype it has registered (now set to com.github.deepskystacker.filelist): --------------------------------------------------------------------------- bundle id: DeepSkyStacker (0x3cc) class: kLSBundleClassApplication (0x2) container: / (0x4) mount state: mounted Mach-O UUIDs: 14010933-1443-3ABE-8993-EFF084AD3949 sequenceNum: 972 path: /Applications/DeepSkyStacker.app (0xa48) directory: /Applications name: DeepSkyStacker localizedShortNames: "ca" = ?, "cs" = ?, "de" = ?, "English" = ?, "es" = ?, "fr" = ?, "it" = ?, "ja_JP" = ?, "LSDefaultLocalizedValue" = "DeepSkyStacker", "nl" = ?, "pt_BR" = ?, "ro" = ?, "ru" = ?, "tr" = ?, "zh_CN" = ?, "zh_TW" = ? teamID: VH8AYT3C7Y identifier: com.github.deepskystacker version: 6.1 ({length = 32, bytes = 0x06000000 00000000 01000000 00000000 ... 00000000 00000000 }) versionString: 6.1.0 displayVersion: 6.1 mod date: 2025-05-11 09:37 (POSIX 1746952679, 𝛥 7hrs 26min 20secs) exec mod date: 2025-05-11 09:37 (POSIX 1746952679, 𝛥 7hrs 26min 20secs) reg date: 2025-05-11 16:52 (POSIX 1746978754, 𝛥 11min 45secs) rec mod date: 2025-05-11 16:52 (POSIX 1746978754, 𝛥 11min 45secs) type code: 'APPL' (4150504c) creator code: '????' (3f3f3f3f) plist flags: has-custom-bindings (0000000000010000) icon flags: relative-icon-path (0000000000000001) slices: arm64 (0000000000000080) item flags: package application container native-app extension-hidden (000000000010008e) App Nap: capable (0000000000000001) eGPU: capable can-change (0000000000000005) safeAperture system fullscreen: capable can-change (0000000000000005) safeAperture app fullscreen: capable can-change (0000000000000005) safeAperture windowed: capable can-change (0000000000000005) Game Mode: capable can-change (0000000000000005) Identified Game: capable can-change (0000000000000005) platform: native iconDict: 1 values (9156 (0x23c4)) { CFBundlePrimaryIcon = { CFBundleIconFile = "DeepSkyStacker.icns"; }; } icons: Contents/Resources/DeepSkyStacker.icns executable: Contents/MacOS/DeepSkyStacker inode: 9686765 exec inode: 9686771 execSDK ver: 15.4 ({length = 32, bytes = 0x0f000000 00000000 04000000 00000000 ... 00000000 00000000 }) mach min ver: 13.4 ({length = 32, bytes = 0x0d000000 00000000 04000000 00000000 ... 00000000 00000000 }) infoDictionary: 15 values (9160 (0x23c8)) { CFBundleDevelopmentRegion = English; CFBundleExecutable = DeepSkyStacker; CFBundleGetInfoString = ""; CFBundleIconFile = "DeepSkyStacker.icns"; CFBundleIdentifier = "com.github.deepskystacker"; CFBundleInfoDictionaryVersion = "6.0"; CFBundleLocalizations = ( ca, cs, de, es, fr, it, "ja_JP", nl, "pt_BR", ro, ru, tr, "zh_CN", "zh_TW" ); CFBundleLongVersionString = ""; CFBundleName = DeepSkyStacker; CFBundleNumericVersion = 101744640; CFBundlePackageType = APPL; CFBundleShortVersionString = "6.1"; CFBundleSignature = "????"; CFBundleVersion = "6.1.0"; NSHumanReadableCopyright = "Copyright \U00a9 2018-2025, David C. Partridge; Copyright \U00a9 2006-2019, Luc Coiffier"; } activityTypes: NOTIFICATION#VH8AYT3C7Y:com.github.deepskystacker, pv-eb6d5fe6c3ff51 trustedCodeSignatures: 3b627d5ab5825da80f3291707f69c8257dce381c claimed UTIs: com.github.deepskystacker.dssfilelist Intents: 0 values (9164 (0x23cc)) { } -------------------------------------------------------------------------------- type id: com.github.deepskystacker.dssfilelist (0x26c8) bundle: DeepSkyStacker (0x3cc) uti: com.github.deepskystacker.dssfilelist localizedDescription: "ca" = ?, "cs" = ?, "de" = ?, "English" = ?, "es" = ?, "fr" = ?, "it" = ?, "ja_JP" = ?, "LSDefaultLocalizedValue" = "DeepSkyStacker file-list file", "nl" = ?, "pt_BR" = ?, "ro" = ?, "ru" = ?, "tr" = ?, "zh_CN" = ?, "zh_TW" = ? flags: active exported trusted (0000000000000051) icons: 1 values (9168 (0x23d0)) { UTTypeIconFile = "DSS_filelist.icns"; } conforms to: public.plaintext tags: .dssfilelist, text/dssfilelist -------------------------------------------------------------------------------- claim id: 3396 (0xd44) rank: Owner bundle: DeepSkyStacker (0x3cc) flags: doc-type (0000000000000020) roles: Editor (0000000000000004) bindings: com.github.deepskystacker.dssfilelist
Replies
Boosts
Views
Activity
May ’25
Reply to Associating file extension with my application
Thanks for pointing out the the plain-text versus plaintext problem. Now why didn't the system complain when I installed the application saying "that's incorrect"... I'm on holiday ATM, and will try this when I get back on the 19th. Thanks again, David
Replies
Boosts
Views
Activity
May ’25
Reply to Associating file extension with my application
I'm able to report some progress :)! Setting that to public.plain-text made a difference, and the application is now opened when the file is double-clicked on, but it doesn't actually open the file? I expected the application to be invoked like (e.g.): /Applications/DeepSkyStacker.app/Contents/MacOS/DeepSkyStacker Documents/Astrophotography/NGC\ 457\ Owl\ Cluster/NGC457.dssfilelist which when typed from the command line opened the file as expected. But clearly that isn't how the application was invoked. What am I not understanding here? The specified Icon was also not associated to the file. Even though it is in DeepSkyStacker.app/Contents/Resources amonra@Saturn ~ % ls /Applications/DeepSkyStacker.app/Contents/Resources DeepSkyStacker.icns DSS_filelist.icns qt.conf amonra@Saturn ~ %
Replies
Boosts
Views
Activity
May ’25