]> granicus.if.org Git - openjpeg/commitdiff
added cmake support to openjpip
authorAntonin Descampe <antonin@gmail.com>
Fri, 12 Aug 2011 14:59:28 +0000 (14:59 +0000)
committerAntonin Descampe <antonin@gmail.com>
Fri, 12 Aug 2011 14:59:28 +0000 (14:59 +0000)
13 files changed:
CHANGES
CMake/FindFCGI.cmake [new file with mode: 0644]
CMakeLists.txt
applications/CMakeLists.txt
applications/jpip/CHANGES
applications/jpip/CMakeLists.txt [new file with mode: 0644]
applications/jpip/libopenjpip/CMakeLists.txt [new file with mode: 0644]
applications/jpip/opj_client/CMakeLists.txt [new file with mode: 0644]
applications/jpip/opj_client/opj_dec_server/CMakeLists.txt [new file with mode: 0644]
applications/jpip/opj_server/CMakeLists.txt [new file with mode: 0644]
applications/jpip/tools/CMakeLists.txt [new file with mode: 0644]
applications/jpip/tools/indexer/CMakeLists.txt [new file with mode: 0644]
thirdparty/CMakeLists.txt

diff --git a/CHANGES b/CHANGES
index 0ab2350e7a8b41c8928c9c25fd50cd5509f9bdb0..41a06bf37c2fb09984d22db51583fea28d634cbb 100644 (file)
--- a/CHANGES
+++ b/CHANGES
@@ -5,6 +5,9 @@ What's New for OpenJPEG
 ! : changed
 + : added
 
+August 12, 2011
++ [antonin] added cmake support to openjpip
+
 August 11, 2011
 * [mickael] Fixed issue #76
 * [antonin] minor bug fix in configure.ac (credit to Vincent Torri)
diff --git a/CMake/FindFCGI.cmake b/CMake/FindFCGI.cmake
new file mode 100644 (file)
index 0000000..ff76277
--- /dev/null
@@ -0,0 +1,20 @@
+# Look for the header file.
+FIND_PATH(FCGI_INCLUDE_DIR NAMES fastcgi.h)
+
+# Look for the library.
+FIND_LIBRARY(FCGI_LIBRARY NAMES fcgi)
+
+# Handle the QUIETLY and REQUIRED arguments and set FCGI_FOUND to TRUE if all listed variables are TRUE.
+INCLUDE(FindPackageHandleStandardArgs)
+FIND_PACKAGE_HANDLE_STANDARD_ARGS(FCGI DEFAULT_MSG FCGI_LIBRARY FCGI_INCLUDE_DIR)
+
+# Copy the results to the output variables.
+IF(FCGI_FOUND)
+       SET( ${FCGI_LIBRARY})
+       SET(FCGI_INCLUDE_DIRS ${FCGI_INCLUDE_DIR})
+ELSE(FCGI_FOUND)
+       SET(FCGI_LIBRARIES)
+       SET(FCGI_INCLUDE_DIRS)
+ENDIF(FCGI_FOUND)
+
+MARK_AS_ADVANCED(FCGI_INCLUDE_DIRS FCGI_LIBRARIES)
index de047b789719b708b265f0a8cae1490b043a007e..9dab73931c2af50a450a1eca5dfbffbd46997435 100644 (file)
@@ -212,12 +212,13 @@ ADD_SUBDIRECTORY(libopenjpeg)
 # Build Applications
 OPTION(BUILD_CODEC "Build the CODEC executables" ON)
 OPTION(BUILD_MJ2 "Build the MJ2 executables." OFF)
+OPTION(BUILD_JPIP "Build the JPIP library and executables." OFF)
 
-IF(BUILD_CODEC OR BUILD_MJ2)
+IF(BUILD_CODEC OR BUILD_MJ2 OR BUILD_JPIP)
   OPTION(BUILD_THIRDPARTY "Build the thirdparty executables if it is needed" OFF)
   ADD_SUBDIRECTORY(thirdparty)
   ADD_SUBDIRECTORY(applications)
