mirror of
https://github.com/markdavidlong/AppleSAWS.git
synced 2026-04-20 20:16:35 +00:00
Removed legacy .pro file and support files
This commit is contained in:
+12
-9
@@ -1,12 +1,12 @@
|
||||
AppleSAWS.pro.user*
|
||||
disk-images/*
|
||||
.vscode
|
||||
.build
|
||||
compile_commands.json
|
||||
.qmake.stash
|
||||
qrc_resources.cpp
|
||||
# VS Code
|
||||
.vscode/
|
||||
.build/
|
||||
|
||||
# Build output
|
||||
AppleSAWS
|
||||
Makefile
|
||||
|
||||
# Disk images
|
||||
disk-images/*
|
||||
|
||||
# CMake build directories and files
|
||||
build/
|
||||
@@ -16,4 +16,7 @@ CMakeFiles/
|
||||
cmake_install.cmake
|
||||
*.cmake
|
||||
!CMakeLists.txt
|
||||
!CMakePresets.json
|
||||
!CMakePresets.json
|
||||
|
||||
# Compilation database
|
||||
compile_commands.json
|
||||
-171
@@ -1,171 +0,0 @@
|
||||
|
||||
QT += core gui printsupport
|
||||
CONFIG += c++20 debug
|
||||
|
||||
MOC_DIR = ./.build
|
||||
UI_DIR = ./.build
|
||||
OBJECTS_DIR = ./.build
|
||||
|
||||
greaterThan(QT_MAJOR_VERSION, 4): QT += widgets
|
||||
|
||||
TARGET = AppleSAWS
|
||||
TEMPLATE = app
|
||||
|
||||
INCLUDEPATH += src/
|
||||
INCLUDEPATH += src/relocatablefile
|
||||
INCLUDEPATH += src/diskfiles
|
||||
INCLUDEPATH += src/diskfiles/dos33
|
||||
INCLUDEPATH += src/util
|
||||
INCLUDEPATH += src/applesoftfile
|
||||
INCLUDEPATH += src/intbasic
|
||||
INCLUDEPATH += src/binaryfile
|
||||
INCLUDEPATH += src/textfile
|
||||
INCLUDEPATH += src/ui/viewers
|
||||
INCLUDEPATH += src/imported
|
||||
INCLUDEPATH += src/internals
|
||||
INCLUDEPATH += src/ui/diskexplorer/
|
||||
INCLUDEPATH += src/ui/widgets/
|
||||
INCLUDEPATH += src/ui
|
||||
INCLUDEPATH += src/memory
|
||||
INCLUDEPATH += src/memory/roles
|
||||
|
||||
|
||||
DEFINES += WS_VIDEO
|
||||
|
||||
SOURCES += \
|
||||
src/intbasic/IntBasicFile.cxx \
|
||||
src/main.cxx \
|
||||
src/diskfiles/dos33/DiskFile.cxx \
|
||||
src/diskfiles/dos33/Sector.cxx \
|
||||
src/diskfiles/dos33/Vtoc.cxx \
|
||||
src/diskfiles/dos33/CatalogSector.cxx \
|
||||
src/diskfiles/dos33/TrackSectorList.cxx \
|
||||
src/diskfiles/dos33/FileDescriptiveEntry.cxx \
|
||||
src/diskfiles/dos33/GenericFile.cxx \
|
||||
src/memory/AttributedMemory.cxx \
|
||||
src/memory/MemoryCell.cxx \
|
||||
src/memory/MemRole.cxx \
|
||||
src/memory/roles/RoleAsmOpcode.cxx \
|
||||
src/memory/roles/RoleAsmOperand.cxx \
|
||||
src/ui/widgets/StartupDialog.cxx \
|
||||
src/ui/viewers/IntBasicFileViewer.cxx \
|
||||
src/ui/widgets/NotesDialog.cxx \
|
||||
src/util/AppleString.cxx \
|
||||
src/applesoftfile/ApplesoftFile.cxx \
|
||||
src/applesoftfile/ApplesoftToken.cxx \
|
||||
src/applesoftfile/ApplesoftFormatter.cxx \
|
||||
src/binaryfile/Disassembler.cxx \
|
||||
src/binaryfile/BinaryFile.cxx \
|
||||
src/textfile/TextFile.cxx \
|
||||
src/ui/widgets/CatalogWidget.cxx \
|
||||
src/ui/viewers/HiresViewer.cxx \
|
||||
src/ui/viewers/ApplesoftFileViewer.cxx \
|
||||
src/ui/viewers/DisassemblerViewer.cxx \
|
||||
src/ui/viewers/HexDumpViewer.cxx \
|
||||
src/ui/viewers/TextHexDumpViewer.cxx \
|
||||
src/ui/viewers/MazeViewer.cxx \
|
||||
src/ui/viewers/CharSetViewer.cxx \
|
||||
src/relocatablefile/RelocatableFile.cxx \
|
||||
src/binaryfile/BinaryFileMetadata.cxx \
|
||||
src/util/CharSet.cxx \
|
||||
src/ui/widgets/CharacterWidget.cxx \
|
||||
src/ui/viewers/ApplesoftFileDetailViewer.cxx \
|
||||
src/ui/widgets/HexConverter.cxx \
|
||||
src/ui/viewers/ViewerBase.cxx \
|
||||
src/ui/widgets/CharacterSetExplorer.cxx \
|
||||
src/ui/widgets/HiresScreenWidget.cxx \
|
||||
src/ui/widgets/DisassemblerMetadataDialog.cxx \
|
||||
src/binaryfile/EntryPointModel.cxx \
|
||||
src/ui/widgets/LocationInfoDialog.cxx \
|
||||
src/binaryfile/EntryPoints.cxx \
|
||||
src/binaryfile/AssemblerSymbols.cxx \
|
||||
src/binaryfile/AssemblerSymbolModel.cxx \
|
||||
src/ui/diskexplorer/DiskExplorer.cxx \
|
||||
src/ui/diskexplorer/DiskExplorerMapWidget.cxx \
|
||||
src/applesoftfile/ApplesoftRetokenizer.cxx \
|
||||
src/internals/JumpLineManager.cxx \
|
||||
src/ui/widgets/FlowLineTextBrowser.cxx \
|
||||
src/util/OpCodes.cxx
|
||||
|
||||
|
||||
HEADERS += \
|
||||
src/diskfiles/dos33/Diskfile.h \
|
||||
src/diskfiles/dos33/Sector.h \
|
||||
src/diskfiles/dos33/Vtoc.h \
|
||||
src/diskfiles/dos33/CatalogSector.h \
|
||||
src/diskfiles/dos33/TrackSectorList.h \
|
||||
src/diskfiles/dos33/FileDescriptiveEntry.h \
|
||||
src/diskfiles/dos33/GenericFile.h \
|
||||
src/intbasic/IntBasicFile.h \
|
||||
src/memory/AttributedMemory.h \
|
||||
src/memory/MemoryCell.h \
|
||||
src/memory/MemRole.h \
|
||||
src/memory/roles/RoleAsmOpcode.h \
|
||||
src/memory/roles/RoleAsmOperand.h \
|
||||
src/ui/widgets/StartupDialog.h \
|
||||
src/ui/viewers/IntBasicFileViewer.h \
|
||||
src/ui/widgets/NotesDialog.h \
|
||||
src/util/OpCodes.h \
|
||||
src/util/Util.h \
|
||||
src/util/AppleString.h \
|
||||
src/applesoftfile/ApplesoftFile.h \
|
||||
src/applesoftfile/ApplesoftToken.h \
|
||||
src/binaryfile/Disassembler.h \
|
||||
src/binaryfile/BinaryFile.h \
|
||||
src/textfile/TextFile.h \
|
||||
src/ui/widgets/CatalogWidget.h \
|
||||
src/ui/viewers/HiresViewer.h \
|
||||
src/ui/viewers/ApplesoftFileViewer.h \
|
||||
src/applesoftfile/ApplesoftFormatter.h \
|
||||
src/applesoftfile/ApplesoftLine.h \
|
||||
src/ui/viewers/disassemblerviewer.h \
|
||||
src/ui/viewers/HexDumpViewer.h \
|
||||
src/ui/viewers/TextHexDumpViewer.h \
|
||||
src/relocatablefile/RelocatableFile.h \
|
||||
src/ui/viewers/MazeViewer.h \
|
||||
src/binaryfile/BinaryFileMetadata.h \
|
||||
src/ui/widgets/CharacterWidget.h \
|
||||
src/util/CharSet.h \
|
||||
src/ui/viewers/CharSetViewer.h \
|
||||
src/ui/viewers/ApplesoftFileDetailViewer.h \
|
||||
src/ui/widgets/HexConverter.h \
|
||||
src/ui/widgets/HRCGControlsInfo.h \
|
||||
src/ui/viewers/ViewerBase.h \
|
||||
src/ui/viewers/FileViewerInterface.h \
|
||||
src/ui/widgets/CharacterSetExplorer.h \
|
||||
src/ui/widgets/HiresScreenWidget.h \
|
||||
src/ui/widgets/DisassemblerMetadataDialog.h \
|
||||
src/binaryfile/EntryPointModel.h \
|
||||
src/ui/widgets/LocationInfoDialog.h \
|
||||
src/binaryfile/EntryPoints.h \
|
||||
src/binaryfile/AssemblerSymbols.h \
|
||||
src/binaryfile/AssemblerSymbolModel.h \
|
||||
src/binaryfile/MemoryUsageMap.h \
|
||||
src/ui/diskexplorer/DiskExplorer.h \
|
||||
src/ui/diskexplorer/DiskExplorerMapWidget.h \
|
||||
src/applesoftfile/ApplesoftRetokenizer.h \
|
||||
src/util/AppleColors.h \
|
||||
src/internals/JumpLineManager.h \
|
||||
src/ui/widgets/FlowLineTextBrowser.h \
|
||||
src/ui/widgets/AsciiInfoDialog.h
|
||||
|
||||
FORMS += \
|
||||
src/ui/widgets/CatalogWidget.ui \
|
||||
src/ui/widgets/StartupDialog.ui \
|
||||
src/ui/viewers/ApplesoftFileViewer.ui \
|
||||
src/ui/viewers/DisassemblerViewer.ui \
|
||||
src/ui/viewers/HexDumpViewer.ui \
|
||||
src/ui/viewers/IntBasicFileViewer.ui \
|
||||
src/ui/viewers/TextHexDumpViewer.ui \
|
||||
src/ui/viewers/ApplesoftFileDetailViewer.ui \
|
||||
src/ui/widgets/HexConverter.ui \
|
||||
src/ui/widgets/HRCGControlsInfo.ui \
|
||||
src/ui/viewers/ViewerBase.ui \
|
||||
src/ui/widgets/CharacterSetExplorer.ui \
|
||||
src/ui/widgets/DisassemblerMetadataDialog.ui \
|
||||
src/ui/widgets/LocationInfoDialog.ui \
|
||||
src/ui/widgets/AsciiInfoDialog.ui \
|
||||
src/ui/widgets/NotesDialog.ui
|
||||
|
||||
RESOURCES += \
|
||||
src/resource/resources.qrc
|
||||
@@ -1,204 +0,0 @@
|
||||
# AppleSAWS: QMake to CMake Migration Guide
|
||||
|
||||
## Overview
|
||||
This guide documents the conversion of AppleSAWS from QMake (.pro) to CMake build system while maintaining your existing directory structure and build environment.
|
||||
|
||||
## Migration Benefits
|
||||
- **Modern Build System**: CMake is more widely supported and actively developed
|
||||
- **Better IDE Integration**: Enhanced support in VS Code, CLion, Qt Creator, and other IDEs
|
||||
- **Cross-Platform**: More robust cross-platform building
|
||||
- **Dependency Management**: Better integration with package managers (vcpkg, Conan)
|
||||
- **Modern C++ Support**: Better support for C++20 features and modules
|
||||
|
||||
## Files Added/Modified
|
||||
|
||||
### New Files Created:
|
||||
- `CMakeLists.txt` - Main CMake configuration
|
||||
- `CMakePresets.json` - Build presets for different configurations
|
||||
- `build.sh` - Convenience build script
|
||||
- `CMAKE_MIGRATION.md` - This guide
|
||||
|
||||
### Modified Files:
|
||||
- `.gitignore` - Added CMake build directories and files
|
||||
|
||||
### Preserved Files:
|
||||
- `AppleSAWS.pro` - Kept for reference/backup (can be removed later)
|
||||
- All source files and directory structure - unchanged
|
||||
- `.vscode/` configuration - unchanged
|
||||
|
||||
## Build Comparison
|
||||
|
||||
### Old QMake Workflow:
|
||||
```bash
|
||||
qmake6
|
||||
make -j$(nproc)
|
||||
./AppleSAWS
|
||||
```
|
||||
|
||||
### New CMake Workflow:
|
||||
```bash
|
||||
# Using presets (recommended)
|
||||
cmake --preset default
|
||||
cmake --build build --parallel $(nproc)
|
||||
./build/AppleSAWS
|
||||
|
||||
# Or using the convenience script
|
||||
./build.sh
|
||||
```
|
||||
|
||||
### Alternative CMake Workflow:
|
||||
```bash
|
||||
# Manual configuration
|
||||
mkdir build && cd build
|
||||
cmake .. -DCMAKE_BUILD_TYPE=Debug
|
||||
make -j$(nproc)
|
||||
./AppleSAWS
|
||||
```
|
||||
|
||||
## Configuration Equivalents
|
||||
|
||||
| QMake (.pro) | CMake (CMakeLists.txt) | Description |
|
||||
|--------------|------------------------|-------------|
|
||||
| `CONFIG += c++20 debug` | `set(CMAKE_CXX_STANDARD 20)` + Debug preset | C++20 standard |
|
||||
| `QT += core gui widgets printsupport` | `find_package(Qt6 REQUIRED COMPONENTS ...)` | Qt modules |
|
||||
| `INCLUDEPATH += src/...` | `include_directories(...)` | Include paths |
|
||||
| `SOURCES += src/...` | `set(SOURCES ...)` | Source files |
|
||||
| `HEADERS += src/...` | `set(HEADERS ...)` | Header files |
|
||||
| `FORMS += src/...` | `set(UI_FILES ...)` | UI forms |
|
||||
| `RESOURCES += src/...` | `set(QRC_FILES ...)` | Resource files |
|
||||
| `MOC_DIR = ./.build` | `set(CMAKE_AUTOMOC_OUTPUT_DIR ...)` | MOC output |
|
||||
| `DEFINES += WS_VIDEO` | `add_definitions(-DWS_VIDEO)` | Preprocessor defines |
|
||||
|
||||
## Build Directories
|
||||
|
||||
### QMake Structure:
|
||||
```
|
||||
AppleSAWS/
|
||||
├── .build/ # Generated MOC/UI files
|
||||
├── AppleSAWS # Executable in root
|
||||
├── Makefile # Generated makefile
|
||||
└── qrc_resources.cpp # Generated resource file
|
||||
```
|
||||
|
||||
### CMake Structure:
|
||||
```
|
||||
AppleSAWS/
|
||||
├── build/ # Debug build directory
|
||||
│ ├── AppleSAWS # Debug executable
|
||||
│ └── .build/ # Generated MOC/UI files
|
||||
├── build-release/ # Release build directory (when built)
|
||||
│ └── AppleSAWS # Release executable
|
||||
└── CMakeCache.txt # CMake configuration cache
|
||||
```
|
||||
|
||||
## VS Code Integration
|
||||
|
||||
Your existing `.vscode/` configuration should work with CMake. The CMake Tools extension will automatically detect the CMakeLists.txt and provide:
|
||||
- Automatic configuration detection
|
||||
- Build target selection
|
||||
- Debug configuration
|
||||
- IntelliSense integration
|
||||
|
||||
## Build Presets
|
||||
|
||||
The `CMakePresets.json` file provides two presets:
|
||||
|
||||
### Debug Preset (`default`):
|
||||
- Build type: Debug
|
||||
- Output: `build/AppleSAWS`
|
||||
- Generates compile_commands.json for IntelliSense
|
||||
|
||||
### Release Preset:
|
||||
- Build type: Release
|
||||
- Output: `build-release/AppleSAWS`
|
||||
- Optimized executable
|
||||
|
||||
## Testing the Migration
|
||||
|
||||
1. **Backup current setup** (optional):
|
||||
```bash
|
||||
git add -A && git commit -m "Backup before CMake migration"
|
||||
```
|
||||
|
||||
2. **Test CMake build**:
|
||||
```bash
|
||||
./build.sh
|
||||
```
|
||||
|
||||
3. **Compare executables**:
|
||||
```bash
|
||||
# Build with QMake
|
||||
make clean && qmake6 && make -j$(nproc)
|
||||
ls -la AppleSAWS
|
||||
|
||||
# Build with CMake
|
||||
./build.sh
|
||||
ls -la build/AppleSAWS
|
||||
```
|
||||
|
||||
4. **Test functionality**:
|
||||
```bash
|
||||
# Test QMake version
|
||||
./AppleSAWS
|
||||
|
||||
# Test CMake version
|
||||
./build/AppleSAWS
|
||||
```
|
||||
|
||||
## Troubleshooting
|
||||
|
||||
### Common Issues:
|
||||
|
||||
1. **Qt6 not found**:
|
||||
```bash
|
||||
sudo apt update && sudo apt install qt6-base-dev qt6-tools-dev
|
||||
```
|
||||
|
||||
2. **Missing CMake version**:
|
||||
```bash
|
||||
cmake --version # Should be 3.20+
|
||||
sudo apt install cmake # or upgrade if needed
|
||||
```
|
||||
|
||||
3. **Build fails with missing files**:
|
||||
- Check that all source files in `SOURCES` list exist
|
||||
- Verify file extensions match actual files (.cxx vs .cpp)
|
||||
|
||||
4. **MOC/UI generation issues**:
|
||||
- Ensure `CMAKE_AUTOMOC=ON` and `CMAKE_AUTOUIC=ON`
|
||||
- Check that Qt6 components are properly linked
|
||||
|
||||
## Rollback Plan
|
||||
|
||||
If you need to revert to QMake:
|
||||
1. The original `AppleSAWS.pro` file is preserved
|
||||
2. Simply use: `qmake6 && make`
|
||||
3. Remove CMake files: `rm -rf build build-release CMakeCache.txt`
|
||||
|
||||
## Maintenance
|
||||
|
||||
### Adding New Files:
|
||||
1. **Source files**: Add to `SOURCES` list in CMakeLists.txt
|
||||
2. **Headers**: Add to `HEADERS` list (optional, for IDE organization)
|
||||
3. **UI files**: Add to `UI_FILES` list
|
||||
4. **Resources**: Add to `QRC_FILES` list
|
||||
|
||||
### Configuration Changes:
|
||||
- Edit `CMakeLists.txt` for build configuration changes
|
||||
- Edit `CMakePresets.json` for preset modifications
|
||||
- Use `cmake --build build --clean-first` for clean rebuilds
|
||||
|
||||
## Performance Notes
|
||||
|
||||
- CMake builds should be comparable in speed to QMake
|
||||
- Parallel builds: `cmake --build build --parallel $(nproc)`
|
||||
- Incremental builds are typically faster with CMake
|
||||
- First-time configuration may be slower due to dependency detection
|
||||
|
||||
## Next Steps
|
||||
|
||||
Once comfortable with CMake:
|
||||
1. Remove `AppleSAWS.pro` and `Makefile`
|
||||
2. Consider modern CMake features (target-based configuration)
|
||||
3. Explore CMake package management integration
|
||||
4. Set up CI/CD with CMake support
|
||||
@@ -1,32 +1,132 @@
|
||||
#!/bin/bash
|
||||
# CMake build script for AppleSAWS
|
||||
|
||||
echo "=== AppleSAWS CMake Build Script ==="
|
||||
show_usage() {
|
||||
echo "Usage: $0 [target]"
|
||||
echo ""
|
||||
echo "Targets:"
|
||||
echo " debug - Configure and build Debug version (default)"
|
||||
echo " release - Configure and build Release version"
|
||||
echo " both - Build both Debug and Release versions"
|
||||
echo " clean - Clean build directories"
|
||||
echo " help - Show this help message"
|
||||
echo ""
|
||||
echo "Examples:"
|
||||
echo " $0 # Build debug version"
|
||||
echo " $0 debug # Build debug version"
|
||||
echo " $0 release # Build release version"
|
||||
echo " $0 both # Build both versions"
|
||||
echo " $0 clean # Clean build directories"
|
||||
}
|
||||
|
||||
# Clean previous builds
|
||||
echo "Cleaning previous builds..."
|
||||
rm -rf build build-release
|
||||
clean_build() {
|
||||
echo "=== Cleaning build directories ==="
|
||||
if [ -d "build" ] || [ -d "build-release" ]; then
|
||||
echo "Removing build directories..."
|
||||
rm -rf build build-release
|
||||
echo "Build directories cleaned."
|
||||
else
|
||||
echo "No build directories to clean."
|
||||
fi
|
||||
}
|
||||
|
||||
# Configure and build Debug version
|
||||
echo "Configuring Debug build..."
|
||||
cmake --preset default
|
||||
if [ $? -ne 0 ]; then
|
||||
echo "CMake configuration failed!"
|
||||
exit 1
|
||||
build_debug() {
|
||||
echo "=== Building Debug Version ==="
|
||||
echo "Configuring Debug build..."
|
||||
cmake --preset default
|
||||
if [ $? -ne 0 ]; then
|
||||
echo "CMake Debug configuration failed!"
|
||||
return 1
|
||||
fi
|
||||
|
||||
echo "Building Debug version..."
|
||||
cmake --build build --parallel $(nproc)
|
||||
if [ $? -ne 0 ]; then
|
||||
echo "Debug build failed!"
|
||||
return 1
|
||||
fi
|
||||
|
||||
echo "Debug build completed successfully!"
|
||||
echo "Executable: ./build/AppleSAWS"
|
||||
return 0
|
||||
}
|
||||
|
||||
build_release() {
|
||||
echo "=== Building Release Version ==="
|
||||
echo "Configuring Release build..."
|
||||
cmake --preset release
|
||||
if [ $? -ne 0 ]; then
|
||||
echo "CMake Release configuration failed!"
|
||||
return 1
|
||||
fi
|
||||
|
||||
echo "Building Release version..."
|
||||
cmake --build build-release --parallel $(nproc)
|
||||
if [ $? -ne 0 ]; then
|
||||
echo "Release build failed!"
|
||||
return 1
|
||||
fi
|
||||
|
||||
echo "Release build completed successfully!"
|
||||
echo "Executable: ./build-release/AppleSAWS"
|
||||
return 0
|
||||
}
|
||||
|
||||
# Main script logic
|
||||
TARGET=${1:-debug}
|
||||
|
||||
case "$TARGET" in
|
||||
debug)
|
||||
build_debug
|
||||
EXIT_CODE=$?
|
||||
;;
|
||||
release)
|
||||
build_release
|
||||
EXIT_CODE=$?
|
||||
;;
|
||||
both)
|
||||
echo "=== Building Both Debug and Release Versions ==="
|
||||
build_debug
|
||||
DEBUG_RESULT=$?
|
||||
|
||||
build_release
|
||||
RELEASE_RESULT=$?
|
||||
|
||||
if [ $DEBUG_RESULT -eq 0 ] && [ $RELEASE_RESULT -eq 0 ]; then
|
||||
echo "=== Both builds completed successfully! ==="
|
||||
echo "Debug executable: ./build/AppleSAWS"
|
||||
echo "Release executable: ./build-release/AppleSAWS"
|
||||
EXIT_CODE=0
|
||||
else
|
||||
echo "=== One or more builds failed ==="
|
||||
EXIT_CODE=1
|
||||
fi
|
||||
;;
|
||||
clean)
|
||||
clean_build
|
||||
EXIT_CODE=0
|
||||
;;
|
||||
help|--help|-h)
|
||||
show_usage
|
||||
EXIT_CODE=0
|
||||
;;
|
||||
*)
|
||||
echo "Error: Unknown target '$TARGET'"
|
||||
echo ""
|
||||
show_usage
|
||||
EXIT_CODE=1
|
||||
;;
|
||||
esac
|
||||
|
||||
if [ $EXIT_CODE -eq 0 ] && [ "$TARGET" != "clean" ] && [ "$TARGET" != "help" ] && [ "$TARGET" != "--help" ] && [ "$TARGET" != "-h" ]; then
|
||||
echo ""
|
||||
echo "To run the application:"
|
||||
if [ "$TARGET" = "debug" ] || [ "$TARGET" = "both" ]; then
|
||||
echo " cd build && ./AppleSAWS"
|
||||
fi
|
||||
if [ "$TARGET" = "release" ] || [ "$TARGET" = "both" ]; then
|
||||
echo " cd build-release && ./AppleSAWS"
|
||||
fi
|
||||
fi
|
||||
|
||||
echo "Building Debug version..."
|
||||
cmake --build build --parallel $(nproc)
|
||||
if [ $? -ne 0 ]; then
|
||||
echo "Build failed!"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
echo "=== Build completed successfully! ==="
|
||||
echo "Debug executable: ./build/AppleSAWS"
|
||||
echo ""
|
||||
echo "To build Release version, run:"
|
||||
echo "cmake --preset release && cmake --build build-release --parallel $(nproc)"
|
||||
echo ""
|
||||
echo "To run the application:"
|
||||
echo "cd build && ./AppleSAWS"
|
||||
exit $EXIT_CODE
|
||||
Reference in New Issue
Block a user