mirror of
https://github.com/tfussell/xlnt.git
synced 2024-03-22 13:11:17 +08:00
48 lines
1.4 KiB
CMake
48 lines
1.4 KiB
CMake
cmake_minimum_required(VERSION 3.2)
|
|
project(xlntpyarrow)
|
|
|
|
if(NOT COMBINED_PROJECT)
|
|
add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../source ${CMAKE_CURRENT_BINARY_DIR}/source)
|
|
endif()
|
|
|
|
add_subdirectory(../third-party/pybind11 pybind11)
|
|
set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} "${CMAKE_CURRENT_SOURCE_DIR}/../cmake")
|
|
|
|
find_package(Arrow)
|
|
|
|
if(NOT ARROW_FOUND)
|
|
message(FATAL_ERROR "Arrow not found.")
|
|
endif()
|
|
|
|
pybind11_add_module(xlntpyarrowlib xlntpyarrow.lib.cpp)
|
|
|
|
set_target_properties(xlntpyarrowlib PROPERTIES
|
|
OUTPUT_NAME "lib")
|
|
|
|
target_include_directories(xlntpyarrowlib
|
|
PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
|
|
PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/../source
|
|
PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/../third-party/pybind11/include
|
|
PRIVATE ${ARROW_INCLUDE_DIR})
|
|
target_link_libraries(xlntpyarrowlib
|
|
PRIVATE xlnt)
|
|
|
|
if(MSVC)
|
|
target_compile_definitions(xlntpyarrowlib
|
|
PRIVATE _CRT_SECURE_NO_WARNINGS=1)
|
|
target_link_libraries(xlntpyarrowlib
|
|
PRIVATE ${ARROW_SHARED_IMP_LIB}
|
|
PRIVATE ${ARROW_PYTHON_SHARED_IMP_LIB})
|
|
else()
|
|
target_link_libraries(xlntpyarrowlib
|
|
PRIVATE ${ARROW_SHARED_LIB}
|
|
PRIVATE ${ARROW_PYTHON_SHARED_LIB})
|
|
endif()
|
|
|
|
if(NOT STATIC)
|
|
add_custom_command(TARGET xlntpyarrowlib POST_BUILD
|
|
COMMAND ${CMAKE_COMMAND} -E copy_if_different
|
|
$<TARGET_FILE:xlnt>
|
|
$<TARGET_FILE_DIR:xlntpyarrowlib>)
|
|
endif()
|