Skip to content

Commit

Permalink
add mac os support
Browse files Browse the repository at this point in the history
  • Loading branch information
abreheret committed Aug 17, 2018
1 parent 7f2148c commit 9d972ba
Show file tree
Hide file tree
Showing 3 changed files with 57 additions and 32 deletions.
40 changes: 24 additions & 16 deletions .travis.yml
Original file line number Diff line number Diff line change
@@ -1,33 +1,41 @@
language: cpp
sudo: required
dist: trusty
branches:
only:
- master
- dev
os:
- linux
- linux
- osx

env:
- CONFIG=Release
- CONFIG=Release

branches:
only:
- master
- dev

- master
- dev
before_install:
- QT_VERSION_MM=59
- QT_VERSION_FULL=591-trusty
- sudo apt-add-repository --yes ppa:beineri/opt-qt$QT_VERSION_FULL && sudo apt-get update -qq && sudo apt-get install -qq qt${QT_VERSION_MM}base qt${QT_VERSION_MM}script qt${QT_VERSION_MM}tools && export CMAKE_PREFIX_PATH=/opt/qt${QT_VERSION_MM}
- sudo apt-get install libopencv-dev
- sudo apt-get install curl

- if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then
brew update;
brew install qt;
brew install opencv;
brew install curl;
else
QT_VERSION_MM=59;
QT_VERSION_FULL=591-trusty;
sudo apt-add-repository --yes ppa:beineri/opt-qt$QT_VERSION_FULL && sudo apt-get update -qq && sudo apt-get install -qq qt${QT_VERSION_MM}base qt${QT_VERSION_MM}script qt${QT_VERSION_MM}tools && export CMAKE_PREFIX_PATH=/opt/qt${QT_VERSION_MM};
sudo apt-get install libopencv-dev;
sudo apt-get install curl;
fi
before_script:
- mkdir build
- cd build
- cmake .. -DCMAKE_BUILD_TYPE=$CONFIG -DDISABLE_MAINTAINER_CFLAGS=off
- if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then
cmake .. -DCMAKE_BUILD_TYPE=$CONFIG -DDISABLE_MAINTAINER_CFLAGS=off -DCMAKE_PREFIX_PATH=$(brew --prefix qt) -DQMAKE_PATH=$(brew --prefix qt)/bin;
else
cmake .. -DCMAKE_BUILD_TYPE=$CONFIG -DDISABLE_MAINTAINER_CFLAGS=off;
fi

script:
- cmake --build . --config $CONFIG
- cmake --build . --config $CONFIG --target upload_file

- cmake --build . --config $CONFIG --target upload_file
47 changes: 32 additions & 15 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -57,7 +57,7 @@ find_package(OpenCV REQUIRED)
include_directories(${CMAKE_CURRENT_BINARY_DIR} ${OpenCV_INCLUDE_DIRS})

