Fixes csharp build for 64 bit systems (#1098)

* Fixes csharp build for 64 bit systems

* Need to support make and make install stages

* switch to an alternate strategy and get it working for the java wrappers too
this now builds for me on 64bit win10 with MSVC14

* add missing files from that last commit

* Hopefully fixes unix and osx builds while maintaining msvc builds

* Fixes mono builds, removes python check
This commit is contained in:
Brian Kelley
2016-10-14 09:40:05 -04:00
committed by Greg Landrum
parent 56234066b8
commit 092ab6ff12
4 changed files with 173 additions and 20 deletions

View File

@@ -2,7 +2,6 @@ project (GraphMolCSharp)
include_directories( ${RDKit_ExternalDir} )
# find the gmcs executables on non-windows systems:
if(NOT WIN32)
find_program(GMCS_EXE gmcs)
@@ -65,7 +64,7 @@ SWIG_ADD_MODULE(RDKFuncs "CSharp" GraphMolCSharp.i )
SWIG_LINK_LIBRARIES(RDKFuncs ${RDKit_Wrapper_Libs}
${RDKit_THREAD_LIBS} )
INSTALL(TARGETS RDKFuncs
INSTALL(TARGETS RDKFuncs
DESTINATION ${CMAKE_CURRENT_SOURCE_DIR} )

View File

@@ -1,21 +1,22 @@
/*
/*
* $Id: GraphMolJava.i 2141 2012-07-27 06:16:45Z glandrum $
*
* Copyright (c) 2010, Novartis Institutes for BioMedical Research Inc.
* All rights reserved.
*
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are
* met:
* met:
*
* * Redistributions of source code must retain the above copyright
* * Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
* * Redistributions in binary form must reproduce the above
* copyright notice, this list of conditions and the following
* disclaimer in the documentation and/or other materials provided
* copyright notice, this list of conditions and the following
* disclaimer in the documentation and/or other materials provided
* with the distribution.
* * Neither the name of Novartis Institutes for BioMedical Research Inc.
* nor the names of its contributors may be used to endorse or promote
* * Neither the name of Novartis Institutes for BioMedical Research Inc.
* nor the names of its contributors may be used to endorse or promote
* products derived from this software without specific prior written permission.
*
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
@@ -32,6 +33,25 @@
*/
%module RDKFuncs
#if defined(SWIGWORDSIZE64)
%{
// There's a problem with SWIG, 64bit windows, and modern VC++ versions
// This fine, fine piece of code fixes that.
// it's ok to think this is horrible, we won't mind
#ifdef _MSC_VER
#ifndef LONG_MAX
#include <limits.h>
#endif
#if LONG_MAX==INT_MAX
#define LONG_MAX (INT_MAX+1)
#endif
#endif
%}
#endif
/* Suppress the unimportant warnings */
#pragma SWIG nowarn=503,516
@@ -41,10 +61,17 @@
#include <boost/shared_array.hpp>
%}
// The actual definition isn't in the top level hpp file!
#define BOOST_NOEXCEPT
#define BOOST_NO_CXX11_RVALUE_REFERENCES
#define BOOST_NO_CXX11_NULLPTR
%include <boost/smart_ptr/shared_array.hpp>
/* Include the base types before anything that will utilize them */
%include "stdint.i"
#ifdef SWIGWIN
%include "../msvc_stdint.i"
#else
%include "../stdint.i"
#endif
%include "std_string.i"
%include "std_list.i"
%include "extend_std_vector.i"