diff --git a/.github/ISSUE_TEMPLATE/00-olive_unsupported.md b/.github/ISSUE_TEMPLATE/00-olive_unsupported.md index 88e715ff8..2fd86f774 100644 --- a/.github/ISSUE_TEMPLATE/00-olive_unsupported.md +++ b/.github/ISSUE_TEMPLATE/00-olive_unsupported.md @@ -1,11 +1,14 @@ --- name: Legacy Olive 0.1.x issue ⛔ -about: Olive 0.1 is no longer supported and issues made about it will be automatically closed. -title: "[UNSUPPORTED]" -labels: "Legacy (Unsupported)" +about: >- + Olive 0.1 is no longer supported and issues made about it will be + automatically closed. +title: '[UNSUPPORTED] ' +labels: 'Legacy (Unsupported)' assignees: '' --- # Olive 0.1 is unsupported -Unfortunately no one is supporting Olive 0.1 at this time. Any reports pertaining to it will be -closed to keep the issue tracker focused on supported versions. +Unfortunately no one is supporting Olive 0.1 at this time. Any reports +pertaining to it will be closed to keep the issue tracker focused on supported +versions. diff --git a/.github/ISSUE_TEMPLATE/01-crash_issue.md b/.github/ISSUE_TEMPLATE/01-crash_issue.md index 87e916dee..24f1d03ec 100644 --- a/.github/ISSUE_TEMPLATE/01-crash_issue.md +++ b/.github/ISSUE_TEMPLATE/01-crash_issue.md @@ -1,8 +1,8 @@ --- name: Crash about: Report a fatal crash that resulted in Olive unexpectedly closing. -title: "[CRASH]" -labels: "Crash, Triage" +title: '[CRASH] ' +labels: 'Crash, Triage' assignees: '' --- **Commit Hash** diff --git a/.github/ISSUE_TEMPLATE/50-build_issue.md b/.github/ISSUE_TEMPLATE/50-build_issue.md index 155c7c750..556e4cabe 100644 --- a/.github/ISSUE_TEMPLATE/50-build_issue.md +++ b/.github/ISSUE_TEMPLATE/50-build_issue.md @@ -1,8 +1,11 @@ --- name: Build/Packaging -about: Report an issue related to compiling or packaging (including continuous integration). Note that we do not officially support custom build configurations and may choose not to address issues involving them. -title: "[BUILD]" -labels: "Building/Packaging, Triage" +about: >- + Report an issue related to compiling or packaging (including continuous + integration). Note that we do not officially support custom build + configurations and may not address issues involving them. +title: '[BUILD] ' +labels: 'Building/Packaging, Triage' assignees: '' --- **Commit Hash** diff --git a/.github/ISSUE_TEMPLATE/50-cache_issue.md b/.github/ISSUE_TEMPLATE/50-cache_issue.md index f346d8245..aa67eb877 100644 --- a/.github/ISSUE_TEMPLATE/50-cache_issue.md +++ b/.github/ISSUE_TEMPLATE/50-cache_issue.md @@ -1,8 +1,11 @@ --- name: Disk Cache -about: Report an issue related to the disk cache system, including failure to cache, frames being set to appear at the wrong time, disk space or memory usage issues, etc. -title: "[CACHE]" -labels: "Disk Cache, Triage" +about: >- + Report an issue related to the disk cache system, including failure to cache, + frames being set to appear at the wrong time, disk space or memory usage + issues, etc. +title: '[CACHE] ' +labels: 'Disk Cache, Triage' assignees: '' --- **Commit Hash** diff --git a/.github/ISSUE_TEMPLATE/50-codec_issue.md b/.github/ISSUE_TEMPLATE/50-codec_issue.md index 09fc991ac..c0a94eef6 100644 --- a/.github/ISSUE_TEMPLATE/50-codec_issue.md +++ b/.github/ISSUE_TEMPLATE/50-codec_issue.md @@ -1,8 +1,10 @@ --- name: Codec -about: Report an issue related to codec handling, including importing footage or any footage usage issues while editing. -title: "[CODEC]" -labels: "Codec, Triage" +about: >- + Report an issue related to codec handling, including importing footage or any + footage usage issues while editing. +title: '[CODEC] ' +labels: 'Codec, Triage' assignees: '' --- **Commit Hash** diff --git a/.github/ISSUE_TEMPLATE/50-color_issue.md b/.github/ISSUE_TEMPLATE/50-color_issue.md index 99e4c803c..7fb55c049 100644 --- a/.github/ISSUE_TEMPLATE/50-color_issue.md +++ b/.github/ISSUE_TEMPLATE/50-color_issue.md @@ -1,8 +1,10 @@ --- name: Color Management -about: Report an issue related to the management of pixels and color, including inaccurate results, color inconsistencies, etc. -title: "[COLOR]" -labels: "Color Management, Triage" +about: >- + Report an issue related to the management of pixels and color, including + inaccurate results, color inconsistencies, etc. +title: '[COLOR] ' +labels: 'Color Management, Triage' assignees: '' --- **Commit Hash** diff --git a/.github/ISSUE_TEMPLATE/50-editing_issue.md b/.github/ISSUE_TEMPLATE/50-editing_issue.md index 88d2f16c1..08d8cb93f 100644 --- a/.github/ISSUE_TEMPLATE/50-editing_issue.md +++ b/.github/ISSUE_TEMPLATE/50-editing_issue.md @@ -1,8 +1,10 @@ --- name: Timeline/Editing -about: Report an issue related to the overall editing experience, including usage of the timeline, interchange, synchronization, multi-camera support, etc. -title: "[EDIT]" -labels: "Timeline/Editing, Triage" +about: >- + Report an issue related to the overall editing experience, including usage of + the timeline, interchange, synchronization, multi-camera support, etc. +title: '[EDIT] ' +labels: 'Timeline/Editing, Triage' assignees: '' --- **Commit Hash** diff --git a/.github/ISSUE_TEMPLATE/50-export_issue.md b/.github/ISSUE_TEMPLATE/50-export_issue.md index 4e6e1f3a2..9f7544115 100644 --- a/.github/ISSUE_TEMPLATE/50-export_issue.md +++ b/.github/ISSUE_TEMPLATE/50-export_issue.md @@ -1,8 +1,10 @@ --- name: Export -about: Report an issue related to exporting videos from Olive, including errors while exporting, issues with the resulting video, etc. -title: "[EXPORT]" -labels: "Export, Triage" +about: >- + Report an issue related to exporting videos from Olive, including errors + while exporting, issues with the resulting video, etc. +title: '[EXPORT] ' +labels: 'Export, Triage' assignees: '' --- **Commit Hash** diff --git a/.github/ISSUE_TEMPLATE/50-node_issue.md b/.github/ISSUE_TEMPLATE/50-node_issue.md index ec31c8989..3d60610aa 100644 --- a/.github/ISSUE_TEMPLATE/50-node_issue.md +++ b/.github/ISSUE_TEMPLATE/50-node_issue.md @@ -1,8 +1,10 @@ --- name: Node/Compositing -about: Report an issue related to the node-based compositing system, including node graph usability issues, issues working with node effects, issues with composited output, etc. -title: "[NODES]" -labels: "Nodes/Compositing, Triage" +about: >- + Report an issue related to the node-based compositing system, including node graph + usability issues, issues working with node effects, issues with composited output, etc. +title: '[NODES] ' +labels: 'Nodes/Compositing, Triage' assignees: '' --- **Commit Hash** diff --git a/.github/ISSUE_TEMPLATE/50-playback_issue.md b/.github/ISSUE_TEMPLATE/50-playback_issue.md index 32a3cc13b..14aa90f62 100644 --- a/.github/ISSUE_TEMPLATE/50-playback_issue.md +++ b/.github/ISSUE_TEMPLATE/50-playback_issue.md @@ -1,8 +1,10 @@ --- name: Playback -about: Report an issue related to the playback of video or audio, including laggy or inconsistent playback, failure to playback, etc. -title: "[PLAYBACK]" -labels: "Playback, Triage" +about: >- + Report an issue related to the playback of video or audio, including laggy or + inconsistent playback, failure to playback, etc. +title: '[PLAYBACK] ' +labels: 'Playback, Triage' assignees: '' --- **Commit Hash** diff --git a/.github/ISSUE_TEMPLATE/50-project_issue.md b/.github/ISSUE_TEMPLATE/50-project_issue.md index ff9175354..1cf79b649 100644 --- a/.github/ISSUE_TEMPLATE/50-project_issue.md +++ b/.github/ISSUE_TEMPLATE/50-project_issue.md @@ -1,8 +1,10 @@ --- name: Project Management -about: Report an issue related to project management, including working with and organizing imported files. -title: "[PROJECT]" -labels: "Project, Triage" +about: >- + Report an issue related to project management, including working with and + organizing imported files. +title: '[PROJECT] ' +labels: 'Project, Triage' assignees: '' --- **Commit Hash** diff --git a/.github/ISSUE_TEMPLATE/50-renderer_issue.md b/.github/ISSUE_TEMPLATE/50-renderer_issue.md index e77316402..4f6ffd0da 100644 --- a/.github/ISSUE_TEMPLATE/50-renderer_issue.md +++ b/.github/ISSUE_TEMPLATE/50-renderer_issue.md @@ -1,8 +1,10 @@ --- name: Renderer -about: Report an issue related to rendering, including corrupted frames, incorrect render results, unexpected black or white frames, etc. -title: "[RENDER]" -labels: "Renderer, Triage" +about: >- + Report an issue related to rendering, including corrupted frames, incorrect + render results, unexpected black or white frames, etc. +title: '[RENDER] ' +labels: 'Renderer, Triage' assignees: '' --- **Commit Hash** diff --git a/.github/ISSUE_TEMPLATE/50-ui_issue.md b/.github/ISSUE_TEMPLATE/50-ui_issue.md index f746024de..251a65b1e 100644 --- a/.github/ISSUE_TEMPLATE/50-ui_issue.md +++ b/.github/ISSUE_TEMPLATE/50-ui_issue.md @@ -1,8 +1,10 @@ --- name: User Interface -about: Report an issue related to general user interface usability, including behavior issues, usability issues, look and feel, etc. -title: "[UI]" -labels: "User Interface, Triage" +about: >- + Report an issue related to general user interface usability, including + behavior issues, usability issues, look and feel, etc. +title: '[UI] ' +labels: 'User Interface, Triage' assignees: '' --- **Commit Hash** diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 8d3e873c1..9a1f1f0ee 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -4,6 +4,12 @@ on: push: branches: - master + paths-ignore: + - '.github/ISSUE_TEMPLATE/**' + - '.github/FUNDING.yml' + - 'docker/**' + - 'CONTRIBUTING.md' + - 'README.md' env: DOWNLOAD_TOOL: curl -fLOSs --retry 3 @@ -105,7 +111,7 @@ jobs: -F hash="$GITHUB_SHA" \ -F time="$(git show -s --format=%ct)" \ -F comment="$(git show -s --format=%B)" \ - https://olivevideoeditor.org/dl/push.php + https://ci.olivevideoeditor.org/push.php windows: strategy: @@ -155,31 +161,31 @@ jobs: - name: Acquire FFmpeg shell: bash run: | - $DOWNLOAD_TOOL http://olivevideoeditor.org/deps/ffmpeg-win.7z + $DOWNLOAD_TOOL https://olivevideoeditor.org/deps/ffmpeg-win.7z $EXTRACT_TOOL ffmpeg-win.7z - name: Acquire OpenColorIO shell: bash run: | - $DOWNLOAD_TOOL http://olivevideoeditor.org/deps/ocio-win.7z + $DOWNLOAD_TOOL https://olivevideoeditor.org/deps/ocio-win.7z $EXTRACT_TOOL ocio-win.7z - name: Acquire OpenEXR shell: bash run: | - $DOWNLOAD_TOOL http://olivevideoeditor.org/deps/openexr-win.7z + $DOWNLOAD_TOOL https://olivevideoeditor.org/deps/openexr-win.7z $EXTRACT_TOOL openexr-win.7z - name: Acquire OpenImageIO shell: bash run: | - $DOWNLOAD_TOOL http://olivevideoeditor.org/deps/oiio-win.7z + $DOWNLOAD_TOOL https://olivevideoeditor.org/deps/oiio-win.7z $EXTRACT_TOOL oiio-win.7z - name: Acquire Crashpad shell: bash run: | - $DOWNLOAD_TOOL http://olivevideoeditor.org/deps/crashpad-win.7z + $DOWNLOAD_TOOL https://olivevideoeditor.org/deps/crashpad-win.7z $EXTRACT_TOOL crashpad-win.7z - name: Configure CMake @@ -254,7 +260,7 @@ jobs: -F hash="$GITHUB_SHA" \ -F time="$(git -C $GITHUB_WORKSPACE show -s --format=%ct)" \ -F comment="$(git -C $GITHUB_WORKSPACE show -s --format=%B)" \ - https://olivevideoeditor.org/dl/push.php + https://ci.olivevideoeditor.org/push.php curl -X POST \ -F file=@$PKGNAME.zip \ @@ -262,7 +268,7 @@ jobs: -F hash="$GITHUB_SHA" \ -F time="$(git -C $GITHUB_WORKSPACE show -s --format=%ct)" \ -F comment="$(git -C $GITHUB_WORKSPACE show -s --format=%B)" \ - https://olivevideoeditor.org/dl/push.php + https://ci.olivevideoeditor.org/push.php - name: Export Crashpad Symbols and Upload To Server working-directory: ${{ runner.workspace }}/build @@ -322,31 +328,31 @@ jobs: - name: Acquire FFmpeg shell: bash run: | - $DOWNLOAD_TOOL http://olivevideoeditor.org/deps/ffmpeg-mac.zip + $DOWNLOAD_TOOL https://olivevideoeditor.org/deps/ffmpeg-mac.zip $EXTRACT_TOOL ffmpeg-mac.zip - name: Acquire OpenColorIO shell: bash run: | - $DOWNLOAD_TOOL http://olivevideoeditor.org/deps/ocio-mac.zip + $DOWNLOAD_TOOL https://olivevideoeditor.org/deps/ocio-mac.zip $EXTRACT_TOOL ocio-mac.zip - name: Acquire OpenEXR shell: bash run: | - $DOWNLOAD_TOOL http://olivevideoeditor.org/deps/openexr-mac.zip + $DOWNLOAD_TOOL https://olivevideoeditor.org/deps/openexr-mac.zip $EXTRACT_TOOL openexr-mac.zip - name: Acquire OpenImageIO shell: bash run: | - $DOWNLOAD_TOOL http://olivevideoeditor.org/deps/oiio-mac.zip + $DOWNLOAD_TOOL https://olivevideoeditor.org/deps/oiio-mac.zip $EXTRACT_TOOL oiio-mac.zip - name: Acquire Crashpad shell: bash run: | - $DOWNLOAD_TOOL http://olivevideoeditor.org/deps/crashpad-mac.zip + $DOWNLOAD_TOOL https://olivevideoeditor.org/deps/crashpad-mac.zip $EXTRACT_TOOL crashpad-mac.zip - name: Configure CMake @@ -407,4 +413,4 @@ jobs: -F hash="$GITHUB_SHA" \ -F time="$(git -C $GITHUB_WORKSPACE show -s --format=%ct)" \ -F comment="$(git -C $GITHUB_WORKSPACE show -s --format=%B)" \ - https://olivevideoeditor.org/dl/push.php + https://ci.olivevideoeditor.org/push.php diff --git a/CMakeLists.txt b/CMakeLists.txt index c37dc260f..2b1f3471a 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -84,20 +84,12 @@ endif() if(EXISTS "${CMAKE_SOURCE_DIR}/.git") find_package(Git) if(GIT_FOUND) - execute_process(COMMAND ${GIT_EXECUTABLE} log -1 --format=%h + execute_process(COMMAND ${GIT_EXECUTABLE} rev-parse --short=8 HEAD WORKING_DIRECTORY ${CMAKE_SOURCE_DIR} OUTPUT_VARIABLE GIT_HASH OUTPUT_STRIP_TRAILING_WHITESPACE ) endif() -elseif(UNIX AND NOT APPLE AND NOT ${CMAKE_SYSTEM_NAME} MATCHES "OpenBSD") - # Fallback for Ubuntu/Launchpad (extracts Git hash from debian/changelog rather than Git repo) - # (see https://answers.launchpad.net/launchpad/+question/678556) - execute_process(COMMAND sh -c "grep -Po '(?<=-)(([a-z0-9])\\w+)(?=\\+)' -m 1 changelog" - WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}/debian - OUTPUT_VARIABLE GIT_HASH - OUTPUT_STRIP_TRAILING_WHITESPACE - ) endif() if(DEFINED GIT_HASH) message("Olive: Git hash = " "${GIT_HASH}") diff --git a/app/common/crashpadinterface.cpp b/app/common/crashpadinterface.cpp index 393cba4c6..c65db16d0 100644 --- a/app/common/crashpadinterface.cpp +++ b/app/common/crashpadinterface.cpp @@ -71,49 +71,62 @@ bool LinuxExceptionHandler(int, siginfo_t*, ucontext_t*) bool InitializeCrashpad() { - QString exe_dir = QCoreApplication::applicationDirPath(); + QString handler_fn; + // Determine filename of handler from platform #ifdef OS_WIN - base::FilePath handler(QSTRING_TO_BASE_STRING(QDir(exe_dir).filePath(QStringLiteral("crashpad_handler.exe")))); + handler_fn = QStringLiteral("crashpad_handler.exe"); #else - // FIXME: On Linux, probably should put this in a subdir so that it doesn't conflict with - // anything else in /usr/bin - base::FilePath handler(QSTRING_TO_BASE_STRING(QDir(exe_dir).filePath(QStringLiteral("crashpad_handler")))); + handler_fn = QStringLiteral("crashpad_handler"); #endif - base::FilePath reports_dir = GenerateReportPathForCrashpad(); + // Generate absolute path + QString handler_abs_path = QDir(QCoreApplication::applicationDirPath()).filePath(handler_fn); - base::FilePath metrics_dir(QSTRING_TO_BASE_STRING(QDir(OLIVE_NAMESPACE::FileFunctions::GetTempFilePath()).filePath(QStringLiteral("metrics")))); + bool status = false; - // Metadata that will be posted to the server with the crash report map - std::map annotations; + if (QFileInfo::exists(handler_abs_path)) { + base::FilePath handler(QSTRING_TO_BASE_STRING(handler_fn)); - // Disable crashpad rate limiting so that all crashes have dmp files - std::vector arguments; - arguments.push_back("--no-rate-limit"); - arguments.push_back("--no-upload-gzip"); + base::FilePath reports_dir = GenerateReportPathForCrashpad(); - // Initialize Crashpad database - std::unique_ptr database = crashpad::CrashReportDatabase::Initialize(reports_dir); - if (database == NULL) return false; + base::FilePath metrics_dir(QSTRING_TO_BASE_STRING(QDir(OLIVE_NAMESPACE::FileFunctions::GetTempFilePath()).filePath(QStringLiteral("metrics")))); - // Disable automated crash uploads - crashpad::Settings *settings = database->GetSettings(); - if (settings == NULL) return false; - settings->SetUploadsEnabled(false); + // Metadata that will be posted to the server with the crash report map + std::map annotations; + + // Disable crashpad rate limiting so that all crashes have dmp files + std::vector arguments; + arguments.push_back("--no-rate-limit"); + arguments.push_back("--no-upload-gzip"); + + // Initialize Crashpad database + std::unique_ptr database = crashpad::CrashReportDatabase::Initialize(reports_dir); + if (database == NULL) return false; + + // Disable automated crash uploads + crashpad::Settings *settings = database->GetSettings(); + if (settings == NULL) return false; + settings->SetUploadsEnabled(false); + + // Start crash handler + client = new crashpad::CrashpadClient(); + status = client->StartHandler(handler, reports_dir, metrics_dir, + "https://olivevideoeditor.org/crashpad/report.php", + annotations, arguments, true, true); + } - // Start crash handler - client = new crashpad::CrashpadClient(); - bool status = client->StartHandler(handler, reports_dir, metrics_dir, - "https://olivevideoeditor.org/crashpad/report.php", - annotations, arguments, true, true); // Override Crashpad exception filter with our own + if (status) { #if defined(OS_WIN) - SetUnhandledExceptionFilter(Win32ExceptionHandler); + SetUnhandledExceptionFilter(Win32ExceptionHandler); #elif defined(OS_LINUX) - crashpad::CrashpadClient::SetFirstChanceExceptionHandler(LinuxExceptionHandler); + crashpad::CrashpadClient::SetFirstChanceExceptionHandler(LinuxExceptionHandler); #endif + } else { + qWarning() << "Failed to start Crashpad, automatic crash reporting will be disabled"; + } return status; } diff --git a/app/core.cpp b/app/core.cpp index 05b636db9..1d0e42696 100644 --- a/app/core.cpp +++ b/app/core.cpp @@ -29,6 +29,9 @@ #include #include #include +#ifdef Q_OS_WINDOWS +#include +#endif #include "audio/audiomanager.h" #include "cli/clitask/clitaskdialog.h" @@ -374,18 +377,30 @@ void Core::DialogProjectPropertiesShow() void Core::DialogExportShow() { - TimeBasedPanel* latest_time_based = PanelManager::instance()->MostRecentlyFocused(); + // First try the most recently focused time based window + TimeBasedPanel* time_panel = PanelManager::instance()->MostRecentlyFocused(); - if (latest_time_based && latest_time_based->GetConnectedViewer()) { - if (latest_time_based->GetConnectedViewer()->GetLength() == 0) { + // If that fails try defaulting to the first timeline (i.e. if a project has just been loaded). + if (!time_panel->GetConnectedViewer()) { + // Safe to assume there will always be one timeline. + time_panel = PanelManager::instance()->GetPanelsOfType().first(); + } + + if (time_panel && time_panel->GetConnectedViewer()) { + if (time_panel->GetConnectedViewer()->GetLength() == 0) { QMessageBox::critical(main_window_, tr("Error"), tr("This Sequence is empty. There is nothing to export."), QMessageBox::Ok); } else { - ExportDialog ed(latest_time_based->GetConnectedViewer(), main_window_); + ExportDialog ed(time_panel->GetConnectedViewer(), main_window_); ed.exec(); } + } else { + QMessageBox::critical(main_window_, + tr("Error"), + tr("No valid sequence detected.\n\nMake sure a sequence is loaded and it has a connected Viewer node."), + QMessageBox::Ok); } } @@ -674,12 +689,19 @@ void Core::StartGUI(bool full_screen) // Create main window and open it main_window_ = new MainWindow(); + if (full_screen) { main_window_->showFullScreen(); } else { main_window_->showMaximized(); } +#ifdef Q_OS_WINDOWS + // Workaround for Qt bug where menus don't appear in full screen mode + // See: https://doc.qt.io/qt-5/windows-issues.html + QWindowsWindowFunctions::setHasBorderInFullScreen(main_window_->windowHandle(), true); +#endif + // When a new project is opened, update the mainwindow connect(this, &Core::ProjectOpened, main_window_, &MainWindow::ProjectOpen); connect(this, &Core::ProjectClosed, main_window_, &MainWindow::ProjectClose); diff --git a/cmake/FindGoogleCrashpad.cmake b/cmake/FindGoogleCrashpad.cmake index 2e6677549..8feca7930 100644 --- a/cmake/FindGoogleCrashpad.cmake +++ b/cmake/FindGoogleCrashpad.cmake @@ -66,7 +66,8 @@ set (_crashpad_components client util third_party/mini_chromium/mini_chromium/base - compat) + compat +) foreach (COMPONENT ${_crashpad_components}) get_filename_component(SHORT_COMPONENT ${COMPONENT} NAME) string(TOUPPER ${SHORT_COMPONENT} UPPER_COMPONENT) @@ -80,13 +81,6 @@ foreach (COMPONENT ${_crashpad_components}) list(APPEND CRASHPAD_LIBRARIES ${CRASHPAD_${UPPER_COMPONENT}_LIB}) endforeach() -if (UNIX AND NOT APPLE) - list(APPEND CRASHPAD_LIBRARIES - ${CMAKE_DL_LIBS} # Crashpad compat lib needs libdl.so (-ldl) - Threads::Threads # Link against libpthread.so (-lpthread) - ) -endif() - # Find Breakpad's minidump_stackwalk find_path(BREAKPAD_BIN_DIR "minidump_stackwalk${CMAKE_EXECUTABLE_SUFFIX}" @@ -100,7 +94,17 @@ PATH_SUFFIXES find_package_handle_standard_args(GoogleCrashpad REQUIRED_VARS - CRASHPAD_LIBRARIES - CRASHPAD_INCLUDE_DIRS + CRASHPAD_CLIENT_LIB + CRASHPAD_UTIL_LIB + CRASHPAD_BASE_LIB BREAKPAD_BIN_DIR + CRASHPAD_CLIENT_INCLUDE_DIR + CRASHPAD_BASE_INCLUDE_DIR ) + +if (UNIX AND NOT APPLE) + list(APPEND CRASHPAD_LIBRARIES + ${CMAKE_DL_LIBS} # Crashpad compat lib needs libdl.so (-ldl) + Threads::Threads # Link against libpthread.so (-lpthread) + ) +endif() diff --git a/release.txt b/release.txt deleted file mode 100644 index b551f4c07..000000000 --- a/release.txt +++ /dev/null @@ -1 +0,0 @@ -NOTE: This build is by no means stable or intended for serious use. It's a complete rewrite of the entire program and only here to simplify testing of what has been implemented. For any serious work, stick to the 0.1.x releases below.