libmusicbrainz icon indicating copy to clipboard operation
libmusicbrainz copied to clipboard

libmusicbrainz Visual Studio support

Open Seltzer opened this issue 12 years ago • 1 comments

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 avatar Aug 08 '12 12:08 Seltzer

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

adhawkins avatar Aug 08 '12 19:08 adhawkins