Added module for Boost detection and automatic build-up

This commit is contained in:
Radovan Bast
2015-09-07 17:45:31 +02:00
committed by Roberto Di Remigio
parent ea694c0bdd
commit 1780e4a189
44 changed files with 510 additions and 25 deletions

View File

@ -0,0 +1,25 @@
[project]
name: example
min_cmake_version: 2.8
[cxx]
source: ../../../modules/cxx.cmake
[python_interpreter]
source: ../../../modules/python_interpreter.cmake
[python_libs]
source: ../../../modules/python_libs.cmake
[custom]
source: custom/boost_version-components.cmake
[boost]
source: ../../../modules/boost/boost.cmake
fetch: http://sourceforge.net/projects/boost/files/boost/1.56.0/boost_1_56_0.zip
[default_build_paths]
source: ../../../modules/default_build_paths.cmake
[src]
source: ../../../modules/src.cmake

View File

@ -0,0 +1,2 @@
set(BOOST_MINIMUM_REQUIRED 1.56.0)
list(APPEND BOOST_COMPONENTS_REQUIRED python)

View File

@ -0,0 +1,5 @@
add_executable(example example.cpp)
if(BUILD_CUSTOM_BOOST)
add_dependencies(example custom_boost)
endif()
target_link_libraries(example ${Boost_PYTHON_LIBRARY} ${PYTHON_LIBRARIES})

View File

@ -0,0 +1,38 @@
#include <iostream>
#include <boost/python.hpp>
#include <boost/version.hpp>
int main()
{
using namespace boost::python;
std::cout << "Boost version: "
<< BOOST_VERSION / 100000
<< "."
<< BOOST_VERSION / 100 % 1000
<< "."
<< BOOST_VERSION % 100
<< std::endl;
try {
Py_Initialize();
object main_module((
handle<>(borrowed(PyImport_AddModule("__main__")))));
object main_namespace = main_module.attr("__dict__");
handle<> ignored(( PyRun_String( "print \"Hello, World\"",
Py_file_input,
main_namespace.ptr(),
main_namespace.ptr() ) ));
} catch( error_already_set ) {
PyErr_Print();
}
std::cout << "PASSED" << std::endl;
return 0;
}