Cruisers Forum
 


Reply
  This discussion is proudly sponsored by:
Please support our sponsors and let them know you heard about their products on Cruisers Forums. Advertise Here
 
Thread Tools Search this Thread Rate Thread Display Modes
Old 23-02-2014, 07:06   #46
Registered User
 
rgleason's Avatar

Join Date: Mar 2012
Location: Boston, MA
Boat: 1981 Bristol 32 Sloop
Posts: 17,633
Images: 2
Re: Plugin Distribution

Ah ha. I have win7x64
So win7x64 directory for 32bit is C:/Program Files (x86)/

Quote:
C:\s63_pi_build>"C:\Program Files\CMake 2.8\bin\cmake"
The system cannot find the path specified.

C:\s63_pi_build>
rgleason is offline   Reply With Quote
Old 23-02-2014, 07:07   #47
Marine Service Provider
 
bdbcat's Avatar

Join Date: Mar 2008
Posts: 7,401
Re: Plugin Distribution

Sean...

re:
Code:
Perhaps I should instead release statusbar for 3.3/3.4?
IMHO, PlugIns should build against the minimum version of the API that they actually need. That will keep them backward compatible to the maximum extent possible.

But we don't need to be dogmatic about this....

Dave
bdbcat is offline   Reply With Quote
Old 23-02-2014, 07:09   #48
Registered User
 
rgleason's Avatar

Join Date: Mar 2012
Location: Boston, MA
Boat: 1981 Bristol 32 Sloop
Posts: 17,633
Images: 2
Re: Plugin Distribution

I guess its a path problem of some sort

Code:
C:\s63_pi_build>"C:\Program Files (x86)\CMake 2.8\bin\cmake"
cmake version 2.8.9
Usage

  cmake [options] <path-to-source>
  cmake [options] <path-to-existing-build>

Options
  -C <initial-cache>          = Pre-load a script to populate the cache.
  -D <var>:<type>=<value>     = Create a cmake cache entry.
  -U <globbing_expr>          = Remove matching entries from CMake cache.
  -G <generator-name>         = Specify a makefile generator.
  -Wno-dev                    = Suppress developer warnings.
  -Wdev                       = Enable developer warnings.
  -E                          = CMake command mode.
  -i                          = Run in wizard mode.
  -L[A][H]                    = List non-advanced cached variables.
  --build <dir>               = Build a CMake-generated project binary tree.
  -N                          = View mode only.
  -P <file>                   = Process script mode.
  --find-package              = Run in pkg-config like mode.
  --graphviz=[file]           = Generate graphviz of dependencies.
  --system-information [file] = Dump information about this system.
  --debug-trycompile          = Do not delete the try_compile build tree.
                                Only useful on one try_compile at a time.
  --debug-output              = Put cmake in a debug mode.
  --trace                     = Put cmake in trace mode.
  --warn-uninitialized        = Warn about uninitialized values.
  --warn-unused-vars          = Warn about unused variables.
  --no-warn-unused-cli        = Don't warn about command line options.
  --check-system-vars         = Find problems with variable usage in system
                                files.
  --help-command cmd [file]   = Print help for a single command and exit.
  --help-command-list [file]  = List available listfile commands and exit.
  --help-commands [file]      = Print help for all commands and exit.
  --help-compatcommands [file]= Print help for compatibility commands.
  --help-module module [file] = Print help for a single module and exit.
  --help-module-list [file]   = List available modules and exit.
  --help-modules [file]       = Print help for all modules and exit.
  --help-custom-modules [file]= Print help for all custom modules and exit.
  --help-policy cmp [file]    = Print help for a single policy and exit.
  --help-policies [file]      = Print help for all policies and exit.
  --help-property prop [file] = Print help for a single property and exit.
  --help-property-list [file] = List available properties and exit.
  --help-properties [file]    = Print help for all properties and exit.
  --help-variable var [file]  = Print help for a single variable and exit.
  --help-variable-list [file] = List documented variables and exit.
  --help-variables [file]     = Print help for all variables and exit.
  --copyright [file]          = Print the CMake copyright and exit.
  --help,-help,-usage,-h,-H,/?= Print usage information and exit.
  --help-full [file]          = Print full help and exit.
  --help-html [file]          = Print full help in HTML format.
  --help-man [file]           = Print full help as a UNIX man page and exit.
  --version,-version,/V [file]= Show program name/version banner and exit.

