Skip to content

Adding updates #16

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

Open
wants to merge 58 commits into
base: master
Choose a base branch
from
Open

Adding updates #16

wants to merge 58 commits into from

Conversation

bdcbqa314159
Copy link

In this pull request we do address these topics:

  • Updating support for new excel API, we are using the latest available.
  • Updating compiler and c++ standard, we are using v143, c++20 and Visual Studio 2022 v17.
    These two updates above allow to close the 3 current issues noticed.

We also add new features:

  • Adding cmake support for cross-platform compilation, currently the front end of this application is only excel for windows build. This feature will allow to add new front ends like python embedding for unix systems.
  • Adding new structure for the code, separation of the core library, the excel sdk api and the excel interface for the core library. Currently the core library and the excel sdk api are static and the excel interface stays at xll (dynamic library for microsoft excel), in the near future I would like to generate a dynamic library for the core library as well. I don't see the need to go dynamic for the excel sdk api.
  • Adding the possibility to dynamically load the libraries produced by this repository, this will allow the users to develop their own language binding linked to the api of the core library once this will be a dynamic library.
  • Adding backwards compatibility for the windows xll, this has been checked for v142 and v141 toolsets and always under c++ std 20, a tiny .bat has been created to build these different configurations.
  • Adding support for builds under different operating systems: gcc in linux, clang-llvm and clang-macos-version in macos.
  • Adding more structure to the files. Separation of the code source, includes and also the files and binaries. Remark that we got rid of the original sln dependency as we can now build the code from terminal under unix systems and under command prompt/powershell on windows as long the developer environment under visual studio has been loaded. The usage of the command:
cmake .. -G "Visual Studio 17 2022" -A x64

which is indicated into the NOTES.md will generate the solution file linked with the tree structure of the code and the different parameters chosen just as the original sln file - this is suitable for development. For building we can then either build via command line either by using the vs IDE.

I am currently working for a python front end which will offer a nice interaction under unix system and add a new interface in windows.
I would like also to add a cross-platform environment for unit tests which will be independent of the interface chosen.

bdcbqa314159 and others added 30 commits April 21, 2025 14:29
Adding cmake support one step at a time
Adding cmake structure for the excel interface
…structure

Adding the common ground for cross-platform development
bdcbqa314159 and others added 28 commits April 21, 2025 19:48
… because the library is linked to the interface
…bility

Make sure that the changes are backwards compatibles
@bdcbqa314159
Copy link
Author

I do understand that there are several changes - probably we could create a develop branch as well so this pull request could merge to this branch or use this pull request to update directly master. In any case I am open to discussion. Please note that in the history there are several internal pull requests, each of them has the stamp of the new additions/modifications I have made, please do refer to them in case of doubt. Many thanks for all.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant