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

Add Visual C++ support (rebased) #76

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

Commits on May 13, 2016

  1. Configuration menu
    Copy the full SHA
    447ed9a View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    5e266d9 View commit details
    Browse the repository at this point in the history
  3. Visual C++ compatibility: fix C2375

    Visual C++ requires the declaration of methods to be exactly the same in the .h and .c files; otherwise it throws C2375.
    
    This is fixed by:
    - Defining PLIST_API_MSC in the public headers (via plist.h) which will add __declspec( dllexport ) to all method definitions in the public headers when compiling with Visual C++
    - Ensuring PLIST_API is always set to __declspec( dllexport ) in the private source files when compiling with Visual C++.
    
    Using PLIST_API in the public headers does not work, becuase its value depends on HAVE_FVISIBILITY, which may be defined in config.h, which is not a public header.
    qmfrederik committed May 13, 2016
    Configuration menu
    Copy the full SHA
    c6f191d View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    79a5f5d View commit details
    Browse the repository at this point in the history
  5. Visual C++ Compatibility: Configuration headers

    Add msc_config.h file which contains definitions for inline, __func__ and various definitions that make the Visual C++ compiler be compatible with the libplist codebase
    qmfrederik committed May 13, 2016
    Configuration menu
    Copy the full SHA
    a7f3ee2 View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    61d23b2 View commit details
    Browse the repository at this point in the history
  7. Configuration menu
    Copy the full SHA
    8829ea6 View commit details
    Browse the repository at this point in the history