Code Cleanup, Fixed Builders.

This commit is contained in:
Michael J. Manley
2025-05-20 22:32:47 -07:00
parent 8adcc25ed9
commit 82357eab6d
9 changed files with 27 additions and 119 deletions

View File

@@ -1,5 +0,0 @@
FROM ubuntu:jammy
RUN apt-get update && export DEBIAN_FRONTEND=noninteractive \
&& apt-get -y install --no-install-recommends git libsdl2-dev libopenal-dev libwxgtk3.0-gtk3-dev \
libpcap-dev cmake ninja-build build-essential ca-certificates

View File

@@ -1,17 +0,0 @@
{
"name": "PCem",
"build": {
"dockerfile": "Dockerfile"
},
"runArgs": [
"--userns=keep-id",
"--security-opt=label=disable"
],
"containerEnv": {
"DISPLAY": "${localEnv:DISPLAY}"
},
"mounts": [
"source=/tmp/.X11-unix,target=/tmp/.X11-unix,type=bind,consistency=cached"
],
"remoteUser": "root"
}

View File

@@ -14,7 +14,7 @@ jobs:
include:
- name: Ubuntu 64bit (gcc)
os: ubuntu-latest
args: -DUSE_EXPERIMENTAL=ON -DUSE_EXPERIMENTAL_PRINTER=OFF -DUSE_EXPERIMENTAL_PGC=ON -DUSE_NETWORKING=ON -DUSE_PCAP_NETWORKING=ON -DCMAKE_BUILD_TYPE=Debug -DPCEM_VERSION_STRING="vNext build ${GITHUB_SHA::8}"
args: -DCMAKE_BUILD_TYPE=Debug -DPCEM_VERSION_STRING="vNext build ${GITHUB_SHA::8}"
artifacts_name: PCem-Debug-vNext-Ubuntu-${{ github.run_number }}
artifacts_path: PCem-Debug-vNext-Ubuntu-${{ github.run_number }}-${{ github.sha }}.tar.bz2
installdeps: >-
@@ -27,7 +27,7 @@ jobs:
- name: Windows 64bits (MSYS2)
os: windows-latest
compiler: MINGW64
args: -DUSE_EXPERIMENTAL=ON -DUSE_EXPERIMENTAL_PRINTER=OFF -DUSE_EXPERIMENTAL_PGC=ON -DUSE_NETWORKING=ON -DUSE_PCAP_NETWORKING=ON -DCMAKE_BUILD_TYPE=Debug -DPCEM_VERSION_STRING="vNext build ${GITHUB_SHA::8}"
args: -DCMAKE_BUILD_TYPE=Debug -DPCEM_VERSION_STRING="vNext build ${GITHUB_SHA::8}"
artifacts_name: PCem-Debug-vNext-Windows-MINGW64-${{ github.run_number }}
artifacts_path: PCem-Debug-vNext-Windows-MINGW64-${{ github.run_number }}-${{ github.sha }}.zip
installdeps: >-

View File

@@ -14,7 +14,7 @@ jobs:
include:
- name: Ubuntu 64bit (gcc)
os: ubuntu-latest
args: -DUSE_EXPERIMENTAL=ON -DUSE_EXPERIMENTAL_PRINTER=OFF -DUSE_EXPERIMENTAL_PGC=ON -DUSE_NETWORKING=ON -DUSE_PCAP_NETWORKING=ON -DCMAKE_BUILD_TYPE=Release -DPCEM_VERSION_STRING="vNext build ${GITHUB_SHA::8}"
args: -DCMAKE_BUILD_TYPE=Release -DPCEM_VERSION_STRING="vNext build ${GITHUB_SHA::8}"
artifacts_name: PCem-vNext-Ubuntu-${{ github.run_number }}
artifacts_path: PCem-vNext-Ubuntu-${{ github.run_number }}-${{ github.sha }}.tar.bz2
installdeps: >-
@@ -27,7 +27,7 @@ jobs:
- name: Windows 64bits (MSYS2)
os: windows-latest
compiler: MINGW64
args: -DUSE_EXPERIMENTAL=ON -DUSE_EXPERIMENTAL_PRINTER=OFF -DUSE_EXPERIMENTAL_PGC=ON -DUSE_NETWORKING=ON -DUSE_PCAP_NETWORKING=ON -DCMAKE_BUILD_TYPE=Release -DPCEM_VERSION_STRING="vNext build ${GITHUB_SHA::8}"
args: -DCMAKE_BUILD_TYPE=Release -DPCEM_VERSION_STRING="vNext build ${GITHUB_SHA::8}"
artifacts_name: PCem-vNext-Windows-MINGW64-${{ github.run_number }}
artifacts_path: PCem-vNext-Windows-MINGW64-${{ github.run_number }}-${{ github.sha }}.zip
installdeps: >-

View File

