]> git.unchartedbackwaters.co.uk Git - francis/winuae.git/commitdiff
cmake: name the Unix binary winuae
authorStefan Reinauer <stefan.reinauer@coreboot.org>
Fri, 12 Jun 2026 04:38:36 +0000 (21:38 -0700)
committerStefan Reinauer <stefan.reinauer@coreboot.org>
Wed, 17 Jun 2026 19:24:40 +0000 (12:24 -0700)
The installed Linux command, the .desktop entries, and the WinUAE.app
bundle all use the name winuae while the build tree produced
winuae_unix. Set OUTPUT_NAME on the winuae_unix target so the binary is
winuae everywhere, drop the now-redundant install RENAME, and update
the smoke script defaults, bundling scripts, and README accordingly.
macos-bundle.sh keeps a fallback for build directories from before the
rename. The CMake target names are unchanged.

CMakeLists.txt
README_unix.md
tools/macos-bundle.sh
tools/macos-dmg.sh
tools/unix-smoke-a1200.sh
tools/unix-smoke-a4091-hdf.sh
tools/unix-smoke-ide-expansion-hdf.sh
tools/unix-smoke-p96-guest.sh
tools/unix-smoke-path-config.sh
tools/unix-smoke-serial-tcp.sh
tools/unix-smoke-sound-boards.sh

index 779a0f014a1996df7a215cfe330daf35cff05f6b..3ed0420dcb2761a22b869cbe886da75315bb1fd5 100644 (file)
@@ -1406,6 +1406,10 @@ target_sources(winuae_core PRIVATE ${WINUAE_CORE_SOURCES})
 
 if(WINUAE_UNIX_BUILD_EXECUTABLE)
     add_executable(winuae_unix $<TARGET_OBJECTS:winuae_core>)
+    # Keep the developer-facing target name stable; the produced binary is
+    # named winuae to match the installed name, the .desktop files, the
+    # WinUAE.app bundle, and winuae.exe on Windows.
+    set_target_properties(winuae_unix PROPERTIES OUTPUT_NAME winuae)
     if(WINUAE_UNIX_EXTRA_LIBRARY_DIRS)
         target_link_directories(winuae_unix PRIVATE ${WINUAE_UNIX_EXTRA_LIBRARY_DIRS})
     endif()
@@ -1699,7 +1703,6 @@ endif()
 if(TARGET winuae_unix AND NOT APPLE)
     install(PROGRAMS "$<TARGET_FILE:winuae_unix>"
         DESTINATION "${CMAKE_INSTALL_BINDIR}"
-        RENAME winuae
     )
     install(FILES README_unix.md
         DESTINATION "${CMAKE_INSTALL_DOCDIR}"
index dbb3ae324ec65c10aeafcb95caeef31902d724bf..28680bec599f441b524f6fb13bcc70f5b35e7e96 100644 (file)
@@ -4,7 +4,7 @@ This is an early macOS/Linux port of the WinUAE source tree. The current Unix bu
 
 ## Current Status
 
-- Builds with CMake as `winuae_unix`.
+- Builds with CMake as the `winuae_unix` target, producing a `winuae` binary.
 - Uses `od-unix/` host abstractions.
 - SDL3 provides the current window, framebuffer presentation, mouse input, keyboard input, audio output, and playback-device selection.
 - SDL3 gamepads and non-gamepad joysticks are exposed through the WinUAE input-device layer for game-port use; the Qt Game Ports/Input pages have first remap/test dialogs backed by SDL3 device enumeration and WinUAE config keys.
@@ -137,7 +137,7 @@ cmake --build /tmp/winuae_cmake_build --target winuae_unix -j
 The executable will be:
 
 ```sh
-/tmp/winuae_cmake_build/winuae_unix
+/tmp/winuae_cmake_build/winuae
 ```
 
 On Linux, install the executable, shared resources, documentation, and desktop/MIME metadata into a prefix with:
@@ -147,9 +147,10 @@ cmake --install /tmp/winuae_cmake_build --prefix /opt/winuae
 ```
 
 This installs the desktop entry, `.uae` MIME type, and hicolor icons. The
-installed Linux command is `winuae`; the build-tree executable remains
-`winuae_unix` to keep the existing developer targets stable. On macOS, use the
-`.app` and DMG targets below instead of installing the raw executable.
+binary is named `winuae` everywhere — build tree, installed command, and app
+bundle; only the CMake target keeps the `winuae_unix` name for developer
+stability. On macOS, use the `.app` and DMG targets below instead of
+installing the raw executable.
 
 On Linux, CPack can create packages from the same install rules:
 
@@ -312,7 +313,7 @@ cmake --build /tmp/winuae_cmake_build --target winuae_unix -j
 The port accepts normal WinUAE command-line `-s` configuration overrides. A minimal A1200 example:
 
 ```sh
-/tmp/winuae_cmake_build/winuae_unix \
+/tmp/winuae_cmake_build/winuae \
   -s kickstart_rom_file=/path/to/A1200.rom \
   -s floppy0=/path/to/disk.adf \
   -s nr_floppies=1 \
@@ -326,7 +327,7 @@ The port accepts normal WinUAE command-line `-s` configuration overrides. A mini
 When the integrated Qt UI is built, `winuae_unix` opens the configuration UI by default. To boot directly from a config or command-line settings, disable the GUI:
 
 ```sh
-/tmp/winuae_cmake_build/winuae_unix \
+/tmp/winuae_cmake_build/winuae \
   -f /path/to/config.uae \
   -s use_gui=no
 ```
@@ -342,7 +343,7 @@ For SANA-II `uaenet.device` startup testing, add `-s sana2=true` or use the smok
 SDL3 audio uses the WinUAE `sound_output`, `sound_frequency`, `sound_channels`, `sound_volume*`, and floppy drive sound config keys. Unix playback device selection follows the same target-prefixed style as Windows:
 
 ```sh
-/tmp/winuae_cmake_build/winuae_unix \
+/tmp/winuae_cmake_build/winuae \
   -s unix.soundcard=0 \
   -s 'unix.soundcardname=SDL:Default Audio Device'
 ```
@@ -361,12 +362,12 @@ The Unix serial backend follows the same target-prefixed config style as Windows
 
 ```sh
 # Real serial device
-/tmp/winuae_cmake_build/winuae_unix \
+/tmp/winuae_cmake_build/winuae \
   -s unix.serial_port=/dev/cu.usbserial-0001 \
   -s serial_hardware_ctsrts=true
 
 # Telnet-style TCP listener on all local interfaces, port 1234
-/tmp/winuae_cmake_build/winuae_unix \
+/tmp/winuae_cmake_build/winuae \
   -s unix.serial_port=TCP://0.0.0.0:1234
 ```
 
@@ -440,7 +441,7 @@ FireStorm, Mediator 4000, and G-REX PCI bridges.
 For manual A4091 autoconfig smoke tests, use an A4000/A4000T-style config, disable 24-bit CPU addressing, and provide a real A4091 ROM:
 
 ```sh
-/tmp/winuae_cmake_build/winuae_unix \
+/tmp/winuae_cmake_build/winuae \
   -s use_gui=no \
   -s kickstart_rom_file=/path/to/A4000.rom \
   -s a4091_rom_file=/path/to/a4091.rom \
@@ -524,7 +525,7 @@ Optional overrides:
 
 ```sh
 export WINUAE_BUILD_DIR=/tmp/winuae_cmake_build
-export WINUAE_EXE=/tmp/winuae_cmake_build/winuae_unix
+export WINUAE_EXE=/tmp/winuae_cmake_build/winuae
 export WINUAE_SMOKE_SECONDS=5
 export WINUAE_SMOKE_LOG=/tmp/winuae_unix_smoke.log
 ```
index 83ea48d985d0d378dac4742a7dd0fa482c46ade8..5d62c136564ae555c41be1628bc829dfc4954450 100755 (executable)
@@ -8,7 +8,7 @@ Usage: $0 [build-dir] [output-dir]
 Creates a local WinUAE.app bundle from an existing macOS build tree.
 
 Arguments:
-  build-dir   CMake build directory containing winuae_unix.
+  build-dir   CMake build directory containing the winuae binary.
               Defaults to WINUAE_BUILD_DIR or the current directory.
   output-dir  Directory that will receive WinUAE.app.
               Defaults to <build-dir>/package.
@@ -37,7 +37,11 @@ script_dir="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
 source_dir="$(cd "${script_dir}/.." && pwd)"
 build_dir="${1:-${WINUAE_BUILD_DIR:-$(pwd)}}"
 output_dir="${2:-${build_dir}/package}"
-executable="${build_dir}/winuae_unix"
+executable="${build_dir}/winuae"
+if [[ ! -x "${executable}" && -x "${build_dir}/winuae_unix" ]]; then
+    # Build directories from before the binary rename.
+    executable="${build_dir}/winuae_unix"
+fi
 app_dir="${output_dir}/WinUAE.app"
 contents_dir="${app_dir}/Contents"
 macos_dir="${contents_dir}/MacOS"
@@ -50,7 +54,7 @@ fi
 
 if [[ ! -x "${executable}" ]]; then
     echo "error: executable not found: ${executable}" >&2
-    echo "hint: build winuae_unix first, or pass the CMake build directory" >&2
+    echo "hint: build the winuae_unix target first, or pass the CMake build directory" >&2
     exit 1
 fi
 
index b811a4a14dd7f7e10da887000dae2e8be0f7fa09..d22c41ed3ffe05e121ed33b976ef78f58b86449e 100755 (executable)
@@ -8,7 +8,7 @@ Usage: $0 [build-dir] [output-dir]
 Creates a drag-install WinUAE DMG from an existing macOS build tree.
 
 Arguments:
-  build-dir   CMake build directory containing winuae_unix.
+  build-dir   CMake build directory containing the winuae binary.
               Defaults to WINUAE_BUILD_DIR or the current directory.
   output-dir  Directory that will receive WinUAE.app and the final DMG.
               Defaults to <build-dir>/package.
index 5fb8c547a0a8c873f3635ddece853c8920d59f01..2f3eba866a99082eb106a009e257016c553218c2 100755 (executable)
@@ -3,7 +3,7 @@ set -eu
 
 ROOT_DIR=$(CDPATH= cd -- "$(dirname -- "$0")/.." && pwd)
 BUILD_DIR=${WINUAE_BUILD_DIR:-/tmp/winuae_cmake_build}
-EXE=${WINUAE_EXE:-"$BUILD_DIR/winuae_unix"}
+EXE=${WINUAE_EXE:-"$BUILD_DIR/winuae"}
 LOG=${WINUAE_SMOKE_LOG:-/tmp/winuae_unix_smoke.log}
 RUN_SECONDS=${WINUAE_SMOKE_SECONDS:-5}
 A2065=${WINUAE_SMOKE_A2065:-0}
index 944af6fcf276f77c340b752d6670f4aa5866c148..a706c01230183e0514780ee3022c423aa316df03 100755 (executable)
@@ -3,7 +3,7 @@ set -eu
 
 ROOT_DIR=$(CDPATH= cd -- "$(dirname -- "$0")/.." && pwd)
 BUILD_DIR=${WINUAE_BUILD_DIR:-/tmp/winuae_cmake_build}
-EXE=${WINUAE_EXE:-"$BUILD_DIR/winuae_unix"}
+EXE=${WINUAE_EXE:-"$BUILD_DIR/winuae"}
 LOG=${WINUAE_SMOKE_LOG:-/tmp/winuae_unix_a4091_hdf_smoke.log}
 RUN_SECONDS=${WINUAE_SMOKE_SECONDS:-8}
 
index 5131c7d778eaf909ca65546d4273ad1467c6f072..f0b87b6b857dd4b4e87669d2c50bc1cb1448f3a7 100755 (executable)
@@ -3,7 +3,7 @@ set -eu
 
 ROOT_DIR=$(CDPATH= cd -- "$(dirname -- "$0")/.." && pwd)
 BUILD_DIR=${WINUAE_BUILD_DIR:-/tmp/winuae_cmake_build}
-EXE=${WINUAE_EXE:-"$BUILD_DIR/winuae_unix"}
+EXE=${WINUAE_EXE:-"$BUILD_DIR/winuae"}
 RUN_SECONDS=${WINUAE_SMOKE_SECONDS:-8}
 
 BOARD=${WINUAE_IDE_EXPANSION_BOARD:-alfapower}
index 7d7c3938043208f788e6df29fc52599bf17916e5..2b64ae669fa5b10d6a3c414619805e3ceb25b007 100755 (executable)
@@ -3,7 +3,7 @@ set -eu
 
 ROOT_DIR=$(CDPATH= cd -- "$(dirname -- "$0")/.." && pwd)
 BUILD_DIR=${WINUAE_BUILD_DIR:-/tmp/winuae_cmake_build}
-EXE=${WINUAE_EXE:-"$BUILD_DIR/winuae_unix"}
+EXE=${WINUAE_EXE:-"$BUILD_DIR/winuae"}
 LOG=${WINUAE_SMOKE_LOG:-/tmp/winuae_unix_p96_guest_smoke.log}
 RUN_SECONDS=${WINUAE_SMOKE_SECONDS:-45}
 Z3=${WINUAE_P96_Z3:-0}
index b1f8b7a4924c70e2431c2e6fa0575a978b0422f6..3df8d07a9db3ccea6f3014836d01b60751589bb8 100755 (executable)
@@ -3,7 +3,7 @@ set -eu
 
 ROOT_DIR=$(CDPATH= cd -- "$(dirname -- "$0")/.." && pwd)
 BUILD_DIR=${WINUAE_BUILD_DIR:-/tmp/winuae_cmake_build}
-EXE=${WINUAE_EXE:-"$BUILD_DIR/winuae_unix"}
+EXE=${WINUAE_EXE:-"$BUILD_DIR/winuae"}
 LOG=${WINUAE_SMOKE_LOG:-/tmp/winuae_unix_path_config_smoke.log}
 RUN_SECONDS=${WINUAE_SMOKE_SECONDS:-5}
 TMPBASE=${TMPDIR:-/tmp}
index be18889ef39fcf04cd0bfc9237ed0c5f718522bc..9a421fc592e52d460288cce343eb7fc4cffde124 100755 (executable)
@@ -3,7 +3,7 @@ set -eu
 
 ROOT_DIR=$(CDPATH= cd -- "$(dirname -- "$0")/.." && pwd)
 BUILD_DIR=${WINUAE_BUILD_DIR:-/tmp/winuae_cmake_build}
-EXE=${WINUAE_EXE:-"$BUILD_DIR/winuae_unix"}
+EXE=${WINUAE_EXE:-"$BUILD_DIR/winuae"}
 LOG=${WINUAE_SMOKE_LOG:-/tmp/winuae_unix_serial_tcp_smoke.log}
 RUN_SECONDS=${WINUAE_SMOKE_SECONDS:-5}
 CONNECT_TIMEOUT=${WINUAE_SERIAL_TCP_TIMEOUT:-20}
index 07c9dc33d09f6495b392fb6d837a2dbaa3cacad3..8c6187d0ca111b14806cc3567fe04937c209a8d5 100755 (executable)
@@ -3,7 +3,7 @@ set -eu
 
 ROOT_DIR=$(CDPATH= cd -- "$(dirname -- "$0")/.." && pwd)
 BUILD_DIR=${WINUAE_BUILD_DIR:-/tmp/winuae_cmake_build}
-EXE=${WINUAE_EXE:-"$BUILD_DIR/winuae_unix"}
+EXE=${WINUAE_EXE:-"$BUILD_DIR/winuae"}
 LOG_DIR=${WINUAE_SMOKE_LOG_DIR:-/tmp}
 RUN_SECONDS=${WINUAE_SMOKE_SECONDS:-5}