Compare commits

...

17 Commits

Author SHA1 Message Date
Martchus 0ad32a051f Add PianoBooster to sync script 2024-02-05 23:47:41 +01:00
Martchus c2b6d7454e Fix setting location of `reflective-rapidjson` to build `tageditor` 2023-09-03 21:38:41 +02:00
Martchus 1d3d5f2dcc Support `CONFIGURATION_PACKAGE_SUFFIX` in `auto-makepkg` 2023-09-03 21:37:58 +02:00
Martchus 31844f8bce Push local changes in sync script 2023-07-23 21:43:06 +02:00
Martchus bf73f3da9f Avoid deprecation warning by bumping CMake version 2023-07-23 21:43:06 +02:00
Martchus c59dc16751 Add subdirs project for PianoBooster 2023-07-23 21:42:52 +02:00
Martchus 57e67f7e52 Configure fallback remote via sync-all.sh 2023-06-11 01:03:46 +02:00
Martchus 6c2fd5c629 Add arch-repo-manager to sync script 2023-06-10 23:40:51 +02:00
Martchus 3a51434528 Clone repos with symlinks enabled 2023-06-09 18:01:09 +02:00
Martchus 22286b8d46 Add script to sync all repositories 2023-06-09 17:44:25 +02:00
Martchus 6be974109d Make passwordmanager work when a suffix is used 2023-03-29 22:09:25 +02:00
Martchus c61caabf1e Add symlinks to use `CMakePresets.json` from `c++utilities` 2022-10-30 21:51:26 +01:00
Martchus 75c92ba376 Add passwordfile to auto-makepkg build 2022-10-30 21:49:07 +01:00
Martchus 54b55c9b31 Allow building password manager with KDE deps against Qt 6
It builds but doesn't run yet as Kirigami isn't ready.
2022-07-10 16:59:57 +02:00
Martchus 028154f5c8 Add project for arch-repo-manager 2021-10-03 22:58:46 +02:00
Martchus 4354af6286 Add setting for bundling qtforkawesome when building syncthingtray 2021-10-03 22:57:05 +02:00
Martchus 08a4a7ea09 Make it work with `CONFIGURATION_PACKAGE_SUFFIX…` 2021-08-07 18:41:22 +02:00
21 changed files with 158 additions and 23 deletions

View File

@ -0,0 +1,29 @@
cmake_minimum_required(VERSION 3.17.0 FATAL_ERROR)
project("auto-makepkg-subdirs")
set(SUBDIRS_PREFIX "../..")
enable_testing()
set(CMAKE_INSTALL_RPATH_USE_LINK_PATH true)
get_filename_component(RAPIDJSON_INCLUDE_DIRS "${SUBDIRS_PREFIX}/3rdparty/rapidjson/include" ABSOLUTE)
if (EXISTS "${RAPIDJSON_INCLUDE_DIRS}")
set(RapidJSON_FOUND YES)
message(STATUS "Found custom RapidJSON under: ${RAPIDJSON_INCLUDE_DIRS}")
endif ()
add_subdirectory(${SUBDIRS_PREFIX}/c++utilities c++utilities)
set(c++utilities${CONFIGURATION_PACKAGE_SUFFIX}_DIR "${CMAKE_CURRENT_BINARY_DIR}/c++utilities")
list(APPEND CMAKE_MODULE_PATH ${CPP_UTILITIES_SOURCE_DIR}/cmake/modules)
link_directories(${CPP_UTILITIES_BINARY_DIR})
add_subdirectory(${SUBDIRS_PREFIX}/passwordfile passwordfile)
set(passwordfile${CONFIGURATION_PACKAGE_SUFFIX}_DIR "${CMAKE_CURRENT_BINARY_DIR}/passwordfile")
link_directories(${PASSWORD_FILE_BINARY_DIR})
add_subdirectory(${SUBDIRS_PREFIX}/reflective-rapidjson reflective-rapidjson)
set(reflective_rapidjson${CONFIGURATION_PACKAGE_SUFFIX}_DIR "${CMAKE_CURRENT_BINARY_DIR}/reflective-rapidjson/lib")
list(APPEND CMAKE_MODULE_PATH ${REFLECTIVE_RAPIDJSON_SOURCE_DIR}/cmake/modules)
link_directories(${REFLECTIVE_RAPIDJSON_BINARY_DIR})
add_subdirectory(${SUBDIRS_PREFIX}/auto-makepkg auto-makepkg)

