message(STATUS "Looking for python2 specific environment...") find_package(Python2 REQUIRED COMPONENTS Interpreter Development NumPy) if (Python2_FOUND) find_package(Boost REQUIRED) if(${Boost_MAJOR_VERSION} EQUAL 1 AND ${Boost_MINOR_VERSION} GREATER 66) # Boost>=1.67 Python components require a Python version suffix set(BOOST_PYTHON_LIBRARY_NAME python${Python2_VERSION_MAJOR}${Python2_VERSION_MINOR} CACHE STRING "The name of the boost python library to search for") else() set(BOOST_PYTHON_LIBRARY_NAME python CACHE STRING "The name of the boost python library to search for") endif() find_package(Boost REQUIRED COMPONENTS ${BOOST_PYTHON_LIBRARY_NAME}) # copy the variables to their final destination set(PYTHON2_EXECUTABLE ${Python2_EXECUTABLE} CACHE FILEPATH "Path to Python2 interpreter") set(PYTHON2_LIBRARY ${Python2_LIBRARIES} CACHE PATH "Python2 library") set(PYTHON2_INCLUDE_DIR ${Python2_INCLUDE_DIRS} CACHE PATH "Python2 include folder") set(PYTHON2_FIND_PACKAGE_MESSAGE_DETAILS_PythonLibs ${FIND_PACKAGE_MESSAGE_DETAILS_PythonLibs} CACHE STRING "") set(PYTHON2_LIBRARIES ${Python2_LIBRARIES} PARENT_SCOPE) set(PYTHON2_NUMPY_INCLUDE_DIRS ${Python2_NumPy_INCLUDE_DIRS} PARENT_SCOPE) set(PYTHON2_Boost_LIBRARIES ${Boost_LIBRARIES} PARENT_SCOPE) set(PYTHON2_Boost_INCLUDE_DIRS ${Boost_INCLUDE_DIRS} PARENT_SCOPE) set(PYTHON2_Boost_PYTHON_LIBRARY_RELEASE ${Boost_PYTHON_LIBRARY_RELEASE} PARENT_SCOPE) set(PYTHON2_INCLUDE_DIRS ${Python2_INCLUDE_DIRS} PARENT_SCOPE) # to access the variables here we also need to set them in the local scope set(PYTHON2_LIBRARIES ${Python2_LIBRARIES} ) set(PYTHON2_NUMPY_INCLUDE_DIRS ${Python2_NumPy_INCLUDE_DIRS} ) set(PYTHON2_Boost_LIBRARIES ${Boost_LIBRARIES} ) set(PYTHON2_Boost_INCLUDE_DIRS ${Boost_INCLUDE_DIRS} ) set(PYTHON2_Boost_PYTHON_LIBRARY_RELEASE ${Boost_PYTHON_LIBRARY_RELEASE} ) set(PYTHON2_INCLUDE_DIRS ${Python2_INCLUDE_DIRS} ) endif(Python2_FOUND) include_directories (${PYTHON2_Boost_INCLUDE_DIRS} ${PYTHON2_NUMPY_INCLUDE_DIRS} ${PYTHON2_INCLUDE_DIRS}) add_library (casa_python Converters/PycArray.cc Converters/PycArrayNP.cc Converters/PycBasicData.cc Converters/PycExcp.cc Converters/PycImport.cc Converters/PycRecord.cc Converters/PycValueHolder.cc Converters/PycArray.h Converters/PycArrayComCC.h Converters/PycArrayComH.h Converters/PycArrayNP.h Converters/PycBasicData.h Converters/PycExcp.h Converters/PycRecord.h Converters/PycValueHolder.h Converters/PycArray.tcc ) target_link_libraries (casa_python casa_casa ${PYTHON2_Boost_LIBRARIES} ${PYTHON2_LIBRARIES} ${CASACORE_ARCH_LIBS}) install (TARGETS casa_python RUNTIME DESTINATION bin LIBRARY DESTINATION lib${LIB_SUFFIX} ARCHIVE DESTINATION lib${LIB_SUFFIX} LIBRARY PERMISSIONS OWNER_READ OWNER_WRITE OWNER_EXECUTE GROUP_READ GROUP_EXECUTE WORLD_READ WORLD_EXECUTE ) install (FILES Converters/PycArray.h Converters/PycArrayComCC.h Converters/PycArrayComH.h Converters/PycArrayNP.h Converters/PycBasicData.h Converters/PycExcp.h Converters/PycRecord.h Converters/PycValueHolder.h Converters/PycArray.tcc DESTINATION include/casacore/python/Converters ) install (FILES Converters.h DESTINATION include/casacore/python ) add_subdirectory (Converters/test ${EXCL_ALL})