@@ -14,7 +14,7 @@ jobs:
include:
- name: Ubuntu 64bit (gcc)
os: ubuntu-latest
args: -DUSE_EXPERIMENTAL=ON -DUSE_EXPERIMENTAL_PRINTER=OFF -DUSE_EXPERIMENTAL_PGC=ON -DUSE_NETWORKING=ON -DUSE_PCAP_NETWORKING=ON -DCMAKE_BUILD_TYPE=RelWithDebInfo -DPCEM_RELDEB_AS_RELEASE=OFF -DPCEM_VERSION_STRING="vNext build ${GITHUB_SHA::8}"
args: -DCMAKE_BUILD_TYPE=RelWithDebInfo -DPCEM_VERSION_STRING="vNext build ${GITHUB_SHA::8}"
artifacts_name: PCem-RelWithDebInfo-vNext-Ubuntu-${{ github.run_number }}
artifacts_path: PCem-RelWithDebInfo-vNext-Ubuntu-${{ github.run_number }}-${{ github.sha }}.tar.bz2
installdeps: >-
@@ -27,7 +27,7 @@ jobs:
- name: Windows 64bits (MSYS2)
os: windows-latest
compiler: MINGW64
args: -DUSE_EXPERIMENTAL=ON -DUSE_EXPERIMENTAL_PRINTER=OFF -DUSE_EXPERIMENTAL_PGC=ON -DUSE_NETWORKING=ON -DUSE_PCAP_NETWORKING=ON -DCMAKE_BUILD_TYPE=RelWithDebInfo -DPCEM_RELDEB_AS_RELEASE=OFF -DPCEM_VERSION_STRING="vNext build ${GITHUB_SHA::8}"
args: -DCMAKE_BUILD_TYPE=RelWithDebInfo -DPCEM_VERSION_STRING="vNext build ${GITHUB_SHA::8}"
artifacts_name: PCem-RelWithDebInfo-vNext-Windows-MINGW64-${{ github.run_number }}
artifacts_path: PCem-RelWithDebInfo-vNext-Windows-MINGW64-${{ github.run_number }}-${{ github.sha }}.zip
installdeps: >-

View File

@@ -12,7 +12,10 @@ target_architecture(PCEM_CPU_TYPE)
set(CMAKE_C_FLAGS_RELEASE "${CMAKE_C_FLAGS_RELEASE} -O2 -fomit-frame-pointer -fno-strict-aliasing -flto")
set(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} -O2 -fomit-frame-pointer -fno-strict-aliasing -flto")
set(CMAKE_C_FLAGS_RELWITHDEBINFO "${CMAKE_C_FLAGS_RELEASE} -DDEBUG")
set(CMAKE_CXX_FLAGS_RELWITHDEBINFO "${CMAKE_CXX_FLAGS_RELEASE} -DDEBUG")
if(${PCEM_CPU_TYPE} STREQUAL "i386")
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -msse2")
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -msse2")
@@ -73,7 +76,7 @@ if(USE_EXPERIMENTAL)
endif()
if(CMAKE_BUILD_TYPE STREQUAL "RelWithDebInfo")
option(PCEM_RELDEB_AS_RELEASE "Build PCem RelWithDebInfo as Release Mode" ON)
option(PCEM_RELDEB_AS_RELEASE "Build PCem RelWithDebInfo as Release Mode" OFF)
message("Build PCem RelWithDebInfo as Release Mode: ${PCEM_RELDEB_AS_RELEASE}")
endif()

View File

@@ -1,76 +0,0 @@
{
"configurations": [
{
"environments": [
{
"PATH": "C:\\msys64\\mingw64\\bin;C:\\msys64\\usr\\bin;${env.PATH}",
"environment": "mingw_64"
}
],
"name": "MinGW x64 - Debug",
"generator": "Ninja",
"configurationType": "Debug",
"inheritEnvironments": [ "mingw_64" ],
"cmakeCommandArgs": "-DMSYS=1",
"buildCommandArgs": "-v",
"ctestCommandArgs": "",
"intelliSenseMode": "linux-gcc-x64",
"cmakeToolchain": "cmake\\toolchains\\x86_64-w64-mingw32.cmake",
"buildRoot": "${workspaceRoot}\\cmake-build-x64-debug"
},
{
"environments": [
{
"PATH": "C:\\msys64\\mingw32\\bin;C:\\msys64\\usr\\bin;${env.PATH}",
"environment": "mingw_i686"
}
],
"name": "MinGW i686 - Debug",
"generator": "Ninja",
"configurationType": "Debug",
"inheritEnvironments": [ "mingw_i686" ],
"cmakeCommandArgs": "-DMSYS=1",
"buildCommandArgs": "-v",
"ctestCommandArgs": "",
"intelliSenseMode": "linux-gcc-x86",
"cmakeToolchain": "cmake\\toolchains\\i686-w64-mingw32.cmake",
"buildRoot": "${workspaceRoot}\\cmake-build-x86-debug"
},
{
"environments": [
{
"PATH": "C:\\msys64\\mingw64\\bin;C:\\msys64\\usr\\bin;${env.PATH}",
"environment": "mingw_64"
}
],
"name": "MinGW x64 - Release",
"generator": "Ninja",
"configurationType": "Release",
"inheritEnvironments": [ "mingw_64" ],
"cmakeCommandArgs": "-DMSYS=1",
"buildCommandArgs": "-v",
"ctestCommandArgs": "",
"intelliSenseMode": "linux-gcc-x64",
"cmakeToolchain": "cmake\\toolchains\\x86_64-w64-mingw32.cmake",
"buildRoot": "${workspaceRoot}\\cmake-build-x64-release"
},
{
"environments": [
{
"PATH": "C:\\msys64\\mingw32\\bin;C:\\msys64\\usr\\bin;${env.PATH}",
"environment": "mingw_i686"
}
],
"name": "MinGW i686 - Release",
"generator": "Ninja",
"configurationType": "Release",
"inheritEnvironments": [ "mingw_i686" ],
"cmakeCommandArgs": "-DMSYS=1",
"buildCommandArgs": "-v",
"ctestCommandArgs": "",
"intelliSenseMode": "linux-gcc-x86",
"cmakeToolchain": "cmake\\toolchains\\i686-w64-mingw32.cmake",
"buildRoot": "${workspaceRoot}\\cmake-build-x86-release"
}
]
}