View File

@ -0,0 +1 @@
../../c++utilities/CMakePresets.json

View File

@ -1,4 +1,4 @@
cmake_minimum_required(VERSION 3.1.0 FATAL_ERROR)
cmake_minimum_required(VERSION 3.17.0 FATAL_ERROR)
project("bookmark-sync-subdirs")
set(SUBDIRS_PREFIX "../..")

View File

@ -0,0 +1 @@
../../c++utilities/CMakePresets.json

View File

@ -1,4 +1,4 @@
cmake_minimum_required(VERSION 3.1.0 FATAL_ERROR)
cmake_minimum_required(VERSION 3.17.0 FATAL_ERROR)
project("dbus-soundrecorder-subdirs")
set(SUBDIRS_PREFIX "../..")

View File

@ -0,0 +1 @@
../../c++utilities/CMakePresets.json

View File

@ -1,4 +1,4 @@
cmake_minimum_required(VERSION 3.1.0 FATAL_ERROR)
cmake_minimum_required(VERSION 3.17.0 FATAL_ERROR)
project("geocoordinatecalculator-subdirs")
set(SUBDIRS_PREFIX "../..")

View File

@ -0,0 +1 @@
../../c++utilities/CMakePresets.json

View File

@ -1,4 +1,4 @@
cmake_minimum_required(VERSION 3.1.0 FATAL_ERROR)
cmake_minimum_required(VERSION 3.17.0 FATAL_ERROR)
project("passwordmanager-subdirs")
set(SUBDIRS_PREFIX "../..")
@ -7,32 +7,29 @@ enable_testing()
set(CMAKE_INSTALL_RPATH_USE_LINK_PATH true)
add_subdirectory(${SUBDIRS_PREFIX}/c++utilities c++utilities)
set(c++utilities${CONFIGURATION_PACKAGE_SUFFIX}_DIR "${CMAKE_CURRENT_BINARY_DIR}/c++utilities")
list(APPEND CMAKE_MODULE_PATH ${CPP_UTILITIES_SOURCE_DIR}/cmake/modules)
link_directories(${CPP_UTILITIES_BINARY_DIR})
if (QT_PACKAGE_PREFIX STREQUAL "Qt6")
# set variables to build KF against Qt 6 as well
set(BUILD_WITH_QT6 ON)
set(EXCLUDE_DEPRECATED_BEFORE_AND_AT CURRENT)
set(QT_MAJOR_VERSION "6")
endif ()
option(WIDGETS_GUI "enables/disables building the Qt Widgets GUI: yes (default) or no" ON)
option(QUICK_GUI "enables/disables building the Qt Quick GUI: yes (default) or no" ON)
if(WIDGETS_GUI OR QUICK_GUI)
add_subdirectory(${SUBDIRS_PREFIX}/qtutilities qtutilities)
set(qtutilities${CONFIGURATION_PACKAGE_SUFFIX_QTUTILITIES}_DIR "${CMAKE_CURRENT_BINARY_DIR}/qtutilities")
list(APPEND CMAKE_MODULE_PATH ${QT_UTILITIES_SOURCE_DIR}/cmake/modules)
link_directories(${QT_UTILITIES_BINARY_DIR})
endif()
if(QUICK_GUI)
set(ECM_PATH OFF CACHE PATH "specifies the (relative) path to the extra-cmake-modules sources for building it together with passwordmanager")
if(NOT ECM_PATH)
message(STATUS "Using system extra-cmake-modules (ECM_PATH not set)")
else()
# FIXME: building ecm in the same project doesn't seem to work since it has references to the installed location
add_subdirectory("${ECM_PATH}" ecm)
#file(MAKE_DIRECTORY "${CMAKE_BINARY_DIR}/bundled-ecm")
#file(WRITE "${CMAKE_BINARY_DIR}/bundled-ecm/ECMConfig.cmake" "set(ECM_MODULE_DIR ${ECM_PATH}/modules)")
set(ECM_DIR "${CMAKE_BINARY_DIR}/bundled-ecm")
list(APPEND CMAKE_MODULE_PATH
"${ECM_PATH}/modules"
"${ECM_PATH}/kde-modules"
"${ECM_PATH}/find-modules"
)
endif()
# note: Building ECM as part of the project doesn't work. Simply build ECM sparately like
# "cmake -G Ninja -DBUILD_WITH_QT6=ON -DCMAKE_INSTALL_PREFIX=/home/martchus/build/qtcreator2/build-passwordmanager-Desktop-Debug/install /home/martchus/more_projects/kde/extra-cmake-modules"
# and set that install dir as ECM_DIR=/home/martchus/build/qtcreator2/build-passwordmanager-Desktop-Debug/install/share/ECM/cmake.
set(KIRIGAMI_PATH OFF CACHE PATH "specifies the (relative) path to the Kirigami 2 sources for building it together with passwordmanager")
if(NOT KIRIGAMI_PATH)
@ -44,6 +41,7 @@ if(QUICK_GUI)
endif()
add_subdirectory(${SUBDIRS_PREFIX}/passwordfile passwordfile)
set(passwordfile${CONFIGURATION_PACKAGE_SUFFIX}_DIR "${CMAKE_CURRENT_BINARY_DIR}/passwordfile")
link_directories(${PASSWORD_FILE_BINARY_DIR})
add_subdirectory(${SUBDIRS_PREFIX}/passwordmanager passwordmanager)

