openjpeg/src/bin/fltk/flviewer/CMakeLists.txt

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
)
#