Skip to content

Commit

Permalink
Merge pull request #89 from sbmlteam/add_testsbxml
Browse files Browse the repository at this point in the history
Add testsbxml
  • Loading branch information
skeating committed May 23, 2023
2 parents 1f68e3b + 058570f commit d35818b
Show file tree
Hide file tree
Showing 62 changed files with 2,131 additions and 1,416 deletions.
2 changes: 1 addition & 1 deletion VERSION.txt
Original file line number Diff line number Diff line change
@@ -1 +1 @@
1.0.0
2.0.0
27 changes: 18 additions & 9 deletions deviser/bindings_files/templates/python/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -34,14 +34,23 @@ if (LIBSBML_REMOVE_WRAPPERS)
endforeach()
endif(LIBSBML_REMOVE_WRAPPERS)

if(WITH_LIBSBML)
<verbatim>
set(SWIG_EXTRA_FLAGS -DSWIGEXPORT
-DLIBSBML_CPP_NAMESPACE_BEGIN -DLIBSBML_CPP_NAMESPACE_END -DLIBSBML_CPP_NAMESPACE_QUALIFIER -DLIBSBML_CPP_NAMESPACE_USE
-DLIBNUML_CPP_NAMESPACE_BEGIN -DLIBNUML_CPP_NAMESPACE_END -DLIBNUML_CPP_NAMESPACE_QUALIFIER -DLIBNUML_CPP_NAMESPACE_USE
)
</verbatim>
endif()
if(WITH_LIBLX)
<verbatim>
set(SWIG_EXTRA_FLAGS -DSWIGEXPORT
-DLIBLX_CPP_NAMESPACE_BEGIN -DLIBLX_CPP_NAMESPACE_END -DLIBLX_CPP_NAMESPACE_QUALIFIER -DLIBLX_CPP_NAMESPACE_USE
-DLIBNUML_CPP_NAMESPACE_BEGIN -DLIBNUML_CPP_NAMESPACE_END -DLIBNUML_CPP_NAMESPACE_QUALIFIER -DLIBNUML_CPP_NAMESPACE_USE
)
</verbatim>
endif()

<verbatim>

