Merge pull request #886 from madig/only-export-visible-symbols

CMake: hide symbols by default on non-MSVC, define export attribute