Skip to content
GitLab
Projects
Groups
Snippets
Help
Loading...
Help
What's new
10
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Open sidebar
Robert Maerkisch
kaidan
Commits
c7675341
Commit
c7675341
authored
Jun 11, 2019
by
Jonah Brüchert
🌳
Committed by
Linus Jahn
Jun 11, 2019
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Add osxcross-based macOS builds
parent
5bce63b8
Changes
5
Hide whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
160 additions
and
4 deletions
+160
-4
.gitlab-ci.yml
.gitlab-ci.yml
+10
-0
3rdparty/qxmpp
3rdparty/qxmpp
+1
-1
CMakeLists.txt
CMakeLists.txt
+2
-2
utils/build-mac-osxcross.sh
utils/build-mac-osxcross.sh
+146
-0
utils/build-mac.sh
utils/build-mac.sh
+1
-1
No files found.
.gitlab-ci.yml
View file @
c7675341
...
@@ -91,6 +91,16 @@ android:
...
@@ -91,6 +91,16 @@ android:
-
"
kaidan_build_apk-debug.apk"
-
"
kaidan_build_apk-debug.apk"
expire_in
:
1 week
expire_in
:
1 week
mac-osxcross
:
stage
:
deploy
image
:
kaidan/mac-osxcross
script
:
-
utils/build-mac-osxcross.sh
-
tar -cf kaidan.tar -C build/bin/ kaidan.app
artifacts
:
paths
:
-
"
kaidan.tar"
expire_in
:
1 week
variables
:
variables
:
GIT_SUBMODULE_STRATEGY
:
recursive
GIT_SUBMODULE_STRATEGY
:
recursive
...
...
qxmpp
@
e6eb0b78
Compare
754cc5a7
...
e6eb0b78
Subproject commit
754cc5a70479a54659dbc93ccb5bf28e1da77ef4
Subproject commit
e6eb0b78d0cb17fccd5ddb60966ba2a0a2d2b593
CMakeLists.txt
View file @
c7675341
cmake_minimum_required
(
VERSION
2.8.12
)
cmake_minimum_required
(
VERSION
3.3
)
find_package
(
ECM 5.40.0 REQUIRED NO_MODULE
)
find_package
(
ECM 5.40.0 REQUIRED NO_MODULE
)
set
(
CMAKE_CXX_STANDARD 14
)
set
(
CMAKE_CXX_STANDARD 14
)
set
(
QT_MIN_VERSION
"5.8.0"
)
set
(
QT_MIN_VERSION
"5.8.0"
)
...
@@ -314,7 +314,7 @@ endif()
...
@@ -314,7 +314,7 @@ endif()
if
(
UBUNTU_TOUCH
)
if
(
UBUNTU_TOUCH
)
set
(
KAIDAN_COMPILE_DEFINITIONS UBUNTU_TOUCH=True
)
set
(
KAIDAN_COMPILE_DEFINITIONS UBUNTU_TOUCH=True
)
elseif
(
NOT ANDROID AND NOT IOS AND NOT WIN32
)
elseif
(
NOT ANDROID AND NOT IOS AND NOT WIN32
AND NOT APPLE
)
set
(
KAIDAN_COMPILE_DEFINITIONS NOTIFICATIONS_LIBNOTIFY=True
)
set
(
KAIDAN_COMPILE_DEFINITIONS NOTIFICATIONS_LIBNOTIFY=True
)
endif
()
endif
()
...
...
utils/build-mac-osxcross.sh
0 → 100755
View file @
c7675341
#!/bin/bash
# NOTE: To use this script, you need to set $QT_MACOS to your Qt for MacOS installation
if
[
-z
"
$QT_MACOS
"
]
;
then
echo
"QT_MACOS has to be set"
exit
1
fi
# Build type is one of:
# Debug, Release, RelWithDebInfo and MinSizeRel
BUILD_TYPE
=
"
${
BUILD_TYPE
:-
Debug
}
"
KAIDAN_SOURCES
=
$(
dirname
"
$(
readlink
-f
"
${
0
}
"
)
"
)
/..
KIRIGAMI_BUILD
=
/tmp/kirigami-mac-build
QXMPP_BUILD
=
/tmp/qxmpp-mac-build
OSXCROSS_TARGET
=
"x86_64-apple-darwin15"
echo
"-- Starting
$BUILD_TYPE
build of Kaidan --"
echo
"*****************************************"
echo
"Fetching dependencies if required"
echo
"*****************************************"
if
[
!
-f
"
$KAIDAN_SOURCES
/3rdparty/kirigami/.git"
]
||
[
!
-f
"
$KAIDAN_SOURCES
/3rdparty/breeze-icons/.git"
]
;
then
echo
"Cloning Kirigami and Breeze icons"
git submodule update
--init
fi
if
[
!
-e
"
$KAIDAN_SOURCES
/3rdparty/qxmpp/"
]
;
then
echo
"Cloning QXmpp"
git clone https://github.com/qxmpp-project/qxmpp.git 3rdparty/qxmpp
fi
cdnew
()
{
if
[
-d
"
$1
"
]
;
then
rm
-rf
"
$1
"
fi
mkdir
$1
cd
$1
}
export
QT_SELECT
=
qt5
if
[
!
-f
"
$QXMPP_BUILD
/lib/pkgconfig/qxmpp.pc"
]
;
then
echo
"*****************************************"
echo
"Building QXmpp"
echo
"*****************************************"
{
cdnew
$KAIDAN_SOURCES
/3rdparty/qxmpp/build
${
OSXCROSS_TARGET
}
-cmake
..
\
-DCMAKE_PREFIX_PATH
=
$QT_MACOS
\
-DBUILD_EXAMPLES
=
OFF
\
-DCMAKE_BUILD_TYPE
=
$BUILD_TYPE
-DCMAKE_INSTALL_PREFIX
=
$QXMPP_BUILD
\
-DBUILD_TESTS
=
OFF
make
-j
$(
nproc
)
make
install
rm
-rf
$KAIDAN_SOURCES
/3rdparty/qxmpp/build
}
fi
if
[
!
-f
"
$KIRIGAMI_BUILD
/lib/libKF5Kirigami2.dylib"
]
;
then
echo
"*****************************************"
echo
"Building Kirigami"
echo
"*****************************************"
{
cdnew
$KAIDAN_SOURCES
/3rdparty/kirigami/build
${
OSXCROSS_TARGET
}
-cmake
..
\
-DECM_DIR
=
/usr/local/share/ECM/cmake
\
-DCMAKE_PREFIX_PATH
=
$QT_MACOS
\
-DECM_ADDITIONAL_FIND_ROOT_PATH
=
$QT_MACOS
\
-DCMAKE_BUILD_TYPE
=
$BUILD_TYPE
-DCMAKE_INSTALL_PREFIX
=
$KIRIGAMI_BUILD
make
-j
$(
nproc
)
make
install
rm
-rf
$KAIDAN_SOURCES
/3rdparty/kirigami/build
}
fi
if
[
!
-f
"
$KAIDAN_SOURCES
/misc/macos/kaidan.icns"
]
;
then
echo
"*****************************************"
echo
"Rendering logos"
echo
"*****************************************"
if
[
!
$(
command
-v
inkscape
)
]
||
[
!
$(
command
-v
optipng
)
]
;
then
echo
"Icons can'be generated"
exit
1
fi
rendersvg
()
{
inkscape
-z
-e
$2
-w
$3
-h
$3
-d
$4
$1
optipng
-quiet
$2
}
macoslogo
()
{
rendersvg
$KAIDAN_SOURCES
/misc/kaidan-small-margin.svg
"
$KAIDAN_SOURCES
/misc/macos/kaidan.iconset/icon_
$1x$1
.png"
$1
72
}
mkdir
-p
$KAIDAN_SOURCES
/misc/macos/kaidan.iconset
macoslogo 16
macoslogo 32
macoslogo 128
macoslogo 256
macoslogo 512
png2icns
$KAIDAN_SOURCES
/misc/macos/kaidan.icns
$KAIDAN_SOURCES
/misc/macos/kaidan.iconset/
*
fi
export
PKG_CONFIG_PATH
=
$QXMPP_BUILD
/lib/pkgconfig
export
CXXFLAGS
=
-I
$QXMPP_BUILD
/include/qxmpp/
if
[
!
-d
"
$KAIDAN_SOURCES
/build/bin/kaidan.app"
]
;
then
echo
"*****************************************"
echo
"Building Kaidan"
echo
"*****************************************"
{
cdnew
$KAIDAN_SOURCES
/build
${
OSXCROSS_TARGET
}
-cmake
..
\
-DECM_DIR
=
/usr/local/share/ECM/cmake
\
-DCMAKE_PREFIX_PATH
=
$QT_MACOS
\;
$KIRIGAMI_BUILD
\;
$QXMPP_BUILD
\
-DKF5Kirigami2_DIR
=
$KIRIGAMI_BUILD
/lib/cmake/KF5Kirigami2
-DI18N
=
1
\
-DCMAKE_BUILD_TYPE
=
$BUILD_TYPE
\
-DQUICK_COMPILER
=
OFF
make
-j
$(
nproc
)
}
fi
echo
"*****************************************"
echo
"Macdeployqt"
echo
"*****************************************"
{
cd
$KAIDAN_SOURCES
/build
export
LD_LIBRARY_PATH
=
$QT_MACOS
/lib/:
$KIRIGAMI_BUILD
/lib:
$LD_LIBRARY_PATH
export
PATH
=
$QT_MACOS
/bin/:
$PATH
# FIXME: Use `macdeployqt -qmlimport` when QTBUG-70977 is fixed
if
[
!
-d
"
$QT_MACOS
/qml/org/kde/kirigami.2"
]
;
then
mkdir
-p
$QT_MACOS
/qml/org/kde
ln
-s
$KIRIGAMI_BUILD
/lib/qml/org/kde/kirigami.2
$QT_MACOS
/qml/org/kde/kirigami.2
fi
macdeployqt bin/kaidan.app
-qmlimport
=
$QT_MACOS
/qml
-qmlimport
=
$KIRIGAMI_BUILD
/lib/qml/
-qmldir
=
$KAIDAN_SOURCES
/src/qml/
-libpath
=
$KIRIGAMI_BUILD
/lib/
-libpath
=
$QXMPP_BUILD
/lib
-libpath
=
$QT_MACOS
/lib/
-appstore-compliant
-verbose
=
3
${
OSXCROSS_TARGET
}
-install_name_tool
-add_rpath
@executable_path/../Frameworks bin/kaidan.app/Contents/MacOS/kaidan
}
utils/build-mac.sh
View file @
c7675341
...
@@ -26,7 +26,7 @@ if [ ! -f "$KAIDAN_SOURCES/3rdparty/kirigami/.git" ] || [ ! -f "$KAIDAN_SOURCES/
...
@@ -26,7 +26,7 @@ if [ ! -f "$KAIDAN_SOURCES/3rdparty/kirigami/.git" ] || [ ! -f "$KAIDAN_SOURCES/
git submodule update
--init
git submodule update
--init
fi
fi
if
[
!
-
d
"
$KAIDAN_SOURCES
/3rdparty/qxmpp/.git"
]
;
then
if
[
!
-
e
"
$KAIDAN_SOURCES
/3rdparty/qxmpp/.git"
]
;
then
echo
"Cloning QXmpp"
echo
"Cloning QXmpp"
git clone https://github.com/qxmpp-project/qxmpp.git 3rdparty/qxmpp
git clone https://github.com/qxmpp-project/qxmpp.git 3rdparty/qxmpp
fi
fi
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment