File: CMakeLists.txt

package info (click to toggle)
casacore 3.8.0-3
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 51,912 kB
  • sloc: cpp: 471,569; fortran: 16,372; ansic: 7,416; yacc: 4,714; lex: 2,346; sh: 1,865; python: 629; perl: 531; sed: 499; csh: 201; makefile: 32
file content (90 lines) | stat: -rw-r--r-- 3,365 bytes parent folder | download | duplicates (4)
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})