Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Od fixes-- rick's branch rebased on current master [632f6e1] #39

Closed
wants to merge 62 commits into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
62 commits
Select commit Hold shift + click to select a range
43ec8c1
flatpak: Initial packaging.
leamas Jul 16, 2018
4f0cfc0
cmake: Define OpenGL lib to use (mute warning).
leamas Aug 22, 2019
4615ad1
cmake: Fix variable type error (mute warning).
leamas Aug 22, 2019
15cdce6
build: Add api16/opencpn.lib, handle api version.
leamas Aug 22, 2019
8b7a7a4
build: Build a tar.gz package along with ordinary installer
leamas Aug 22, 2019
6ebba93
build: give plugin a more unique name.
leamas Aug 22, 2019
2ead1c0
build: Move to C++11
leamas Aug 22, 2019
818edde
build: Add plugin XML metadata generation.
leamas Aug 22, 2019
0119618
mingw: Fix opencpn import lib
leamas Sep 8, 2019
b26f6ad
build: Update to handle recent cmake
leamas Sep 8, 2019
4901843
ci: Add appveyor msvc build.
leamas Aug 22, 2019
79214f3
ci: Add travis builds for macos and debian
leamas Aug 22, 2019
cd15e54
Avoid using travis crappy bintray integration.
leamas Aug 22, 2019
942f6e9
Adding flatpak build.
leamas Aug 24, 2019
9f905fb
ci: Add cloudsmith deployment.
leamas Sep 2, 2019
8b5ab02
ci: Add circleci configuration.
leamas Sep 8, 2019
03afac2
.gitignore
leamas Sep 12, 2019
bfdf803
appveyor: drop secret, unused key
leamas Sep 15, 2019
6d521b1
Merge pull request #35 from leamas/master
mauroc Sep 18, 2019
10dbac7
fixed boat yerd icon not showing
mauroc Sep 25, 2019
39a8613
plugin.xml.in: Fox copy-paste error.
Sep 26, 2019
521fb35
Merge pull request #38 from leamas/master
mauroc Sep 26, 2019
3f12a41
added travis.yml
mauroc Sep 27, 2019
be7425b
Merge branch 'master' of github.com:mauroc/squiddio_pi
mauroc Sep 27, 2019
b0a26c9
updated gitignore
mauroc Sep 27, 2019
33dd697
deleted build directory
mauroc Sep 27, 2019
d067bff
reset
mauroc Sep 28, 2019
e690c1f
travis and appveyor files
mauroc Sep 28, 2019
d5e56d3
deploy all versions
mauroc Sep 28, 2019
632f6e1
circleci
mauroc Sep 28, 2019
f3ff6c5
.travis changes
mauroc Sep 27, 2019
5559877
appveyor 1
mauroc Sep 27, 2019
ce86ebb
appveyor 2
mauroc Sep 27, 2019
43e48d3
appveyor 2
mauroc Sep 27, 2019
d71e008
appveyor 3
mauroc Sep 27, 2019
2514b89
appveyor 4
mauroc Sep 27, 2019
957bc56
travis 1
mauroc Sep 27, 2019
8097c3b
travis 2
mauroc Sep 27, 2019
f793977
travis 3
mauroc Sep 27, 2019
cc6536d
appveyor file
mauroc Sep 28, 2019
527dc24
appveyor file
mauroc Sep 28, 2019
e5613cd
Rewind ci setup to 33dd697
leamas Sep 28, 2019
9a6e107
add travis & encrypt token
rgleason Sep 1, 2019
e695380
Change packaging name for osX
jongough Sep 4, 2019
d547a0b
version v1.0.6
rgleason Sep 6, 2019
0788d38
version 1.0.7
rgleason Sep 12, 2019
7e0017f
Update to new Travis process
jongough Sep 14, 2019
6190a80
Fix up names
jongough Sep 14, 2019
b74f291
Update install cmake for new Travis osx install
jongough Sep 14, 2019
2c3787f
Add package_file_name
jongough Sep 14, 2019
aff9809
Update version number
jongough Sep 14, 2019
fb92010
Update to reflect working tactics version
jongough Sep 14, 2019
c08fc28
Update debian build scripts
jongough Sep 14, 2019
96941f0
Updates for windows and osX
jongough Sep 15, 2019
8d2bc40
Update to get package version correct
jongough Sep 15, 2019
d4d114e
Version v1.0.8
rgleason Sep 15, 2019
77da494
Update travis-build-osx.sh
rgleason Sep 24, 2019
526c7b7
Update CMakeLists.txt to Version v1.0.9
rgleason Sep 24, 2019
83ab746
Version 1.0.10
rgleason Sep 26, 2019
b628210
ci: restore travis-build-osx
leamas Sep 28, 2019
4379af8
ci/travis-build-debian: Fix existing control file.
leamas Sep 28, 2019
92b02f8
appveyor.yml: bugfixes, build configuration -> Release
leamas Sep 28, 2019
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
82 changes: 82 additions & 0 deletions .circleci/config.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,82 @@
---
version: 2
jobs:
build-debian:
docker:
- image: circleci/buildpack-deps:xenial-scm
environment:
- OCPN_TARGET: xenial
steps:
- checkout
- run: >
echo "deb-src http://us.archive.ubuntu.com/ubuntu/ xenial main"
| sudo tee -a /etc/apt/sources.list
- run: >
echo "deb-src http://us.archive.ubuntu.com/ubuntu/ xenial-updates main"
| sudo tee -a /etc/apt/sources.list
- run: cat /etc/apt/sources.list
- run: ci/circleci-build-debian.sh
- run: ci/circleci-upload.sh
build-flatpak:
machine:
image: circleci/classic:201808-01
environment:
- OCPN_TARGET: flatpak
steps:
- checkout
- run: ci/circleci-build-flatpak.sh
- run: ci/circleci-upload.sh
build-fedora:
docker:
- image: fedora:29
environment:
- OCPN_TARGET: fedora
steps:
- run: su -c "dnf install -q -y git openssh-clients openssh-server"
- checkout
- run: ci/circleci-build-fedora.sh
- run: ci/circleci-upload.sh
build-mingw:
docker:
- image: fedora:29
environment:
- OCPN_TARGET: mingw
steps:
- run: su -c "dnf install -q -y git openssh-clients openssh-server"
- checkout
- run: ci/circleci-build-mingw.sh
- run: ci/circleci-upload.sh
build-macos:
macos:
xcode: "10.0.0"
environment:
- OCPN_TARGET: macos
steps:
- checkout
- run: ci/circleci-build-macos.sh
- run: ci/circleci-upload.sh

