pgxtoimage(): fix write stack buffer overflow (#997)
[openjpeg.git] / src / bin / jp2 / CMakeLists.txt
index 1c2ef39cebf99259f025663fd6d39f4df013d2ae..4324c36d04c90a42618935658fc8e65ab3aa3e61 100644 (file)
@@ -3,11 +3,24 @@
 # First thing define the common source:
 set(common_SRCS
   convert.c
+  convert.h
+  convertbmp.c
   index.c
+  index.h
   ${OPENJPEG_SOURCE_DIR}/src/bin/common/color.c
+  ${OPENJPEG_SOURCE_DIR}/src/bin/common/color.h
   ${OPENJPEG_SOURCE_DIR}/src/bin/common/opj_getopt.c
+  ${OPENJPEG_SOURCE_DIR}/src/bin/common/opj_getopt.h
+  ${OPENJPEG_SOURCE_DIR}/src/bin/common/opj_string.h
   )
 
+if(OPJ_HAVE_LIBTIFF)
+       list(APPEND common_SRCS converttif.c)
+endif()
+if(OPJ_HAVE_LIBPNG)
+       list(APPEND common_SRCS convertpng.c)
+endif()
+
 # Headers file are located here:
 include_directories(
   ${OPENJPEG_BINARY_DIR}/src/lib/openjp2 # opj_config.h
@@ -31,6 +44,9 @@ endif()
 # Loop over all executables:
 foreach(exe opj_decompress opj_compress opj_dump)
   add_executable(${exe} ${exe}.c ${common_SRCS})
+  if(${CMAKE_VERSION} VERSION_GREATER "2.8.11")
+    target_compile_options(${exe} PRIVATE ${OPENJP2_COMPILE_OPTIONS})
+  endif()
   target_link_libraries(${exe} ${OPENJPEG_LIBRARY_NAME}
     ${PNG_LIBNAME} ${TIFF_LIBNAME} ${LCMS_LIBNAME}
     )
@@ -44,12 +60,21 @@ foreach(exe opj_decompress opj_compress opj_dump)
   # On unix you need to link to the math library:
   if(UNIX)
     target_link_libraries(${exe} m)
+    IF("${CMAKE_SYSTEM_NAME}" MATCHES "Linux")
+      target_link_libraries(${exe} rt)
+    endif()
   endif()
   # Install exe
   install(TARGETS ${exe}
     EXPORT OpenJPEGTargets
     DESTINATION ${OPENJPEG_INSTALL_BIN_DIR} COMPONENT Applications
   )
+  if(OPJ_USE_DSYMUTIL)
+    add_custom_command(TARGET ${exe} POST_BUILD
+    COMMAND "dsymutil" "$<TARGET_FILE:${exe}>"
+    COMMENT "dsymutil $<TARGET_FILE:${exe}>"
+    DEPENDS ${exe})
+  endif()
 endforeach()
 
 if(BUILD_DOC)