When building musica, several warnings are generated
[ 89%] Building CXX object src/CMakeFiles/musica.dir/util.cpp.o
In file included from /Users/kshores/Documents/musica/src/util.cpp:3:
/Users/kshores/Documents/musica/include/musica/util.hpp:45:12: warning: 'CreateString' has C-linkage specified, but returns user-defined type 'String' which is incompatible with C [-Wreturn-type-c-linkage]
String CreateString(const char* value);
^
/Users/kshores/Documents/musica/include/musica/util.hpp:53:11: warning: 'NoError' has C-linkage specified, but returns user-defined type 'Error' which is incompatible with C [-Wreturn-type-c-linkage]
Error NoError();
^
/Users/kshores/Documents/musica/include/musica/util.hpp:60:11: warning: 'ToError' has C-linkage specified, but returns user-defined type 'Error' which is incompatible with C [-Wreturn-type-c-linkage]
Error ToError(const char* category, int code, const char* message);
^
3 warnings generated.
[ 90%] Building CXX object src/CMakeFiles/musica.dir/component_versions.cpp.o
[ 90%] Building CXX object src/CMakeFiles/musica.dir/__/version.cpp.o
[ 91%] Building CXX object src/CMakeFiles/musica.dir/micm/micm.cpp.o
In file included from /Users/kshores/Documents/musica/src/micm/micm.cpp:7:
In file included from /Users/kshores/Documents/musica/include/musica/micm.hpp:8:
/Users/kshores/Documents/musica/include/musica/util.hpp:45:12: warning: 'CreateString' has C-linkage specified, but returns user-defined type 'String' which is incompatible with C [-Wreturn-type-c-linkage]
String CreateString(const char* value);
^
/Users/kshores/Documents/musica/include/musica/util.hpp:53:11: warning: 'NoError' has C-linkage specified, but returns user-defined type 'Error' which is incompatible with C [-Wreturn-type-c-linkage]
Error NoError();
^
/Users/kshores/Documents/musica/include/musica/util.hpp:60:11: warning: 'ToError' has C-linkage specified, but returns user-defined type 'Error' which is incompatible with C [-Wreturn-type-c-linkage]
Error ToError(const char* category, int code, const char* message);
^
In file included from /Users/kshores/Documents/musica/src/micm/micm.cpp:7:
/Users/kshores/Documents/musica/include/musica/micm.hpp:31:12: warning: 'get_micm_version' has C-linkage specified, but returns user-defined type 'String' which is incompatible with C [-Wreturn-type-c-linkage]
String get_micm_version(void);
^
/Users/kshores/Documents/musica/include/musica/micm.hpp:47:12: warning: 'GetSpeciesPropertyString' has C-linkage specified, but returns user-defined type 'String' which is incompatible with C [-Wreturn-type-c-linkage]
String GetSpeciesPropertyString(MICM *micm, const char *species_name, const char *property_name, Error *error);
^
5 warnings generated.
[ 92%] Building CXX object src/CMakeFiles/musica.dir/tuvx/tuvx.cpp.o
In file included from /Users/kshores/Documents/musica/src/tuvx/tuvx.cpp:6:
In file included from /Users/kshores/Documents/musica/include/musica/tuvx.hpp:8:
/Users/kshores/Documents/musica/include/musica/util.hpp:45:12: warning: 'CreateString' has C-linkage specified, but returns user-defined type 'String' which is incompatible with C [-Wreturn-type-c-linkage]
String CreateString(const char* value);
^
/Users/kshores/Documents/musica/include/musica/util.hpp:53:11: warning: 'NoError' has C-linkage specified, but returns user-defined type 'Error' which is incompatible with C [-Wreturn-type-c-linkage]
Error NoError();
^
/Users/kshores/Documents/musica/include/musica/util.hpp:60:11: warning: 'ToError' has C-linkage specified, but returns user-defined type 'Error' which is incompatible with C [-Wreturn-type-c-linkage]
Error ToError(const char* category, int code, const char* message);
^
3 warnings generated.
When building musica, several warnings are generated
Refator the utils api so that these go away