print

Bundle

Bundle contents

    FullProf4Mac.app
       Contents
          MacOS
             FullProf4Mac  <--  a launcher (C binary)
             myAlert     <-- an alert dialogue (Cocoa binary)
          Resources
             FullProf4Mac.sh <-- a shell script performing various tests
             [FullProf_suite] <-- folder of the Fortran binaries; most with a X11 based GUI
 

The folder FullProf_Suite

All its binaries must be signed and hardened prior being used by Xcode. Use a terminal command such as:
    codesign -d --force --options runtime --verbose=4 -s "$DEV_CERTIFICATE" --entitlements "FullProf_Suite.entitlements" "$Binary"  
The file "winteracter.entitlements" should only contain the following key:
    <key>com.apple.security.cs.disable-library-validation </key>
    <true>
This is needed because the X11 libraries and FullProf do not have the same Team ID. Otherwise Gatekeeper will complain in the Console:
    Library Validation failed: Rejecting '/opt/X11/lib/libXt.6.dylib' (Team ID: NA574AWV7E, platform: no) for process 'xxxxxxxxxx(11592)' (Team ID: P65398CN49, platform: no), reason: mapping process and mapped file (non-platform) have different Team IDs

The Xcode project based on the build server files (2023)

This is the distributed version since January 2023. It contains more binaries than in the previous version.
It can be notarized by Xcode provided that the Eduroam network is used (the ILL proxy server blocks the process).

To setup such a project see page "Xcode project with auxiliary binaries",

Script FullProf4Mac.sh and X11

Amongst other tests, the script checks for the availability of a windowing system X11 on the computer. Three cases must be considered:

Xquartz v2.7.11 or lower --> https://www.xquartz.org
    /Applications/Utilities/XQuartz.app with Bundle ID: org.macosforge.xquartz.X11
    $ which Xquartz --> /opt/X11/bin/Xquartz
    PATH=/opt/X11/bin:$PATH
    *** version less than 2.8.0 not supported! ***
Xquartz v2.8.0 or higher --> https://www.xquartz.org
    /Applications/Utilities/XQuartz.app with Bundle ID: org.xquartz.X11
    $ which Xquartz --> /opt/X11/bin/Xquartz
    PATH=/opt/X11/bin:$PATH
X11 macports --> https://ports.macports.org/port/xorg-server/
    /Applications/MacPorts/X11.app with Bundle ID: org.xquartz.X11
    $ which Xquartz --> /opt/local/bin/Xquartz
    PATH=/opt/local/bin:$PATH

Binaries FullProf4Mac and myAlert

They must be signed and hardened either manually:
    codesign -d --force --options runtime --verbose=4 -s "$DEV_CERTIFICATE" "$MYBINARY"
or using Xcode
    In that case be sure to manually erase the field "Code Signing Entitlements" in Build Settings.
    It may remained filled in even if you delete "Sandboxing" from the the Capabilities interface.