Generators

The following generators are available on this platform:
  Borland Makefiles           = Generates Borland makefiles.
  MSYS Makefiles              = Generates MSYS makefiles.
  MinGW Makefiles             = Generates a make file for use with
                                mingw32-make.
  NMake Makefiles             = Generates NMake makefiles.
  NMake Makefiles JOM         = Generates JOM makefiles.
  Ninja                       = Generates build.ninja files (experimental).
  Unix Makefiles              = Generates standard UNIX makefiles.
  Visual Studio 10            = Generates Visual Studio 10 project files.
  Visual Studio 10 IA64       = Generates Visual Studio 10 Itanium project
                                files.
  Visual Studio 10 Win64      = Generates Visual Studio 10 Win64 project
                                files.
  Visual Studio 11            = Generates Visual Studio 11 project files.
  Visual Studio 11 ARM        = Generates Visual Studio 11 ARM project files.
  Visual Studio 11 Win64      = Generates Visual Studio 11 Win64 project
                                files.
  Visual Studio 6             = Generates Visual Studio 6 project files.
  Visual Studio 7             = Generates Visual Studio .NET 2002 project
                                files.
  Visual Studio 7 .NET 2003   = Generates Visual Studio .NET 2003 project
                                files.
  Visual Studio 8 2005        = Generates Visual Studio .NET 2005 project
                                files.
  Visual Studio 8 2005 Win64  = Generates Visual Studio .NET 2005 Win64
                                project files.
  Visual Studio 9 2008        = Generates Visual Studio 9 2008 project files.
  Visual Studio 9 2008 IA64   = Generates Visual Studio 9 2008 Itanium
                                project files.
  Visual Studio 9 2008 Win64  = Generates Visual Studio 9 2008 Win64 project
                                files.
  Watcom WMake                = Generates Watcom WMake makefiles.
  CodeBlocks - MinGW Makefiles= Generates CodeBlocks project files.
  CodeBlocks - NMake Makefiles= Generates CodeBlocks project files.
  CodeBlocks - Ninja          = Generates CodeBlocks project files.
  CodeBlocks - Unix Makefiles = Generates CodeBlocks project files.
  Eclipse CDT4 - MinGW Makefiles
                              = Generates Eclipse CDT 4.0 project files.
  Eclipse CDT4 - NMake Makefiles
                              = Generates Eclipse CDT 4.0 project files.
  Eclipse CDT4 - Ninja        = Generates Eclipse CDT 4.0 project files.
  Eclipse CDT4 - Unix Makefiles
                              = Generates Eclipse CDT 4.0 project files.


C:\s63_pi_build>
rgleason is offline   Reply With Quote
Old 23-02-2014, 07:17   #49
Marine Service Provider
 
bdbcat's Avatar

Join Date: Mar 2008
Posts: 7,401
Re: Plugin Distribution

Rick...

How about:

"C:\Program Files (x86)\CMake 2.8\bin\cmake" -G "Visual Studio 10"

Then you should be able to build within the VS2010 GUI.

Dave
bdbcat is offline   Reply With Quote
Old 23-02-2014, 07:58   #50
Registered User

Join Date: Jul 2010
Location: Hannover - Germany
Boat: Amel Sharki
Posts: 2,541
Re: Plugin Distribution

Quote:
Originally Posted by bdbcat View Post
Rick, et al...
2. Makes installers for Windows/Mac/Linux
Dave
I don't see any installer for Mac OS X here. The scripts make a dmg file which is not an installer but a compressed file for mounting at Mac OS X.

To make an installer one may use the Apple application PackageMaker or a third party app like Packages from WhiteBox - Packages

Packages also have a command line tool once the installer file (*.pkgproj) is created with this app.

I don't know any other solution.

