98 lines
2.0 KiB
Bash
Executable File
98 lines
2.0 KiB
Bash
Executable File
#!/bin/bash
|
|
set -e
|
|
|
|
# Colors for output
|
|
GREEN='\033[0;32m'
|
|
RED='\033[0;31m'
|
|
YELLOW='\033[1;33m'
|
|
NC='\033[0m' # No Color
|
|
|
|
# Print colored message
|
|
print_message() {
|
|
echo -e "${GREEN}[build.sh]${NC} $1"
|
|
}
|
|
|
|
print_error() {
|
|
echo -e "${RED}[build.sh]${NC} $1"
|
|
}
|
|
|
|
print_warning() {
|
|
echo -e "${YELLOW}[build.sh]${NC} $1"
|
|
}
|
|
|
|
# Check for required dependencies
|
|
check_dependencies() {
|
|
print_message "Checking dependencies..."
|
|
|
|
# Check for CMake
|
|
if ! command -v cmake &> /dev/null; then
|
|
print_error "CMake is not installed. Please install it using your package manager."
|
|
exit 1
|
|
fi
|
|
|
|
# Check for Qt6
|
|
if ! pkg-config --exists Qt6Core Qt6Widgets Qt6Sql; then
|
|
print_warning "Qt6 development packages might not be installed."
|
|
print_warning "If build fails, install Qt6 development packages using your package manager."
|
|
fi
|
|
}
|
|
|
|
# Create build directory
|
|
create_build_dir() {
|
|
print_message "Creating build directory..."
|
|
|
|
if [ ! -d "build" ]; then
|
|
mkdir -p build
|
|
fi
|
|
}
|
|
|
|
# Configure the project
|
|
configure_project() {
|
|
print_message "Configuring project with CMake..."
|
|
|
|
cd build
|
|
cmake ..
|
|
cd ..
|
|
}
|
|
|
|
# Build the project
|
|
build_project() {
|
|
print_message "Building project..."
|
|
|
|
cd build
|
|
make -j$(nproc)
|
|
cd ..
|
|
}
|
|
|
|
# Run the application
|
|
run_application() {
|
|
print_message "Running application..."
|
|
|
|
# Check if the application exists
|
|
if [ -f "build/screenshot-gallery" ]; then
|
|
./build/screenshot-gallery
|
|
else
|
|
print_error "Application not found. Build might have failed."
|
|
exit 1
|
|
fi
|
|
}
|
|
|
|
# -------- Main script execution --------
|
|
print_message "Starting build process for Screenshot Gallery..."
|
|
|
|
check_dependencies
|
|
create_build_dir
|
|
configure_project
|
|
build_project
|
|
|
|
print_message "Build completed successfully!"
|
|
|
|
# Ask user if they want to run the application
|
|
read -p "Do you want to run the application now? (y/n): " -n 1 -r
|
|
echo
|
|
if [[ $REPLY =~ ^[Yy]$ ]]; then
|
|
run_application
|
|
else
|
|
print_message "You can run the application later using: ./build/screenshot-gallery"
|
|
fi
|