Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Integration of RRPlugins with libRoadRunner #565

Closed
wants to merge 40 commits into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
40 commits
Select commit Hold shift + click to select a range
611bd53
Merge pull request #341 from sys-bio/develop
0u812 Aug 9, 2016
4e087a8
Merge branch 'master' of https://github.com/sys-bio/roadrunner into d…
debashish05 Jul 19, 2019
20320e5
Adding support of loading plugins
debashish05 Jul 22, 2019
f4b5690
testing in travis ci
debashish05 Jul 23, 2019
d042c8b
testing
debashish05 Jul 23, 2019
5e666eb
testing
debashish05 Jul 23, 2019
21d206c
testing
debashish05 Jul 23, 2019
57f17a9
plugins
debashish05 Jul 24, 2019
abaee6b
c wrapper some part
debashish05 Jul 24, 2019
6279b15
modficaation
debashish05 Jul 24, 2019
1378ba3
matching header path for linux
debashish05 Jul 24, 2019
0e1b7a1
matching header path for linux
debashish05 Jul 24, 2019
4710cda
build
debashish05 Jul 25, 2019
daa2333
Now can build plugins without building roadrunner
debashish05 Jul 31, 2019
616728d
Now can build plugins without building roadrunner
debashish05 Jul 31, 2019
4223d5d
Now can build plugins without building roadrunner
debashish05 Jul 31, 2019
fc08d71
remove uneccessary files
debashish05 Jul 31, 2019
8ad5b40
wrapper
debashish05 Aug 7, 2019
fbf00e4
adding rrplugins c api,differential evolution and checking
debashish05 Aug 18, 2019
efdd2e2
minor change for linux
debashish05 Aug 18, 2019
496db89
wrapper not working
debashish05 Aug 18, 2019
db8d2d3
wrapper not working
debashish05 Aug 18, 2019
b295bda
wrapper not working
debashish05 Aug 18, 2019
98b49ef
wrapper not working
debashish05 Aug 18, 2019
0bc5fd5
wrapper not working
debashish05 Aug 18, 2019
1d9d563
wrapper not working
debashish05 Aug 18, 2019
c5c7b9d
wrapping error
debashish05 Aug 18, 2019
4d6e991
rrplugin C API
debashish05 Aug 19, 2019
ab582aa
rrplugin C API
debashish05 Aug 19, 2019
fc94513
Uniform real number distribution
debashish05 Aug 19, 2019
f0c03a6
Support of c++11 in Travis ci
debashish05 Aug 19, 2019
6957c73
uniform random distribution
debashish05 Aug 19, 2019
0ab105a
Travis ci script update
debashish05 Aug 19, 2019
a26ce25
Uniform random distribution
debashish05 Aug 19, 2019
af4de84
Uniform random distribution
debashish05 Aug 19, 2019
ab1cc50
Uniform random distribution
debashish05 Aug 19, 2019
9672595
Uniform random distribution
debashish05 Aug 19, 2019
b49453b
Python wrapper
debashish05 Aug 25, 2019
eab41cb
Documentation of differential evolution
debashish05 Aug 25, 2019
b0d15c7
documentation
debashish05 Aug 26, 2019
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
6 changes: 2 additions & 4 deletions .travis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -5,15 +5,13 @@ language: cpp

notifications:
email:
- jkmtravisnotify@gmail.com
- debashish.roy1998@gmail.com

compiler: gcc

branches:
only:
- develop
- master

- plugins

before_install:
# print the distro information
Expand Down
2 changes: 1 addition & 1 deletion AUTHORS.txt
Original file line number Diff line number Diff line change
Expand Up @@ -39,4 +39,4 @@ Redesign of the integrator interface was done by

Wilbert Copeland

For more information visit libroadrunner.org
For more information visit libroadrunner.org
88 changes: 61 additions & 27 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -47,6 +47,56 @@ SET(CMAKE_MODULE_PATH ${PROJECT_SOURCE_DIR}/cmake/ ${CMAKE_MODULE_PATH})
# TODO: add some logic to automatically set based on compiler version
set(RR_USE_CXX11 FALSE CACHE BOOL "Set to TRUE to enable C++11 features")

#plugins
set ( RRP_PLUGINS_DIR site-packages/roadrunner CACHE PATH "Destination for plugins")

