I use the same source files to compile by setting
TARGET_INCLUDE_DIRECTORIES for two similar targets. The included
Python.h provides the PY_MAJOR_VERSION macro to know if you are
compiling for python 2 or 3.
https://github.com/devsim/devsim/blob/master/src/pythonapi/CMakeLists.txt
https://github.com/devsim/devsim/blob/master/src/pythonapi/PythonCommands.cc
I avoid using FIND_PACKAGE, and code my own PYTHON or PYTHON3 variables,
like:
PYTHON_INCLUDE
PYTHON3_INCLUDE
in a specific cmake file for my configuration:
https://github.com/devsim/devsim/blob/master/cmake/centos_6.cmake
Regards,
Juan Sanchez
On 6/22/18 2:15 PM, Isaiah Norton wrote:
On Fri, Jun 22, 2018 at 4:36 AM Alexander Bürger <alexand...@met.no
<mailto:alexand...@met.no>> wrote:
Hi,
I am trying to find a good way to compile a python module for a c++
library using boost-python for both python2 and python3 in the same
compilation. So far, The only solution I found for using
The headers CMake needs to find are different depending on the selected
version, because the CPython API changed between 2 and 3. The ABI is
also not guaranteed to be stable within 3.x minor versions unless you
set Py_LIMITED_API (see e.g.
https://stackoverflow.com/questions/28830653/build-boost-with-multiple-python-versions).
FIND_PACKAGE(PythonInterp REQUIRED)
FIND_PACKAGE(PythonLibs REQUIRED)
FIND_PACKAGE(Boost REQUIRED COMPONENTS python # or python3)
with different python versions is to use one CMakeLists.txt per
python version, each in a subdirectory, and with almost equal
contents. I would appreciate suggestions for a better approach, with
less duplication.
Best regards,
Alexander Bürger
MET Norway
--
Powered by www.kitware.com <http://www.kitware.com>
Please keep messages on-topic and check the CMake FAQ at:
http://www.cmake.org/Wiki/CMake_FAQ
Kitware offers various services to support the CMake community. For
more information on each offering, please visit:
CMake Support: http://cmake.org/cmake/help/support.html
CMake Consulting: http://cmake.org/cmake/help/consulting.html
CMake Training Courses: http://cmake.org/cmake/help/training.html
Visit other Kitware open-source projects at
http://www.kitware.com/opensource/opensource.html
Follow this link to subscribe/unsubscribe:
https://cmake.org/mailman/listinfo/cmake
--
Powered by www.kitware.com
Please keep messages on-topic and check the CMake FAQ at:
http://www.cmake.org/Wiki/CMake_FAQ
Kitware offers various services to support the CMake community. For more
information on each offering, please visit:
CMake Support: http://cmake.org/cmake/help/support.html
CMake Consulting: http://cmake.org/cmake/help/consulting.html
CMake Training Courses: http://cmake.org/cmake/help/training.html
Visit other Kitware open-source projects at
http://www.kitware.com/opensource/opensource.html
Follow this link to subscribe/unsubscribe:
https://cmake.org/mailman/listinfo/cmake