From 71d295163ac024a42a8af362f7bd6f1930f9302d Mon Sep 17 00:00:00 2001 From: Peter Lemenkov Date: Mon, 12 Oct 2009 18:44:59 +0000 Subject: [PATCH] - Fixed linking against python. Signed-off-by: Peter Lemenkov git-svn-id: http://svn.berlios.de/svnroot/repos/sems/trunk@1529 8eb893ce-cfd4-0310-b710-fb5ebe64c474 --- CMakeLists.txt | 2 ++ apps/ivr/CMakeLists.txt | 6 ++++-- cmake/ivr.rules.txt | 6 ------ cmake/python.rules.txt | 7 +++++++ 4 files changed, 13 insertions(+), 8 deletions(-) delete mode 100644 cmake/ivr.rules.txt create mode 100644 cmake/python.rules.txt diff --git a/CMakeLists.txt b/CMakeLists.txt index 4dc82186..c69432be 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -180,8 +180,10 @@ ENDIF(SEMS_USE_OPENSSL) # Let's try to find Python development files FIND_PACKAGE(PythonLibs) IF(PYTHONLIBS_FOUND) + GET_FILENAME_COMPONENT(PYTHON_LD_PATH ${PYTHON_LIBRARIES} PATH) MESSAGE(STATUS "Found Python includes: ${PYTHON_INCLUDE_PATH}/Python.h") MESSAGE(STATUS "Found Python library: ${PYTHON_LIBRARIES}") + MESSAGE(STATUS "Found Python library path: ${PYTHON_LD_PATH}") MESSAGE(STATUS "Using Python: YES") ELSE(PYTHONLIBS_FOUND) MESSAGE(STATUS "Using Python: NO") diff --git a/apps/ivr/CMakeLists.txt b/apps/ivr/CMakeLists.txt index 568a028a..220ca82d 100644 --- a/apps/ivr/CMakeLists.txt +++ b/apps/ivr/CMakeLists.txt @@ -9,14 +9,16 @@ IvrSipRequest.cpp IvrUAC.cpp ) -INCLUDE_DIRECTORIES(${PYTHON_INCLUDE_PATH}) - IF(FLITE_FOUND) INCLUDE_DIRECTORIES(${FLITE_INCLUDE_DIR}/flite) ADD_DEFINITIONS(-DIVR_WITH_TTS) SET(sems_module_libs flite_cmu_us_kal flite_usenglish flite_cmulex flite) ENDIF(FLITE_FOUND) +INCLUDE_DIRECTORIES(${PYTHON_INCLUDE_PATH}) +EXECUTE_PROCESS(COMMAND python-config --libs OUTPUT_VARIABLE PYTHON_LIB_FLAGS OUTPUT_STRIP_TRAILING_WHITESPACE) +SET(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} ${PYTHON_LIB_FLAGS}") + SET(sems_module_name ivr) SET(ivr_files py/log) INCLUDE(${CMAKE_SOURCE_DIR}/cmake/module.rules.txt) diff --git a/cmake/ivr.rules.txt b/cmake/ivr.rules.txt deleted file mode 100644 index 8748e8d6..00000000 --- a/cmake/ivr.rules.txt +++ /dev/null @@ -1,6 +0,0 @@ -FOREACH (ivr_file ${ivr_files}) - EXECUTE_PROCESS(COMMAND python -c "import py_compile; py_compile.compile('${CMAKE_CURRENT_SOURCE_DIR}/${ivr_file}.py')") - EXECUTE_PROCESS(COMMAND python -O -c "import py_compile; py_compile.compile('${CMAKE_CURRENT_SOURCE_DIR}/${ivr_file}.py')") - INSTALL (FILES ${ivr_file}.py ${ivr_file}.pyc ${ivr_file}.pyo DESTINATION ${SEMS_EXEC_PREFIX}/${SEMS_LIBDIR}/sems/ivr) -ENDFOREACH() - diff --git a/cmake/python.rules.txt b/cmake/python.rules.txt new file mode 100644 index 00000000..3b118050 --- /dev/null +++ b/cmake/python.rules.txt @@ -0,0 +1,7 @@ +FUNCTION(PYTHON_SOURCES_COMPILE python_files sems_python_dir) + FOREACH (python_file ${python_files}) + EXECUTE_PROCESS(COMMAND python -c "import py_compile; py_compile.compile('${CMAKE_CURRENT_SOURCE_DIR}/${python_file}.py')") + EXECUTE_PROCESS(COMMAND python -O -c "import py_compile; py_compile.compile('${CMAKE_CURRENT_SOURCE_DIR}/${python_file}.py')") + INSTALL (FILES ${python_file}.py ${python_file}.pyc ${python_file}.pyo DESTINATION ${SEMS_EXEC_PREFIX}/${SEMS_LIBDIR}/sems/${sems_python_dir}) + ENDFOREACH() +ENDFUNCTION()