set(RR_PLUGINS_INSTALL_TO_RR_SITE_PACKAGES site-packages/roadrunner
CACHE PATH "Destination for telplugins_C_cpi")

set (TLP_GENERATED_HEADER_PATH ${CMAKE_CURRENT_BINARY_DIR}/rrplugins )

set ( TLP_BUILD_EXAMPLES OFF CACHE BOOL "Build examples" )

set ( TLP_BUILD_BETA_PLUGINS OFF CACHE BOOL "Build beta (unreleased) plugins" )

set ( TLP_BUILD_PLUGINS_PYTHON_API OFF CACHE BOOL "Build Plugins Python API")

# Plugin selection: Released

set (TLP_BUILD_TEST_MODEL_PLUGIN ON CACHE BOOL "Build the Test Model Plugin")
set (TLP_BUILD_ADD_NOISE_PLUGIN ON CACHE BOOL "Build the Add Noise Plugin")
set (TLP_BUILD_CHISQUARE_PLUGIN ON CACHE BOOL "Build the ChiSquare Plugin")
set (TLP_BUILD_LEVENBERG_MARQUARDT_PLUGIN ON CACHE BOOL "Build the Levenberg-Marquardt Plugin")
set (TLP_BUILD_NELDER_MEAD_PLUGIN ON CACHE BOOL "Build the Nelder-Mead Plugin")
set (TLP_BUILD_AUTO2000_PLUGIN ON CACHE BOOL "Build the Auto 2000 Plugin")

set(BUILD_PLUGINS_ONLY OFF CACHE BOOL "Build Plugin ONLY not roadrunner")

# Flags
if( MSVC )
add_definitions(
-DPOCO_NO_AUTOMATIC_LIBS
-DCRT_NONSTDC_NO_DEPRECATE
-D_CRT_SECURE_NO_WARNINGS # MS wanting you to change basically all standard C functions :(
)

# 4251 About exporting std classes
# 4018 Comparing unsigned/signed ints
# 4996 Deprecated functions
add_definitions( "/wd4251 /wd4018 /wd4996 /nologo" )

set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /EHsc ")
set (CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} ") #/FORCE:MULTIPLE")
endif()

if(BUILD_PLUGINS_ONLY)
message("Please make sure roadrunner is already installed")
link_directories(${CMAKE_INSTALL_PREFIX}/lib)

add_subdirectory(plugins)
return()
endif()

set(LLVM_INSTALL_PREFIX CACHE PATH "If LLVM was built using CMake, this is the location where it was installed")

# determine if LLVM was installed using CMake
Expand Down Expand Up @@ -132,7 +182,7 @@ OPTION (INSTALL_C_API "Generate C API"
OPTION (INSTALL_C_API_PYTHON "Package ctypes Python wrapper for the C API" ON )
OPTION (INSTALL_APPS "Build and install Apps" ON )
OPTION (INSTALL_EXAMPLES "Build and install Examples" OFF)
OPTION (INSTALL_STATIC_LIB "Install RoadRunner CXX static lib" OFF)
OPTION (INSTALL_STATIC_LIB "Install RoadRunner CXX static lib" ON)
OPTION (RR_BUILD_SHARED_CORE "Build RoadRunner Core Shared library" ON)
OPTION (BUILD_TESTS "Build the SBML C API test suite" OFF)
OPTION (INSTALL_SBML_MODELS "Install SBML Models" ON )
Expand All @@ -148,6 +198,8 @@ set(THIRD_PARTY_FOLDER ${CMAKE_CURRENT_SOURCE_DIR}/third_party)
set(exe_path ${PROJECT_BINARY_DIR}/bin)
set(lib_path ${PROJECT_BINARY_DIR}/lib)

set ( RRP_PLUGINS_DIR site-packages/roadrunner CACHE PATH "Destination for plugins")

message(STATUS "Using third party library prefix of ${THIRD_PARTY_INSTALL_FOLDER}")
message(STATUS "Installing RoadRunner to ${CMAKE_INSTALL_PREFIX}")

Expand Down Expand Up @@ -192,6 +244,7 @@ endif()
include_directories(
${RR_ROOT}
${THIRD_PARTY_FOLDER}
wrappers
)

# TODO libxml2 handling is excedingly hackish, it is all homegrown
Expand All @@ -203,14 +256,15 @@ if (WIN32)
else()
#UNIX
find_package(LibXml2 REQUIRED)
message(STATUS "found libxml2, include dir: ${LIBXML2_INCLUDE_DIR}")
include_directories(${LIBXML2_INCLUDE_DIR})
message(STATUS "found libxml2, include dir: ${LIBXML2_INCLUDE_DIR}")
include_directories(${LIBXML2_INCLUDE_DIR})
endif()

find_library(LIBSBML_LIBRARY sbml libsbml HINTS ${THIRD_PARTY_INSTALL_FOLDER}/lib)
find_library(LIBSBML_STATIC_LIBRARY sbml-static libsbml-static HINTS ${THIRD_PARTY_INSTALL_FOLDER}/lib ${THIRD_PARTY_INSTALL_FOLDER}/lib64)
find_path(LIBSBML_INCLUDE_DIR sbml/SBMLTypes.h HINTS ${THIRD_PARTY_INSTALL_FOLDER}/include)


# find libSBML deps

if(WIN32)
Expand Down Expand Up @@ -253,22 +307,6 @@ else()
)
endif (${BUILD_LLVM})

