forked from CarCode/Cocoa-OCPN
-
Notifications
You must be signed in to change notification settings - Fork 0
sbfreddie/Cocoa-OCPN
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
---------------------------------------------------------------------- 1. Overview ---------------------------------------------------------------------- a. Opencpn was built with the following objectives in mind. i. Intended use as primary navigation interface for vessels with full-time helm-visible navigational suites. Other tools may be better for offline route planning, tide and current prediction, online logging, etc. ii. Quick startup and shutdown. iii. Those and only those toolbar buttons really needed for daily operation. iv. Portability, thus wxWidgets core components. Currently tested and in production use on W98, XP, OS X, and Linux. v. Conventional ( i.e. popular and modern ) chart format support. In the real world, this means BSB format raster charts, and S57ENC format vector charts. And, of course, opencpn is all GPL'ed (or equivalent) Open Source code. Personal Note: Opencpn is in primary daily use as the navigation package aboard M/V Dyad, a 48 ft trawler yacht cruising from Newfoundland to the Bahamas yearly. -------------------------------------------------- -------------------- 2. CarCode's Own remarks. (In English) -------------------------------------------------- -------------------- Why this version OpenCPN at all? Initially, there was no version for Mac OS X for years. It was tedious to get the source code for OS X due to previous attempts to compile. The programmers wanted the knowledge gained from this from OpenCPN initially do not accept. Only later was it recognized that only newer versions of wxWidgets will work for Mac OS X, and that control via menus is not so bad. Many text strings in the source code were not translatable and the help system as well as other functions did not correspond to Apple's familiar environment. Other deviations from the original code are: a. This version of OCPN is a purely German version for Mac OS X (now macOS) Mojave (10.14) and Catalina (10.15). The macOS operating system should be supported as far as possible, including Mac menus, Mac help, etc. Only Mojave and Catalina will be supported, older versions will no longer be supported. Neither Big Sur nor Macs with M1 chips have been tested so far. Presumably it will not work for newer versions of macOS anytime soon, because Apple's OpenGL library soon will no longer be supported. (Deprecated) b. This version is based on the release version of wxWidgets (3.1.5) with corresponding dylibs from March 8th 2021. The integration of the libs as Static was discarded, as this unnecessarily inflated the entire package. c. In a further step, a binary version of OCPN for Mac introduced an automatic update service with Sparkle (Mac Only). d. Not all plugins are running smoothly so far. Some haven't been compiled, others still have errors. e. Except for the above problems, because of the plugins, only the dynamic libraries of Using wxWidgets, the plugin concept has other disadvantages: At runtime, the various locale files from OCPN and connected to the plugins so that similar strings with different translations lead to errors. f. The concept desired by the OCPN programmers, the plugins as Compiled stand-alone was again abandoned as it became larger Plugin files and only offers advantages if plugins with different OCPN versions should run. It also becomes more cumbersome to code Keeping track of changes in several places, e.g. with the wxJSON Files. In addition, the new concept of the OpenCPN original for updates from Plugins not adopted because still not mature and very much error-prone. This OpenCPN version is always included with the plugins delivered together that work reasonably well. The biggest change, however, is the use of Clang / LLVM with Xcode instead of the command line oriented Cmake version. Compiler: Xcode 12.4 Apple LLVM version 12.0.0 (clang-1200.32.28) Target: x86_64-apple-darwin19.6.0 SDK 10.15 Catalina Thread model: posix wxWidgets directive: Get sources from https://github.com/wxWidgets/wxWidgets.git branch master I use the SourceTree.app for Mac OS X. Create a new directory in the source tree, e.g. "build-cocoa-debug". Change to this directory in the terminal and configure with: ../configure --with-expat = builtin --enable-unicode --enable-shared --enable-debug --disable-compat28 --with-osx-cocoa --with-macosx-sdk = / Applications / Xcode .app / Contents / Developer / Platforms / MacOSX.platform / Developer / SDKs / MacOSX.sdk --without-liblzma --with-zlib = builtin --with-libpng = builtin --with-libjpeg = builtin --without- libtiff CXXFLAGS = -stdlib = libc ++ OBJCXXFLAGS = -stdlib = libc ++ LDFLAGS = -stdlib = libc ++ CXX = clang ++ CC = clang Then enter: make and finally typing: sudo make install The dylibs and headers are installed in: / usr / local / Lib / or /usr/local/include/wx-3.1 To get a standalone OpenCPN version, OpenCPN and the dylibs (in the Contents / Frameworks / directory or Contents / Plugins / directory) can be edited with "install_name_tool -change"! See batchwx.sh or Xcode Scripts. wxCurl was also compiled as a dynamic library in this way. NOTE: GitHub no longer easily accepts large files (> 100 MB). The file /data/gshhs/poly-f-1.dat with ~ 172 MB must therefore be fetched separately and copied to / data / gshhs /: https://topperdiek.de/dl/ocpn/poly-f-1.dat -------------------------------------------------- --------------------- March 10, 2021
About
My privat OCPN version for Mac OSX Mojave + Catalina
Resources
Stars
Watchers
Forks
Releases
No releases published
Packages 0
No packages published
Languages
- C 65.0%
- C++ 33.6%
- HTML 1.1%
- Makefile 0.1%
- CSS 0.1%
- Shell 0.1%