Gerhard
CarCode is offline   Reply With Quote
Old 24-02-2014, 03:44   #51
Registered User
 
rgleason's Avatar

Join Date: Mar 2012
Location: Boston, MA
Boat: 1981 Bristol 32 Sloop
Posts: 17,633
Images: 2
Re: Plugin Distribution

1. Open MSVC++10
2. Tools >> Command Prompt
3. cd s63_pi_build
4. "C:\Program Files (x86)\CMake 2.8\bin\cmake" -G "Visual Studio 10"
Then you should be able to build within the VS2010 GUI.
5. Resulted in the following which built s63 separately from Opencpn!!!

Code:
Setting environment for using Microsoft Visual Studio 2010 x86 tools.

c:\program files (x86)\microsoft visual studio 10.0\vc\bin>cd C:\s63_pi_build

C:\s63_pi_build>"C:\Program Files (x86)\CMake 2.8\bin\cmake" -G "Visual Studio 1
0"
-- Check for working C compiler using: Visual Studio 10
-- Check for working C compiler using: Visual Studio 10 -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working CXX compiler using: Visual Studio 10
-- Check for working CXX compiler using: Visual Studio 10 -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- *** Building s63_pi ***
-- *** Build Architecture is
-- Found OpenGL: opengl32
-- Found OpenGL...
--     Lib: glu32opengl32
--     Include:
-- Found wxWidgets: TRUE
-- Found Gettext: C:/Program Files (x86)/Poedit/bin/msgmerge.exe
-- Configuring done
-- Generating done
-- Build files have been written to: C:/s63_pi_build

C:\s63_pi_build>
C:\s63_pi_build>
Thanks Dave.
rgleason is offline   Reply With Quote
Old 24-02-2014, 03:55   #52
Registered User
 
rgleason's Avatar

Join Date: Mar 2012
Location: Boston, MA
Boat: 1981 Bristol 32 Sloop
Posts: 17,633
Images: 2
Re: Plugin Distribution