set(SWIG_EXTRA_FLAGS -DSWIGEXPORT
-DLIBSBML_CPP_NAMESPACE_BEGIN -DLIBSBML_CPP_NAMESPACE_END -DLIBSBML_CPP_NAMESPACE_QUALIFIER -DLIBSBML_CPP_NAMESPACE_USE
-DLIBNUML_CPP_NAMESPACE_BEGIN -DLIBNUML_CPP_NAMESPACE_END -DLIBNUML_CPP_NAMESPACE_QUALIFIER -DLIBNUML_CPP_NAMESPACE_USE
)
</verbatim>
if(NOT UNIX)
set(SWIG_EXTRA_FLAGS ${SWIG_EXTRA_FLAGS} -DSWIGWIN -DSWIG_CSHARP_NO_WSTRING_HELPER )
endif()
Expand All @@ -57,7 +66,7 @@ ADD_CUSTOM_COMMAND(
-I${CMAKE_CURRENT_SOURCE_DIR}
<library_dependencies/>
<verbatim>
-I${LIBSBML_INCLUDE_DIR}/
-I${LINKED_INCLUDE_DIR}/
</verbatim>
-c++
-python
Expand Down Expand Up @@ -86,7 +95,7 @@ add_custom_target(binding_python_swig ALL DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/li
include_directories(${CMAKE_CURRENT_SOURCE_DIR})
include_directories(${CMAKE_CURRENT_SOURCE_DIR}/../swig)
<verbatim>
include_directories(${LIBSBML_INCLUDE_DIR})
include_directories(${LINKED_INCLUDE_DIR})
</verbatim>
<include_library_dependencies/>
include_directories(BEFORE ${CMAKE_CURRENT_SOURCE_DIR}/../../)
Expand Down
4 changes: 2 additions & 2 deletions deviser/bindings_files/templates/swig/ListWrapper.h
Original file line number Diff line number Diff line change
Expand Up @@ -2,9 +2,9 @@
#define ListWrapper_h

<verbatim>
#include <sbml/util/List.h>
#include <util/List.h>
#include <common/extern.h>
</verbatim>
#include <sbml/common/extern.h>

LIBSBML_CPP_NAMESPACE_USE

Expand Down
24 changes: 12 additions & 12 deletions deviser/bindings_files/templates/swig/lib.h
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@

#include <sbml/common/libsbml-version.h>
#include <sbml/common/SBMLOperationReturnValues.h>
#include <common/libsbml-version.h>
#include <common/SBMLOperationReturnValues.h>

#include <sbml/SBMLTypes.h>

Expand All @@ -18,16 +18,16 @@
#include <sbml/math/L3Parser.h>
#include <sbml/math/L3ParserSettings.h>

#include <sbml/xml/XMLAttributes.h>
#include <sbml/xml/XMLNamespaces.h>
#include <sbml/xml/XMLConstructorException.h>
#include <sbml/xml/XMLToken.h>
#include <sbml/xml/XMLNode.h>
#include <sbml/xml/XMLTriple.h>
#include <sbml/xml/XMLInputStream.h>
#include <sbml/xml/XMLOutputStream.h>
#include <sbml/xml/XMLError.h>
#include <sbml/xml/XMLErrorLog.h>
#include <xml/XMLAttributes.h>
#include <xml/XMLNamespaces.h>
#include <xml/XMLConstructorException.h>
#include <xml/XMLToken.h>
#include <xml/XMLNode.h>
#include <xml/XMLTriple.h>
#include <xml/XMLInputStream.h>
#include <xml/XMLOutputStream.h>
#include <xml/XMLError.h>
#include <xml/XMLErrorLog.h>
</verbatim>

<dependencies>
Expand Down
38 changes: 19 additions & 19 deletions deviser/bindings_files/templates/swig/lib.i
Original file line number Diff line number Diff line change
Expand Up @@ -30,12 +30,12 @@ LIBSBML_CPP_NAMESPACE_USE
#include "local.cpp"
%}

%import sbml/common/libsbml-namespace.h
%import sbml/common/extern.h
%import sbml/common/sbmlfwd.h
%import common/libsbml-namespace.h
%import common/extern.h
%import common/sbmlfwd.h
<verbatim>
%import sbml/common/extern.h
%import sbml/xml/XMLExtern.h
%import common/extern.h
%import xml/XMLExtern.h
</verbatim>

/**
Expand Down Expand Up @@ -296,25 +296,25 @@ typedef std::vector<XMLError*> XmlErrorStdVector;
%template(SBMLErrorStdVector) std::vector<SBMLError>;
typedef std::vector<SBMLError> SBMLErrorStdVector;

%include sbml/common/libsbml-version.h
%include sbml/common/SBMLOperationReturnValues.h
%include common/libsbml-version.h
%include common/SBMLOperationReturnValues.h
<verbatim>
%include sbml/common/libsbml-version.h
%include sbml/common/operationReturnValues.h
%include common/libsbml-version.h
%include common/operationReturnValues.h

%include sbml/SyntaxChecker.h
%include sbml/ExpectedAttributes.h

%include sbml/xml/XMLAttributes.h
%include sbml/xml/XMLConstructorException.h
%include sbml/xml/XMLNamespaces.h
%include sbml/xml/XMLToken.h
%include sbml/xml/XMLNode.h
%include sbml/xml/XMLTriple.h
%include sbml/xml/XMLOutputStream.h
%include sbml/xml/XMLInputStream.h
%include sbml/xml/XMLError.h
%include sbml/xml/XMLErrorLog.h
%include xml/XMLAttributes.h
%include xml/XMLConstructorException.h
%include xml/XMLNamespaces.h
%include xml/XMLToken.h
%include xml/XMLNode.h
%include xml/XMLTriple.h
%include xml/XMLOutputStream.h
%include xml/XMLInputStream.h
%include xml/XMLError.h
%include xml/XMLErrorLog.h

%include ASTNodes.i
</verbatim>
Expand Down
148 changes: 4 additions & 144 deletions deviser/cmake_files/templates/code/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -4,154 +4,14 @@
#
###############################################################################


include(CheckLibraryExists)
check_library_exists(m sqrt "" HAVE_LIBM)

# generate configuration for this system
configure_file(
${CMAKE_CURRENT_SOURCE_DIR}/common/libsbml-config-common.h.cmake
"${CMAKE_CURRENT_BINARY_DIR}/common/libsbml-config-common.h"
)

# Replace: @PACKAGE_VERSION@ and @LIBSBML_VERSION_NUMERIC@
configure_file (
"${CMAKE_CURRENT_SOURCE_DIR}/common/libsbml-version.h.cmake"
"${CMAKE_CURRENT_BINARY_DIR}/common/libsbml-version.h"
)

configure_file (
"${CMAKE_CURRENT_SOURCE_DIR}/common/libsbml-namespace.h.cmake"
"${CMAKE_CURRENT_BINARY_DIR}/common/libsbml-namespace.h"
)


###############################################################################
#
# mark header files for installation
#
foreach(dir annotation common compress conversion extension math units util validator xml )

file(GLOB header_files "${CMAKE_CURRENT_SOURCE_DIR}/${dir}/*.h")
install(FILES ${header_files} DESTINATION include/sbml/${dir})

endforeach(dir)

file(GLOB files "${CMAKE_CURRENT_SOURCE_DIR}/*.h")
install(FILES ${files} DESTINATION include/sbml)

# install generated headers
install(FILES
"${CMAKE_CURRENT_BINARY_DIR}/common/libsbml-version.h"
"${CMAKE_CURRENT_BINARY_DIR}/common/libsbml-config-common.h"
"${CMAKE_CURRENT_BINARY_DIR}/common/libsbml-namespace.h"
DESTINATION include/sbml/common)

###############################################################################
#
# specify include directories
#
include_directories(BEFORE ${CMAKE_CURRENT_SOURCE_DIR})
<verbatim>
include_directories(BEFORE ${LIBSBML_INCLUDE_DIR})
</verbatim>
<include_dependency_directories/>
include_directories(BEFORE ${CMAKE_CURRENT_SOURCE_DIR}/..)
include_directories(BEFORE ${CMAKE_CURRENT_BINARY_DIR}/..)

if (EXTRA_DEFS)
add_definitions(${EXTRA_DEFS})
endif()

###############################################################################
#
# Find all sources
#

foreach (directory common sbml )

set(dir ${directory})

if ("${directory}" STREQUAL "sbml")
set(dir ".")
endif()


file(GLOB temp
${dir}/*.cpp
${dir}/*.c
${dir}/*.h)

# create source group for IDEs
source_group(${directory} FILES ${temp})

# add to libsbml sources
set(LIBSBML_SOURCES ${LIBSBML_SOURCES} ${temp})

endforeach()

###############################################################################
#
# this is a directory level operation!
#
if (MSVC)
if (WITH_STATIC_RUNTIME)
foreach(flag_var
CMAKE_CXX_FLAGS CMAKE_CXX_FLAGS_DEBUG CMAKE_CXX_FLAGS_RELEASE
CMAKE_CXX_FLAGS_MINSIZEREL CMAKE_CXX_FLAGS_RELWITHDEBINFO
CMAKE_C_FLAGS CMAKE_C_FLAGS_DEBUG CMAKE_C_FLAGS_RELEASE
CMAKE_C_FLAGS_MINSIZEREL CMAKE_C_FLAGS_RELWITHDEBINFO)

if(${flag_var} MATCHES "/MD")
string(REGEX REPLACE "/MD" "/MT" ${flag_var} "${${flag_var}}")
endif(${flag_var} MATCHES "/MD")


endforeach(flag_var)
add_definitions( -D_MT)
endif(WITH_STATIC_RUNTIME)
endif(MSVC)

###############################################################################
#
# Build library
#

if (NOT LIBSBML_SKIP_SHARED_LIBRARY)

add_library (${LIBSBML_LIBRARY} SHARED ${LIBSBML_SOURCES} )

if (LIBSBML_SHARED_VERSION)
set_target_properties(${LIBSBML_LIBRARY} PROPERTIES COMPILE_DEFINITIONS "LIBSBML_EXPORTS=1")
set_target_properties(${LIBSBML_LIBRARY} PROPERTIES
SOVERSION ${LIBSBML_VERSION_MAJOR}
VERSION ${LIBSBML_VERSION_MAJOR}.${LIBSBML_VERSION_MINOR}.${LIBSBML_VERSION_PATCH})
endif()

<sbml>
target_link_libraries(${LIBREPLACE_LIBRARY} ${LIBSBML_LIBRARY} OTHER_LIBS ${EXTRA_LIBS})
</sbml>
# Build test files and add tests
#
if(WITH_CHECK)

INSTALL(TARGETS ${LIBSBML_LIBRARY}
RUNTIME DESTINATION bin
LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}
)
add_subdirectory(test)

endif()

add_library (${LIBSBML_LIBRARY}-static STATIC ${LIBSBML_SOURCES} )
if (WIN32 AND NOT CYGWIN)
# don't decorate static library
set_target_properties(${LIBSBML_LIBRARY}-static PROPERTIES COMPILE_DEFINITIONS "LIBSBML_STATIC=1")
endif(WIN32 AND NOT CYGWIN)

<sbml>
target_link_libraries(${LIBREPLACE_LIBRARY}-static ${LIBSBML_LIBRARY} OTHER_LIBS ${EXTRA_LIBS})
</sbml>

INSTALL(TARGETS ${LIBSBML_LIBRARY}-static
RUNTIME DESTINATION bin
LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}
)

0 comments on commit d35818b

Please sign in to comment.