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})