card-recog-demo/native/phash/CMakeLists.txt

43 lines
939 B
CMake
Raw Permalink Normal View History

cmake_minimum_required(VERSION 3.16)
project(phash LANGUAGES CXX)
set(CMAKE_CXX_STANDARD 17)
set(CMAKE_CXX_STANDARD_REQUIRED ON)
option(PHASH_BUILD_SHARED "Build libphash as a shared library" ON)
set(PHASH_SOURCES
src/phash.cpp
src/resize.cpp
src/decode_stb.cpp
src/hamming.cpp
)
if(PHASH_BUILD_SHARED)
add_library(phash SHARED ${PHASH_SOURCES})
else()
add_library(phash STATIC ${PHASH_SOURCES})
endif()
target_include_directories(phash
PUBLIC
${CMAKE_CURRENT_SOURCE_DIR}/include
PRIVATE
${CMAKE_CURRENT_SOURCE_DIR}/third_party
)
# Keep C API symbols visible for dart:ffi / DynamicLibrary.process().
set_target_properties(phash PROPERTIES
CXX_VISIBILITY_PRESET default
VISIBILITY_INLINES_HIDDEN OFF
POSITION_INDEPENDENT_CODE ON
OUTPUT_NAME phash
)
if(ANDROID)
find_library(LOG_LIB log)
target_link_libraries(phash PUBLIC m ${LOG_LIB})
elseif(UNIX)
target_link_libraries(phash PUBLIC m)
endif()