workflows:
version: 2
build_all:
jobs:
- build-debian:
filters:
branches:
only: master
- build-flatpak:
filters:
branches:
only: master
- build-fedora:
filters:
branches:
only: master
- build-macos:
filters:
branches:
only: master
- build-mingw:
filters:
branches:
only: master
2 changes: 1 addition & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ cscope.files
tags
index.sh
include/version.h
build
build/
Debug
cmake
CMakeFiles
Expand Down
58 changes: 58 additions & 0 deletions .travis.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,58 @@
# ov50 Linux/OSX build - courtesy to https://github.com/seandepagnier
language: cpp
matrix:
include:
- env:
- OCPN_TARGET=xenial
dist: xenial
compiler: gcc
script:
- sh ./ci/travis-build-debian.sh

- env:
- OCPN_TARGET=trusty
dist: trusty
compiler: gcc
script:
- sh ./ci/travis-build-debian.sh

- env:
- OCPN_TARGET=osx
os: osx
compiler: clang
script:
- bash ./ci/travis-build-osx.sh

script:
- if [[ "${COVERITY_SCAN_BRANCH}" == 1 ]];
then
echo "Don't build on coverty_scan branch.";
exit 0;
fi
- ls -l;

notifications:
email: false
git:
depth: 10
before_install:
- if [ "$CXX" = "g++" ]; then export CXX="g++-6" CC="gcc-6"; fi
addons:
apt:
sources:
- ubuntu-toolchain-r-test
packages:
- gcc-6
- g++-6
deploy:
- provider: releases
api_key:
secure: "ITY5bfgEHsABqkzibS60y9W3so4eht4ociqAE7H0gnFA/3h3aVXyaZZvUhSQF8XwaWgTDfgxJOvPvOsY+mYNN5GOOSFd0YwRxKA8ys8TPqB2T2MkQ5lt9+5pJ52VkJ8cR1Ro688k5NEZmavke29QHVuzOfaNWPqAx1Xfkp/Vnbw1ApB5mQiNwQKtfkI8dZDtP/IFYHSF8+2gRuCe9i/Ed+yUfpojRSb15X/qs2+l57VOKrR//J21iqZ+hYRQKzfqs6QOyb2B822ABJuI6kESzVWg2vtO1mI4XD3dv6BIaWnzHiwIk8nbI0TAuYTR/Yze4jACqSa6ud9I1KLT3trbw9ZFRODiFniSGIjqEpZG5S1FMK7TLK0+a8Lk5GHqDJn5T+mVxljSPO3rcMtWqa51uar4FFyUVgPL1bBd5FgsRkRNulV5O6I89rDmtgoc0UzUBy7WrO/JrT2AEoe4WiYM7BYxjRHTcW1+dHGr/y1CU3sIvcR/0BdZuTDfET5NV5zl6AabJUcyi5M7p2wmW0In2OAJzCWuRGthTmAx9xeUiXAbNzSCpkozKSZDRJnTLpvyBm4RzsqiWZKoKgFRP2AFpkh6E23e9REdKih5nTkD19aEKj7uXFViEojAQ13RqcchksQyzZ33u0mgJ2i2aX0x8eFG8qbYXMgB6t7pMrmq9tY="
file_glob: true
file: "$TRAVIS_BUILD_DIR/build/*.{deb,rpm,dmg,txz,pkg,pkg.tar.xz}"
skip_cleanup: true
on:
repo: rgleason/squiddio_pi
tags: true
all_branches: true

