Comments (4)
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.
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.
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.
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)
- Revive DocumentManagerTest.cpp
- Fix AppearanceData TODO in LayoutFunctions.cpp
- MeasureNumbering might be dead code
- api: support transpose element HOT 9
- How exactly am I supposed to setup and use mx in a project? HOT 2
- build-with-apple.sh is broken because ios simulator architectures have changed HOT 3
- in Xcode LLVM C++ standard library with c++11 support HOT 3
- PathRoot.h not found with Xcode MXTest Project HOT 3
- use mx in iOS app, get problem HOT 10
- Help building the library HOT 2
- Timing information of individual notes ? HOT 1
- Expand repeats ? HOT 1
- Implement segno reading HOT 2
- Add reading and writing of arpeggiate HOT 2
- Question about ordering of starts and stops for e.g. slurs HOT 2
- Any Benchmark on musicxml parsing?
- NonTraditional key : C key HOT 6
- Use RAII for the DocumentManager
- Add Encoding Supports Hints to ScoreData
- Use the typesystem to help with Tenths
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from mx.