View File

@ -0,0 +1 @@
../../c++utilities/CMakePresets.json

View File

@ -0,0 +1,22 @@
cmake_minimum_required(VERSION 3.17.0 FATAL_ERROR)
project("pianobooster-subdirs")
set(SUBDIRS_PREFIX "../..")
enable_testing()
set(CMAKE_INSTALL_RPATH_USE_LINK_PATH true)
message(STATUS "Adding c++utilities subdir")
add_subdirectory(${SUBDIRS_PREFIX}/c++utilities c++utilities)
set(c++utilities${CONFIGURATION_PACKAGE_SUFFIX}_DIR "${CMAKE_CURRENT_BINARY_DIR}/c++utilities")
list(APPEND CMAKE_MODULE_PATH ${CPP_UTILITIES_SOURCE_DIR}/cmake/modules)
link_directories(${CPP_UTILITIES_BINARY_DIR})
message(STATUS "Adding qtutilities subdir")
add_subdirectory(${SUBDIRS_PREFIX}/qtutilities qtutilities)
set(qtutilities${CONFIGURATION_PACKAGE_SUFFIX_QTUTILITIES}_DIR "${CMAKE_CURRENT_BINARY_DIR}/qtutilities")
list(APPEND CMAKE_MODULE_PATH ${QT_UTILITIES_SOURCE_DIR}/cmake/modules)
link_directories(${QT_UTILITIES_BINARY_DIR})
message(STATUS "Adding pianobooster subdir")
add_subdirectory(${SUBDIRS_PREFIX}/PianoBooster PianoBooster)

View File

@ -0,0 +1 @@
../../c++utilities/CMakePresets.json

View File

@ -1,4 +1,4 @@
cmake_minimum_required(VERSION 3.1.0 FATAL_ERROR)
cmake_minimum_required(VERSION 3.17.0 FATAL_ERROR)
project("repoindex-subdirs")
set(SUBDIRS_PREFIX "../..")

