diff options
Diffstat (limited to 'cpp/bindings/CMakeLists.txt')
-rw-r--r-- | cpp/bindings/CMakeLists.txt | 67 |
1 files changed, 67 insertions, 0 deletions
diff --git a/cpp/bindings/CMakeLists.txt b/cpp/bindings/CMakeLists.txt new file mode 100644 index 0000000000..3d44ef01cd --- /dev/null +++ b/cpp/bindings/CMakeLists.txt @@ -0,0 +1,67 @@ +# +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, +# software distributed under the License is distributed on an +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +# KIND, either express or implied. See the License for the +# specific language governing permissions and limitations +# under the License. +# + + +include(FindSWIG) +include(UseSWIG) +include(FindRuby) +include(FindPythonLibs) +include(FindPerlLibs) + +set (SWIG_MINIMUM_VERSION "1.3.32") + +if (SWIG_FOUND) + if (${SWIG_VERSION} VERSION_LESS ${SWIG_MINIMUM_VERSION}) + message("Found Swig < ${SWIG_MINIMUM_VERSION} - skipping language bindings") + else() + set(CMAKE_SWIG_FLAGS "-w361,362,401,467,503") + + if (PYTHONLIBS_FOUND) + execute_process(COMMAND ${PYTHON_EXECUTABLE} + -c "from distutils.sysconfig import get_python_lib; print get_python_lib(True, prefix='${CMAKE_INSTALL_PREFIX}')" + OUTPUT_VARIABLE PYTHON_SITEARCH_PACKAGES + OUTPUT_STRIP_TRAILING_WHITESPACE) + + add_subdirectory(qpid/python) + add_subdirectory(qmf2/python) + add_subdirectory(qmf/python) + endif (PYTHONLIBS_FOUND) + + if (RUBY_FOUND) + execute_process(COMMAND ${RUBY_EXECUTABLE} -r rbconfig -e "puts RbConfig::CONFIG['prefix']" + OUTPUT_VARIABLE RUBY_PREFIX + OUTPUT_STRIP_TRAILING_WHITESPACE) + string(REPLACE ${RUBY_PREFIX} ${CMAKE_INSTALL_PREFIX} RUBY_PFX_ARCH_DIR ${RUBY_ARCH_DIR}) + + add_subdirectory(qpid/ruby) + add_subdirectory(qmf2/ruby) + add_subdirectory(qmf/ruby) + endif (RUBY_FOUND) + + if (PERLLIBS_FOUND) + execute_process(COMMAND ${PERL_EXECUTABLE} "-V::prefix:" + OUTPUT_VARIABLE QPERL_PREFIX + OUTPUT_STRIP_TRAILING_WHITESPACE) + string(REGEX REPLACE "'(.*)'" "\\1" PERL_PREFIX ${QPERL_PREFIX}) + string(REPLACE ${PERL_PREFIX} ${CMAKE_INSTALL_PREFIX} PERL_PFX_ARCHLIB ${PERL_ARCHLIB}) + + add_subdirectory(qpid/perl) + endif (PERLLIBS_FOUND) + endif (${SWIG_VERSION} VERSION_LESS ${SWIG_MINIMUM_VERSION}) +endif (SWIG_FOUND) |