# # Color Image Processing Pipeline # project(O-3000-Color-Pipe) cmake_minimum_required(VERSION 3.0) if(CMAKE_SIZEOF_VOID_P EQUAL 8) set(CC_ARCH "64") else(CMAKE_SIZEOF_VOID_P EQUAL 8) set(CC_ARCH "32") endif(CMAKE_SIZEOF_VOID_P EQUAL 8) set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} ${CMAKE_SOURCE_DIR}/cmake) set(CMAKE_INCLUDE_CURRENT_DIR ON) # library version definition set(VERSION_MAJOR 1) set(VERSION_MINOR 1) set(VERSION_RELEASE 0) set(VERSION_STR "${VERSION_MAJOR}.${VERSION_MINOR}.${VERSION_RELEASE}") # pass macros to preprocessor add_definitions(-DPIPE_VERSION_MAJOR=${VERSION_MAJOR}) add_definitions(-DPIPE_VERSION_MINOR=${VERSION_MINOR}) add_definitions(-DPIPE_VERSION_RELEASE=${VERSION_RELEASE}) # library name set(LIB_NAME o3000_imgpipe) # find libo3000 library find_package(LibO3000 REQUIRED) include_directories(. ${LIBO3000_INCLUDE_DIRS}) file(GLOB colorpipesources *.c *.h) add_library(${LIB_NAME} SHARED ${colorpipesources}) set_target_properties ( ${LIB_NAME} PROPERTIES OUTPUT_NAME "${LIB_NAME}" VERSION "${VERSION_MAJOR}.${VERSION_MINOR}.${VERSION_RELEASE}" SOVERSION ${VERSION_MAJOR} LIBRARY_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/lib" ) target_compile_options(${LIB_NAME} PRIVATE -Wall -g -O3 -std=c11 -ggdb -D_XOPEN_SOURCE=500 -fPIC) install(TARGETS ${LIB_NAME} DESTINATION lib) install(FILES "color_pipe.h" DESTINATION "include/o3000") add_custom_target(release DEPENDS ${LIB_NAME}) add_custom_command( TARGET release COMMAND ${CMAKE_COMMAND} -E make_directory ${CMAKE_CURRENT_BINARY_DIR}/libo3000_imgpipe-${VERSION_STR}/include/o3000 COMMAND ${CMAKE_COMMAND} -E make_directory ${CMAKE_CURRENT_BINARY_DIR}/libo3000_imgpipe-${VERSION_STR}/MinGW${CC_ARCH} COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_SOURCE_DIR}/color_pipe.h ${CMAKE_CURRENT_BINARY_DIR}/libo3000_imgpipe-${VERSION_STR}/include/o3000 COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_CURRENT_BINARY_DIR}/$* ${CMAKE_CURRENT_BINARY_DIR}/libo3000_imgpipe-${VERSION_STR}/MinGW${CC_ARCH} COMMAND ${CMAKE_COMMAND} -E tar "cfv" "libo3000_imgpipe-${VERSION_STR}-${CC_ARCH}bit.zip" --format=zip libo3000_imgpipe-${VERSION_STR} COMMAND ${CMAKE_COMMAND} -E remove_directory libo3000_imgpipe-${VERSION_STR} )