Skip to content
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

libmusicbrainz Visual Studio support #3

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

Conversation

Seltzer
Copy link

@Seltzer Seltzer commented Aug 8, 2012

Since I've tested these changes only in Visual Studio 2010, I've added comments about the risk posed by each (to compilation/operation in other environments).

  • Tweaking src/CMakeLists.txt to add some project-wide defines for the musicbrainz5 project - low risk as this applies only to VS
  • Adding a version of CQuery::WaitRequest() which works on Windows platforms - low risk as it (and its associated includes) are confined to _MSC_VER #ifdefs
  • Reinstating the MB_API #define which used to exist in an older version of musicbrainz. This is a slightly modified version which only has any effect when _WIN32 or _WIN64 are defined. The original version also took effect when GCC_HASCLASSVISIBILITY was defined. Low risk.
  • Annotating class declarations and MusicBrainz:: operator << function with MB_API to ensure they're exported from the musicbrainz5 DLL. Including defines.h where needed in a subset of these files to ensure that the MB_API macro is defined where it's used.
  • Annotating C functions in .inc files with MB_API. Low risk.
  • Replacing forward declaration of CMedium in MediumList.h with an include. Doing the same for RelationList.h, SecondaryTypeList.h and ISWCList.h. Small change, but medium risk as it affects all platforms.

…::WaitRequest() which works in Visual Studio.
… declaration of the following types with includes:

  - CMedium in MediumList.h
  - CRelation in RelationList.h
  - CSecondaryType in SecondaryTypeList.h
  - CISWC in ISWCList.h
* Adding MB_API __declspec macro to defines.h to ensure that musicbrainz5 will export a lib file in VS
* Annotating the following with MB_API:
  - Class declarations which need to be exported
  - MusicBrainz5::operator << defined in Entity.h
* Conditionally excluding the <strings.h> import in mbtest.cc in VS environments
…XMLPARSER_DLL for the musicbrainz5 project when using MSVC generators
@ghost ghost assigned adhawkins Aug 8, 2012
@adhawkins
Copy link
Member

I've made a comment on commit 7add92a, not sure if you'll be notified about that so I'm making another comment here.

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.

2 participants