UNPKG

tinycv

Version:

Camera tiny control library

50 lines (42 loc) 1.97 kB
cmake_minimum_required(VERSION 3.9) set(CMAKE_CXX_STANDARD 17) project(tinycv_wrap) set(TINYCV_INCLUDE ${CMAKE_CURRENT_SOURCE_DIR}/tinycv/src/) set(MLOG_INCLUDE ${CMAKE_CURRENT_SOURCE_DIR}/tinycv/third_party/mlog) set(WRAP_THIRD_PARTY_INCLUDE ${CMAKE_CURRENT_SOURCE_DIR}/third_party/openssl/include) set(CMAKE_BUILD_WITH_INSTALL_RPATH TRUE) if(WIN32) set(CMAKE_CXX_FLAGS_RELEASE "/MD") set(CMAKE_CXX_FLAGS_DEBUG "/MDd") list(APPEND TINYCV_WRAP__COMPILER_FLAGS_DEBUG /Zi /RTC1 # Disable optimizations /Od # Enable basic run-time checks ) endif() add_definitions(-DNAPI_DISABLE_CPP_EXCEPTIONS) file(GLOB SOURCE_FILES ${CMAKE_CURRENT_SOURCE_DIR}/src/*.cc ${CMAKE_CURRENT_SOURCE_DIR}/src/*.h) add_library(${PROJECT_NAME} SHARED ${SOURCE_FILES} ${CMAKE_JS_SRC}) set_target_properties(${PROJECT_NAME} PROPERTIES PREFIX "" SUFFIX ".node") set_property( TARGET ${PROJECT_NAME} PROPERTY INSTALL_RPATH "@loader_path/./" ) target_link_libraries(${PROJECT_NAME} ${CMAKE_JS_LIB}) execute_process(COMMAND node -p "require('node-addon-api').include" WORKING_DIRECTORY ${CMAKE_SOURCE_DIR} OUTPUT_VARIABLE NODE_ADDON_API_DIR ) string(REGEX REPLACE "[\r\n\"]" "" NODE_ADDON_API_DIR ${NODE_ADDON_API_DIR}) target_compile_options(${PROJECT_NAME} PRIVATE $<$<CONFIG:Debug>:${TINYCV_WRAP__COMPILER_FLAGS_DEBUG}>) #add_compile_definitions(NAPI_VERSION=${napi_build_version}) target_include_directories(${PROJECT_NAME} PRIVATE ${CMAKE_JS_INC}) target_include_directories(${PROJECT_NAME} PRIVATE ${NODE_ADDON_API_DIR}) target_include_directories(${PROJECT_NAME} PRIVATE ${TINYCV_INCLUDE}) target_include_directories(${PROJECT_NAME} PRIVATE ${WRAP_THIRD_PARTY_INCLUDE}) target_include_directories(${PROJECT_NAME} PRIVATE ${MLOG_INCLUDE}) add_subdirectory(tinycv) add_subdirectory(third_party/openssl) target_link_libraries(${PROJECT_NAME} tinycv ssl)