c-mesh-api icon indicating copy to clipboard operation
c-mesh-api copied to clipboard

Feature multiplatform

Open jy-wirepas opened this issue 6 years ago • 6 comments

Add support for Darwin / macOS and Windows

Windows support is targeting Visual Studio 2015 or higher, so that the resulting binary is compatible with standard release of Python for Windows. This is required to create a Python wrapper for the C Mesh API library.

jy-wirepas avatar Jan 13 '20 06:01 jy-wirepas

Are there any tests you could add to travis to keep mac specific code in check?

https://docs.travis-ci.com/user/multi-os/

PFigs avatar Jan 13 '20 07:01 PFigs

Are there any tests you could add to travis to keep mac specific code in check?

A test compile on a Mac would be useful. macOS has make, clang and other C toolchain components as part of the Xcode command line tools. No extra software is needed to compile the C Mesh API library on macOS.

Once I implement the Python wrapper, it needs a recent Python 3 install from Homebrew. There are a couple of modules from PyPi (Cython, setuptools) that are also needed.

jy-wirepas avatar Jan 14 '20 03:01 jy-wirepas

Would it make sense to change the build system to use CMake instead? I have never used it but seems to be the solution for what we plan to achieve.

GwendalRaoul avatar Jan 14 '20 09:01 GwendalRaoul

Would it make sense to change the build system to use CMake instead? I have never used it but seems to be the solution for what we plan to achieve.

Perhaps. I've also not used CMake before. The C Mesh API library is simple enough that hand-written makefiles are feasible and that's why I did it for this feature, but at a later point we should probably consider adopting a better build system. Looks like CMake supports Visual Studio, Mac and Linux, so it seems like a good fit.

jy-wirepas avatar Jan 14 '20 13:01 jy-wirepas

Codacy Here is an overview of what got changed by this pull request:


Issues
======
+ Solved 3
           

Clones added
============
- lib/platform/posix/logger.c  1
- lib/platform/win32/logger.c  1
- lib/platform/win32/platform.c  2
- lib/platform/posix/platform.c  2
         

See the complete overview on Codacy

PFigs avatar Jan 18 '20 00:01 PFigs

Are there still plans to get multi platform support merged in?

karl-dau avatar Mar 18 '22 13:03 karl-dau