-
-
Notifications
You must be signed in to change notification settings - Fork 44
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
33 changed files
with
1,430 additions
and
50 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1 @@ | ||
github: itay-grudev |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,34 @@ | ||
name: "Documentation" | ||
|
||
on: | ||
push: | ||
branches: | ||
- 'master' | ||
|
||
jobs: | ||
doxygen: | ||
name: Doxygen | ||
runs-on: ubuntu-22.04 | ||
steps: | ||
- name: Clone repo | ||
uses: actions/checkout@v3 | ||
|
||
- name: Install doxygen and pre-requsites packages | ||
run: | | ||
sudo apt-get update | ||
sudo apt-get install doxygen qtbase5-dev | ||
- name: Generate documentation | ||
run: | | ||
cmake -B build -D SINGLEAPPLICATION_DOCUMENTATION=ON -D DOXYGEN_WARN_AS_ERROR=YES | ||
cmake --build build --target SingleApplicationDocumentation | ||
find build/html/ -name *.html -type f -exec sed -i 's+https://github.com/jothepro/doxygen-awesome-css+https://github.com/itay-grudev/SingleApplication+g' {} \; | ||
- name: Deploy to GitHub pages | ||
uses: crazy-max/ghaction-github-pages@v3 | ||
with: | ||
target_branch: gh-pages | ||
build_dir: build/html | ||
env: | ||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,111 @@ | ||
name: "CI: Build Test" | ||
|
||
on: | ||
push: | ||
branches-ignore: | ||
- "releases/**" | ||
paths-ignore: | ||
- "**.md" | ||
pull_request: | ||
paths-ignore: | ||
- "**.md" | ||
|
||
jobs: | ||
build: | ||
name: Build | ||
strategy: | ||
matrix: | ||
qt_version: | ||
- 5.15.0 | ||
- 6.2.4 | ||
- 6.5.0 | ||
platform: | ||
- ubuntu-20.04 | ||
- windows-latest | ||
- macos-latest | ||
include: | ||
- qt_version: 6.2.4 | ||
additional_arguments: -D QT_DEFAULT_MAJOR_VERSION=6 | ||
- qt_version: 6.5.0 | ||
additional_arguments: -D QT_DEFAULT_MAJOR_VERSION=6 | ||
- platform: ubuntu-20.04 | ||
make: make | ||
CXXFLAGS: -Wall -Wextra -pedantic -Werror | ||
MAKEFLAGS: -j2 | ||
- platform: macos-latest | ||
make: make | ||
CXXFLAGS: -Wall -Wextra -pedantic -Werror | ||
MAKEFLAGS: -j3 | ||
- platform: windows-latest | ||
make: nmake | ||
CXXFLAGS: /W4 /WX /MP | ||
|
||
runs-on: ${{ matrix.platform }} | ||
env: | ||
CXXFLAGS: ${{ matrix.CXXFLAGS }} | ||
MAKEFLAGS: ${{ matrix.MAKEFLAGS }} | ||
|
||
steps: | ||
- name: Clone repo | ||
uses: actions/checkout@v3 | ||
|
||
- name: Install Qt | ||
uses: jurplel/install-qt-action@v3 | ||
with: | ||
version: ${{ matrix.qt_version }} | ||
|
||
- name: Setup MSVC environment for QMake | ||
uses: ilammy/msvc-dev-cmd@v1 | ||
|
||
- name: Build library with CMake | ||
run: | | ||
cmake . ${{ matrix.additional_arguments }} | ||
cmake --build . | ||
- name: Build basic example with CMake | ||
working-directory: examples/basic/ | ||
run: | | ||
cmake . ${{ matrix.additional_arguments }} | ||
cmake --build . | ||
- name: Build calculator example with CMake | ||
working-directory: examples/calculator/ | ||
run: | | ||
cmake . ${{ matrix.additional_arguments }} | ||
cmake --build . | ||
- name: Build sending_arguments example with CMake | ||
working-directory: examples/sending_arguments/ | ||
run: | | ||
cmake . ${{ matrix.additional_arguments }} | ||
cmake --build . | ||
- name: Build windows_raise_widget example with CMake | ||
working-directory: examples/windows_raise_widget/ | ||
run: | | ||
cmake . ${{ matrix.additional_arguments }} | ||
cmake --build . | ||
- name: Build basic example with QMake | ||
working-directory: examples/basic/ | ||
run: | | ||
qmake | ||
${{ matrix.make }} | ||
- name: Build calculator example with QMake | ||
working-directory: examples/calculator/ | ||
run: | | ||
qmake | ||
${{ matrix.make }} | ||
- name: Build sending_arguments example with QMake | ||
working-directory: examples/sending_arguments/ | ||
run: | | ||
qmake | ||
${{ matrix.make }} | ||
- name: Build windows_raise_widget example with QMake | ||
working-directory: examples/windows_raise_widget/ | ||
run: | | ||
qmake | ||
${{ matrix.make }} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,17 @@ | ||
/.idea | ||
/examples/*/*.o | ||
/examples/*/Makefile | ||
/examples/*/moc_*.cpp | ||
/examples/*/moc_predefs.h | ||
/examples/*/*.qmake.stash | ||
/examples/basic/basic | ||
/examples/calculator/calculator | ||
/examples/sending_arguments/sending_arguments | ||
/**/CMakeLists.txt.user | ||
/**/CMakeCache.txt | ||
/**/CMakeCache/* | ||
/**/CMakeFiles/* | ||
/**/Makefile | ||
/**/cmake_install.cmake | ||
/**/*_autogen/ | ||
libSingleApplication.a |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,83 @@ | ||
cmake_minimum_required(VERSION 3.12.0) | ||
|
||
project(SingleApplication LANGUAGES CXX DESCRIPTION "Replacement for QtSingleApplication") | ||
|
||
set(CMAKE_AUTOMOC ON) | ||
|
||
add_library(${PROJECT_NAME} STATIC | ||
singleapplication.cpp | ||
singleapplication_p.cpp | ||
) | ||
add_library(${PROJECT_NAME}::${PROJECT_NAME} ALIAS ${PROJECT_NAME}) | ||
|
||
if(NOT QT_DEFAULT_MAJOR_VERSION) | ||
set(QT_DEFAULT_MAJOR_VERSION 5 CACHE STRING "Qt version to use (5 or 6), defaults to 5") | ||
endif() | ||
|
||
# Find dependencies | ||
set(QT_COMPONENTS Core Network) | ||
set(QT_LIBRARIES Qt${QT_DEFAULT_MAJOR_VERSION}::Core Qt${QT_DEFAULT_MAJOR_VERSION}::Network) | ||
|
||
if(QAPPLICATION_CLASS STREQUAL QApplication) | ||
list(APPEND QT_COMPONENTS Widgets) | ||
list(APPEND QT_LIBRARIES Qt${QT_DEFAULT_MAJOR_VERSION}::Widgets) | ||
elseif(QAPPLICATION_CLASS STREQUAL QGuiApplication) | ||
list(APPEND QT_COMPONENTS Gui) | ||
list(APPEND QT_LIBRARIES Qt${QT_DEFAULT_MAJOR_VERSION}::Gui) | ||
else() | ||
set(QAPPLICATION_CLASS QCoreApplication) | ||
endif() | ||
|
||
find_package(Qt${QT_DEFAULT_MAJOR_VERSION} COMPONENTS ${QT_COMPONENTS} REQUIRED) | ||
|
||
option(SINGLEAPPLICATION_DOCUMENTATION "Generate Doxygen documentation" OFF) | ||
if(SINGLEAPPLICATION_DOCUMENTATION) | ||
find_package(Doxygen) | ||
endif() | ||
|
||
target_link_libraries(${PROJECT_NAME} PUBLIC ${QT_LIBRARIES}) | ||
|
||
if(WIN32) | ||
target_link_libraries(${PROJECT_NAME} PRIVATE advapi32) | ||
endif() | ||
|
||
target_compile_definitions(${PROJECT_NAME} PUBLIC QAPPLICATION_CLASS=${QAPPLICATION_CLASS}) | ||
target_include_directories(${PROJECT_NAME} PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}) | ||
target_compile_definitions(${PROJECT_NAME} PRIVATE | ||
QT_NO_CAST_TO_ASCII | ||
QT_NO_CAST_FROM_ASCII | ||
QT_NO_URL_CAST_FROM_STRING | ||
QT_NO_CAST_FROM_BYTEARRAY | ||
QT_USE_QSTRINGBUILDER | ||
QT_NO_NARROWING_CONVERSIONS_IN_CONNECT | ||
QT_NO_KEYWORDS | ||
QT_NO_FOREACH | ||
) | ||
|
||
if(DOXYGEN_FOUND) | ||
# Doxygen theme | ||
include(FetchContent) | ||
FetchContent_Declare(DoxygenAwesome | ||
GIT_REPOSITORY https://github.com/jothepro/doxygen-awesome-css | ||
GIT_TAG 4cd62308d825fe0396d2f66ffbab45d0e247724c # 2.0.3 | ||
) | ||
FetchContent_MakeAvailable(DoxygenAwesome) | ||
FetchContent_GetProperties(DoxygenAwesome SOURCE_DIR DoxygenAwesome_SOURCE_DIR) | ||
|
||
set(DOXYGEN_USE_MDFILE_AS_MAINPAGE README.md) | ||
set(DOXYGEN_GENERATE_TREEVIEW YES) | ||
set(DOXYGEN_HTML_HEADER ${DoxygenAwesome_SOURCE_DIR}/doxygen-custom/header.html) | ||
set(DOXYGEN_HTML_EXTRA_STYLESHEET ${DoxygenAwesome_SOURCE_DIR}/doxygen-awesome.css) | ||
set(DOXYGEN_HTML_EXTRA_FILES | ||
${DoxygenAwesome_SOURCE_DIR}/doxygen-awesome-fragment-copy-button.js | ||
${DoxygenAwesome_SOURCE_DIR}/doxygen-awesome-paragraph-link.js | ||
${DoxygenAwesome_SOURCE_DIR}/doxygen-awesome-darkmode-toggle.js | ||
) | ||
|
||
doxygen_add_docs(${PROJECT_NAME}Documentation | ||
singleapplication.h | ||
CHANGELOG.md | ||
Windows.md | ||
README.md | ||
) | ||
endif() |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1 @@ | ||
#include "singleapplication.h" |
Oops, something went wrong.