Skip to content

libmusicbrainz Visual Studio support#3

Open
Seltzer wants to merge 9 commits into
metabrainz:masterfrom
Seltzer:master
Open

libmusicbrainz Visual Studio support#3
Seltzer wants to merge 9 commits into
metabrainz:masterfrom
Seltzer:master

Conversation

@Seltzer
Copy link
Copy Markdown

@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.

Seltzer added 5 commits July 23, 2012 01:22
…::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
Copy Markdown
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