Skip to content

Commit 3695b16

Browse files
authored
Merge pull request #135 from SynBioDex/develop
Merge for release 2.1.1
2 parents 8561ce4 + a46fa4f commit 3695b16

File tree

183 files changed

+123948
-4794
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

183 files changed

+123948
-4794
lines changed

CMakeLists.txt

Lines changed: 12 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -5,27 +5,27 @@ PROJECT( SBOL )
55
# set up folder structure
66
SET( SBOL_ROOT_DIR ${CMAKE_CURRENT_SOURCE_DIR} )
77
SET( SBOL_SOURCE_DIR ${SBOL_ROOT_DIR}/source )
8-
SET( SBOL_EXAMPLE_DIR ${SBOL_ROOT_DIR}/examples )
9-
SET( SBOL_TEST_DIR ${SBOL_ROOT_DIR}/tests )
8+
SET( SBOL_EXAMPLE_DIR ${SBOL_ROOT_DIR}/example )
9+
SET( SBOL_TEST_DIR ${SBOL_ROOT_DIR}/test )
1010
SET( SBOL_MANUAL_DIR ${SBOL_ROOT_DIR}/manual )
1111
SET( SBOL_WRAPPER_DIR ${SBOL_ROOT_DIR}/wrapper )
1212
SET( SBOL_BUILD_DIR ${SBOL_ROOT_DIR}/build )
1313
SET( SBOL_RELEASE_DIR ${SBOL_ROOT_DIR}/release )
14-
SET( EXECUTABLE_OUTPUT_PATH ${SBOL_RELEASE_DIR} )
15-
SET( LIBRARY_OUTPUT_PATH ${SBOL_RELEASE_DIR}/library )
14+
SET( SBOL_EXECUTABLE_OUTPUT_PATH ${SBOL_RELEASE_DIR} )
15+
SET( SBOL_LIBRARY_OUTPUT_PATH ${SBOL_RELEASE_DIR}/library )
16+
1617
IF (${CMAKE_SYSTEM_NAME} MATCHES "Windows")
17-
SET( HEADER_OUTPUT_PATH ${LIBRARY_OUTPUT_PATH}/include )
18+
SET( HEADER_OUTPUT_PATH ${SBOL_LIBRARY_OUTPUT_PATH}/include )
1819
ELSE()
19-
SET( HEADER_OUTPUT_PATH ${LIBRARY_OUTPUT_PATH}/sbol )
20+
SET( HEADER_OUTPUT_PATH ${SBOL_LIBRARY_OUTPUT_PATH}/sbol )
2021
ENDIF()
2122