1
repoindex/CMakePresets.json Symbolic link
View File

@ -0,0 +1 @@
../../c++utilities/CMakePresets.json

66
sync-all.sh Executable file
View File

@ -0,0 +1,66 @@
#!/bin/bash
set -e
subdirs_path=$(dirname -- "$(realpath -- "$0")")
cd "$subdirs_path"
declare -A repo_names=(
[c++utilities]=cpp-utilities
[qtutilities]=
[qtforkawesome]=
[syncthingtray]=
[tagparser]=
[tageditor]=
[passwordfile]=
[passwordmanager]=
[videodownloader]=
[reflective-rapidjson]=
[dbus-soundrecorder]=
[geocoordinatecalculator]=
[auto-makepkg]=arch-repo-manager
[PianoBooster]=
[subdirs]=
)
# ensure a clone of all repositories exists
for dir in "${!repo_names[@]}"; do
[[ -d ../$dir/.git ]] && continue
echo "==> Cloning $dir"
repo=${repo_names[$dir]:-$dir}
git -C .. clone -c core.symlinks=true "git@github.com:Martchus/$repo.git" "$dir"
done
# ensure the fallback repo is added
for dir in "${!repo_names[@]}"; do
repo=${repo_names[$dir]:-$dir}
if ! git -C "../$dir" remote show gitea &> /dev/null ; then
echo "==> Adding fallback remote for $dir"
git -C "../$dir" remote add gitea "gitea@martchus.no-ip.biz:Martchus/$repo.git"
fi
if ! git -C "../$dir" remote show all &> /dev/null ; then
echo "==> Configuring 'all' remote for $dir"
git -C "../$dir" remote add all "git@github.com:Martchus/$repo.git"
git -C "../$dir" remote set-url --add --push all "git@github.com:Martchus/$repo.git"
git -C "../$dir" remote set-url --add --push all "gitea@martchus.no-ip.biz:Martchus/$repo.git"
fi
done
# ensure all repositories are up-to-date
for dir in ../* ; do
[[ -d $dir/.git ]] || continue
echo "==> Updating $dir"
git -C "$dir" remote update
branch_name=$(git -C "$dir" symbolic-ref -q HEAD)
branch_name=${branch_name##refs/heads/}
branch_name=${branch_name:-DETACHED}
# try pushing local changes first
if git -C "$dir" push -u all master:master ; then
git -C "$dir" remote update
fi
if output=$(git -C "$dir" status --porcelain) && [[ -z $output ]] && [[ $branch_name == DETACHED || $branch_name == master ]]; then
git -C "$dir" reset --hard origin/master
fi
done

View File

@ -1,4 +1,4 @@
cmake_minimum_required(VERSION 3.1.0 FATAL_ERROR)
cmake_minimum_required(VERSION 3.17.0 FATAL_ERROR)
project("syncthingtray-subdirs")
set(SUBDIRS_PREFIX "../..")
@ -6,12 +6,18 @@ enable_testing()
set(CMAKE_INSTALL_RPATH_USE_LINK_PATH true)
message(STATUS "Adding c++utilities subdir")
add_subdirectory(${SUBDIRS_PREFIX}/c++utilities c++utilities)
set(c++utilities${CONFIGURATION_PACKAGE_SUFFIX}_DIR "${CMAKE_CURRENT_BINARY_DIR}/c++utilities")
list(APPEND CMAKE_MODULE_PATH ${CPP_UTILITIES_SOURCE_DIR}/cmake/modules)
link_directories(${CPP_UTILITIES_BINARY_DIR})
message(STATUS "Adding qtutilities subdir")
add_subdirectory(${SUBDIRS_PREFIX}/qtutilities qtutilities)
set(qtutilities${CONFIGURATION_PACKAGE_SUFFIX_QTUTILITIES}_DIR "${CMAKE_CURRENT_BINARY_DIR}/qtutilities")
list(APPEND CMAKE_MODULE_PATH ${QT_UTILITIES_SOURCE_DIR}/cmake/modules)
link_directories(${QT_UTILITIES_BINARY_DIR})
message(STATUS "Adding syncthingtray subdir")
set(BUNDLED_QT_FORK_AWESOME_PATH "../qtforkawesome" CACHE PATH "specifies the (relative) path to the qtforkawesome sources for building it together with ${META_PROJECT_NAME}")
add_subdirectory(${SUBDIRS_PREFIX}/syncthingtray syncthingtray)

View File

@ -0,0 +1 @@
../../c++utilities/CMakePresets.json

View File

@ -1,4 +1,4 @@
cmake_minimum_required(VERSION 3.1.0 FATAL_ERROR)
cmake_minimum_required(VERSION 3.17.0 FATAL_ERROR)
project("tageditor-subdirs")
set(SUBDIRS_PREFIX "../..")
@ -7,6 +7,7 @@ enable_testing()
set(CMAKE_INSTALL_RPATH_USE_LINK_PATH true)
add_subdirectory(${SUBDIRS_PREFIX}/c++utilities c++utilities)
set(c++utilities${CONFIGURATION_PACKAGE_SUFFIX}_DIR "${CMAKE_CURRENT_BINARY_DIR}/c++utilities")
list(APPEND CMAKE_MODULE_PATH ${CPP_UTILITIES_SOURCE_DIR}/cmake/modules)
link_directories(${CPP_UTILITIES_BINARY_DIR})
@ -14,6 +15,7 @@ option(WIDGETS_GUI "enables/disables building the Qt Widgets GUI: yes (default)
option(QUICK_GUI "enables/disables building the Qt Quick GUI: yes (default) or no" ON)
if(WIDGETS_GUI OR QUICK_GUI)
add_subdirectory(${SUBDIRS_PREFIX}/qtutilities qtutilities)
set(qtutilities${CONFIGURATION_PACKAGE_SUFFIX_QTUTILITIES}_DIR "${CMAKE_CURRENT_BINARY_DIR}/qtutilities")
list(APPEND CMAKE_MODULE_PATH ${QT_UTILITIES_SOURCE_DIR}/cmake/modules)
link_directories(${QT_UTILITIES_BINARY_DIR})
endif()
@ -21,11 +23,13 @@ endif()
option(ENABLE_JSON_EXPORT "enable JSON export" OFF)
if(ENABLE_JSON_EXPORT)
add_subdirectory(${SUBDIRS_PREFIX}/reflective-rapidjson reflective-rapidjson)
set(reflective_rapidjson${CONFIGURATION_PACKAGE_SUFFIX}_DIR "${CMAKE_CURRENT_BINARY_DIR}/reflective-rapidjson/lib")
list(APPEND CMAKE_MODULE_PATH ${REFLECTIVE_RAPIDJSON_SOURCE_DIR}/cmake/modules)
link_directories(${REFLECTIVE_RAPIDJSON_BINARY_DIR})
endif()
add_subdirectory(${SUBDIRS_PREFIX}/tagparser tagparser)
set(tagparser${CONFIGURATION_PACKAGE_SUFFIX}_DIR "${CMAKE_CURRENT_BINARY_DIR}/tagparser")
link_directories(${TAG_PARSER_BINARY_DIR})
add_subdirectory(${SUBDIRS_PREFIX}/tageditor tageditor)

1
tageditor/CMakePresets.json Symbolic link
View File

@ -0,0 +1 @@
../../c++utilities/CMakePresets.json

View File

@ -1,4 +1,4 @@
cmake_minimum_required(VERSION 3.1.0 FATAL_ERROR)
cmake_minimum_required(VERSION 3.17.0 FATAL_ERROR)
project("videodownloader-subdirs")
set(SUBDIRS_PREFIX "../..")

View File

@ -0,0 +1 @@
../../c++utilities/CMakePresets.json