qt5_wrap_ui(UI_TEST_HDRS src/main_window.ui )
add_executable(PixelAnnotationTool
add_executable(PixelAnnotationTool MACOSX_BUNDLE WIN32
src/main_window.cpp
src/main_window.h
src/about_dialog.cpp
Expand Down Expand Up @@ -102,7 +102,7 @@ endif()

file(COPY ${CMAKE_CURRENT_SOURCE_DIR}/default.png DESTINATION ${DIR_NAME_RELEASE}/ )

if( MSVC )
if( MSVC ) # ---------------------------- WINDOWS --------------------------------------------------------------------
set(DLLs_DEP_RELEASE "${QT5_DIR}/../../bin/Qt5Widgets.dll"
"${QT5_DIR}/../../bin/Qt5Gui.dll"
"${QT5_DIR}/../../bin/Qt5Core.dll")
Expand All @@ -127,36 +127,53 @@ if( MSVC )
COMMAND curl --upload-file "${NAME_RELEASE}.zip" https://transfer.sh/${NAME_RELEASE}.zip
DEPENDS make_zip)
endif()
elseif(UNIX)
elseif(APPLE) # ---------------------------- APPLE --------------------------------------------------------------------
find_program(QMAKE_APP qmake PATHS /opt/qt59/bin/ ${QT5_DIR}/../../bin ${QMAKE_PATH})
if( QMAKE_APP-NOTFOUND )
message(STATUS "qmake is not found")
else()
message(STATUS "qmake is found here : ${QMAKE_APP}")
add_custom_target(deploy_qt
COMMAND echo "---------------------------------"
COMMAND echo "${QMAKE_PATH}/macdeployqt ${DIR_NAME_RELEASE}/PixelAnnotationTool.app -dmg"
COMMAND ${QMAKE_PATH}/macdeployqt ${DIR_NAME_RELEASE}/PixelAnnotationTool.app -dmg
DEPENDS PixelAnnotationTool )
if( NOT CURL-NOTFOUND )
add_custom_target(upload_file
COMMAND curl --upload-file ${DIR_NAME_RELEASE}/PixelAnnotationTool.dmg https://transfer.sh/PixelAnnotationTool_x86_64_${GIT_TAG}.dmg
DEPENDS deploy_qt)
endif()
endif()
else () # ---------------------------- LINUX --------------------------------------------------------------------
add_custom_target(copy_pat
COMMAND echo "=== copy_pat ==="
COMMAND ${CMAKE_COMMAND} -E copy $<TARGET_FILE:PixelAnnotationTool> ${DIR_NAME_RELEASE}/PixelAnnotationTool
DEPENDS PixelAnnotationTool)
add_custom_target(extract_appimage
COMMAND echo "=== extract_appimage ==="
COMMAND chmod +x ${CMAKE_CURRENT_SOURCE_DIR}/scripts_to_build/linuxdeployqt-continuous-x86_64.AppImage
COMMAND ${CMAKE_CURRENT_SOURCE_DIR}/scripts_to_build/linuxdeployqt-continuous-x86_64.AppImage --appimage-extract
DEPENDS copy_pat)
add_custom_target(extract_appimage
COMMAND echo "=== extract_appimage ==="
COMMAND chmod +x ${CMAKE_CURRENT_SOURCE_DIR}/scripts_to_build/linuxdeployqt-continuous-x86_64.AppImage
COMMAND ${CMAKE_CURRENT_SOURCE_DIR}/scripts_to_build/linuxdeployqt-continuous-x86_64.AppImage --appimage-extract
DEPENDS copy_pat)

find_program(QMAKE_APP qmake PATHS /opt/qt59/bin/ ${QT5_DIR}/../../bin)
find_program(QMAKE_APP qmake PATHS /opt/qt59/bin/ ${QT5_DIR}/../../bin ${QMAKE_PATH})
if( QMAKE_APP-NOTFOUND )
message(STATUS "qmake is not found")
else()
message(STATUS "qmake is found here : ${QMAKE_APP}")
add_custom_target(linux_deploy_qt
COMMAND echo "=== ${CMAKE_BINARY_DIR}/squashfs-root/usr/bin/linuxdeployqt ${DIR_NAME_RELEASE}/PixelAnnotationTool -appimage -qmake=${QMAKE_APP} ==="
COMMAND ${CMAKE_BINARY_DIR}/squashfs-root/usr/bin/linuxdeployqt ${DIR_NAME_RELEASE}/PixelAnnotationTool -appimage -qmake=${QMAKE_APP}
DEPENDS extract_appimage)
add_custom_target(deploy_qt
COMMAND echo "=== ${CMAKE_BINARY_DIR}/squashfs-root/usr/bin/linuxdeployqt ${DIR_NAME_RELEASE}/PixelAnnotationTool -appimage -qmake=${QMAKE_APP} ==="
COMMAND ${CMAKE_BINARY_DIR}/squashfs-root/usr/bin/linuxdeployqt ${DIR_NAME_RELEASE}/PixelAnnotationTool -appimage -qmake=${QMAKE_APP}
DEPENDS extract_appimage)
add_custom_target(make_zip
COMMAND echo "=== make_zip ==="
COMMAND ${CMAKE_COMMAND} -E rename Application-x86_64.AppImage PixelAnnotationTool_x86_64_${GIT_TAG}.AppImage
DEPENDS linux_deploy_qt)
DEPENDS deploy_qt)
if( NOT CURL-NOTFOUND )
add_custom_target(upload_file
COMMAND curl --upload-file PixelAnnotationTool_x86_64_${GIT_TAG}.AppImage https://transfer.sh/PixelAnnotationTool_x86_64_${GIT_TAG}.AppImage
DEPENDS make_zip)
endif()
endif()
endif()
endif()


Expand Down
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ PixelAnnotationTool
============================

-----------------
| **` Linux `** | **` Windows `** | **` Donate `** |
| **` Linux/MAC `** | **` Windows `** | **` Donate `** |
|-----------------|---------------------|---------------------|
| [![Build Status](https://api.travis-ci.org/abreheret/PixelAnnotationTool.svg?branch=master)](https://travis-ci.org/abreheret/PixelAnnotationTool) | [![Appveyor Build Status](https://img.shields.io/appveyor/ci/abreheret/pixelannotationtool.svg)](https://ci.appveyor.com/project/abreheret/pixelannotationtool) | [![Donate](https://img.shields.io/badge/Donate-PayPal-green.svg)](https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=8K79VKWBS7352) |

Expand Down

0 comments on commit 9d972ba

Please sign in to comment.