Looked for s63_pi.dll and could not find one. So then I realized that a s63_pi.sln had been made and now I can open that MSVC Project file from within MSVC++10 and then will be able to"Build" the plugin hopefully.
Code:
1>------ Build started: Project: ZERO_CHECK, Configuration: Debug Win32 ------
1>  Checking Build System
1>  CMake does not need to re-run because C:/s63_pi_build/CMakeFiles/generate.stamp is up-to-date.
2>------ Build started: Project: s63-i18n, Configuration: Debug Win32 ------
3>------ Skipped Build: Project: s63-po-update, Configuration: Debug Win32 ------
3>Project not selected to build for this solution configuration 
4>------ Skipped Build: Project: s63-pot-update, Configuration: Debug Win32 ------
4>Project not selected to build for this solution configuration 
2>  Building Custom Rule C:/s63_pi_build/CMakeLists.txt
2>  CMake does not need to re-run because C:\s63_pi_build\CMakeFiles\generate.stamp is up-to-date.
2>  s63-i18n: Done.
5>------ Build started: Project: s63_pi, Configuration: Debug Win32 ------
5>  Building Custom Rule C:/s63_pi_build/CMakeLists.txt
5>  CMake does not need to re-run because C:\s63_pi_build\CMakeFiles\generate.stamp is up-to-date.
5>  Microsoft (R) 32-bit C/C++ Optimizing Compiler Version 16.00.40219.01 for 80x86
5>  Copyright (C) Microsoft Corporation.  All rights reserved.
5>  
5>  cl /c /IC:/s63_pi_build/src /IC:/s63_pi_build/src/cpl /IC:/s63_pi_build/src/dsa /IC:/s63_pi_build /I"C:/wxWidgets-2.8.12/lib/vc_dll/mswu" /I"C:/wxWidgets-2.8.12/include" /Zi /W3 /WX- /Od /Ob0 /Oy- /D WIN32 /D _WINDOWS /D _DEBUG /D __MSVC__ /D _CRT_NONSTDC_NO_DEPRECATE /D _CRT_SECURE_NO_DEPRECATE /D ocpnUSE_GL /D WXUSINGDLL /D UNICODE /D _UNICODE /D _DEBUG /D __WXDEBUG__ /D "CMAKE_INTDIR=\"Debug\"" /D s63_pi_EXPORTS /D _WINDLL /D _UNICODE /D UNICODE /Gm- /EHsc /RTC1 /MDd /GS /fp:precise /Zc:wchar_t /Zc:forScope /GR /Fo"s63_pi.dir\Debug\\" /Fd"C:/s63_pi_build/Debug/s63_pi.pdb" /Gd /TP /analyze- /errorReport:prompt src\s63_pi.cpp src\s63chart.cpp src\mygeom63.cpp src\cpl\cpl_conv.cpp src\cpl\cpl_csv.cpp src\cpl\cpl_error.cpp src\cpl\cpl_findfile.cpp src\cpl\cpl_path.cpp src\cpl\cpl_string.cpp src\cpl\cpl_vsisimple.cpp src\myiso8211\ddffielddefn.cpp src\myiso8211\ddfmodule.cpp src\myiso8211\ddfrecord.cpp src\myiso8211\ddfsubfielddefn.cpp src\myiso8211\ddffield.cpp src\myiso8211\ddfutils.cpp src\dsa\dsa_utils.cpp  /Zm1000 
5>  
5>  s63_pi.cpp
5>  s63chart.cpp
5>  mygeom63.cpp
5>  cpl_conv.cpp
5>  cpl_csv.cpp
5>  cpl_error.cpp
5>  cpl_findfile.cpp
5>  cpl_path.cpp
5>  cpl_string.cpp
5>  cpl_vsisimple.cpp
5>  ddffielddefn.cpp
5>  ddfmodule.cpp
5>  ddfrecord.cpp
5>  ddfsubfielddefn.cpp
5>  ddffield.cpp
5>  ddfutils.cpp
5>  dsa_utils.cpp
5>  Generating Code...
5>  Microsoft (R) 32-bit C/C++ Optimizing Compiler Version 16.00.40219.01 for 80x86
5>  Copyright (C) Microsoft Corporation.  All rights reserved.
5>  
5>  cl /c /IC:/s63_pi_build/src /IC:/s63_pi_build/src/cpl /IC:/s63_pi_build/src/dsa /IC:/s63_pi_build /I"C:/wxWidgets-2.8.12/lib/vc_dll/mswu" /I"C:/wxWidgets-2.8.12/include" /Zi /W3 /WX- /Od /Ob0 /Oy- /D WIN32 /D _WINDOWS /D _DEBUG /D __MSVC__ /D _CRT_NONSTDC_NO_DEPRECATE /D _CRT_SECURE_NO_DEPRECATE /D ocpnUSE_GL /D WXUSINGDLL /D UNICODE /D _UNICODE /D _DEBUG /D __WXDEBUG__ /D "CMAKE_INTDIR=\"Debug\"" /D s63_pi_EXPORTS /D _WINDLL /D _UNICODE /D UNICODE /Gm- /EHsc /RTC1 /MDd /GS /fp:precise /Zc:wchar_t /Zc:forScope /GR /Fo"s63_pi.dir\Debug\\" /Fd"C:/s63_pi_build/Debug/s63_pi.pdb" /Gd /TC /analyze- /errorReport:prompt src\tri.c src\dsa\mp_math.c src\dsa\sha1.c  /Zm1000 
5>  
5>  tri.c
5>  mp_math.c
5>  sha1.c
5>  Generating Code...
5>LINK : fatal error LNK1104: cannot open file 'E:\opencpn_cmake2010\Debug\opencpn.lib'
6>------ Build started: Project: ALL_BUILD, Configuration: Debug Win32 ------
6>  Building Custom Rule C:/s63_pi_build/CMakeLists.txt
6>  CMake does not need to re-run because C:\s63_pi_build\CMakeFiles\generate.stamp is up-to-date.
6>  Build all projects
7>------ Skipped Build: Project: PACKAGE, Configuration: Debug Win32 ------
7>Project not selected to build for this solution configuration 
8>------ Skipped Build: Project: INSTALL, Configuration: Debug Win32 ------
8>Project not selected to build for this solution configuration 
========== Build: 3 succeeded, 1 failed, 0 up-to-date, 4 skipped ==========
This makes me think I don't have the right file
Code:
5>LINK : fatal error LNK1104: cannot open file 'E:\opencpn_cmake2010\Debug\opencpn.lib'
But the one I used is dated 2/18/2014 and came from a recent git fetch / pull.
rgleason is offline   Reply With Quote
Old 24-02-2014, 04:03   #53
Registered User
 