55 changes: 53 additions & 2 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -23,21 +23,67 @@
CMAKE_MINIMUM_REQUIRED(VERSION 2.6.2)

PROJECT(squiddio_pi)
SET(PARENT "opencpn")

SET(PACKAGE_NAME squiddio_pi)
SET(PACKAGE_FILE_NAME "opencpn-plugin-squiddio")
SET(VERBOSE_NAME Squiddio)
SET(TITLE_NAME SQUIDDIO)
SET(CPACK_PACKAGE_CONTACT "Mauro Calvi")

SET(VERSION_MAJOR "1")
SET(VERSION_MINOR "0")
SET(VERSION_PATCH "4")
SET(VERSION_DATE "19/05/2019")
SET(VERSION_PATCH "10")
SET(PLUGIN_VERSION_DATE "2019/09/26")
SET(OCPN_MIN_VERSION "ov50")

SET(PACKAGE_VERSION "${VERSION_MAJOR}.${VERSION_MINOR}.${VERSION_PATCH}")
SET(PKG_RELEASE "1")
SET(PKG_API_VERSION "1.16")
SET(PKG_AUTHOR "Mauro Calvi")
SET(PKG_NVR ${PACKAGE_NAME}-${PACKAGE_VERSION}-${PKG_RELEASE})
SET(PKG_BASE_URL
"https://dl.cloudsmith.io/public/alec-leamas/opencpn-plugins-unstable/raw/files")


INCLUDE("cmake/PluginSetup.cmake")
set(PLUGIN_NAME squiddio-plugin-${PKG_TARGET}-${PKG_TARGET_VERSION})

