Packages

Video and Image Converter for Erlang/Elixir

Current section

Files

Jump to
vice c_src CMakeLists.txt
Raw

c_src/CMakeLists.txt

cmake_minimum_required(VERSION 2.8)
project(VICE_FACEDETECT)
if(NOT WIN32)
string(ASCII 27 Esc)
set(ColourReset "${Esc}[m")
set(ColourBold "${Esc}[1m")
set(Red "${Esc}[31m")
set(Green "${Esc}[32m")
set(Yellow "${Esc}[33m")
set(Blue "${Esc}[34m")
set(Magenta "${Esc}[35m")
set(Cyan "${Esc}[36m")
set(White "${Esc}[37m")
set(BoldRed "${Esc}[1;31m")
set(BoldGreen "${Esc}[1;32m")
set(BoldYellow "${Esc}[1;33m")
set(BoldBlue "${Esc}[1;34m")
set(BoldMagenta "${Esc}[1;35m")
set(BoldCyan "${Esc}[1;36m")
set(BoldWhite "${Esc}[1;37m")
endif()
function(message)
list(GET ARGV 0 MessageType)
if(MessageType STREQUAL FATAL_ERROR OR MessageType STREQUAL SEND_ERROR)
list(REMOVE_AT ARGV 0)
_message(${MessageType} "${BoldRed}${ARGV}${ColourReset}")
elseif(MessageType STREQUAL WARNING)
list(REMOVE_AT ARGV 0)
_message(${MessageType} "${BoldYellow}${ARGV}${ColourReset}")
elseif(MessageType STREQUAL AUTHOR_WARNING)
list(REMOVE_AT ARGV 0)
_message(${MessageType} "${BoldCyan}${ARGV}${ColourReset}")
elseif(MessageType STREQUAL STATUS)
list(REMOVE_AT ARGV 0)
_message(${MessageType} "${Green}${ARGV}${ColourReset}")
else()
_message("${ARGV}")
endif()
endfunction()
IF(${CMAKE_SYSTEM_NAME} MATCHES "Darwin")
set(OSX_LDFLAGS "-flat_namespace -undefined suppress")
set(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} ${OSX_LDFLAGS}")
set(CMAKE_STATIC_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} ${OSX_LDFLAGS}")
set(CMAKE_MODULE_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} ${OSX_LDFLAGS}")
set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} ${OSX_LDFLAGS}")
ENDIF()
# Load modules
set(CMAKE_MODULE_PATH ${VICE_FACEDETECT_SOURCE_DIR}/cmake ${CMAKE_MODULE_PATH})
# Output in `priv` dir
set(
CMAKE_LIBRARY_OUTPUT_DIRECTORY
${VICE_FACEDETECT_SOURCE_DIR}/../priv
)
find_package(Erlang QUIET)
find_package(OpenCV QUIET)
IF(ERLANG_EI_LIBRARY_PATH AND ERLANG_ERTS_INCLUDE_PATH AND ERLANG_EI_INCLUDE_PATH AND OpenCV_LIBS)
INCLUDE_DIRECTORIES(
${ERLANG_EI_INCLUDE_PATH}
${ERLANG_ERTS_INCLUDE_PATH}
)
LINK_DIRECTORIES(
${ERLANG_EI_LIBRARY_PATH}
)
add_library(vice_facedetect SHARED facedetect.cpp vice_facedetect.c)
SET_TARGET_PROPERTIES(vice_facedetect PROPERTIES PREFIX "")
target_link_libraries(vice_facedetect erl_interface ei ${OpenCV_LIBS})
#add_executable(vice_test facedetect.cpp main.c)
#target_link_libraries(vice_test ${OpenCV_LIBS})
ELSE()
MESSAGE(WARNING "Missing libraries to compile vice_facedetect. This module will not be available.")
ENDIF()