rgleason's Avatar

Join Date: Mar 2012
Location: Boston, MA
Boat: 1981 Bristol 32 Sloop
Posts: 17,633
Images: 2
Re: Plugin Distribution

From C:\s63_pi_build\s63_pi.dir\Debug

s63_pi.log

There is no s63_pi.dll yet.
Attached Files
File Type: doc s63_pi.log.doc (7.4 KB, 61 views)
rgleason is offline   Reply With Quote
Old 24-02-2014, 06:31   #54
Marine Service Provider
 
bdbcat's Avatar

Join Date: Mar 2008
Posts: 7,401
Re: Plugin Distribution

Rick....

Ooops. There is a hardcoded path for my build system in the CMakeLists.txt file.

I
Code:
F(WIN32)
#  SET(OPENCPN_IMPORT_LIB "opencpn.lib")
  SET(OPENCPN_IMPORT_LIB "E:/opencpn_cmake2010/${CMAKE_CFG_INTDIR}/opencpn.lib")
  TARGET_LINK_LIBRARIES( ${PACKAGE_NAME} ${OPENCPN_IMPORT_LIB} )
#  ADD_DEPENDENCIES(${PACKAGE_NAME} ${PARENT})
ENDIF(WIN32)
You will need to adjust this manually.

SET(OPENCPN_IMPORT_LIB "C:{Your OCPN build base..}/${CMAKE_CFG_INTDIR}/opencpn.lib")


We need to figure out a way to make this step more automatic.....

Dave
bdbcat is offline   Reply With Quote
Old 24-02-2014, 08:27   #55
Registered User
 
rgleason's Avatar

Join Date: Mar 2012
Location: Boston, MA
Boat: 1981 Bristol 32 Sloop
Posts: 17,633
Images: 2
Re: Plugin Distribution

I am not at computer righ t now. But perhaps the path could be relative since file is in the.main directory and not in a sub dir. Something like ../?

Sent from my SCH-I545 using Cruisers Sailing Forum mobile app
rgleason is offline   Reply With Quote
Old 25-02-2014, 15:15   #56
Registered User
 
rgleason's Avatar

Join Date: Mar 2012
Location: Boston, MA
Boat: 1981 Bristol 32 Sloop
Posts: 17,633
Images: 2
Re: Plugin Distribution

Changed the following in cmakelists.txt at or near line 175:
Code:
IF(WIN32)
#  SET(OPENCPN_IMPORT_LIB "opencpn.lib")
#  SET(OPENCPN_IMPORT_LIB "E:/opencpn_cmake2010/${CMAKE_CFG_INTDIR}/opencpn.lib")
    SET(OPENCPN_IMPORT_LIB "C:/s63_pi_build/opencpn.lib")
1. Open MSVC++10
2. Tools >> Command Prompt
3. cd s63_pi_build
4. Then type "C:\Program Files (x86)\CMake 2.8\bin\cmake" -G "Visual Studio 10"
5. CMAke runs, no errors.
6. Then you should be able to build within the MSVS2010 GUI.
5. Resulted in the following which built s63 separately from Opencpn!!!