2223
# set build options
23-
OPTION( SBOL_BUILD_STATIC "Build statically linked library" TRUE )
24+
#OPTION( SBOL_BUILD_STATIC "Build statically linked library" TRUE )
2425
OPTION( SBOL_BUILD_SHARED "Build dynamically linked library" FALSE )
2526
#OPTION( SBOL_BUILD_COMBINED "Build libSBOL and Raptor RDF archives combined" FALSE )
2627
#OPTION( SBOL_DEBUG_STATEMENTS "Add some print statements for debugging" FALSE )
2728
#OPTION( SBOL_BUILD_EXAMPLES "Build the example programs" FALSE )
28-
#OPTION( SBOL_BUILD_TESTS "Build the unit tests and example tests" FALSE )
2929
if(CMAKE_SIZEOF_VOID_P EQUAL 8)
3030
OPTION( SBOL_BUILD_32 "Build on x86 architecture" FALSE )
3131
OPTION( SBOL_BUILD_64 "Build on x64 architecture" TRUE)
@@ -38,6 +38,7 @@ OPTION( SBOL_BUILD_PYTHON3 "Generate Python version 3 wrapper using SWIG" FALSE
3838
OPTION( SBOL_BUILD_MANUAL "Generate SBOL documentation using Doxygen" FALSE )
3939
OPTION( SBOL_BUILD_JSON "Build JsonCpp library (for Linux users primarily)" FALSE)
4040
OPTION( SBOL_BUILD_OSX_DIST "For pySBOL distributions on Mac, target frameworks back to OSX 10.9" FALSE)
41+
OPTION( SBOL_BUILD_TESTS "Build the unit tests and example tests" FALSE )
4142

4243
# -fPIC from boost Python
4344
set (CMAKE_POSITION_INDEPENDENT_CODE TRUE)
@@ -62,9 +63,9 @@ ADD_SUBDIRECTORY( source )
6263
#ENDIF()
6364

6465
# build tests
65-
#IF( SBOL_BUILD_TESTS )
66-
# ADD_SUBDIRECTORY( tests )
67-
#ENDIF()
66+
IF( SBOL_BUILD_TESTS )
67+
ADD_SUBDIRECTORY( test )
68+
ENDIF()
6869

6970
# generate documentation
7071
IF( SBOL_BUILD_MANUAL )

Repression_Circuit.pdf

-1.56 MB
Binary file not shown.

manual/Doxyfile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2224,7 +2224,7 @@ CLASS_GRAPH = YES
22242224
# The default value is: YES.
22252225
# This tag requires that the tag HAVE_DOT is set to YES.
22262226

2227-
COLLABORATION_GRAPH = YES
2227+
COLLABORATION_GRAPH = NO
22282228

22292229
# If the GROUP_GRAPHS tag is set to YES then doxygen will generate a graph for
22302230
# groups, showing the direct groups dependencies.

manual/getting_started.dox

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -146,6 +146,7 @@
146146
/// $ g++ -std=c++11 -I../source -I/usr/local/include/raptor2 -L/usr/local/lib -lraptor2 -ljsoncpp -lcurl -lsbol client_app.cpp -o client_app
147147
/// $ ./client_app
148148
/// ```
149+
/// Here, -I flags specify paths to include folders with necessary header files. -L flag specifies path to the libSBOL library. -o flag specifies the file name of the output. Change the values according to your setup.
149150
///
150151
/// @section visual_studio Creating a Visual Studio project on Windows
151152
///

manual/installation.dox

Lines changed: 32 additions & 58 deletions
Original file line numberDiff line numberDiff line change
@@ -1,19 +1,17 @@
11
//////////////////////////////////////////////////////////////////////
22
/// @page installation Installation
33
///
4-
/// We provide two ways to install libSBOL: Using the binary installers or building from the source.
4+
/// On Windows, installation through binary installers is the simplest way to obtain libSBOL. The installer contains pre-compiled libSBOL library. Simply install it to whichever path you want and use it.
55
///
6-
/// For help configuring a client project, see @ref visual_studio or @ref xcode.
7-
///
8-
/// @section binary_installers Download Binary Installers
9-
///
106
/// [Get the latest binary installers](https://github.com/SynBioDex/libSBOL/releases/latest)
117
///
12-
/// Installation through binary installers is the simplest way to obtain libSBOL.
13-
///
14-
/// Installer contains pre-compiled libSBOL library. Simply install it to whichever path you want and use it.
15-
/// Currently, we only distribute binary installers for Windows and Mac OSX.
8+
/// On MacOSX, installation via the [Homebrew](http://brew.sh) package manager is easiest. Install libSBOL by running the following command in terminal:
9+
/// ```
10+
/// brew install homebrew/science/libsbol
11+
/// ```
12+
/// For help configuring a client project, see @ref visual_studio or @ref xcode.
1613
///
14+
/// Instructions for building from source are also provided below.
1715
///
1816
/// @section build_from_source Build from Source
1917
///
@@ -25,37 +23,27 @@
2523
/// * OPTIONAL: [Doxygen](http://www.stack.nl/~dimitri/doxygen/) for creating documentation
2624
/// * OPTIONAL: [SWIG](http://www.swig.org/) for generating Python wrappers
2725
///
28-
/// All the development has been done using "default native compilers" and MinGW on Windows or Unix makefiles on Mac/Linux. CMake can be used to generate projects for Eclipse, Visual Studio, XCode, etc.
26+
/// All the development has been done using "default native compilers" and Visual Studio on Windows or Unix makefiles on Mac/Linux. CMake can be used to generate projects for Eclipse, MinGW, XCode, etc.
27+
///
28+
/// For more details on running libSBOL on Mac, check @ref xcode. For more details on running libSBOL on Windows using Visual Studio, check @ref visual_studio.
2929
///
30-
/// If you don't want to use CMake to generate make files, following is an example command line for building the library on Mac:
31-
/// ```
32-
/// $ mkdir release
33-
/// $ cd release
34-
/// $ g++ -c ../source/*.cpp -I../source -I/usr/local/include/raptor2 -std=c++11
35-
/// $ ar rcs libsbol.a *.o
36-
/// ```
37-
/// For more details on running libSBOL on Mac, check @ref xcode.
3830
/// ![Screenshot of Cmake-gui in Windows](cmakescreen.png)
3931
///
4032
/// Windows
4133
/// -------
42-
/// 1. [Install git for Windows](https://git-scm.com/)
43-
///
44-
/// 2. [Install CMake for Windows](https://cmake.org/download/)
34+
/// 1. [Install git for Windows](https://git-scm.com/) and [CMake for Windows](https://cmake.org/download/).
4535
///
46-
/// 3. Clone the repository by running the following command in git application or command console or get the stable source [here](https://github.com/SynBioDex/libSBOL/releases/latest):
36+
/// 2. Clone the repository by running the following command in git application or command console or get the stable source [here](https://github.com/SynBioDex/libSBOL/releases/latest):
4737
/// ```
4838
/// git clone https://github.com/SynBioDex/libSBOL.git
4939
/// ```
5040
/// This will create a libSBOL directory with the source.
5141
///
52-
/// 4. Run CMake-gui. For "Where is the source code" enter the path to your libSBOL folder (not libSBOL/source folder). Choose build path by setting "Where to build the binaries". After setting the paths, click Configure, and choose what type of compiler you want to generate instructions for (e.g. Visual Studio 14 2015 for 32 bit and Visual Studio 14 2015 Win64 for 64 bit). See the screenshot above.
42+
/// 3. Run CMake-gui. For "Where is the source code" enter the path to your libSBOL folder (not libSBOL/source folder). Choose build path by setting "Where to build the binaries". After setting the paths, click Configure, and choose what type of compiler you want to generate instructions for (e.g. Visual Studio 14 2015 for 32 bit and Visual Studio 14 2015 Win64 for 64 bit). See the screenshot above.
5343
///
54-
/// 5. (optional) Set optional targets, e.g. examples, tests, manual, or Python wrapper. To add them check the appropriate boxes and then press Configure again. CMAKE_INSTALL_PREFIX is of particular interest, since it determines the path the output will be located. Building Python wrapper requires SWIG.
55-
///
56-
/// SBOL_BUILD_STATIC: Builds static archive. Enabled by default on Windows
44+
/// 4. (optional) Set optional targets, e.g. examples, tests, manual, or Python wrapper. To add them check the appropriate boxes and then press Configure again. CMAKE_INSTALL_PREFIX is of particular interest, since it determines the path the output will be located. Building Python wrapper requires SWIG.
5745
///
58-
/// SBOL_BUILD_SHARED: Currently unavailable on Windows
46+
/// SBOL_BUILD_SHARED: Builds a dynamically linked library. The default is static.
5947
///
6048
/// SBOL_BUILD_32: Build for 32-bit architectures
6149
///
@@ -68,9 +56,10 @@
6856
/// If you want to try either 32 bit or 64 bit version of libSBOL, make sure you are using the right type of compiler. (Visual Studio 14 2015 vs Visual Studio 14 2015 Win64).
6957
/// For Python bindings, you need SWIG and Python libraries. CMake will try to look it up for you, but if it cannot, specify the path manually.
7058
///
71-
/// 6. Once it's all set, click Generate to create the compiler instructions.
59+
/// 5. Once it's all set, click Generate to create the compiler instructions.
7260
///
73-
/// 7. The last step is to build the libraries. We recommend minGW or Visual Studio 2015 for this purpose. When building, make sure that you are building for 'release' target.
61+
/// 6. The last step is to build the libraries. We recommend Visual Studio 2015 or minGW for this purpose. When building, make sure that you are building for 'release' target.
62+
/// When using Visual Studio, open 'SBOL.sln' under 'build' folder. On the Solution Explorer to the right, right click INSTALL and press Build. The library will be located under the folder you specified in CMAKE_INSTALL_PREFIX.
7463
/// When using minGW, first go to 'build' folder and run the compiler by using
7564
/// ```
7665
/// mingw32-make
@@ -80,9 +69,8 @@
8069
/// mingw32-make install
8170
/// ```
8271
/// You will need administrator privileges for a make install.
83-
/// When using Visual Studio, open 'SBOL.sln' under 'build' folder. On the Solution Explorer to the right, right click INSTALL and press Build. The library will be located under the folder you specified in CMAKE_INSTALL_PREFIX.
8472
///
85-
/// 8. (optional) For Python bindings, copy and paste the sbol folder with Python bindings to your local Python site-packages folder.
73+
/// 7. (optional) For Python bindings, copy and paste the sbol folder with Python bindings to your local Python site-packages folder.
8674
///
8775
///
8876
/// Mac
@@ -95,24 +83,17 @@
9583
/// ```
9684
/// This will create a libSBOL directory with the source.
9785
///
98-
/// 3. LibSBOL depends on the RaptorRDF library which can be obtained using the [Homebrew](brew.sh) package manager. Install Raptor by running the following command in terminal:
86+
/// 3. LibSBOL depends on the RaptorRDF library which can be obtained using the [Homebrew](http://brew.sh) package manager. Install Raptor by running the following command in terminal:
9987
/// ```
10088
/// brew install raptor jsoncpp libxslt curl
10189
/// ```
10290
/// Homebrew isn’t the only option. Other package installers are MacPorts and Fink.
10391
///
104-
/// 4. You can use the cmake utility on Mac as well. One important difference about CMake on Mac versus Windows is that there is no GUI application. However, there is an interactive utility that runs in a terminal window.
105-
/// ```
106-
/// ccmake .
107-
/// ```
108-
///
109-
/// 5. For "Where is the source code" enter the path to your libSBOL folder (not libSBOL/source folder). Choose build path by setting "Where to build the binaries". After setting the paths, click Configure, and choose what type of compiler you want to generate instructions for.
92+
/// 4. Run CMake-gui (type cmake in terminal or run cmake app). For "Where is the source code" enter the path to your libSBOL folder (not libSBOL/source folder). Choose build path by setting "Where to build the binaries". After setting the paths, click Configure, and choose what type of compiler you want to generate instructions for.
11093
///
111-
/// 6. (optional) Set optional targets, e.g. examples, tests, manual, or Python wrapper. To add them check the appropriate boxes and then press Configure again. CMAKE_INSTALL_PREFIX is of particular interest, since it determines the path the output will be located. By default on Mac OSX, the library will be installed to /usr/local/lib. Building Python wrapper requires SWIG.
112-
///
113-
/// SBOL_BUILD_STATIC: Builds static archive.
94+
/// 5. (optional) Set optional targets, e.g. examples, tests, manual, or Python wrapper. To add them check the appropriate boxes and then press Configure again. CMAKE_INSTALL_PREFIX is of particular interest, since it determines the path the output will be located. By default on Mac OSX, the library will be installed to /usr/local/lib. Building Python wrapper requires SWIG.
11495
///
115-
/// SBOL_BUILD_SHARED: Builds a dynamically linked library
96+
/// SBOL_BUILD_SHARED: Builds a dynamically linked library. The default is static.
11697
///
11798
/// SBOL_BUILD_32: Build for 32-bit architectures.
11899
///
@@ -124,9 +105,9 @@
124105
///
125106
/// For Python bindings, you need SWIG and Python libraries. CMake will try to look it up for you, but if it cannot, specify the path manually.
126107
///
127-
/// 7. Once it's all set, click Generate to create the compiler instructions.
108+
/// 6. Once it's all set, click Generate to create the compiler instructions.
128109
///
129-
/// 8. In terminal, go to the build directory and run:
110+
/// 7. In terminal, go to the build directory and run:
130111
/// ```
131112
/// make
132113
/// ```
@@ -154,24 +135,17 @@
154135
/// sudo apt-get install swig python-dev
155136
/// ```
156137
///
157-
/// 3. (optional) To update the documentation you will need Doxygen. To install run:
158-
/// ```
159-
/// sudo apt-get install doxygen-gui
160-
/// ```
161-
///
162-
/// 4. Clone the repository by running the following command in terminal or get the stable source [here](https://github.com/SynBioDex/libSBOL/releases/latest).
138+
/// 3. Clone the repository by running the following command in terminal or get the stable source [here](https://github.com/SynBioDex/libSBOL/releases/latest).
163139
/// ```
164140
/// git clone https://github.com/SynBioDex/libSBOL.git
165141
/// ```
166142
/// This will create a libSBOL directory with the source.
167143
///
168-
/// 5. Run CMake-gui (type cmake-gui or cmake-qt-gui in terminal). For "Where is the source code" enter the path to your libSBOL folder (not libSBOL/source folder). Choose build path by setting "Where to build the binaries". After setting the paths, click Configure, and choose what type of compiler you want to generate instructions for. See the screenshot above.
144+
/// 4. Run CMake-gui (type cmake-gui or cmake-qt-gui in terminal). For "Where is the source code" enter the path to your libSBOL folder (not libSBOL/source folder). Choose build path by setting "Where to build the binaries". After setting the paths, click Configure, and choose what type of compiler you want to generate instructions for. See the screenshot above.
169145
///
170-
/// 6. (optional) Set optional targets, e.g. examples, tests, manual, or Python wrapper. To add them check the appropriate boxes and then press Configure again. CMAKE_INSTALL_PREFIX is of particular interest, since it determines the path the output will be located. Building Python wrapper requires SWIG.
171-
///
172-
/// SBOL_BUILD_STATIC: Builds static archive.
146+
/// 5. (optional) Set optional targets, e.g. examples, tests, manual, or Python wrapper. To add them check the appropriate boxes and then press Configure again. CMAKE_INSTALL_PREFIX is of particular interest, since it determines the path the output will be located. Building Python wrapper requires SWIG.
173147
///
174-
/// SBOL_BUILD_SHARED: Builds a dynamically linked library
148+
/// SBOL_BUILD_SHARED: Builds a dynamically linked library. The default is static.
175149
///
176150
/// SBOL_BUILD_32: Build for 32-bit architectures.
177151
///
@@ -187,9 +161,9 @@
187161
/// sudo apt-get python3.5-dev
188162
/// ```
189163
///
190-
/// 7. Once it's all set, click Generate to create the compiler instructions.
164+
/// 6. Once it's all set, click Generate to create the compiler instructions.
191165
///
192-
/// 8. The last step is to build the libraries. In terminal, first go to 'build' folder and run the compiler by using:
166+
/// 7. The last step is to build the libraries. In terminal, first go to 'build' folder and run the compiler by using:
193167
/// ```
194168
/// make install
195169
/// ```
@@ -199,7 +173,7 @@
199173
/// ```
200174
/// to compile. The library will be located under the folder you specified in CMAKE_INSTALL_PREFIX.
201175
///
202-
/// 9. (optional) For Python bindings, you might want to add the path of Python bindings as part of PYTHONPATH environment. To do so, run:
176+
/// 8. (optional) For Python bindings, you might want to add the path of Python bindings as part of PYTHONPATH environment. To do so, run:
203177
/// ```
204178
/// export PYTHONPATH=$PYTHONPATH:/path-to-your-Python-bindings
205179
/// ```

0 commit comments

Comments
 (0)