seqbrowser/SequenceDescription.cpp
)
-SET(SOURCES
+SET(MAIN_SOURCES
mussagl.cpp)
SET(RCCS ../icons.qrc)
QT4_ADD_RESOURCES(RCC_SOURCE ${RCCS})
QT4_WRAP_CPP(MOC_SOURCES ${MOC_HEADERS})
+SET(SOURCES ${MOC_SOURCES} ${GUI_SOURCES} ${RCC_SOURCES} ${MAIN_SOURCES})
INCLUDE_DIRECTORIES(${PYTHON_INCLUDE_PATH}
${QT_INCLUDES})
+
ADD_LIBRARY(mussa_qui STATIC ${MOC_SOURCES} ${GUI_SOURCES} ${RCC_SOURCE})
TARGET_LINK_LIBRARIES(mussa_qui
mussa_core)
-ADD_EXECUTABLE(mussagl WIN32 MACOSX_BUNDLE ${SOURCES} )
+ADD_EXECUTABLE(mussagl WIN32 MACOSX_BUNDLE ${MAIN_SOURCES} )
# ${SOURCES} ${MOC_SOURCES} ${RCC_SOURCE} )
LINK_DIRECTORIES(${MUSSA_BINARY_DIR}/alg
${MUSSA_BINARY_DIR}/py)
${BOOST_FILESYSTEM_LIBRARY}
)
IF(USE_PYTHON)
+ SET_SOURCE_FILES_PROPERTIES(${SOURCES}
+ PROPERTIES
+ COMPILE_FLAGS "-DUSE_PYTHON=1"
+ )
TARGET_LINK_LIBRARIES(mussagl
${BOOST_PYTHON_LIBRARY}
optimized ${PYTHON_LIBRARIES}
#include <boost/filesystem/operations.hpp>
#ifdef USE_PYTHON
#include <boost/python.hpp>
+namespace py = boost::python;
#endif
using namespace boost::filesystem;
#ifdef USE_PYTHON
if (opts.runAsPythonInterpeter) {
Py_Initialize();
- boost::python::object main_module((boost::python::handle<>(boost::python::borrowed(PyImport_AddModule("__main__")))));
- boost::python::object main_namespace = main_module.attr("__dict__");
+ py::object main_module((py::handle<>(py::borrowed(PyImport_AddModule("__main__")))));
+ py::object main_namespace = main_module.attr("__dict__");
- boost::python::handle<> ignored((PyRun_String(
+ py::handle<> ignored((PyRun_String(
//"from IPython.Shell import IPShellEmbed\n"
//"shell = IPShellEmbed(['mussa'], '')\n",
//"import mussa\n"
main_namespace.ptr(),
main_namespace.ptr())
));
- boost::python::object square = main_module.attr("square");
- int result = boost::python::extract<int>(square(3));
+ py::object square = main_module.attr("square");
+ int result = py::extract<int>(square(3));
std::cout << "C++ has " << result << std::endl;
PyRun_InteractiveLoop(stdin, "mussa");
} else
qFatal(e.what());
}
#ifdef USE_PYTHON
- catch (boost::python::error_already_set e) {
+ catch (py::error_already_set e) {
PyErr_Print();
}
#endif /* USE_PYTHON */