1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90
|
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})
|