Code:
1>------ Build started: Project: ZERO_CHECK, Configuration: Debug Win32 ------
2>------ Build started: Project: s63-i18n, Configuration: Debug Win32 ------
3>------ Skipped Build: Project: s63-po-update, Configuration: Debug Win32 ------
3>Project not selected to build for this solution configuration 
4>------ Skipped Build: Project: s63-pot-update, Configuration: Debug Win32 ------
4>Project not selected to build for this solution configuration 
2>  s63-i18n: Done.
5>------ Build started: Project: ALL_BUILD, Configuration: Debug Win32 ------
5>  Build all projects
6>------ Skipped Build: Project: PACKAGE, Configuration: Debug Win32 ------
6>Project not selected to build for this solution configuration 
7>------ Skipped Build: Project: INSTALL, Configuration: Debug Win32 ------
7>Project not selected to build for this solution configuration 
========== Build: 3 succeeded, 0 failed, 1 up-to-date, 4 skipped ==========
Found the following files in
C:\s63_pi_build\Release
Attached Files
File Type: doc s63_pi .dll.doc (281.5 KB, 59 views)
File Type: doc s63_pi.exp.doc (12.4 KB, 70 views)
rgleason is offline   Reply With Quote
Old 30-03-2014, 23:26   #57
Registered User
 
rgleason's Avatar

Join Date: Mar 2012
Location: Boston, MA
Boat: 1981 Bristol 32 Sloop
Posts: 17,633
Images: 2
Re: Plugin Distribution

By happenstance I found the efforts of AlexandreRio to package all the plugins for OpenCpn. Earlier I referenced this work but could not find the link. My impression is that he did a fair amount of work to get this working. I hope that his work can provide some help to bdcat, hakan, sean and others who have been working on packaging the plugins. --perhaps AlexanderRio has used some techniques which solve problems that the current system does not address such as pathnames? -- just a suggestion. I am not skilled enough to read code in this way...

There is a git hub repository for this work. https://en.opensuse.org/OpenCPN-build-plugins

Sent from my SCH-I545 using Cruisers Sailing Forum mobile app
rgleason is offline   Reply With Quote
Old 06-05-2014, 03:30   #58
Registered User
 
rgleason's Avatar

Join Date: Mar 2012
Location: Boston, MA
Boat: 1981 Bristol 32 Sloop
Posts: 17,633
Images: 2
Re: Plugin Distribution

Sean has now created two Independent Compiling plugins that work for Linux (I believe) and Windows and with other's help Mac can included.

Watchdog_pi git clone https://github.com/seandepagnier/watchdog_pi.git
WMM_pi git clone git://github.com/seandepagnier/wmm_pi.git

He is working on a standalone compile of Weather_routing_pi which is almost working, find it here:
git clone git://github.com/seandepagnier/weather_routing_pi.git
I have been having some difficulties compiling it lately, although Sean has tried to fix it because grib_pi changed somehow, causing an error. See
http://www.cruisersforum.com/forums/...ml#post1532843

(I and others would like to know when grib_pi changed to cause this error, so we can revert back when necessary...which version of grib_pi will work with the most recent working version of weather_routing, for example?)

Bdcat, Pavel, since these standalone compiles depend on the user copying the appropriate version of Opencpn.lib:
Is "Opencpn.lib" dependent ONLY on the version number?
Is the "opencpn.lib" file the same for any OS (Linux, Windows7, Mac) of a given version?
Is the "opencpn.lib" file dependent on a given compiler?

===
I have a suggestion which is outlined here, that you probably did not see:
http://www.cruisersforum.com/forums/...ml#post1529498 which is copied below:


Sean wrote:
Quote:
The annoying part is copying the opencpn.lib file (or opencpn.dll for mingw). This is only needed on windows. I asked about having opencpn install this file to a known location.. but then it doesn't allow for building a plugin for an older opencpn if you have installed a newer one...
Maybe we should have a list of the Plugin API's with a downloadable link for the appropriate Opencpn version of opencpn.lib (for both MSVC and Mingw) and then maybe that could be downloaded depending on which compiler is being used?
See this page of the Developer Manual which needs updating!:
Different Plugin API Versions | Official OpenCPN Homepage
Quote:
PluginAPI Version Download Links
pi18 (1.8) = OpenCPN 3.0 = (Opencpn.lib MSVC) (Opencpn.lib Mingw)
pi19 (1.9) = OpenCPN 3.2 = (Opencpn.lib MSVC) (Opencpn.lib Mingw)
pi110 (1.10) = OpenCPN 3.3.x= (Opencpn.lib MSVC) (Opencpn.lib Mingw)
Then nobody would have to reconfigure git to compile a plugin with appropriate version, as above! The right opencpn.lib would be available right here and could be downloaded. Also moving forward, we would just add the opencpn.lib for the next Plugin_API etc.. keeping everyone on track.