if (OCPN_FLATPAK)
find_program(TAR NAMES gtar tar)
if (NOT TAR)
message(FATAL_ERROR "tar not found, required for OCPN_FLATPAK")
endif ()
configure_file(
${CMAKE_SOURCE_DIR}/squiddio-plugin.xml.in
${CMAKE_CURRENT_BINARY_DIR}/${PLUGIN_NAME}.xml
)
add_custom_target(flatpak-build ALL
WORKING_DIRECTORY ${PROJECT_SOURCE_DIR}/flatpak
COMMAND /usr/bin/flatpak-builder --force-clean
${CMAKE_CURRENT_BINARY_DIR}/app
org.opencpn.OpenCPN.Plugin.squiddio.yaml
)
add_custom_target("flatpak-pkg")
add_custom_command(
TARGET flatpak-pkg
COMMAND ${TAR}
-czf ${PKG_NVR}_${PKG_TARGET_NVR}.tar.gz
--transform 's|.*/files/|squiddio-flatpak-${PACKAGE_VERSION}/|'
${CMAKE_CURRENT_BINARY_DIR}/app/files
)
return ()
endif()



#SET(CMAKE_BUILD_TYPE Debug)

# Prefer libGL.so to libOpenGL.so, see CMP0072
set(OpenGL_GL_PREFERENCE "LEGACY")

INCLUDE("cmake/PluginConfigure.cmake")
set(CMAKE_CXX_STANDARD 11)