if(${MSVC})
add_definitions(
-DPOCO_NO_AUTOMATIC_LIBS
-DCRT_NONSTDC_NO_DEPRECATE
-D_CRT_SECURE_NO_WARNINGS #MS wanting you to changes basically all standard C functions :(
)

# 4251 About exporting std classes
# 4018 Comparing unsigned/signed ints
# 4996 Deprecated functions
add_definitions( "/wd4251 /wd4018 /wd4996 /nologo" )

SET (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /EHsc ")
SET (CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} ") #/FORCE:MULTIPLE")

endif()

#=== COMPILER FLAGS
#Common compiler definitions
Expand Down Expand Up @@ -322,30 +360,24 @@ message(STATUS "
-------------------------------------------------------------------------------
libRoadRunner Configuration Summary
-------------------------------------------------------------------------------

For up-to-date news and releases visit libroadrunner.org

Configured on host $ENV{COMPUTERNAME} ${HOSTNAME}
host OS ${CMAKE_SYSTEM_NAME}
host architecture ${CMAKE_SYSTEM_PROCESSOR}

General flags:
CC ${CMAKE_C_COMPILER}
CXX ${CMAKE_CXX_COMPILER}
CPPFLAGS ${BUILD_DEFINITIONS}
CFLAGS ${CMAKE_C_FLAGS}
CXXFLAGS ${CMAKE_CXX_FLAGS}
LDFLAGS ${CMAKE_EXE_LINKER_FLAGS}

Installation prefix: ${CMAKE_INSTALL_PREFIX}

Options:
With LLVM? ${BUILD_LLVM}
With legacy C? (DEP) ${BUILD_LEGACY_C}
Enable Python interface? ${BUILD_PYTHON}
Enable Java interface? ${BUILD_JAVA_INTERFACE}
Enable test suite? ${BUILD_TESTS}

Dependencies (packages marked with *** are required):
"
)
Expand All @@ -360,6 +392,8 @@ message( "" )
# We alway have to build the roadrunner core, everything depends on this
add_subdirectory(source)

add_subdirectory(plugins)

# install the rr_support if building legacy c
if(BUILD_LEGACY_C)
add_subdirectory(rr_support)
Expand Down Expand Up @@ -429,7 +463,7 @@ if(INSTALL_CXX_API)
COMPONENT rr_core)
endif(INSTALL_CXX_API)

install(FILES README.md LICENSE.txt AUTHORS.txt FUNDING.txt
install(FILES README.md LICENSE.txt AUTHORS.txt FUNDING.txt RRP_AUTHORS.txt RRP_FUNDING.txt
DESTINATION .
COMPONENT info
)
Expand Down Expand Up @@ -467,4 +501,4 @@ endif(WIN32)

if(WITH_CONDA_BUILDER)
install(FILES assets/roadrunner-64x64-red.png DESTINATION assets)
endif()
endif()
5 changes: 5 additions & 0 deletions RRP_AUTHORS.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
The Plugin Framework was designed and developed by

Totte Karlsson (totte@dunescientific.com) and H. M. Sauro (hsauro@uw.org)

For more information please visit http://tellurium.analogmachine.org
Loading