-ENDIF (BUILD_CODEC OR BUILD_MJ2)
+ENDIF (BUILD_CODEC OR BUILD_MJ2 OR BUILD_JPIP)
 
 #-----------------------------------------------------------------------------
 # opj_config.h generation (2/2)
index 3b65ade1ff49e69d25a5862d9b67a845cbe4f3b1..d26e26db8c04d7f4e9f5665360753ed13b316494 100644 (file)
@@ -7,3 +7,7 @@ ENDIF(BUILD_CODEC)
 IF(BUILD_MJ2)
  ADD_SUBDIRECTORY(mj2)
 ENDIF(BUILD_MJ2)
+
+IF(BUILD_JPIP)
+ ADD_SUBDIRECTORY(jpip)
+ENDIF(BUILD_JPIP)
index acf4d57fa7583dfdedc2f7bd319bc681b5edfca2..755c205ddfbfd28d94c5d84a8457eaf67b88320b 100644 (file)
@@ -5,6 +5,9 @@ What's New for OpenJPIP
 ! : changed
 + : added
 
+August 12, 2011
++ [antonin] added cmake support to openjpip
+
 July 6, 2011
 * [antonin] JPIP : fixed autotools to work with recent name changes
 
diff --git a/applications/jpip/CMakeLists.txt b/applications/jpip/CMakeLists.txt
new file mode 100644 (file)
index 0000000..b6f6e2a
--- /dev/null
@@ -0,0 +1,5 @@
+
+ADD_SUBDIRECTORY(libopenjpip)
+ADD_SUBDIRECTORY(opj_server)
+ADD_SUBDIRECTORY(opj_client)
+ADD_SUBDIRECTORY(tools)
\ No newline at end of file
diff --git a/applications/jpip/libopenjpip/CMakeLists.txt b/applications/jpip/libopenjpip/CMakeLists.txt
new file mode 100644 (file)
index 0000000..3f42af7
--- /dev/null
@@ -0,0 +1,44 @@
+INCLUDE_REGULAR_EXPRESSION("^.*$")
+
+INCLUDE_DIRECTORIES(
+  ${FCGI_INCLUDE_DIRNAME}
+)
+
+# Defines the source code for the library
+SET(OPENJPIP_SRCS
+${CMAKE_CURRENT_SOURCE_DIR}/boxheader_manager.c
+${CMAKE_CURRENT_SOURCE_DIR}/codestream_manager.c
+${CMAKE_CURRENT_SOURCE_DIR}/imgreg_manager.c
+${CMAKE_CURRENT_SOURCE_DIR}/marker_manager.c
+${CMAKE_CURRENT_SOURCE_DIR}/msgqueue_manager.c
+${CMAKE_CURRENT_SOURCE_DIR}/box_manager.c
+${CMAKE_CURRENT_SOURCE_DIR}/faixbox_manager.c
+${CMAKE_CURRENT_SOURCE_DIR}/index_manager.c
+${CMAKE_CURRENT_SOURCE_DIR}/metadata_manager.c
+${CMAKE_CURRENT_SOURCE_DIR}/placeholder_manager.c
+${CMAKE_CURRENT_SOURCE_DIR}/byte_manager.c
+${CMAKE_CURRENT_SOURCE_DIR}/ihdrbox_manager.c
+${CMAKE_CURRENT_SOURCE_DIR}/manfbox_manager.c
+${CMAKE_CURRENT_SOURCE_DIR}/mhixbox_manager.c
+${CMAKE_CURRENT_SOURCE_DIR}/target_manager.c
+)
+
+# Build the library
+ADD_LIBRARY(openjpip_local ${OPENJPIP_SRCS})
+
+ADD_LIBRARY(openjpip_server ${OPENJPIP_SRCS})
+TARGET_LINK_LIBRARIES(openjpip_server ${FCGI_LIBNAME})
+SET_TARGET_PROPERTIES(openjpip_server
+  PROPERTIES COMPILE_FLAGS "-DSERVER")
+
+
+# Install library
+INSTALL(TARGETS openjpip_local
+  EXPORT OpenJPEGTargets
+  DESTINATION ${OPENJPEG_INSTALL_LIB_DIR} COMPONENT Libraries
+)
+
+INSTALL(TARGETS openjpip_server
+  EXPORT OpenJPEGTargets
+  DESTINATION ${OPENJPEG_INSTALL_LIB_DIR} COMPONENT Libraries
+)
diff --git a/applications/jpip/opj_client/CMakeLists.txt b/applications/jpip/opj_client/CMakeLists.txt
new file mode 100644 (file)
index 0000000..8cf71ac
--- /dev/null
@@ -0,0 +1 @@
+ADD_SUBDIRECTORY(opj_dec_server)
\ No newline at end of file
diff --git a/applications/jpip/opj_client/opj_dec_server/CMakeLists.txt b/applications/jpip/opj_client/opj_dec_server/CMakeLists.txt
new file mode 100644 (file)
index 0000000..437d706
--- /dev/null
@@ -0,0 +1,27 @@
+
+SET(OPJ_DEC_SERVER_SRCS
+${CMAKE_CURRENT_SOURCE_DIR}/cache_manager.c
+${CMAKE_CURRENT_SOURCE_DIR}/opj_dec_server.c
+${CMAKE_CURRENT_SOURCE_DIR}/jp2k_decoder.c
+${CMAKE_CURRENT_SOURCE_DIR}/imgsock_manager.c
+${CMAKE_CURRENT_SOURCE_DIR}/jpipstream_manager.c
+)
+
+INCLUDE_DIRECTORIES(
+  ../../libopenjpip
+)
+
+# Build executable
+
+ADD_EXECUTABLE(opj_dec_server ${OPJ_DEC_SERVER_SRCS})
+TARGET_LINK_LIBRARIES(opj_dec_server openjpip_local ${OPENJPEG_LIBRARY_NAME})
+
+# On unix you need to link to the math library:
+IF(UNIX)
+  TARGET_LINK_LIBRARIES(opj_dec_server m)
+ENDIF(UNIX)
+# Install exe
+INSTALL(TARGETS opj_dec_server
+  EXPORT OpenJPEGTargets
+  DESTINATION ${OPENJPEG_INSTALL_BIN_DIR} COMPONENT Applications
+)
diff --git a/applications/jpip/opj_server/CMakeLists.txt b/applications/jpip/opj_server/CMakeLists.txt
new file mode 100644 (file)
index 0000000..c7bcedc
--- /dev/null
@@ -0,0 +1,29 @@
+
+# Headers file are located here:
+INCLUDE_DIRECTORIES(
+  ${FCGI_INCLUDE_DIRNAME}
+  ../libopenjpip
+)
+
+SET(OPJ_SERVER_SRCS
+${CMAKE_CURRENT_SOURCE_DIR}/channel_manager.c
+${CMAKE_CURRENT_SOURCE_DIR}/opj_server.c
+${CMAKE_CURRENT_SOURCE_DIR}/query_parser.c
+${CMAKE_CURRENT_SOURCE_DIR}/session_manager.c
+)
+
+# Build executable
+
+ADD_DEFINITIONS(-DSERVER)
+ADD_EXECUTABLE(opj_server ${OPJ_SERVER_SRCS})
+TARGET_LINK_LIBRARIES(opj_server openjpip_server ${FCGI_LIBNAME})
+
+# On unix you need to link to the math library:
+IF(UNIX)
+  TARGET_LINK_LIBRARIES(opj_server m)
+ENDIF(UNIX)
+# Install exe
+INSTALL(TARGETS opj_server
+  EXPORT OpenJPEGTargets
+  DESTINATION ${OPENJPEG_INSTALL_BIN_DIR} COMPONENT Applications
+)
diff --git a/applications/jpip/tools/CMakeLists.txt b/applications/jpip/tools/CMakeLists.txt
new file mode 100644 (file)
index 0000000..0441162
--- /dev/null
@@ -0,0 +1,39 @@
+
+ADD_SUBDIRECTORY(indexer)
+
+INCLUDE_DIRECTORIES(
+  ../libopenjpip
+)
+
+ADD_EXECUTABLE(jpip_to_j2k jpip_to_j2k.c)
+TARGET_LINK_LIBRARIES(jpip_to_j2k openjpip_local)
+IF(UNIX)
+  TARGET_LINK_LIBRARIES(jpip_to_j2k m)
+ENDIF(UNIX)
+# Install exe
+INSTALL(TARGETS jpip_to_j2k
+  EXPORT OpenJPEGTargets
+  DESTINATION ${OPENJPEG_INSTALL_BIN_DIR} COMPONENT Applications
+)
+
+ADD_EXECUTABLE(jpip_to_jp2 jpip_to_jp2.c)
+TARGET_LINK_LIBRARIES(jpip_to_jp2 openjpip_local)
+IF(UNIX)
+  TARGET_LINK_LIBRARIES(jpip_to_jp2 m)
+ENDIF(UNIX)
+# Install exe
+INSTALL(TARGETS jpip_to_jp2
+  EXPORT OpenJPEGTargets
+  DESTINATION ${OPENJPEG_INSTALL_BIN_DIR} COMPONENT Applications
+)
+
+ADD_EXECUTABLE(test_index test_index.c)
+TARGET_LINK_LIBRARIES(test_index openjpip_local)
+IF(UNIX)
+  TARGET_LINK_LIBRARIES(test_index m)
+ENDIF(UNIX)
+# Install exe
+INSTALL(TARGETS test_index
+  EXPORT OpenJPEGTargets
+  DESTINATION ${OPENJPEG_INSTALL_BIN_DIR} COMPONENT Applications
+)
\ No newline at end of file
diff --git a/applications/jpip/tools/indexer/CMakeLists.txt b/applications/jpip/tools/indexer/CMakeLists.txt
new file mode 100644 (file)
index 0000000..43422e5
--- /dev/null
@@ -0,0 +1,26 @@
+SET(INDEXER_SRCS
+${CMAKE_CURRENT_SOURCE_DIR}/bio.c
+${CMAKE_CURRENT_SOURCE_DIR}/cio.c
+${CMAKE_CURRENT_SOURCE_DIR}/index_create.c
+${CMAKE_CURRENT_SOURCE_DIR}/int.c
+${CMAKE_CURRENT_SOURCE_DIR}/jp2.c
+${CMAKE_CURRENT_SOURCE_DIR}/jpip.c
+${CMAKE_CURRENT_SOURCE_DIR}/pi.c
+${CMAKE_CURRENT_SOURCE_DIR}/t2.c
+${CMAKE_CURRENT_SOURCE_DIR}/tcd.c
+${CMAKE_CURRENT_SOURCE_DIR}/tgt.c
+)
+
+# Build executable
+
+ADD_EXECUTABLE(index_create ${INDEXER_SRCS})
+
+# On unix you need to link to the math library:
+IF(UNIX)
+  TARGET_LINK_LIBRARIES(index_create m)
+ENDIF(UNIX)
+# Install exe
+INSTALL(TARGETS index_create
+  EXPORT OpenJPEGTargets
+  DESTINATION ${OPENJPEG_INSTALL_BIN_DIR} COMPONENT Applications
+)
\ No newline at end of file
index 00415933f64ac35142da57963ba4c598636b1505..a3f9509519ccecdd1fa9353f78d3f412c221e938 100644 (file)
@@ -143,4 +143,21 @@ ELSE (LCMS2_FOUND) # not found lcms2
   ENDIF (LCMS_FOUND)
 ENDIF(LCMS2_FOUND)
 
+#------------
+# Try to find lib FCGI
+FIND_PACKAGE(FCGI)
+
+IF(FCGI_FOUND)
+
+  SET(FCGI_LIBNAME ${FCGI_LIBRARIES} PARENT_SCOPE)
+  SET(FCGI_INCLUDE_DIRNAME ${FCGI_INCLUDE_DIRS} PARENT_SCOPE) 
+  message("Your system seems to have a FCGI lib available, we will use it to build JPIP")
+
+ELSE (FCGI_FOUND) # not found
+  
+  message("FCGI lib not found, JPIP will not be built as it requires FCGI")
+    
+ENDIF(FCGI_FOUND)
+
+