diff --git a/CHANGES b/CHANGES index cb717fd3..8c407b2a 100644 --- a/CHANGES +++ b/CHANGES @@ -7,6 +7,7 @@ What's New for OpenJPEG December 8, 2011 * [Mathieu Malaterre] Remove 9 warnings (gcc) +* [mathieu] remove hack with bash around kdu_expand December 7, 2011 - [mickael] deactivate tests about class0 files with number of components greater to 1 diff --git a/CMake/FindKAKADU.cmake b/CMake/FindKAKADU.cmake new file mode 100644 index 00000000..763304d6 --- /dev/null +++ b/CMake/FindKAKADU.cmake @@ -0,0 +1,19 @@ +# +# this module looks for KAKADu +# http://www.kakadusoftware.com/ +# +# +# Copyright (c) 2006-2011 Mathieu Malaterre +# +# Redistribution and use is allowed according to the terms of the New +# BSD license. +# For details see the accompanying COPYING-CMAKE-SCRIPTS file. +# + +FIND_PROGRAM(KDU_EXPAND_EXECUTABLE + kdu_expand + ) + +MARK_AS_ADVANCED( + KDU_EXPAND_EXECUTABLE + ) diff --git a/CMakeLists.txt b/CMakeLists.txt index 0763ecd1..e93c6dd9 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -256,13 +256,12 @@ IF(BUILD_TESTING) # Search openjpeg data needed for the tests # They could be found via svn on the OpenJPEG google code project # svn checkout http://openjpeg.googlecode.com/svn/data (about 70 Mo) - FIND_PATH(OPJ_DATA_ROOT README-OPJ-Data - PATHS $ENV{OPJ_DATA_ROOT} ${CMAKE_SOURCE_DIR}/../data) - - # For encoding tests we need the path to the ref decoder exe/lib (kakadu) - SET (REF_DECODER_BIN_PATH "NOTFOUND" CACHE PATH "Single directory where find the reference decoder binaries to enable encoding test suite.") - MARK_AS_ADVANCED(REF_DECODER_BIN_PATH) - + FIND_PATH(OPJ_DATA_ROOT README-OPJ-Data + PATHS + $ENV{OPJ_DATA_ROOT} + ${CMAKE_SOURCE_DIR}/../data + ) + # Add repository where to find tests ADD_SUBDIRECTORY(tests) diff --git a/tests/nonregression/CMakeLists.txt b/tests/nonregression/CMakeLists.txt index 1229e74f..43ee1f77 100644 --- a/tests/nonregression/CMakeLists.txt +++ b/tests/nonregression/CMakeLists.txt @@ -9,12 +9,8 @@ SET(INPUT_NR ${OPJ_DATA_ROOT}/input/nonregression) SET(INPUT_NR_PATH ${INPUT_NR}) SET(TEMP_PATH ${TEMP}) -# FIXME: should be corectly manage with a find kakadu -IF (NOT WIN32) -CONFIGURE_FILE("opj_ref_decode_cmd.sh.in" - "${CMAKE_CURRENT_BINARY_DIR}/opj_ref_decode_cmd.sh" - @ONLY) -ENDIF (NOT WIN32) +# need kdu_expand if possible +find_package(KAKADU) STRING(COMPARE EQUAL ${REF_DECODER_BIN_PATH} "NOTFOUND" REF_DECODER_NOTFOUND) IF (REF_DECODER_NOTFOUND) @@ -206,21 +202,12 @@ FOREACH(OPJ_TEST_CMD_LINE ${OPJ_TEST_CMD_LINE_LIST}) NR-ENC-${INPUT_FILENAME_NAME}-${IT_TEST_ENC}-dump) # Decode the encoding file with kakadu expand command - IF (NOT REF_DECODER_NOTFOUND) - IF (NOT WIN32) - # Need a bash script to export the path of the kakadu library into PATH - ADD_TEST( NR-ENC-${INPUT_FILENAME_NAME}-${IT_TEST_ENC}-decode-ref - bash ${CMAKE_CURRENT_BINARY_DIR}/opj_ref_decode_cmd.sh - -i ${OUTPUT_FILENAME} - -o ${OUTPUT_FILENAME}.raw + IF (KDU_EXPAND_EXECUTABLE) + ADD_TEST(NR-ENC-${INPUT_FILENAME_NAME}-${IT_TEST_ENC}-decode-ref + ${KDU_EXPAND_EXECUTABLE} + -i ${OUTPUT_FILENAME} + -o ${OUTPUT_FILENAME}.raw ) - ELSE (NOT WIN32) - ADD_TEST(NR-ENC-${INPUT_FILENAME_NAME}-${IT_TEST_ENC}-decode-ref - ${REF_DECODER_BIN_PATH}/kdu_expand - -i ${OUTPUT_FILENAME} - -o ${OUTPUT_FILENAME}.raw - ) - ENDIF (NOT WIN32) SET_TESTS_PROPERTIES(NR-ENC-${INPUT_FILENAME_NAME}-${IT_TEST_ENC}-decode-ref PROPERTIES DEPENDS @@ -237,7 +224,7 @@ FOREACH(OPJ_TEST_CMD_LINE ${OPJ_TEST_CMD_LINE_LIST}) PROPERTIES DEPENDS NR-ENC-${INPUT_FILENAME_NAME}-${IT_TEST_ENC}-decode-ref) - ENDIF(NOT REF_DECODER_NOTFOUND) + ENDIF() ENDIF(FAILED_TEST_FOUND) # DECODER TEST SUITE diff --git a/tests/nonregression/opj_ref_decode_cmd.sh.in b/tests/nonregression/opj_ref_decode_cmd.sh.in deleted file mode 100644 index f2147886..00000000 --- a/tests/nonregression/opj_ref_decode_cmd.sh.in +++ /dev/null @@ -1,4 +0,0 @@ -#!/bin/bash -export LD_LIBRARY_PATH="@REF_DECODER_BIN_PATH@" -echo run following command: @REF_DECODER_BIN_PATH@/kdu_expand $@ -@REF_DECODER_BIN_PATH@/kdu_expand $@ \ No newline at end of file