X-Git-Url: https://main.carlh.net/gitweb/?a=blobdiff_plain;f=libopenjpeg%2FCMakeLists.txt;h=cc9a23cdb91859c2bc1513317bfc83a55ae5e12f;hb=9ed88f6a8de45fdb2fba0b6544dce25f949b36ed;hp=20fb780c41262e667898efb5d2a06e5b29a684ef;hpb=bb9232c9d9d5e8ea3a2de36f20adac72c15127af;p=openjpeg.git diff --git a/libopenjpeg/CMakeLists.txt b/libopenjpeg/CMakeLists.txt index 20fb780c..cc9a23cd 100644 --- a/libopenjpeg/CMakeLists.txt +++ b/libopenjpeg/CMakeLists.txt @@ -1,30 +1,33 @@ INCLUDE_REGULAR_EXPRESSION("^.*$") # Defines the source code for the library SET(OPENJPEG_SRCS - bio.c - cio.c - dwt.c - event.c - image.c - j2k.c - j2k_lib.c - jp2.c - jpt.c - mct.c - mqc.c - openjpeg.c - pi.c - raw.c - t1.c - t2.c - tcd.c - tgt.c - opj_convert.c + ${CMAKE_CURRENT_SOURCE_DIR}/bio.c + ${CMAKE_CURRENT_SOURCE_DIR}/cio.c + ${CMAKE_CURRENT_SOURCE_DIR}/dwt.c + ${CMAKE_CURRENT_SOURCE_DIR}/event.c + ${CMAKE_CURRENT_SOURCE_DIR}/image.c + ${CMAKE_CURRENT_SOURCE_DIR}/j2k.c + ${CMAKE_CURRENT_SOURCE_DIR}/j2k_lib.c + ${CMAKE_CURRENT_SOURCE_DIR}/jp2.c + ${CMAKE_CURRENT_SOURCE_DIR}/jpt.c + ${CMAKE_CURRENT_SOURCE_DIR}/mct.c + ${CMAKE_CURRENT_SOURCE_DIR}/mqc.c + ${CMAKE_CURRENT_SOURCE_DIR}/openjpeg.c + ${CMAKE_CURRENT_SOURCE_DIR}/pi.c + ${CMAKE_CURRENT_SOURCE_DIR}/raw.c + ${CMAKE_CURRENT_SOURCE_DIR}/t1.c + ${CMAKE_CURRENT_SOURCE_DIR}/t2.c + ${CMAKE_CURRENT_SOURCE_DIR}/tcd.c + ${CMAKE_CURRENT_SOURCE_DIR}/tgt.c + ${CMAKE_CURRENT_SOURCE_DIR}/cidx_manager.c + ${CMAKE_CURRENT_SOURCE_DIR}/phix_manager.c + ${CMAKE_CURRENT_SOURCE_DIR}/ppix_manager.c + ${CMAKE_CURRENT_SOURCE_DIR}/thix_manager.c + ${CMAKE_CURRENT_SOURCE_DIR}/tpix_manager.c + ${CMAKE_CURRENT_SOURCE_DIR}/function_list.c ) -IF(LCMS_INCLUDE_DIR) - INCLUDE_DIRECTORIES( ${LCMS_INCLUDE_DIR} ) -ENDIF(LCMS_INCLUDE_DIR) -# Pass proper definition to preprocessor to generate shared lib + +# Build the library IF(WIN32) IF(BUILD_SHARED_LIBS) ADD_DEFINITIONS(-DOPJ_EXPORTS) @@ -32,21 +35,48 @@ IF(WIN32) ADD_DEFINITIONS(-DOPJ_STATIC) ENDIF(BUILD_SHARED_LIBS) ENDIF(WIN32) - -# Create the library ADD_LIBRARY(${OPENJPEG_LIBRARY_NAME} ${OPENJPEG_SRCS}) -SET_TARGET_PROPERTIES(${OPENJPEG_LIBRARY_NAME} PROPERTIES - ${OPENJPEG_LIBRARY_PROPERTIES}) -IF(LCMS_LIB) - TARGET_LINK_LIBRARIES(${OPENJPEG_LIBRARY_NAME} ${LCMS_LIB}) -ENDIF(LCMS_LIB) +IF(UNIX) + TARGET_LINK_LIBRARIES(${OPENJPEG_LIBRARY_NAME} m) +ENDIF(UNIX) +SET_TARGET_PROPERTIES(${OPENJPEG_LIBRARY_NAME} PROPERTIES ${OPENJPEG_LIBRARY_PROPERTIES}) + +# Build the JPWL library ? +IF(BUILD_JPWL) + ADD_SUBDIRECTORY(jpwl) +ENDIF(BUILD_JPWL) + # Install library INSTALL(TARGETS ${OPENJPEG_LIBRARY_NAME} EXPORT OpenJPEGTargets - DESTINATION ${OPENJPEG_INSTALL_LIB_DIR} COMPONENT Libraries + RUNTIME DESTINATION ${OPENJPEG_INSTALL_BIN_DIR} COMPONENT Applications + LIBRARY DESTINATION ${OPENJPEG_INSTALL_LIB_DIR} COMPONENT Libraries + ARCHIVE DESTINATION ${OPENJPEG_INSTALL_LIB_DIR} COMPONENT Libraries ) # Install includes files -INSTALL(FILES openjpeg.h - DESTINATION ${OPENJPEG_INSTALL_INCLUDE_DIR}/${subdir} COMPONENT Headers +INSTALL(FILES openjpeg.h opj_stdint.h + DESTINATION ${OPENJPEG_INSTALL_INCLUDE_DIR} COMPONENT Headers ) + +# install man page of the library +INSTALL( + FILES ${OPENJPEG_SOURCE_DIR}/doc/man/man3/libopenjpeg.3 + DESTINATION ${OPENJPEG_INSTALL_MAN_DIR}/man3) + +# Experimental option; let's how cppcheck performs +# Implementation details: +# I could not figure out how to easily upload a file to CDash. Instead simply +# pretend cppcheck is part of the Build step. Technically cppcheck can even +# output gcc formatted error/warning report +# Another implementation detail: I could not redirect error to the error +# catching mechanism something is busted in cmake 2.8.5, I had to use the +# warning regex to catch them. +if(OPENJPEG_CPPCHECK) + find_package(CPPCHECK REQUIRED) + foreach(f ${OPENJPEG_SRCS}) + # cppcheck complains about too many configuration, pretend to be WIN32: + add_custom_command(TARGET ${OPENJPEG_LIBRARY_NAME} + COMMAND ${CPPCHECK_EXECUTABLE} -DWIN32 ${f}) + endforeach() +endif()