SET(SRC_SQUIDDIO
src/squiddio_pi.h
Expand Down Expand Up @@ -140,6 +186,7 @@ SET(SRC_NMEA0183
)
INCLUDE_DIRECTORIES(nmea0183)
INCLUDE_DIRECTORIES(src/wxJSON)
INCLUDE_DIRECTORIES(api-16)

ADD_DEFINITIONS(-DTIXML_USE_STL)
IF(UNIX)
Expand All @@ -165,3 +212,7 @@ INCLUDE("cmake/PluginInstall.cmake")
INCLUDE("cmake/PluginLocalization.cmake")
INCLUDE("cmake/PluginPackage.cmake")

configure_file(
${CMAKE_SOURCE_DIR}/squiddio-plugin.xml.in
${CMAKE_CURRENT_BINARY_DIR}/${PLUGIN_NAME}.xml
)
Binary file added api-16/libopencpn.dll.a
Binary file not shown.
File renamed without changes.
Binary file added api-16/opencpn.lib
Binary file not shown.
67 changes: 41 additions & 26 deletions appveyor.yml
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
clone_folder: c:\project\squiddio_pi
shallow_clone: true
clone_folder: c:\project\opencpn\squiddio_pi
shallow_clone: false
clone_depth: 10

image:
- Visual Studio 2017

Expand All @@ -11,9 +13,10 @@ configuration: Release
test: OFF

install:
# VS2015 and earlier version - '"C:\Program Files\Microsoft SDKs\Windows\v7.1\Bin\SetEnv.cmd" /x86'
- call "C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Auxiliary\Build\vcvars32.bat"

# sent environment variables for wxWidgets
# set environment variables for wxWidgets
- set WXWIN=C:\wxWidgets-3.1.2
- set wxWidgets_ROOT_DIR=%WXWIN%
- set wxWidgets_LIB_DIR=%WXWIN%\lib\vc_dll
Expand All @@ -22,39 +25,51 @@ install:
# install dependencies:
- choco install poedit

- ps: Start-FileDownload http://opencpn.navnux.org/build_deps/nsis-3.04-setup.exe
- cmd: nsis-3.04-setup.exe /S

# Download and unzip wxwidgets
- ps: Start-FileDownload http://opencpn.navnux.org/build_deps/wxWidgets-3.1.2.7z
- cmd: 7z x wxWidgets-3.1.2.7z -o%WXWIN% > null

- set
# some debugging information
# - cmake --help
# - set Displays sensitive password!

# build wxWidgets - Disabled as we provide prebuilt WX to save time
#- cmd: cd %WXWIN%\build\msw\
#- cmd: nmake -f makefile.vc BUILD=release SHARED=1 CFLAGS=/D_USING_V120_SDK71_ CXXFLAGS=/D_USING_V120_SDK71_
#- cmd: nmake -f makefile.vc BUILD=debug SHARED=1 CFLAGS=/D_USING_V120_SDK71_ CXXFLAGS=/D_USING_V120_SDK71_

before_build:
- cd c:\project\squiddio_pi
- cd c:\project\opencpn\squiddio_pi
- mkdir build
- cd build
- ps: Start-FileDownload https://downloads.sourceforge.net/project/opencpnplugins/opencpn_lib/4.99.1405-vc141_xp/opencpn.lib
- ps: Start-FileDownload http://opencpn.navnux.org/build_deps/OpenCPN_buildwin-4.99a.7z
- cmd: 7z x -y OpenCPN_buildwin-4.99a.7z -oc:\project\squiddio_pi\buildwin
- cmake -T v141_xp ..
# - ps: Start-FileDownload http://opencpn.navnux.org/build_deps/OpenCPN_buildwin-4.99a.7z
# - cmd: 7z x -y OpenCPN_buildwin-4.99a.7z -oc:\project\opencpn\buildwin
- cmake -T v141_xp -DOCPN_CI_BUILD=ON ..

build_script:
- cmake --build . --target package --config release
# --target package doesn't work because of nsis not correctly installed
- cmake -G "Visual Studio 15 2017" ..
- cmake --build . --target install --config Release
- cmake --build . --target package --config Release
- choco install git
- python -m ensurepip
- python -m pip install -q setuptools
- python -m pip install -q cloudsmith-cli
- bash ../ci/appveyor-upload.sh

artifacts:
- path: 'build\*.exe'
name: installer
- path: 'build\*.exe'
name: installer

deploy:
description: 'release created by AppVeyor CI'
provider: GitHub
auth_token: '%GitHub_auth_token%'
artifact: installer,portable
draft: true
prerelease: true
on:
appveyor_repo_tag: true # deploy on tag push only
configuration: Release # Debug contains non-redist MS DLLs
- provider: GitHub
auth_token:
secure: VYYxNSdoxzJai29K/HmfO+VHsJ2QDvkYk2oa2pb4WrIRad+8/HANZ0lCn3GbgfHd
artifact: installer,portable
draft: true
prerelease: true
tag: $(APPVEYOR_REPO_TAG_NAME) # insert version name
on:
configuration: Release # Debug contains non-redist MS DLLs
APPVEYOR_REPO_TAG: true # deploy on tag push only
# branch: master # release from master branch only

Binary file removed build/Squiddio-Plugin_1.0.1.pkg
Binary file not shown.
49 changes: 49 additions & 0 deletions buildosx/Info.plist.in
Original file line number Diff line number Diff line change
@@ -0,0 +1,49 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>CFBundleDevelopmentRegion</key>
<string>English</string>
<key>CFBundleExecutable</key>
<string>${MACOSX_BUNDLE_EXECUTABLE_NAME}</string>
<key>CFBundleGetInfoString</key>
<string>${MACOSX_BUNDLE_INFO_STRING}</string>
<key>CFBundleIconFile</key>
<string>${MACOSX_BUNDLE_ICON_FILE}</string>
<key>CFBundleIdentifier</key>
<string>${MACOSX_BUNDLE_GUI_IDENTIFIER}</string>
<key>CFBundleInfoDictionaryVersion</key>
<string>6.0</string>
<key>CFBundleLongVersionString</key>
<string>${MACOSX_BUNDLE_LONG_VERSION_STRING}</string>
<key>CFBundleName</key>
<string>${MACOSX_BUNDLE_BUNDLE_NAME}</string>
<key>CFBundlePackageType</key>
<string>APPL</string>
<key>CFBundleShortVersionString</key>
<string>${MACOSX_BUNDLE_SHORT_VERSION_STRING}</string>
<key>CFBundleSignature</key>
<string>????</string>
<key>CFBundleVersion</key>
<string>${MACOSX_BUNDLE_BUNDLE_VERSION}</string>
<key>CSResourcesFileMapped</key>
<true/>
<key>LSRequiresCarbon</key>
<true/>
<key>NSHumanReadableCopyright</key>
<string>${MACOSX_BUNDLE_COPYRIGHT}</string>

<key>NSPrincipalClass</key>
<string>NSApplication</string>
<key>NSRequiresAquaSystemAppearance</key>
<false/>

<key>NSHighResolutionCapable</key>
<true/>

<key>NSAppTransportSecurity</key>
<dict>
<key>NSAllowsArbitraryLoads</key><true/>
</dict>
</dict>
</plist>
Loading