[1.5] Create a new cmake option to choose between convienient copy of getopt and system installed one
Udapte issue 301
This commit is contained in:
parent
78d1820881
commit
4f4de7070e
|
@ -233,6 +233,8 @@ IF(BUILD_JPIP)
|
||||||
ENDIF(BUILD_JPIP)
|
ENDIF(BUILD_JPIP)
|
||||||
OPTION(BUILD_VIEWER "Build the OPJViewer executable (C++)" OFF)
|
OPTION(BUILD_VIEWER "Build the OPJViewer executable (C++)" OFF)
|
||||||
OPTION(BUILD_JAVA "Build the openjpeg jar (Java)" OFF)
|
OPTION(BUILD_JAVA "Build the openjpeg jar (Java)" OFF)
|
||||||
|
OPTION(USE_SYSTEM_GETOPT "Prefer system installed getopt()" OFF)
|
||||||
|
MARK_AS_ADVANCED(USE_SYSTEM_GETOPT)
|
||||||
MARK_AS_ADVANCED(BUILD_VIEWER)
|
MARK_AS_ADVANCED(BUILD_VIEWER)
|
||||||
MARK_AS_ADVANCED(BUILD_JAVA)
|
MARK_AS_ADVANCED(BUILD_JAVA)
|
||||||
|
|
||||||
|
|
|
@ -5,8 +5,12 @@ SET(common_SRCS
|
||||||
convert.c
|
convert.c
|
||||||
index.c
|
index.c
|
||||||
${OPENJPEG_SOURCE_DIR}/applications/common/color.c
|
${OPENJPEG_SOURCE_DIR}/applications/common/color.c
|
||||||
|
)
|
||||||
|
if(NOT USE_SYSTEM_GETOPT)
|
||||||
|
list(APPEND common_SRCS
|
||||||
${OPENJPEG_SOURCE_DIR}/applications/common/opj_getopt.c
|
${OPENJPEG_SOURCE_DIR}/applications/common/opj_getopt.c
|
||||||
)
|
)
|
||||||
|
endif()
|
||||||
|
|
||||||
# Headers file are located here:
|
# Headers file are located here:
|
||||||
INCLUDE_DIRECTORIES(
|
INCLUDE_DIRECTORIES(
|
||||||
|
|
|
@ -38,6 +38,10 @@ static char sccsid[] = "@(#)opj_getopt.c 8.3 (Berkeley) 4/27/95";
|
||||||
#include <string.h>
|
#include <string.h>
|
||||||
#include "opj_getopt.h"
|
#include "opj_getopt.h"
|
||||||
|
|
||||||
|
#ifdef USE_SYSTEM_GETOPT
|
||||||
|
#error
|
||||||
|
#endif
|
||||||
|
|
||||||
int opj_opterr = 1, /* if error message should be printed */
|
int opj_opterr = 1, /* if error message should be printed */
|
||||||
opj_optind = 1, /* index into parent argv vector */
|
opj_optind = 1, /* index into parent argv vector */
|
||||||
opj_optopt, /* character checked for validity */
|
opj_optopt, /* character checked for validity */
|
||||||
|
|
|
@ -1,5 +1,7 @@
|
||||||
/* last review : october 29th, 2002 */
|
/* last review : october 29th, 2002 */
|
||||||
|
|
||||||
|
#include "opj_config.h"
|
||||||
|
|
||||||
#ifndef _GETOPT_H_
|
#ifndef _GETOPT_H_
|
||||||
#define _GETOPT_H_
|
#define _GETOPT_H_
|
||||||
|
|
||||||
|
@ -9,12 +11,25 @@ typedef struct opj_option
|
||||||
int has_arg;
|
int has_arg;
|
||||||
int *flag;
|
int *flag;
|
||||||
int val;
|
int val;
|
||||||
}opj_option_t;
|
} opj_option_t;
|
||||||
|
|
||||||
#define NO_ARG 0
|
#define NO_ARG 0
|
||||||
#define REQ_ARG 1
|
#define REQ_ARG 1
|
||||||
#define OPT_ARG 2
|
#define OPT_ARG 2
|
||||||
|
|
||||||
|
#ifdef USE_SYSTEM_GETOPT
|
||||||
|
#include <getopt.h>
|
||||||
|
|
||||||
|
#define opj_opterr opterr
|
||||||
|
#define opj_optind optind
|
||||||
|
#define opj_optopt optopt
|
||||||
|
#define opj_optreset optreset
|
||||||
|
#define opj_optarg optarg
|
||||||
|
|
||||||
|
#define opj_getopt getopt
|
||||||
|
#define opj_getopt_long getopt_long
|
||||||
|
|
||||||
|
#else
|
||||||
extern int opj_opterr;
|
extern int opj_opterr;
|
||||||
extern int opj_optind;
|
extern int opj_optind;
|
||||||
extern int opj_optopt;
|
extern int opj_optopt;
|
||||||
|
@ -26,4 +41,5 @@ extern int opj_getopt_long(int argc, char * const argv[], const char *optstring,
|
||||||
const opj_option_t *longopts, int totlen);
|
const opj_option_t *longopts, int totlen);
|
||||||
extern void reset_options_reading(void);
|
extern void reset_options_reading(void);
|
||||||
|
|
||||||
|
#endif /* USE_SYSTEM_GETOPT */
|
||||||
#endif /* _GETOPT_H_ */
|
#endif /* _GETOPT_H_ */
|
||||||
|
|
|
@ -19,6 +19,7 @@
|
||||||
#cmakedefine HAVE_LIBLCMS2
|
#cmakedefine HAVE_LIBLCMS2
|
||||||
#cmakedefine HAVE_LCMS1_H
|
#cmakedefine HAVE_LCMS1_H
|
||||||
#cmakedefine HAVE_LCMS2_H
|
#cmakedefine HAVE_LCMS2_H
|
||||||
|
#cmakedefine USE_SYSTEM_GETOPT
|
||||||
|
|
||||||
/* Byte order. */
|
/* Byte order. */
|
||||||
/* All compilers that support Mac OS X define either __BIG_ENDIAN__ or
|
/* All compilers that support Mac OS X define either __BIG_ENDIAN__ or
|
||||||
|
|
|
@ -11,14 +11,15 @@ INCLUDE_DIRECTORIES(
|
||||||
# First thing define the common source:
|
# First thing define the common source:
|
||||||
SET(comparePGXimages_SRCS comparePGXimages.c
|
SET(comparePGXimages_SRCS comparePGXimages.c
|
||||||
${OPENJPEG_SOURCE_DIR}/applications/codec/convert.c
|
${OPENJPEG_SOURCE_DIR}/applications/codec/convert.c
|
||||||
${OPENJPEG_SOURCE_DIR}/applications/common/opj_getopt.c
|
|
||||||
)
|
)
|
||||||
|
SET(compare_dump_files_SRCS compare_dump_files.c)
|
||||||
|
SET(compareRAWimages_SRCS compareRAWimages.c)
|
||||||
|
|
||||||
SET(compare_dump_files_SRCS compare_dump_files.c
|
if(NOT USE_SYSTEM_GETOPT)
|
||||||
${OPENJPEG_SOURCE_DIR}/applications/common/opj_getopt.c)
|
list(APPEND comparePGXimages_SRCS ${OPENJPEG_SOURCE_DIR}/applications/common/opj_getopt.c)
|
||||||
|
list(APPEND compare_dump_files_SRCS ${OPENJPEG_SOURCE_DIR}/applications/common/opj_getopt.c)
|
||||||
SET(compareRAWimages_SRCS compareRAWimages.c
|
list(APPEND compareRAWimages_SRCS ${OPENJPEG_SOURCE_DIR}/applications/common/opj_getopt.c)
|
||||||
${OPENJPEG_SOURCE_DIR}/applications/common/opj_getopt.c)
|
endif()
|
||||||
|
|
||||||
ADD_EXECUTABLE(comparePGXimages ${comparePGXimages_SRCS})
|
ADD_EXECUTABLE(comparePGXimages ${comparePGXimages_SRCS})
|
||||||
TARGET_LINK_LIBRARIES(comparePGXimages
|
TARGET_LINK_LIBRARIES(comparePGXimages
|
||||||
|
|
Loading…
Reference in New Issue