Additonally, possibly have the opencpn.libs downloadable on the website, but also when a plugin is ready for user, the developer just puts the appropriate
opencpn.lib.mingw and
opencpn.lib.msvc
files in the download and then depending on if it is a mingw compile or msvc compile copy the appropriate file to opencpn.lib before executing the other cmake commands.
rgleason is offline   Reply With Quote
Old 17-11-2014, 10:33   #59
Registered User

Join Date: Mar 2010
Location: Normandy, France
Boat: Flush Poker, 8.25m (Point Barre)
Posts: 340
Re: Plugin Distribution

Today, Pavel (nohal) asked me https://github.com/SethDart/vdr_pi/pull/2 to update the VDR plugin so it can be built out of tree. I'd a previous request https://github.com/SethDart/vdr_pi/pull/1 by AlexandreRio with the same purpose.

I'm reluctant to #include "ocpn_plugin.h" in every project and we started discussing about this.

IMHO, it should not be included in the plugin source tree.

It should be included in a opencpn-devel package to be installed in /usr/include/opencpn/ (that's the way Alexandre did, unfortunately not for all platforms)

So, what should be the way to go?

I've read Dave's answer stating a plugin should be built on the smallest api version required.

Can we come with a light solution, for all platforms?

Can we have something like:
include/opencpn/api1.8/
include/opencpn/api1.9/
include/opencpn/api1.10/

Each would contain necessary files to compile plugins. That means:
- for all platforms:
ocpn_plugin.h
- for windows
opencpn.lib

PS: PluginConfigure.cmake, PluginInstall.cmake, PluginCurl.cmake, PluginLocalization.cmake and PluginPackage.cmake may also be included in this opencpn-devel package. That'd avoid fragmentation and unnecessary copies of these files.

Please comment
SethDart is offline   Reply With Quote
Old 17-11-2014, 11:08   #60
Registered User

Join Date: Feb 2010
Location: Tierra del Fuego
Boat: Phantom 19
Posts: 6,211
Re: Plugin Distribution

J-E...
To address the need for the lib files on Windows, I already keep the prebuilt .lib files at opencpnplugins - Browse /opencpn_lib at SourceForge.net and the README contains the instructions how to get them because I don't like the binary files in the source tree.
My concern is the maintainability of the dev packages - I can do it for DEB based Linux easily, same can be achieved for RPM. But for Mac and Windows someone would have to do it and I simply don't have the resources left.
I definitely don't say or think that it can't be done better, but if I have to do it, will leave it to the point when all the platforms will migrate to wx3 as at that point we will drop the backward compatibility anyway and will have the table clean for v2 API and other substantial breaking changes, shall they be needed.

Pavel
nohal is offline   Reply With Quote
Reply

Tags
plug, rib


Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are Off
Pingbacks are Off
Refbacks are Off


Similar Threads
Thread Thread Starter Forum Replies Last Post
OpenCPN General bdbcat OpenCPN 1918 20-04-2024 07:12
OpenCPN not recognising Virtual COM port LifePart2 OpenCPN 92 24-04-2014 10:08
OpenCPN Beta Version 3.3.814 Released bdbcat OpenCPN 64 06-10-2013 17:08
GRIB Weather Mark Ward OpenCPN 26 12-02-2012 21:33
Route Properties, Missing Functions James Baines OpenCPN 13 13-07-2011 04:31

Advertise Here


All times are GMT -7. The time now is 02:52.


Google+
Powered by vBulletin® Version 3.8.8 Beta 1
Copyright ©2000 - 2024, vBulletin Solutions, Inc.
Social Knowledge Networks
Powered by vBulletin® Version 3.8.8 Beta 1
Copyright ©2000 - 2024, vBulletin Solutions, Inc.

ShowCase vBulletin Plugins by Drive Thru Online, Inc.