PyNFS/src/CMakeLists.txt

44 lines
1.5 KiB
CMake

project(PyNFS)
set(SRC_FILES
"pynfs.h"
"pynfs.cpp"
"NFS.h"
"NFS.cpp"
"NFSFH.h"
"NFSFH.cpp"
"wildcards.hpp"
"fileutils.hpp")
add_definitions(-D_CRT_SECURE_NO_WARNINGS)
find_package(Python2 COMPONENTS Interpreter Development REQUIRED)
message(STATUS "Project : ${PROJECT_NAME}")
message(STATUS "Python Site : ${Python2_SITELIB}")
message(STATUS "Python Include Dirs : ${Python2_INCLUDE_DIRS}")
message(STATUS "Python Library Dirs : ${Python2_LIBRARY_DIRS}")
message(STATUS "Python Library : ${Python2_LIBRARIES}")
include_directories(
${Python2_INCLUDE_DIRS}
"${CMAKE_SOURCE_DIR}/vendor/libnfs/include"
"${CMAKE_SOURCE_DIR}/vendor/pybind11/include"
"${CMAKE_SOURCE_DIR}/vendor/pystring/include"
)
link_directories(
${Python2_LIBRARY_DIRS}
"${CMAKE_SOURCE_DIR}/vendor/libnfs/lib"
"${CMAKE_SOURCE_DIR}/vendor/pystring/lib"
)
add_library(${PROJECT_NAME} SHARED ${SRC_FILES})
add_custom_command(TARGET ${PROJECT_NAME}
POST_BUILD COMMAND "copy" ARGS "$(TargetDir)$(TargetFileName)" "${Python2_SITELIB}\\${PROJECT_NAME}" "/Y/B")
target_link_libraries(${PROJECT_NAME} nfs pystring ${Python2_LIBRARIES})
set_target_properties(${PROJECT_NAME} PROPERTIES OUTPUT_NAME "_${PROJECT_NAME}")
set_target_properties(${PROJECT_NAME} PROPERTIES SUFFIX ".pyd")
install(TARGETS ${PROJECT_NAME}
RUNTIME DESTINATION "${CMAKE_INSTALL_PREFIX}/${PROJECT_NAME}")
install(FILES "${CMAKE_SOURCE_DIR}/python/${PROJECT_NAME}/__init__.py"
DESTINATION ${CMAKE_INSTALL_PREFIX}/${PROJECT_NAME})