156 lines
3.7 KiB
CMake
156 lines
3.7 KiB
CMake
#
|
|
PROJECT(opj_flviewer)
|
|
SET(exe opj_flviewer)
|
|
#
|
|
#
|
|
IF(CMAKE_COMPILER_IS_GNUCC)
|
|
SET(CMAKE_CXX_FLAGS "-Wall -Wunused-but-set-variable -Wunused-variable ${CMAKE_CXX_FLAGS}")
|
|
ENDIF()
|
|
#
|
|
INCLUDE(${CMAKE_CURRENT_SOURCE_DIR}/CMake/vers.cmake)
|
|
|
|
SET(FLVIEWER_VERSION
|
|
"${FLVIEWER_VERSION_MAJOR}.${FLVIEWER_VERSION_MINOR}.${FLVIEWER_VERSION_PATCH}")
|
|
SET(FLVIEWER_PACKAGE_STRING "opj_flviewer-${FLVIEWER_VERSION}")
|
|
#
|
|
SET(FLVIEWER_SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR})
|
|
#
|
|
SET(CMAKE_MODULE_PATH
|
|
${CMAKE_CURRENT_SOURCE_DIR}/CMake
|
|
${CMAKE_MODULE_PATH}
|
|
)
|
|
#------- fltk-1.3.x
|
|
FIND_PACKAGE(FLTK REQUIRED)
|
|
FIND_PACKAGE(JPEG)
|
|
#
|
|
ADD_DEFINITIONS(-D_CRT_SECURE_NO_WARNINGS)
|
|
#-------------------------------------------------
|
|
INCLUDE_DIRECTORIES(
|
|
${FLTK_INCLUDE_DIR}
|
|
${JPEG_INCLUDE_DIR}
|
|
${PNG_INCLUDE_DIRNAME}
|
|
${ZLIB_INCLUDE_DIRNAME}
|
|
${LCMS_INCLUDE_DIRNAME}
|
|
${CMAKE_CURRENT_SOURCE_DIR}
|
|
${OPENJPEG_BINARY_DIR}/src/lib/openjp2 #opj_config.h
|
|
${OPENJPEG_BINARY_DIR}/src/bin/common # opj_apps_config.h
|
|
${OPENJPEG_SOURCE_DIR}/src/lib/openjp2
|
|
${OPENJPEG_BINARY_DIR}/src/bin/fltk/flviewer
|
|
${CMAKE_CURRENT_BINARY_DIR}
|
|
)
|
|
if(BUILD_THIRDPARTY)
|
|
include_directories(
|
|
${OPENJPEG_SOURCE_DIR}/thirdparty/include
|
|
${OPENJPEG_SOURCE_DIR}/thirdparty/liblcms2/include
|
|
${OPENJPEG_SOURCE_DIR}/thirdparty/libpng
|
|
${OPENJPEG_SOURCE_DIR}/thirdparty/libtiff
|
|
${OPENJPEG_BINARY_DIR}/thirdparty/libtiff
|
|
)
|
|
endif()
|
|
#
|
|
IF(UNIX)
|
|
FIND_PACKAGE(Threads)
|
|
ELSE()
|
|
IF(WIN32)
|
|
FIND_PACKAGE(NPTH)
|
|
ENDIF()
|
|
ENDIF()
|
|
#
|
|
SET(HAVE_THREADS)
|
|
SET(HAVE_WINPORT)
|
|
INCLUDE(${CMAKE_ROOT}/Modules/CheckPrototypeDefinition.cmake)
|
|
#
|
|
IF(WIN32)
|
|
IF(NPTH_FOUND)
|
|
SET(HAVE_THREADS 1)
|
|
ELSE()
|
|
SET(HAVE_THREADS 1)
|
|
SET(HAVE_WINPORT 1)
|
|
ENDIF()
|
|
ELSE() #UNIX
|
|
IF(CMAKE_HAVE_THREADS_LIBRARY)
|
|
SET(HAVE_THREADS 1)
|
|
ENDIF()
|
|
ENDIF()
|
|
#-------------------
|
|
IF(UNIX)
|
|
FIND_PROGRAM(FLTK_CONFIG_SCRIPT fltk-config PATHS ${FLTK_BIN_DIR})
|
|
#
|
|
EXEC_PROGRAM(${FLTK_CONFIG_SCRIPT} ARGS --use-images --ldflags
|
|
OUTPUT_VARIABLE FLIBS)
|
|
SET(LIBS ${FLIBS})
|
|
ELSE() # not UNIX
|
|
SET(LIBS ${FLTK_BASE_LIBRARY} ${FLTK_FORMS_LIBRARY} ${FLTK_GL_LIBRARY} ${FLTK_IMAGES_LIBRARY} ${JPEG_LIBRARIES} ${PNG_LIBRARIES})
|
|
ENDIF()
|
|
#-------------------
|
|
SET(SRCS flviewer.cxx ps_image.cxx print_gui.cxx rgb_color.cxx)
|
|
SET(SRCS ${SRCS} color.cxx read_jpeg2000.cxx read_mj2.cxx read_jpx.cxx read_jpm.cxx)
|
|
#
|
|
IF(OPJ_HAVE_LIBPNG)
|
|
SET(SRCS ${SRCS} PNG.cxx)
|
|
SET(LIBS ${LIBS} ${PNG_LIBNAME} ${Z_LIBNAME})
|
|
ENDIF()
|
|
#
|
|
SET(SRCS ${SRCS} OPENJPEG.cxx PGX.cxx OPENMJ2.cxx JP2.cxx)
|
|
#
|
|
#IF(BUILD_JPWL AND BUILD_FLVIEWER_WITH_JPWL_LIB)
|
|
# INCLUDE_DIRECTORIES(${OPENJPEGJPWL_INCLUDE_DIR})
|
|
# SET(LIBS ${LIBS} ${OPENJPEGJPWL_LIBRARY_NAME})
|
|
#ELSE()
|
|
INCLUDE_DIRECTORIES(${OPENJPEG_INCLUDE_DIR})
|
|
SET(LIBS ${LIBS} ${OPENJPEG_LIBRARY_NAME})
|
|
#ENDIF()
|
|
#
|
|
IF(OPJ_HAVE_LIBLCMS2 OR OPJ_HAVE_LIBLCMS1)
|
|
SET(LIBS ${LIBS} ${LCMS_LIBNAME})
|
|
ENDIF()
|
|
#
|
|
IF(BUILD_WITH_GERMAN)
|
|
SET(WITH_GERMAN 1)
|
|
ELSE()
|
|
SET(WITH_ENGLISH 1)
|
|
ENDIF()
|
|
#
|
|
INCLUDE(${CMAKE_CURRENT_SOURCE_DIR}/CMake/defs.cmake)
|
|
#
|
|
CONFIGURE_FILE(${CMAKE_CURRENT_SOURCE_DIR}/config.h.cmake
|
|
${CMAKE_CURRENT_BINARY_DIR}/config.h)
|
|
#
|
|
IF(UNIX)
|
|
IF("${FLTK_MATH_LIBRARY}" STREQUAL "FLTK_MATH_LIBRARY-NOTFOUND")
|
|
MESSAGE("FLTK_MATH_LIBRARY NOT FOUND")
|
|
ELSE()
|
|
SET(LIBS ${LIBS} ${FLTK_MATH_LIBRARY})
|
|
ENDIF()
|
|
ENDIF()
|
|
#
|
|
IF(WIN32)
|
|
IF(BUILD_FLVIEWER_WITH_SHARED_LIBS)
|
|
ADD_DEFINITIONS(-DOPJ_EXPORTS)
|
|
ELSE()
|
|
ADD_DEFINITIONS(-DOPJ_STATIC)
|
|
ENDIF()
|
|
ENDIF()
|
|
#
|
|
ADD_EXECUTABLE(${exe} ${SRCS})
|
|
#
|
|
TARGET_LINK_LIBRARIES(${exe} ${LIBS})
|
|
#
|
|
IF(UNIX)
|
|
TARGET_LINK_LIBRARIES(${exe} m)
|
|
ENDIF()
|
|
#
|
|
IF(MSVC)
|
|
SET_TARGET_PROPERTIES(${exe} PROPERTIES LINK_FLAGS_RELEASE
|
|
"/NODEFAULTLIB:libcmt.lib
|
|
/NODEFAULTLIB:libcmtd.lib
|
|
/NODEFAULTLIB:msvcrtd.lib
|
|
/SUBSYSTEM:CONSOLE" )
|
|
ENDIF()
|
|
#
|
|
INSTALL(TARGETS ${exe}
|
|
RUNTIME
|
|
DESTINATION bin
|
|
)
|
|
#
|