so_5_extra can be obtained from source-code repository via Subversion. For example:
svn export https://svn.code.sf.net/p/sobjectizer/repo/tags/so_5_extra/1.0.0 so_5_extra-1.0.0
so_5_extra can also be downloaded from the corresponding Files section on SourceForge. There are two types of achives with so_5_extra:
so_5_extra-1.0.0.tar.xz
);so_5_extra-1.0.0-full.tar.xz
).If so_5_extra is got from repository or downloaded as archive without dependecies inside then obtaining of dependecies could be necessary. It can be done via mxxruexternals command:
svn export https://svn.code.sf.net/p/sobjectizer/repo/tags/so_5_extra/1.0.0 so_5_extra-1.0.0 cd so_5_extra-1.0.0 mxxruexternals
Note: mxxruexternals
is a part of Mxx_ru gem. To use Mxx_ru it is necessary to install Ruby and then Mxx_ru gem (by gem install Mxx_ru
).
so_5_extra is a header-only library. There is no need to compile and link so_5_extra itself. Only INCLUDE path must be set appropriately.
Since v.1.2.1 so_5_extra is available via vcpkg library manager.
To install so_5_extra it is necessary to use vcpkg install
command:
vcpkg install so5extra
Please note that so_5_extra is identified as so5extra
in vcpkg repository.
To use so_5_extra it is necessary to add the following lines in your CMakeFiles.txt:
find_package(so5extra CONFIG REQUIRED) find_package(sobjectizer CONFIG REQUIRED)
And then it is necessary to link your target against SObjectizer's libraries:
target_link_libraries(your_target sobjectizer::SharedLib) target_link_libraries(your_target sobjectizer::so5extra)
For example: this is a simple CMakeFiles.txt file for so_5_extra's sample delivery_receipt
:
find_package(so5extra CONFIG REQUIRED) find_package(sobjectizer CONFIG REQUIRED) set(SAMPLE sample.so_5_extra.delivery_receipt) add_executable(${SAMPLE} main.cpp) target_link_libraries(${SAMPLE} sobjectizer::SharedLib) target_link_libraries(${SAMPLE} sobjectizer::so5extra) install(TARGETS ${SAMPLE} DESTINATION bin)
Since Nov 2018 so_5_extra can be used via Conan dependency manager. To use so_5_extra it is necessary to do the following steps.
Add the corresponding remote to your conan:
conan remote add stiffstream https://api.bintray.com/conan/stiffstream/public
It can be also necessary to add public-conan remote:
conan remote add public-conan https://api.bintray.com/conan/bincrafters/public-conan
Add so_5_extra to conanfile.txt of your project:
[requires] so5extra/1.2.1@stiffstream/testing
It also may be necessary to specify shared option for SObjectizer. For example, for build SObjectizer as a static library:
[options] sobjectizer:shared=False
Install dependencies for your project:
conan install SOME_PATH --build=missing
Please note that so_5_extra and SObjectizer should be added to your CMakeLists.txt via find_package command:
... include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) conan_basic_setup() find_package(sobjectizer CONFIG REQUIRED) find_package(so5extra CONFIG REQUIRED) ... target_link_libraries(your_target sobjectizer::SharedLib) # Or so_5_extra::StaticLib target_link_libraries(your_target sobjectizer::so5extra)
To build so_5_extra samples and tests it is necessary to use Ruby and Mxx_ru gem. For example:
svn export https://svn.code.sf.net/p/sobjectizer/repo/tags/so_5_extra/1.0.0 so_5_extra-1.0.0 cd so_5_extra-1.0.0 mxxruexternals cd dev ruby build.rb
All tests and samples will be built. If it is necessary to build only examples it can be done by:
svn export https://svn.code.sf.net/p/sobjectizer/repo/tags/so_5_extra/1.0.0 so_5_extra-1.0.0 cd so_5_extra-1.0.0 mxxruexternals cd dev ruby sample/so_5_extra/build_samples.rb
API Reference Manual can be build via doxygen. Just go into dev
subdirectory where Doxygen
file is located and run doxygen
. The generated documentation in HTML format will be stored into doc/html
subdir.