COMP: Fixing configuration for static builds. Fixing dependencies that several

executables have on getopt.c, convert.c and index.c.

Some refactoring is going to be required in order to have a cleaner
configuration process and make it easier to maintain.
This commit is contained in:
Luis Ibanez 2010-09-01 00:52:26 +00:00
parent 86864a2f6c
commit 26e8f3fd28
3 changed files with 44 additions and 10 deletions

View File

@ -27,9 +27,9 @@ ENDIF(DONT_HAVE_GETOPT)
# Do the proper thing when building static...if only there was configured # Do the proper thing when building static...if only there was configured
# headers or def files instead # headers or def files instead
#IF(NOT BUILD_SHARED_LIBS) IF(NOT BUILD_SHARED_LIBS)
# ADD_DEFINITIONS(-DOPJ_STATIC) ADD_DEFINITIONS(-DOPJ_STATIC)
#ENDIF(NOT BUILD_SHARED_LIBS) ENDIF(NOT BUILD_SHARED_LIBS)
#FIND_PACKAGE(TIFF REQUIRED) #FIND_PACKAGE(TIFF REQUIRED)

View File

@ -24,31 +24,59 @@ SET(OPJ_SRCS
) )
SET(JPWL_SRCS crc.c jpwl.c jpwl_lib.c rs.c) SET(JPWL_SRCS crc.c jpwl.c jpwl_lib.c rs.c)
# Then check if getopt is present:
INCLUDE (${CMAKE_ROOT}/Modules/CheckIncludeFile.cmake)
SET(DONT_HAVE_GETOPT 1)
IF(UNIX) #I am pretty sure only *nix sys have this anyway
CHECK_INCLUDE_FILE("getopt.h" CMAKE_HAVE_GETOPT_H)
# Seems like we need the contrary:
IF(CMAKE_HAVE_GETOPT_H)
SET(DONT_HAVE_GETOPT 0)
ENDIF(CMAKE_HAVE_GETOPT_H)
ENDIF(UNIX)
# If not getopt was found then add it to the lib:
IF(DONT_HAVE_GETOPT)
ADD_DEFINITIONS(-DDONT_HAVE_GETOPT)
SET(OPJ_SRCS
${OPJ_SRCS}
../codec/compat/getopt.c
)
ENDIF(DONT_HAVE_GETOPT)
ADD_LIBRARY(openjpeg_JPWL ${JPWL_SRCS} ${OPJ_SRCS}) ADD_LIBRARY(openjpeg_JPWL ${JPWL_SRCS} ${OPJ_SRCS})
# Do the proper thing when building static...if only there was configured # Do the proper thing when building static...if only there was configured
# headers or def files instead # headers or def files instead
#IF(NOT BUILD_SHARED_LIBS) IF(NOT BUILD_SHARED_LIBS)
# ADD_DEFINITIONS(-DOPJ_STATIC) ADD_DEFINITIONS(-DOPJ_STATIC)
#ENDIF(NOT BUILD_SHARED_LIBS) ENDIF(NOT BUILD_SHARED_LIBS)
INCLUDE_DIRECTORIES( INCLUDE_DIRECTORIES(
${OPENJPEG_SOURCE_DIR}/libopenjpeg ${OPENJPEG_SOURCE_DIR}/libopenjpeg
) )
FIND_PACKAGE(TIFF REQUIRED) FIND_PACKAGE(TIFF REQUIRED)
FIND_PACKAGE(PNG REQUIRED)
INCLUDE_DIRECTORIES( ${PNG_INCLUDE_DIR} )
INCLUDE_DIRECTORIES( ${TIFF_INCLUDE_DIR} )
ADD_EXECUTABLE(JPWL_j2k_to_image ADD_EXECUTABLE(JPWL_j2k_to_image
../codec/convert.c ../codec/j2k_to_image.c ../codec/convert.c
../codec/index.c
../codec/j2k_to_image.c
) )
TARGET_LINK_LIBRARIES(JPWL_j2k_to_image openjpeg_JPWL ${TIFF_LIBRARIES}) TARGET_LINK_LIBRARIES(JPWL_j2k_to_image ${OPJ_PREFIX}openjpeg_JPWL ${TIFF_LIBRARIES})
IF(UNIX) IF(UNIX)
TARGET_LINK_LIBRARIES(JPWL_j2k_to_image m) TARGET_LINK_LIBRARIES(JPWL_j2k_to_image m)
ENDIF(UNIX) ENDIF(UNIX)
ADD_EXECUTABLE(JPWL_image_to_j2k ADD_EXECUTABLE(JPWL_image_to_j2k
../codec/convert.c ../codec/image_to_j2k.c) ../codec/convert.c
TARGET_LINK_LIBRARIES(JPWL_image_to_j2k openjpeg_JPWL ${TIFF_LIBRARIES}) ../codec/index.c
../codec/image_to_j2k.c
)
TARGET_LINK_LIBRARIES(JPWL_image_to_j2k ${OPJ_PREFIX}openjpeg_JPWL ${TIFF_LIBRARIES})
IF(UNIX) IF(UNIX)
TARGET_LINK_LIBRARIES(JPWL_image_to_j2k m) TARGET_LINK_LIBRARIES(JPWL_image_to_j2k m)
ENDIF(UNIX) ENDIF(UNIX)

View File

@ -5,6 +5,12 @@ INCLUDE_DIRECTORIES(
${OPENJPEG_SOURCE_DIR}/libopenjpeg ${OPENJPEG_SOURCE_DIR}/libopenjpeg
) )
# Do the proper thing when building static...if only there was configured
# headers or def files instead
IF(NOT BUILD_SHARED_LIBS)
ADD_DEFINITIONS(-DOPJ_STATIC)
ENDIF(NOT BUILD_SHARED_LIBS)
ADD_EXECUTABLE(frames_to_mj2 ADD_EXECUTABLE(frames_to_mj2
frames_to_mj2.c frames_to_mj2.c
compat/getopt.c compat/getopt.c