View File

@@ -11,7 +11,7 @@ You can submit patches on our [forum](https://pcem-emulator.co.uk/phpBB3). Befor
:exclamation: Note: <b>NO COPYRIGHTED ROM FILES ARE INCLUDED NOR WILL THEY BE. PLEASE DO NOT ASK FOR THEM.</b>
## BSD and Linux supplement (v17)
## BSD and Linux supplement
You will need the following libraries and buildtools (and their dependencies):
- SDL2
@@ -37,8 +37,11 @@ then `./src/pcem` to run.
The Linux/BSD versions store BIOS ROM images, configuration files, and other data in `~/.pcem`
You can specify the Display Engine using `-DPCEM_DISPLAY_ENGINE=` The options you have are wxWidgets, and Qt
configure options are :
You can specify the Display Engine using `-DPCEM_DISPLAY_ENGINE=` The only valid option you have at this time is
wxWidgets
The configure options are specified below. They are in the format of -D`Option`=`Value`. `Value` under here is the
default value.
```
-DCMAKE_BUILD_TYPE=Release : Generate release build. Recommended for regular use.
-DCMAKE_BUILD_TYPE=Debug : Compile with debugging enabled.
@@ -46,18 +49,18 @@ configure options are :
-DUSE_PCAP_NETWORKING=ON : Build with pcap networking support. (Needs USE_NETWORKING to compile) Requires libpcap.
-DUSE_ALSA=OFF : Build with support for MIDI output through ALSA. Requires libasound. (Linux Only)
-DFORCE_X11=ON : Enables a hack to force X11 on Wayland systems. See #128 for details. (Linux Only)
-DPLUGIN_ENGINE=OFF : Build with plugin support. Builds libpcem-plugin-api and links PCem with it.
-DPLUGIN_ENGINE=ON : Build with plugin support. Builds libpcem-plugin-api and links PCem with it.
```
If you are using -DCMAKE_BUILD_TYPE=Debug, there are some more debug options you can enable if needed
```
-DPCEM_SLIRP_DEBUG=ON : Build PCem with SLIRP_DEBUG debug output
-DPCEM_RECOMPILER_DEBUG=ON : Build PCem with RECOMPILER_DEBUG debug output
-DPCEM_NE2000_DEBUG=ON : Build PCem with NE2000_DEBUG debug output
-DPCEM_EMU8K_DEBUG_REGISTERS=ON : Build PCem with EMU8K_DEBUG_REGISTERS debug output
-DPCEM_SB_DSP_RECORD_DEBUG=ON : Build PCem with SB_DSP_RECORD_DEBUG debug output
-DPCEM_MACH64_DEBUG=ON : Build PCem with MACH64_DEBUG debug output
-DPCEM_DEBUG_EXTRA=ON : Build PCem with DEBUG_EXTRA debug output
-DPCEM_SLIRP_DEBUG=OFF : Build PCem with SLIRP_DEBUG debug output
-DPCEM_RECOMPILER_DEBUG=OFF : Build PCem with RECOMPILER_DEBUG debug output
-DPCEM_NE2000_DEBUG=OFF : Build PCem with NE2000_DEBUG debug output
-DPCEM_EMU8K_DEBUG_REGISTERS=OFF : Build PCem with EMU8K_DEBUG_REGISTERS debug output
-DPCEM_SB_DSP_RECORD_DEBUG=OFF : Build PCem with SB_DSP_RECORD_DEBUG debug output
-DPCEM_MACH64_DEBUG=OFF : Build PCem with MACH64_DEBUG debug output
-DPCEM_DEBUG_EXTRA=OFF : Build PCem with DEBUG_EXTRA debug output
```
If you are using -DCMAKE_BUILD_TYPE=RelWithDebInfo, there are additional options you can do
@@ -79,7 +82,7 @@ CD-ROM support currently only accesses `/dev/cdrom`. It has not been heavily tes
## Links
### PCem emulates the following hardware (as of v17):
### PCem emulates the following hardware:
Hardware | Links
--- | ---

View File

@@ -1,4 +1,4 @@
## Software tested (v17):
## Software tested:
### DOS
- PC-DOS 1.0