80 lines
2.3 KiB
CMake
80 lines
2.3 KiB
CMake
INCLUDE(FindPythonInterp)
|
|
|
|
FILE(GLOB_RECURSE py_proto_files RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} ortools/constraint_solver/*.proto ortools/linear_solver/*.proto)
|
|
LIST(REMOVE_ITEM py_proto_files "ortools/constraint_solver/demon_profiler.proto")
|
|
PROTOBUF_GENERATE_PYTHON(PROTO_PY_SRCS ${py_proto_files})
|
|
ADD_CUSTOM_TARGET(Py${PROJECT_NAME}proto ALL DEPENDS ${PROTO_PY_SRCS})
|
|
|
|
IF(BUILD_CXX)
|
|
ADD_DEPENDENCIES(Py${PROJECT_NAME}proto ${PROJECT_NAME})
|
|
ENDIF()
|
|
|
|
IF(${PYTHON_VERSION_STRING} VERSION_GREATER 3)
|
|
SET(CMAKE_SWIG_FLAGS "-py3;-DPY3")
|
|
ENDIF()
|
|
|
|
INCLUDE_DIRECTORIES(${PYTHON_INCLUDE_PATH})
|
|
|
|
FILE(COPY
|
|
${CMAKE_CURRENT_SOURCE_DIR}/ortools/__init__.py
|
|
DESTINATION
|
|
${CMAKE_CURRENT_BINARY_DIR}/ortools/)
|
|
|
|
FILE(COPY
|
|
${CMAKE_CURRENT_SOURCE_DIR}/ortools/__init__.py
|
|
DESTINATION
|
|
${CMAKE_CURRENT_BINARY_DIR}/ortools/constraint_solver/)
|
|
|
|
FILE(COPY
|
|
${CMAKE_CURRENT_SOURCE_DIR}/ortools/__init__.py
|
|
DESTINATION
|
|
${CMAKE_CURRENT_BINARY_DIR}/ortools/linear_solver/)
|
|
|
|
FILE(COPY
|
|
${CMAKE_CURRENT_SOURCE_DIR}/ortools/__init__.py
|
|
DESTINATION
|
|
${CMAKE_CURRENT_BINARY_DIR}/ortools/graph/)
|
|
|
|
FILE(COPY
|
|
${CMAKE_CURRENT_SOURCE_DIR}/ortools/__init__.py
|
|
DESTINATION
|
|
${CMAKE_CURRENT_BINARY_DIR}/ortools/algorithms/)
|
|
|
|
FILE(COPY
|
|
${CMAKE_CURRENT_SOURCE_DIR}/ortools
|
|
DESTINATION
|
|
${CMAKE_CURRENT_BINARY_DIR}
|
|
FILES_MATCHING
|
|
PATTERN
|
|
"*.i")
|
|
|
|
FILE(COPY
|
|
${CMAKE_CURRENT_SOURCE_DIR}/README
|
|
DESTINATION
|
|
${CMAKE_CURRENT_BINARY_DIR})
|
|
|
|
FILE(COPY
|
|
${CMAKE_CURRENT_SOURCE_DIR}/ortools/linear_solver/linear_solver_natural_api.py
|
|
DESTINATION
|
|
${CMAKE_CURRENT_BINARY_DIR}/ortools/linear_solver/)
|
|
|
|
FILE(COPY
|
|
${CMAKE_CURRENT_SOURCE_DIR}/python/MANIFEST.in
|
|
DESTINATION
|
|
${CMAKE_CURRENT_BINARY_DIR}/)
|
|
SET(README_FILE README)
|
|
|
|
CONFIGURE_FILE(${CMAKE_CURRENT_SOURCE_DIR}/python/setup.py.in ${CMAKE_CURRENT_BINARY_DIR}/setup.py)
|
|
|
|
SET(PY_OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/timestamp)
|
|
ADD_CUSTOM_COMMAND(
|
|
OUTPUT ${PY_OUTPUT}
|
|
COMMAND ${PYTHON_EXECUTABLE} ${CMAKE_CURRENT_BINARY_DIR}/setup.py sdist
|
|
COMMAND ${CMAKE_COMMAND} -E touch ${PY_OUTPUT}
|
|
DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/ortools/__init__.py)
|
|
ADD_CUSTOM_TARGET(py${PROJECT_NAME} ALL DEPENDS ${PY_OUTPUT})
|
|
|
|
IF(BUILD_CXX)
|
|
ADD_DEPENDENCIES(py${PROJECT_NAME} ${PROJECT_NAME})
|
|
ENDIF()
|