For those who care about the bad things I had to do to make this work, read on...
So, the major issues were causing problems was the libtcod-net-unmanaged library was not working as expecting.
The first issues was both mac and linux wanted to create a library called libtcod-net-unmanaged.so. I modified the make files to create to new files and used mono's dllmap to point the right platform to the right binary.
Once I fixed that, I was getting missing symbol errors. I had forgotten that libtcod.so doesn't have the C++ symbols under Linux. I linked against libtcodxx.so, copied that in, and fixed that.
The final issue, which took three of four hours to solve, invoked this bug in cmake. I had to use an internal "don't use this, it could break on new versions" macro to work around it. The code in question is:
IF(UNIX) SET_TARGET_PROPERTIES(${SWIG_MODULE_${CSHARP_LIB_NAME}_REAL_NAME} PROPERTIES LINK_FLAGS "-Wl,-rpath,.") ENDIF()
with SWIG_MODULE_${NAME}_REAL_NAME being the forbidden fruit.
No comments:
Post a Comment