Git Product home page Git Product logo

Comments (4)

p-groarke avatar p-groarke commented on June 4, 2024

I've been working on this, you can see a branch which doesn't export or install ezxml and links privately here https://github.com/p-groarke/mx/tree/cmake_phase2

However, you have a bigger problem. Mx does indeed export ezxml symbols through its ABI. You can check with a symbol printer tool. On Windows, DUMPBIN /SYMBOLS, on macOS I believe it is nm or otool, not sure what options you give it.

The best way you can test and debug this, is to make a new project that uses and links to mx (a completely seperate project). Until you hide those symbols, you cannot remove ezxml from your install targets.

Note that this is exactly the sort of problem modules in c++20 are trying to fix.

Here are some ideas : make ezxml a header only library. Don't make ezxml a library at all.

from mx.

webern avatar webern commented on June 4, 2024

I have a fix for this that I'll open a PR with soon. I can see how some vestiges in the cmake file probably made this confusing. With my PR, cmake will treat all of the code as belonging to mx and I think it should fix the install_package issues.

One thing that would be very valuable would be to create a self-contained example binary, similar to the existing MxRead and MxWrite examples. But this one should have its own CMake file that relies on find_package Mx. Then in the CI runs we can add a stage that installs Mx and then builds the example to ensure that Mx can be used from a project that uses find_package( Mx ).

Also, I think while we're thrashing around it would be nice to rename the project from Mx to mx. But it's not important.

from mx.

webern avatar webern commented on June 4, 2024

If you have a chance, do a review of #79
It's dumb that the Github UI doesn't let me directly request a review. I hope they add the feature of being able to request a review from any username.

from mx.

p-groarke avatar p-groarke commented on June 4, 2024

Sounds great. I'll rebase over that and see if everything is still ok for my "consumer" project. Probably next w-e or something. If anything I did in my cmake branch makes sense, I'll send a pr just for that (configure_file for example is nice) :)

from mx.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.