ptex-sys 0.0.5

cppmm bindings for Ptex
Documentation
cmake_minimum_required(VERSION 3.5)
project(ptex-c VERSION 0.0.1)
set(CMAKE_CXX_STANDARD 14 CACHE STRING "")
set(SOURCES
    src/c-ptex_half.cpp
    include/c-ptex_half.h
    src/std_string.cpp
    src/c-ptexture.cpp
    src/ptex-errors.cpp
)
find_package(Ptex REQUIRED)

add_subdirectory(abigen)
add_custom_command(OUTPUT ${CMAKE_CURRENT_SOURCE_DIR}/include/c-ptex_half.h
    DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/include.in/c-ptex_half.h 
    COMMAND abigen
    COMMAND python ARGS 
        ${CMAKE_CURRENT_SOURCE_DIR}/abigen/insert_abi.py 
        ${CMAKE_CURRENT_SOURCE_DIR}/include.in 
        ${CMAKE_CURRENT_BINARY_DIR}/include 
        ${CMAKE_CURRENT_BINARY_DIR}/abigen.txt
)
set(LIBNAME ptex-c-0_0)
add_library(${LIBNAME} STATIC ${SOURCES})
add_library(${LIBNAME}-shared SHARED ${SOURCES})

set_target_properties(${LIBNAME} PROPERTIES CXX_VISIBILITY_PRESET hidden)
set_target_properties(${LIBNAME}-shared PROPERTIES CXX_VISIBILITY_PRESET hidden)


target_compile_definitions(${LIBNAME} PRIVATE PTEX_CPPMM_BUILD_EXPORT)

target_compile_definitions(${LIBNAME}-shared PRIVATE PTEX_CPPMM_BUILD_EXPORT)
if (WIN32)
target_compile_definitions(${LIBNAME} PRIVATE _Bool=bool)
target_compile_definitions(${LIBNAME}-shared PRIVATE _Bool=bool)
endif()
target_include_directories(${LIBNAME} PRIVATE ${CMAKE_CURRENT_BINARY_DIR}/include)
target_include_directories(${LIBNAME}-shared PRIVATE ${CMAKE_CURRENT_BINARY_DIR}/include)
target_include_directories(${LIBNAME} PRIVATE /Users/david/src/rust/ptex-bind/ptex/dist/include)
target_include_directories(${LIBNAME}-shared PRIVATE /Users/david/src/rust/ptex-bind/ptex/dist/include)
target_include_directories(${LIBNAME} PRIVATE include)
target_include_directories(${LIBNAME}-shared PRIVATE include)
target_include_directories(${LIBNAME} PRIVATE private)
target_include_directories(${LIBNAME}-shared PRIVATE private)
target_include_directories(${LIBNAME} PRIVATE src)
target_include_directories(${LIBNAME}-shared PRIVATE src)
target_link_libraries(${LIBNAME} Ptex::Ptex_dynamic)
target_link_libraries(${LIBNAME}-shared Ptex::Ptex_dynamic)
install(TARGETS ${LIBNAME} DESTINATION ${CMAKE_INSTALL_PREFIX})
install(TARGETS ${LIBNAME}-shared DESTINATION ${CMAKE_INSTALL_PREFIX})