Added python
This commit is contained in:
parent
950cfb3eb1
commit
b584ff54a7
5 changed files with 66 additions and 3 deletions
49
python/CMakeLists.txt
Normal file
49
python/CMakeLists.txt
Normal file
|
@ -0,0 +1,49 @@
|
|||
set(CMAKE_SHARED_MODULE_PREFIX)
|
||||
|
||||
include_directories(${NUMPY_INCLUDE_DIRS} ${PYTHON_INCLUDE_PATH} ${CMAKE_SOURCE_DIR}/src ${CMAKE_BINARY_DIR}/src)
|
||||
|
||||
IF(CYTHON)
|
||||
add_custom_command(
|
||||
OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/_cosmotool.cpp
|
||||
COMMAND ${CYTHON} --cplus -o ${CMAKE_CURRENT_BINARY_DIR}/_cosmotool.cpp ${CMAKE_CURRENT_SOURCE_DIR}/_cosmotool.pyx
|
||||
DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/_cosmotool.pyx)
|
||||
|
||||
ENDIF(CYTHON)
|
||||
|
||||
|
||||
add_library(_cosmotool MODULE ${CMAKE_CURRENT_BINARY_DIR}/_cosmotool.cpp)
|
||||
|
||||
SET(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -Bsymbolic-functions")
|
||||
|
||||
target_link_libraries(_cosmotool ${CosmoTool_local} ${PYTHON_LIBRARIES} ${GSL_LIBRARIES})
|
||||
|
||||
# Discover where to put packages
|
||||
if (NOT PYTHON_SITE_PACKAGES)
|
||||
execute_process (COMMAND ${PYTHON_EXECUTABLE} -c "from distutils.sysconfig import get_python_lib; print get_python_lib()" OUTPUT_VARIABLE internal_PYTHON_SITE_PACKAGES OUTPUT_STRIP_TRAILING_WHITESPACE)
|
||||
SET(SYSTEM_PYTHON_SITE_PACKAGES ${internal_PYTHON_SITE_PACKAGES} CACHE PATH "Path to the target system-wide site-package where to install python modules")
|
||||
|
||||
execute_process (COMMAND ${PYTHON_EXECUTABLE} -c "from site import USER_SITE; print USER_SITE" OUTPUT_VARIABLE internal_PYTHON_SITE_PACKAGES OUTPUT_STRIP_TRAILING_WHITESPACE)
|
||||
SET(USER_PYTHON_SITE_PACKAGES ${internal_PYTHON_SITE_PACKAGES} CACHE PATH "Path to the target user site-package where to install python modules")
|
||||
|
||||
mark_as_advanced(USER_PYTHON_SITE_PACKAGES SYSTEM_PYTHON_SITE_PACKAGES)
|
||||
endif (NOT PYTHON_SITE_PACKAGES)
|
||||
|
||||
OPTION(INSTALL_PYTHON_LOCAL OFF)
|
||||
|
||||
IF (NOT INSTALL_PYTHON_LOCAL)
|
||||
SET(PYTHON_SITE_PACKAGES ${SYSTEM_PYTHON_SITE_PACKAGES})
|
||||
ELSE (NOT INSTALL_PYTHON_LOCAL)
|
||||
SET(PYTHON_SITE_PACKAGES ${USER_PYTHON_SITE_PACKAGES})
|
||||
ENDIF(NOT INSTALL_PYTHON_LOCAL)
|
||||
|
||||
|
||||
if (WIN32 AND NOT CYGWIN)
|
||||
SET_TARGET_PROPERTIES(_cosmotool PROPERTIES SUFFIX ".pyd")
|
||||
endif (WIN32 AND NOT CYGWIN)
|
||||
|
||||
INSTALL(TARGETS _cosmotool
|
||||
LIBRARY DESTINATION ${PYTHON_SITE_PACKAGES}/flints
|
||||
)
|
||||
|
||||
INSTALL(DIRECTORY cosmotool DESTINATION ${PYTHON_SITE_PACKAGES}
|
||||
FILES_MATCHING PATTERN "*.py")
|
1
python/_cosmotool.pyx
Normal file
1
python/_cosmotool.pyx
Normal file
|
@ -0,0 +1 @@
|
|||
import numpy as np
|
Loading…
Add table
Add a link
Reference in a new issue