Packages

Functions for converting image color

Current section

Files

Jump to
cvt_color CMakeLists.txt
Raw

CMakeLists.txt

cmake_minimum_required(VERSION 3.13 FATAL_ERROR)
project(cvt_color)
option(USE_OPENMP "Allow to use OpenMP if available" ON)
option(BUILD_BENCHMARK "Build benchmark" OFF)
if (USE_OPENMP)
set(USE_OPENMP false)
find_package(OpenMP)
if(OpenMP_CXX_FOUND)
set(USE_OPENMP true)
endif()
else()
set(USE_OPENMP false)
endif()
if(USE_OPENMP)
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${OpenMP_CXX_FLAGS} -DUSE_OPENMP=1")
endif()
if(NOT DEFINED C_SRC)
set(C_SRC "c_src")
endif()
file(GLOB cvt_color_lib_sources CONFIGURE_DEPENDS "${C_SRC}/cvt_color.cpp" "${C_SRC}/*.hpp")
file(GLOB cvt_color_benchmark_sources CONFIGURE_DEPENDS "${C_SRC}/benchmark.cpp" "${C_SRC}/cvt_color.hpp")
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fPIC -I${ERTS_INCLUDE_DIR} -O3 -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers")
add_library(cvt_color SHARED ${cvt_color_lib_sources})
set_property(TARGET cvt_color PROPERTY CXX_STANDARD 14)
set_target_properties(cvt_color PROPERTIES PREFIX "")
set_target_properties(cvt_color PROPERTIES SUFFIX ".so")
set_target_properties(cvt_color PROPERTIES
INSTALL_RPATH_USE_LINK_PATH TRUE
BUILD_WITH_INSTALL_RPATH TRUE
)
if(BUILD_BENCHMARK)
add_executable(cvt_color_benchmark ${cvt_color_benchmark_sources})
set_property(TARGET cvt_color_benchmark PROPERTY CXX_STANDARD 14)
endif()
if(USE_OPENMP)
target_link_libraries(cvt_color PUBLIC OpenMP::OpenMP_CXX)
if(BUILD_BENCHMARK)
target_link_libraries(cvt_color_benchmark PUBLIC OpenMP::OpenMP_CXX)
endif()
endif()
if(APPLE)
set(CMAKE_SHARED_LINKER_FLAGS "-flat_namespace -undefined suppress -undefined dynamic_lookup")
endif()