Merge with e190c52ab7861c68762aaa552f3dc0f59fe2e225 from default
This revision compiles and runs on Win7x64- but further evaluation is necessary. There may be an issue with cmake step -After cmake I had to copy rtgui/version.h & config.h into out of source build /rtgui folder. Additional notes: - ImProcFunctions::hsv2rgb01 -> this likely need to be added to color.h & color.cc - Use of array2D should be verified in NR code - compilation warning for rtengine::RawImageSource::isWBProviderReady()
@@ -1,29 +0,0 @@
|
||||
# cmakefile executed within a makefile target
|
||||
|
||||
# we look for the hg command in this paths by order of preference
|
||||
find_file(HG_CMD hg PATHS "/opt/local/bin" "/usr/local/bin" "/usr/bin")
|
||||
find_file(HG_CMD hg)
|
||||
|
||||
# the hg command is looked for again, at build time
|
||||
if (HG_CMD STREQUAL HG_CMD-NOTFOUND)
|
||||
message(FATAL_ERROR "hg command not found!")
|
||||
else (HG_CMD STREQUAL HG_CMD-NOTFOUND)
|
||||
message(STATUS "hg command found: ${HG_CMD}")
|
||||
endif (HG_CMD STREQUAL HG_CMD-NOTFOUND)
|
||||
|
||||
set (OUT_FILE "${SRC_DIR}/AboutThisBuild.txt")
|
||||
set (SHELL "/bin/bash")
|
||||
# there should be a better way of getting the compiler + compiler version, not restrained to Gcc
|
||||
execute_process(COMMAND gcc -dumpversion OUTPUT_VARIABLE GCC_VERSION OUTPUT_STRIP_TRAILING_WHITESPACE)
|
||||
execute_process(COMMAND ${HG_CMD} -R ${SRC_DIR} branch OUTPUT_VARIABLE HG_BRANCH OUTPUT_STRIP_TRAILING_WHITESPACE)
|
||||
execute_process(COMMAND ${HG_CMD} parents --template={latesttag}.{latesttagdistance} WORKING_DIRECTORY ${SRC_DIR} OUTPUT_VARIABLE HG_VERSION OUTPUT_STRIP_TRAILING_WHITESPACE)
|
||||
execute_process(COMMAND ${HG_CMD} parents --template={node|short} WORKING_DIRECTORY ${SRC_DIR} OUTPUT_VARIABLE HG_CHANGESET OUTPUT_STRIP_TRAILING_WHITESPACE)
|
||||
execute_process(COMMAND ${HG_CMD} parents --template={latesttagdistance} WORKING_DIRECTORY ${SRC_DIR} OUTPUT_VARIABLE HG_TAGDISTANCE OUTPUT_STRIP_TRAILING_WHITESPACE)
|
||||
if (CACHE_NAME_SUFFIX STREQUAL "")
|
||||
execute_process(COMMAND ${HG_CMD} parents --template={latesttag} WORKING_DIRECTORY ${SRC_DIR} OUTPUT_VARIABLE CACHE_NAME_SUFFIX OUTPUT_STRIP_TRAILING_WHITESPACE)
|
||||
endif ()
|
||||
|
||||
# build version.h from template
|
||||
configure_file (${SRC_DIR}/rtgui/version.h.in ${SRC_DIR}/rtgui/version.h)
|
||||
# build AboutThisBuild.txt from template
|
||||
configure_file (${SRC_DIR}/AboutThisBuild.txt.in ${SRC_DIR}/AboutThisBuild.txt)
|
@@ -1,29 +0,0 @@
|
||||
# cmakefile executed within a makefile target
|
||||
|
||||
# we look for the hg command in this paths by order of preference
|
||||
find_file(HG_CMD hg)
|
||||
|
||||
|
||||
# the hg command is looked for again, at build time
|
||||
if (HG_CMD STREQUAL HG_CMD-NOTFOUND)
|
||||
message(FATAL_ERROR "hg command not found!")
|
||||
else (HG_CMD STREQUAL HG_CMD-NOTFOUND)
|
||||
message(STATUS "hg command found: ${HG_CMD}")
|
||||
endif (HG_CMD STREQUAL HG_CMD-NOTFOUND)
|
||||
|
||||
set (OUT_FILE "${SRC_DIR}/AboutThisBuild.txt")
|
||||
set (SHELL "/bin/bash")
|
||||
# there should be a better way of getting the compiler + compiler version, not restrained to Gcc
|
||||
execute_process(COMMAND gcc -dumpversion OUTPUT_VARIABLE GCC_VERSION OUTPUT_STRIP_TRAILING_WHITESPACE)
|
||||
execute_process(COMMAND ${HG_CMD} -R ${SRC_DIR} branch OUTPUT_VARIABLE HG_BRANCH OUTPUT_STRIP_TRAILING_WHITESPACE)
|
||||
execute_process(COMMAND ${HG_CMD} parents --template={latesttag}.{latesttagdistance} WORKING_DIRECTORY ${SRC_DIR} OUTPUT_VARIABLE HG_VERSION OUTPUT_STRIP_TRAILING_WHITESPACE)
|
||||
execute_process(COMMAND ${HG_CMD} parents --template={node|short} WORKING_DIRECTORY ${SRC_DIR} OUTPUT_VARIABLE HG_CHANGESET OUTPUT_STRIP_TRAILING_WHITESPACE)
|
||||
execute_process(COMMAND ${HG_CMD} parents --template={latesttagdistance} WORKING_DIRECTORY ${SRC_DIR} OUTPUT_VARIABLE HG_TAGDISTANCE OUTPUT_STRIP_TRAILING_WHITESPACE)
|
||||
if (CACHE_NAME_SUFFIX STREQUAL "")
|
||||
execute_process(COMMAND ${HG_CMD} parents --template={latesttag} WORKING_DIRECTORY ${SRC_DIR} OUTPUT_VARIABLE CACHE_NAME_SUFFIX OUTPUT_STRIP_TRAILING_WHITESPACE)
|
||||
endif ()
|
||||
|
||||
# build version.h from template
|
||||
configure_file (${SRC_DIR}/rtgui/version.h.in ${SRC_DIR}/rtgui/version.h)
|
||||
# build AboutThisBuild.txt from template
|
||||
configure_file (${SRC_DIR}/AboutThisBuild.txt.in ${SRC_DIR}/AboutThisBuild.txt)
|
@@ -1,29 +0,0 @@
|
||||
# cmakefile executed within a makefile target
|
||||
|
||||
# we look for the hg command in this paths by order of preference
|
||||
find_file(HG_CMD hg.exe HINTS ENV Path PATH_SUFFIXES ../)
|
||||
|
||||
|
||||
# the hg command is looked for again, at build time
|
||||
if (HG_CMD STREQUAL HG_CMD-NOTFOUND)
|
||||
message(FATAL_ERROR "hg command not found!")
|
||||
else (HG_CMD STREQUAL HG_CMD-NOTFOUND)
|
||||
message(STATUS "hg command found: ${HG_CMD}")
|
||||
endif (HG_CMD STREQUAL HG_CMD-NOTFOUND)
|
||||
|
||||
set (OUT_FILE "${SRC_DIR}/AboutThisBuild.txt")
|
||||
|
||||
# there should be a better way of getting the compiler + compiler version, not restrained to Gcc
|
||||
execute_process(COMMAND gcc -dumpversion OUTPUT_VARIABLE GCC_VERSION OUTPUT_STRIP_TRAILING_WHITESPACE)
|
||||
execute_process(COMMAND ${HG_CMD} -R ${SRC_DIR} branch OUTPUT_VARIABLE HG_BRANCH OUTPUT_STRIP_TRAILING_WHITESPACE)
|
||||
execute_process(COMMAND ${HG_CMD} parents --template={latesttag}.{latesttagdistance} WORKING_DIRECTORY ${SRC_DIR} OUTPUT_VARIABLE HG_VERSION OUTPUT_STRIP_TRAILING_WHITESPACE)
|
||||
execute_process(COMMAND ${HG_CMD} parents --template={node|short} WORKING_DIRECTORY ${SRC_DIR} OUTPUT_VARIABLE HG_CHANGESET OUTPUT_STRIP_TRAILING_WHITESPACE)
|
||||
execute_process(COMMAND ${HG_CMD} parents --template={latesttagdistance} WORKING_DIRECTORY ${SRC_DIR} OUTPUT_VARIABLE HG_TAGDISTANCE OUTPUT_STRIP_TRAILING_WHITESPACE)
|
||||
if (CACHE_NAME_SUFFIX STREQUAL "")
|
||||
execute_process(COMMAND ${HG_CMD} parents --template={latesttag} WORKING_DIRECTORY ${SRC_DIR} OUTPUT_VARIABLE CACHE_NAME_SUFFIX OUTPUT_STRIP_TRAILING_WHITESPACE)
|
||||
endif ()
|
||||
|
||||
# build version.h from template
|
||||
configure_file (${SRC_DIR}/rtgui/version.h.in ${SRC_DIR}/rtgui/version.h)
|
||||
# build AboutThisBuild.txt from template
|
||||
configure_file (${SRC_DIR}/AboutThisBuild.txt.in ${SRC_DIR}/AboutThisBuild.txt)
|
39
AboutThisBuild.cmake
Normal file
@@ -0,0 +1,39 @@
|
||||
# cmakefile executed within a makefile target
|
||||
|
||||
# If we find ReleaseInfo.cmake we use the info from there and don't need Mercurial to be installed
|
||||
find_file(REL_INFO_FILE ReleaseInfo.cmake PATHS "${PROJECT_SOURCE_DIR}" NO_DEFAULT_PATH)
|
||||
if (REL_INFO_FILE STREQUAL REL_INFO_FILE-NOTFOUND)
|
||||
# we look for the hg command in this paths by order of preference
|
||||
if (WIN32)
|
||||
find_file(HG_CMD hg.exe HINTS ENV Path PATH_SUFFIXES ../)
|
||||
elseif (APPLE)
|
||||
find_file(HG_CMD hg PATHS "/opt/local/bin" "/usr/local/bin" "/usr/bin")
|
||||
find_file(HG_CMD hg)
|
||||
set (SHELL "/bin/bash")
|
||||
else (WIN32) # Linux
|
||||
find_file(HG_CMD hg)
|
||||
set (SHELL "/bin/bash")
|
||||
endif (WIN32)
|
||||
|
||||
# Fail if Mercurial is not installed
|
||||
if (HG_CMD STREQUAL HG_CMD-NOTFOUND)
|
||||
message(FATAL_ERROR "hg command not found!")
|
||||
else (HG_CMD STREQUAL HG_CMD-NOTFOUND)
|
||||
message(STATUS "hg command found: ${HG_CMD}")
|
||||
endif (HG_CMD STREQUAL HG_CMD-NOTFOUND)
|
||||
|
||||
execute_process(COMMAND ${HG_CMD} -R "${PROJECT_SOURCE_DIR}" branch OUTPUT_VARIABLE HG_BRANCH OUTPUT_STRIP_TRAILING_WHITESPACE)
|
||||
execute_process(COMMAND ${HG_CMD} -R "${PROJECT_SOURCE_DIR}" parents --template={latesttag}.{latesttagdistance} WORKING_DIRECTORY "${PROJECT_SOURCE_DIR}" OUTPUT_VARIABLE HG_VERSION OUTPUT_STRIP_TRAILING_WHITESPACE)
|
||||
execute_process(COMMAND ${HG_CMD} -R "${PROJECT_SOURCE_DIR}" parents --template={node|short} WORKING_DIRECTORY "${PROJECT_SOURCE_DIR}" OUTPUT_VARIABLE HG_CHANGESET OUTPUT_STRIP_TRAILING_WHITESPACE)
|
||||
execute_process(COMMAND ${HG_CMD} -R "${PROJECT_SOURCE_DIR}" parents --template={latesttagdistance} WORKING_DIRECTORY "${PROJECT_SOURCE_DIR}" OUTPUT_VARIABLE HG_TAGDISTANCE OUTPUT_STRIP_TRAILING_WHITESPACE)
|
||||
if (CACHE_NAME_SUFFIX STREQUAL "")
|
||||
execute_process(COMMAND ${HG_CMD} -R "${PROJECT_SOURCE_DIR}" parents --template={latesttag} WORKING_DIRECTORY "${PROJECT_SOURCE_DIR}" OUTPUT_VARIABLE CACHE_NAME_SUFFIX OUTPUT_STRIP_TRAILING_WHITESPACE)
|
||||
endif (CACHE_NAME_SUFFIX STREQUAL "")
|
||||
else (REL_INFO_FILE STREQUAL REL_INFO_FILE-NOTFOUND)
|
||||
include("${PROJECT_SOURCE_DIR}/ReleaseInfo.cmake")
|
||||
endif (REL_INFO_FILE STREQUAL REL_INFO_FILE-NOTFOUND)
|
||||
|
||||
# build version.h from template
|
||||
configure_file ("${PROJECT_SOURCE_DIR}/rtgui/version.h.in" "${CMAKE_BINARY_DIR}/rtgui/version.h")
|
||||
# build AboutThisBuild.txt from template
|
||||
configure_file ("${PROJECT_SOURCE_DIR}/AboutThisBuild.txt.in" "${CMAKE_BINARY_DIR}/AboutThisBuild.txt")
|
@@ -1,7 +1,7 @@
|
||||
Branch: ${HG_BRANCH}
|
||||
Version: ${HG_VERSION}
|
||||
Changeset: ${HG_CHANGESET}
|
||||
Compiler: GCC ${GCC_VERSION}
|
||||
Compiler: ${COMPILER_INFO}
|
||||
Processor: ${PROC_LABEL}
|
||||
System: ${SYSTEM}
|
||||
Bit depth: ${PROC_BIT_DEPTH}
|
||||
|
380
CMakeLists.txt
@@ -5,6 +5,8 @@ else (WIN32)
|
||||
cmake_minimum_required(VERSION 2.6)
|
||||
endif (WIN32)
|
||||
|
||||
PROJECT(RawTherapee)
|
||||
|
||||
# the default target is 'Debug'
|
||||
if (CMAKE_BUILD_TYPE STREQUAL "")
|
||||
set (CMAKE_BUILD_TYPE Debug CACHE STRING "One of: None Debug Release RelWithDebInfo MinSizeRel." FORCE)
|
||||
@@ -64,69 +66,99 @@ if (APPLE)
|
||||
SET (CMAKE_OSX_DEPLOYMENT_TARGET "10.5")
|
||||
endif (APPLE)
|
||||
|
||||
option(USE_CLANG "Build rawtherapee with clang" OFF)
|
||||
option (AUTOMATED_BUILD_SYSTEM "TRUE if built by an automate" OFF)
|
||||
|
||||
option(USE_EXPERIMENTAL_LANG_VERSIONS "Build RT with -std=c++0x" OFF)
|
||||
option (BUILD_SHARED "Build rawtherapee with shared libraries" OFF)
|
||||
option (WITH_RAWZOR "Build with Rawzor support" OFF)
|
||||
option (WITH_BZIP "Build with Bzip2 support" ON)
|
||||
option (WITH_MYFILE_MMAP "Build using memory mapped file" ON)
|
||||
option (OPTION_OMP "Build with OpenMP support" ON)
|
||||
option (BUILD_BUNDLE "Self-contained build" OFF)
|
||||
|
||||
# set install directories
|
||||
if (NOT DEFINED DATADIR)
|
||||
if (WIN32 OR APPLE)
|
||||
set (DATADIR ${CMAKE_CURRENT_SOURCE_DIR}/release)
|
||||
else (WIN32 OR APPLE)
|
||||
set (DATADIR ${CMAKE_INSTALL_PREFIX}/share/rawtherapee)
|
||||
endif (WIN32 OR APPLE)
|
||||
endif (NOT DEFINED DATADIR)
|
||||
if (WIN32 OR APPLE)
|
||||
set (BUILD_BUNDLE ON FORCE)
|
||||
endif(WIN32 OR APPLE)
|
||||
|
||||
if (NOT DEFINED BUNDLE_BASE_INSTALL_DIR)
|
||||
set (BUNDLE_BASE_INSTALL_DIR "${CMAKE_BINARY_DIR}/${CMAKE_BUILD_TYPE}")
|
||||
endif (NOT DEFINED BUNDLE_BASE_INSTALL_DIR)
|
||||
|
||||
if (BUILD_BUNDLE)
|
||||
set (BINDIR .)
|
||||
set (CMAKE_INSTALL_PREFIX "${BUNDLE_BASE_INSTALL_DIR}")
|
||||
endif (BUILD_BUNDLE)
|
||||
|
||||
if (NOT DEFINED BINDIR)
|
||||
if (WIN32 OR APPLE)
|
||||
set (BINDIR ${CMAKE_CURRENT_SOURCE_DIR}/release)
|
||||
else (WIN32 OR APPLE)
|
||||
set (BINDIR ${CMAKE_INSTALL_PREFIX}/bin)
|
||||
endif (WIN32 OR APPLE)
|
||||
set (BINDIR "${CMAKE_INSTALL_PREFIX}/bin")
|
||||
endif (NOT DEFINED BINDIR)
|
||||
|
||||
if (NOT DEFINED DATADIR)
|
||||
if (BUILD_BUNDLE)
|
||||
set (DATADIR .)
|
||||
else (BUILD_BUNDLE)
|
||||
set (DATADIR "${CMAKE_INSTALL_PREFIX}/share/rawtherapee")
|
||||
endif (BUILD_BUNDLE)
|
||||
endif (NOT DEFINED DATADIR)
|
||||
|
||||
if (NOT DEFINED LIBDIR)
|
||||
if (WIN32 OR APPLE)
|
||||
set (LIBDIR ${CMAKE_CURRENT_SOURCE_DIR}/release)
|
||||
else (WIN32 OR APPLE)
|
||||
if (BUILD_BUNDLE)
|
||||
set (LIBDIR .)
|
||||
else (BUILD_BUNDLE)
|
||||
# Respect CMAKE_INSTALL_LIBDIR if set
|
||||
if (DEFINED CMAKE_INSTALL_LIBDIR)
|
||||
set (LIBDIR ${CMAKE_INSTALL_LIBDIR})
|
||||
if (IS_ABSOLUTE "${LIBDIR}")
|
||||
set (LIBDIR "${CMAKE_INSTALL_LIBDIR}")
|
||||
else (IS_ABSOLUTE "${LIBDIR}")
|
||||
set (LIBDIR "${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_LIBDIR}")
|
||||
endif (IS_ABSOLUTE "${LIBDIR}")
|
||||
else (DEFINED CMAKE_INSTALL_LIBDIR)
|
||||
set (LIBDIR ${CMAKE_INSTALL_PREFIX}/lib)
|
||||
set (LIBDIR "${CMAKE_INSTALL_PREFIX}/lib")
|
||||
endif (DEFINED CMAKE_INSTALL_LIBDIR)
|
||||
endif (WIN32 OR APPLE)
|
||||
endif (BUILD_BUNDLE)
|
||||
endif (NOT DEFINED LIBDIR)
|
||||
|
||||
if (NOT DEFINED DOCDIR)
|
||||
if (WIN32 OR APPLE)
|
||||
set (DOCDIR ${CMAKE_CURRENT_SOURCE_DIR}/release/doc)
|
||||
else (WIN32 OR APPLE)
|
||||
set (DOCDIR ${CMAKE_INSTALL_PREFIX}/share/doc)
|
||||
endif (WIN32 OR APPLE)
|
||||
if (BUILD_BUNDLE)
|
||||
set (DOCDIR ./doc)
|
||||
else (BUILD_BUNDLE)
|
||||
set (DOCDIR "${CMAKE_INSTALL_PREFIX}/share/doc/rawtherapee")
|
||||
endif (BUILD_BUNDLE)
|
||||
endif (NOT DEFINED DOCDIR)
|
||||
|
||||
if (NOT DEFINED CREDITSDIR)
|
||||
if (WIN32 OR APPLE)
|
||||
set (CREDITSDIR ${CMAKE_CURRENT_SOURCE_DIR}/release)
|
||||
else (WIN32 OR APPLE)
|
||||
set (CREDITSDIR ${CMAKE_INSTALL_PREFIX}/share/doc)
|
||||
endif (WIN32 OR APPLE)
|
||||
if (BUILD_BUNDLE)
|
||||
set (CREDITSDIR .)
|
||||
else (BUILD_BUNDLE)
|
||||
set (CREDITSDIR "${CMAKE_INSTALL_PREFIX}/share/doc/rawtherapee")
|
||||
endif (BUILD_BUNDLE)
|
||||
endif (NOT DEFINED CREDITSDIR)
|
||||
|
||||
if (NOT DEFINED LICENCEDIR)
|
||||
if (WIN32 OR APPLE)
|
||||
set (LICENCEDIR ${CMAKE_CURRENT_SOURCE_DIR}/release)
|
||||
else (WIN32 OR APPLE)
|
||||
set (LICENCEDIR ${CMAKE_INSTALL_PREFIX}/share/doc)
|
||||
endif (WIN32 OR APPLE)
|
||||
if (BUILD_BUNDLE)
|
||||
set (LICENCEDIR .)
|
||||
else (BUILD_BUNDLE)
|
||||
set (LICENCEDIR "${CMAKE_INSTALL_PREFIX}/share/doc/rawtherapee")
|
||||
endif (BUILD_BUNDLE)
|
||||
endif (NOT DEFINED LICENCEDIR)
|
||||
|
||||
if (NOT DEFINED DESKTOPDIR)
|
||||
if (UNIX)
|
||||
set (DESKTOPDIR "${CMAKE_INSTALL_PREFIX}/share/applications")
|
||||
endif (UNIX)
|
||||
endif (NOT DEFINED DESKTOPDIR)
|
||||
|
||||
if (NOT DEFINED ICONSDIR)
|
||||
if (UNIX)
|
||||
set (ICONSDIR "${CMAKE_INSTALL_PREFIX}/share/icons")
|
||||
endif (UNIX)
|
||||
endif (NOT DEFINED ICONSDIR)
|
||||
|
||||
# non-bundle builds has to use absolute paths
|
||||
if (NOT BUILD_BUNDLE AND
|
||||
NOT (IS_ABSOLUTE "${BINDIR}" AND IS_ABSOLUTE "${DATADIR}" AND IS_ABSOLUTE "${LIBDIR}" AND
|
||||
IS_ABSOLUTE "${DOCDIR}" AND IS_ABSOLUTE "${CREDITSDIR}" AND IS_ABSOLUTE "${LICENCEDIR}"))
|
||||
message (FATAL_ERROR "The paths has to be absolute or use -DBUILD_BUNDLE=ON")
|
||||
endif ()
|
||||
|
||||
# check for libraries
|
||||
find_package(PkgConfig)
|
||||
pkg_check_modules (GTK REQUIRED gtk+-2.0>=2.12)
|
||||
@@ -150,6 +182,7 @@ if (WIN32)
|
||||
endif (WIN32)
|
||||
# you may need lcms v1.xx for older version : pkg_check_modules (LCMS REQUIRED lcms<=1.99)
|
||||
pkg_check_modules (LCMS REQUIRED lcms2)
|
||||
find_package (EXPAT REQUIRED expat>=2.0)
|
||||
pkg_check_modules (FFTW3F REQUIRED fftw3f)
|
||||
pkg_check_modules (IPTCDATA REQUIRED libiptcdata)
|
||||
pkg_check_modules(FFTW3 fftw3)
|
||||
@@ -158,151 +191,6 @@ find_package (PNG REQUIRED)
|
||||
find_package (TIFF REQUIRED)
|
||||
find_package (ZLIB REQUIRED)
|
||||
|
||||
if (AUTOMATED_BUILD_SYSTEM)
|
||||
|
||||
message(WARNING "Automated build system mode! You have to make sure that AboutThisBuild.txt and rtgui/version.h are up-to-date by building RT at least one time with AUTOMATED_BUILD_SYSTEM=OFF.")
|
||||
|
||||
# Checking for the presence of AboutThisBuild.txt
|
||||
find_file(ABOUT_FILE AboutThisBuild.txt PATHS "${CMAKE_CURRENT_SOURCE_DIR}" NO_DEFAULT_PATH)
|
||||
if (ABOUT_FILE STREQUAL ABOUT_FILE-NOTFOUND)
|
||||
message(FATAL_ERROR "AboutThisBuild.txt not found! You have to build RT at least one time with AUTOMATED_BUILD_SYSTEM=OFF to generate this file.")
|
||||
endif (ABOUT_FILE STREQUAL ABOUT_FILE-NOTFOUND)
|
||||
|
||||
# Checking for the presence of version.h
|
||||
find_file(VERSION_FILE version.h PATHS "${CMAKE_CURRENT_SOURCE_DIR}/rtgui" NO_DEFAULT_PATH)
|
||||
if (VERSION_FILE STREQUAL VERSION_FILE-NOTFOUND)
|
||||
message(FATAL_ERROR "rtgui/version.h not found! You have to build RT at least one time with AUTOMATED_BUILD_SYSTEM=OFF to generate this file.")
|
||||
endif (VERSION_FILE STREQUAL VERSION_FILE-NOTFOUND)
|
||||
|
||||
else (AUTOMATED_BUILD_SYSTEM)
|
||||
|
||||
# set the bit number information of the platform
|
||||
if (CMAKE_SIZEOF_VOID_P EQUAL 4)
|
||||
set(PROC_BIT_DEPTH 32 bits)
|
||||
elseif (CMAKE_SIZEOF_VOID_P EQUAL 8)
|
||||
set(PROC_BIT_DEPTH 64 bits)
|
||||
endif (CMAKE_SIZEOF_VOID_P EQUAL 4)
|
||||
|
||||
#generating AboutThisBuild.txt
|
||||
if (WIN32)
|
||||
|
||||
add_custom_target (AboutFile ALL
|
||||
COMMAND ${CMAKE_COMMAND}
|
||||
-DSRC_DIR:STRING=${CMAKE_CURRENT_SOURCE_DIR}
|
||||
-DCACHE_NAME_SUFFIX:STRING=${CACHE_NAME_SUFFIX}
|
||||
-DSYSTEM:STRING=Windows
|
||||
-DPROC_LABEL:STRING=\"${PROC_LABEL}\"
|
||||
-DPROC_BIT_DEPTH:STRING=\"${PROC_BIT_DEPTH}\"
|
||||
-DBUILD_TYPE:STRING=${CMAKE_BUILD_TYPE}
|
||||
-DGTKMM_VERSION:STRING=${GTKMM_VERSION}
|
||||
-DCXX_FLAGS:STRING=\"${CMAKE_CXX_FLAGS} ${CMAKE_CXX_FLAGS_${UPPER_CMAKE_BUILD_TYPE}}\"
|
||||
-DLFLAGS:STRING=\"${CMAKE_EXE_LINKER_FLAGS} ${CMAKE_EXE_LINKER_FLAGS_${UPPER_CMAKE_BUILD_TYPE}}\"
|
||||
-DOPTION_OMP:STRING=${OPTION_OMP}
|
||||
-DWITH_MYFILE_MMAP:STRING=${WITH_MYFILE_MMAP}
|
||||
-DWITH_RAWZOR:STRING=${WITH_RAWZOR}
|
||||
-P ${CMAKE_CURRENT_SOURCE_DIR}/About-Windows.cmake
|
||||
COMMENT "Creating the about file"
|
||||
)
|
||||
find_file(HG_CMD hg.exe HINTS ENV Path PATH_SUFFIXES ../)
|
||||
|
||||
elseif (APPLE)
|
||||
|
||||
add_custom_target (AboutFile ALL
|
||||
COMMAND ${CMAKE_COMMAND}
|
||||
-DSRC_DIR:STRING=${CMAKE_CURRENT_SOURCE_DIR}
|
||||
-DCACHE_NAME_SUFFIX:STRING=${CACHE_NAME_SUFFIX}
|
||||
-DSYSTEM:STRING=Apple
|
||||
-DPROC_LABEL:STRING=\"${PROC_LABEL}\"
|
||||
-DPROC_BIT_DEPTH:STRING=\"${PROC_BIT_DEPTH}\"
|
||||
-DBUILD_TYPE:STRING=${CMAKE_BUILD_TYPE}
|
||||
-DGTKMM_VERSION:STRING=${GTKMM_VERSION}
|
||||
-DCXX_FLAGS:STRING=${CMAKE_CXX_FLAGS} ${CMAKE_CXX_FLAGS_${UPPER_CMAKE_BUILD_TYPE}}
|
||||
-DLFLAGS:STRING=${CMAKE_EXE_LINKER_FLAGS} ${CMAKE_EXE_LINKER_FLAGS_${UPPER_CMAKE_BUILD_TYPE}}
|
||||
-DOPTION_OMP:STRING=${OPTION_OMP}
|
||||
-DWITH_MYFILE_MMAP:STRING=${WITH_MYFILE_MMAP}
|
||||
-DWITH_RAWZOR:STRING=${WITH_RAWZOR}
|
||||
-P ${CMAKE_CURRENT_SOURCE_DIR}/About-Apple.cmake
|
||||
COMMENT "Creating the about file"
|
||||
)
|
||||
find_file(HG_CMD hg PATHS "/opt/local/bin" "/usr/local/bin" "/usr/bin")
|
||||
find_file(HG_CMD hg)
|
||||
|
||||
else (WIN32)
|
||||
|
||||
add_custom_target (AboutFile ALL
|
||||
COMMAND ${CMAKE_COMMAND}
|
||||
-DSRC_DIR:STRING=${CMAKE_CURRENT_SOURCE_DIR}
|
||||
-DCACHE_NAME_SUFFIX:STRING=${CACHE_NAME_SUFFIX}
|
||||
-DSYSTEM:STRING=Linux
|
||||
-DPROC_LABEL:STRING=\"${PROC_LABEL}\"
|
||||
-DPROC_BIT_DEPTH:STRING=\"${PROC_BIT_DEPTH}\"
|
||||
-DBUILD_TYPE:STRING=${CMAKE_BUILD_TYPE}
|
||||
-DGTKMM_VERSION:STRING=${GTKMM_VERSION}
|
||||
-DCXX_FLAGS:STRING=${CMAKE_CXX_FLAGS} ${CMAKE_CXX_FLAGS_${UPPER_CMAKE_BUILD_TYPE}}
|
||||
-DLFLAGS:STRING=${CMAKE_EXE_LINKER_FLAGS} ${CMAKE_EXE_LINKER_FLAGS_${UPPER_CMAKE_BUILD_TYPE}}
|
||||
-DOPTION_OMP:STRING=${OPTION_OMP}
|
||||
-DWITH_MYFILE_MMAP:STRING=${WITH_MYFILE_MMAP}
|
||||
-DWITH_RAWZOR:STRING=${WITH_RAWZOR}
|
||||
-P ${CMAKE_CURRENT_SOURCE_DIR}/About-Linux.cmake
|
||||
COMMENT "Creating the about file"
|
||||
)
|
||||
find_file(HG_CMD hg)
|
||||
|
||||
endif (WIN32)
|
||||
|
||||
add_dependencies(AboutFile Debug Release MinSizeRel RelWithDebInfo)
|
||||
|
||||
if (HG_CMD STREQUAL HG_CMD-NOTFOUND)
|
||||
message(FATAL_ERROR "hg command not found!")
|
||||
else (HG_CMD STREQUAL HG_CMD-NOTFOUND)
|
||||
message(STATUS "hg command found: ${HG_CMD}")
|
||||
endif (HG_CMD STREQUAL HG_CMD-NOTFOUND)
|
||||
|
||||
endif (AUTOMATED_BUILD_SYSTEM)
|
||||
|
||||
# link rawzor
|
||||
if (WITH_RAWZOR)
|
||||
set (EXTRA_INCDIR ${EXTRA_INCDIR} "${CMAKE_CURRENT_SOURCE_DIR}/rawzor")
|
||||
add_definitions (-DRAWZOR_SUPPORT)
|
||||
if (WIN32)
|
||||
if (CMAKE_SIZEOF_VOID_P EQUAL 4)
|
||||
set (EXTRA_LIBDIR ${EXTRA_LIBDIR} "${CMAKE_CURRENT_SOURCE_DIR}/rawzor/win32")
|
||||
set (EXTRA_LIB ${EXTRA_LIB} "rwz_sdk.lib")
|
||||
install (FILES ${CMAKE_CURRENT_SOURCE_DIR}/rawzor/win32/rwz_sdk.dll DESTINATION ${BINDIR}
|
||||
PERMISSIONS OWNER_EXECUTE OWNER_WRITE OWNER_READ GROUP_EXECUTE GROUP_READ WORLD_EXECUTE WORLD_READ)
|
||||
elseif (CMAKE_SIZEOF_VOID_P EQUAL 8)
|
||||
set (EXTRA_LIBDIR ${EXTRA_LIBDIR} "${CMAKE_CURRENT_SOURCE_DIR}/rawzor/win64")
|
||||
set (EXTRA_LIB ${EXTRA_LIB} "rwz_sdk.lib")
|
||||
install (FILES ${CMAKE_CURRENT_SOURCE_DIR}/rawzor/win64/rwz_sdk.dll DESTINATION ${BINDIR}
|
||||
PERMISSIONS OWNER_EXECUTE OWNER_WRITE OWNER_READ GROUP_EXECUTE GROUP_READ WORLD_EXECUTE WORLD_READ)
|
||||
endif (CMAKE_SIZEOF_VOID_P EQUAL 4)
|
||||
elseif (APPLE)
|
||||
if (CMAKE_SIZEOF_VOID_P EQUAL 4)
|
||||
set (EXTRA_LIBDIR ${EXTRA_LIBDIR} "${CMAKE_CURRENT_SOURCE_DIR}/rawzor/mac32")
|
||||
set (EXTRA_LIB "-lrwz_sdk")
|
||||
install (FILES ${CMAKE_CURRENT_SOURCE_DIR}/rawzor/mac32/rwz_sdk.dylib DESTINATION ${LIBDIR}
|
||||
PERMISSIONS OWNER_WRITE OWNER_READ GROUP_READ WORLD_READ)
|
||||
elseif (CMAKE_SIZEOF_VOID_P EQUAL 8)
|
||||
set (EXTRA_LIBDIR ${EXTRA_LIBDIR} "${CMAKE_CURRENT_SOURCE_DIR}/rawzor/mac64")
|
||||
set (EXTRA_LIB "-lrwz_sdk_64")
|
||||
install (FILES ${CMAKE_CURRENT_SOURCE_DIR}/rawzor/mac64/rwz_sdk_64.dylib DESTINATION ${LIBDIR}
|
||||
PERMISSIONS OWNER_WRITE OWNER_READ GROUP_READ WORLD_READ)
|
||||
endif (CMAKE_SIZEOF_VOID_P EQUAL 4)
|
||||
else (WIN32)
|
||||
if (CMAKE_SIZEOF_VOID_P EQUAL 4)
|
||||
set (EXTRA_LIBDIR ${EXTRA_LIBDIR} "${CMAKE_CURRENT_SOURCE_DIR}/rawzor/lin32")
|
||||
set (EXTRA_LIB ${EXTRA_LIB} "-lrwz_sdk")
|
||||
install (FILES ${CMAKE_CURRENT_SOURCE_DIR}/rawzor/lin32/librwz_sdk.so DESTINATION ${LIBDIR}
|
||||
PERMISSIONS OWNER_WRITE OWNER_READ GROUP_READ WORLD_READ RENAME rwz_sdk.so)
|
||||
elseif (CMAKE_SIZEOF_VOID_P EQUAL 8)
|
||||
set (EXTRA_LIBDIR ${EXTRA_LIBDIR} "${CMAKE_CURRENT_SOURCE_DIR}/rawzor/lin64")
|
||||
set (EXTRA_LIB ${EXTRA_LIB} "-lrwz_sdk")
|
||||
install (FILES ${CMAKE_CURRENT_SOURCE_DIR}/rawzor/lin64/librwz_sdk.so DESTINATION ${LIBDIR}
|
||||
PERMISSIONS OWNER_WRITE OWNER_READ GROUP_READ WORLD_READ RENAME rwz_sdk.so)
|
||||
endif (CMAKE_SIZEOF_VOID_P EQUAL 4)
|
||||
endif (WIN32)
|
||||
endif (WITH_RAWZOR)
|
||||
|
||||
# link witz bzip
|
||||
if (WITH_BZIP)
|
||||
find_package(BZip2)
|
||||
@@ -324,44 +212,106 @@ if (OPTION_OMP)
|
||||
endif (OPENMP_FOUND)
|
||||
endif (OPTION_OMP)
|
||||
|
||||
if(USE_CLANG)
|
||||
find_file(CLANG_CMD clang)
|
||||
find_file(CLANGPP_CMD clang++)
|
||||
if(USE_EXPERIMENTAL_LANG_VERSIONS)
|
||||
SET (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -std=gnu1x")
|
||||
SET (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=gnu++0x")
|
||||
endif (USE_EXPERIMENTAL_LANG_VERSIONS)
|
||||
|
||||
if ((CLANG_CMD STREQUAL CLANG_CMD-NOTFOUND) OR (CLANGPP_CMD STREQUAL CLANGPP_CMD-NOTFOUND))
|
||||
message(FATAL_ERROR "clang not found! auto-disabling option USE_CLANG")
|
||||
else ((CLANG_CMD STREQUAL CLANG_CMD-NOTFOUND) OR (CLANGPP_CMD STREQUAL CLANGPP_CMD-NOTFOUND))
|
||||
message(STATUS "clang found: ${CLANG_CMD}")
|
||||
message(STATUS "clang++ found: ${CLANGPP_CMD}")
|
||||
# find out whether we are building out of source
|
||||
get_filename_component(ABS_SOURCE_DIR "${PROJECT_SOURCE_DIR}" ABSOLUTE)
|
||||
get_filename_component(ABS_BINARY_DIR "${CMAKE_BINARY_DIR}" ABSOLUTE)
|
||||
set (OUT_OF_SOURCE_BUILD TRUE)
|
||||
if (ABS_SOURCE_DIR STREQUAL ABS_BINARY_DIR)
|
||||
set (OUT_OF_SOURCE_BUILD FALSE)
|
||||
message (WARNING "You are performing an in-source build. This is discouraged. Please refer e.g. to http://www.cmake.org/Wiki/CMake_FAQ#What_is_an_.22out-of-source.22_build.3F for advantages of o ut of source builds.")
|
||||
endif ()
|
||||
|
||||
SET (CMAKE_C_COMPILER ${CLANG_CMD})
|
||||
SET (CMAKE_C_FLAGS "") #-Wall
|
||||
SET (CMAKE_C_FLAGS_DEBUG "-O0 -g")
|
||||
SET (CMAKE_C_FLAGS_MINSIZEREL "-Os -DNDEBUG")
|
||||
SET (CMAKE_C_FLAGS_RELEASE "-O3 -DNDEBUG")
|
||||
SET (CMAKE_C_FLAGS_RELWITHDEBINFO "-O2 -g")
|
||||
# XXX remove files triggering the below check to prevent every developer from
|
||||
# needing manual manual work. We will remove this after some time to have a
|
||||
# clean build system without file modifications in the source tree again.
|
||||
set(OOSB_FILES "${PROJECT_SOURCE_DIR}/rtdata/rawtherapee.desktop" "${PROJECT_SOURCE_DIR}/rtgui/version.h" "${PROJECT_SOURCE_DIR}/rtgui/config.h" "${PROJECT_SOURCE_DIR}/AboutThisBuild.txt")
|
||||
if (OUT_OF_SOURCE_BUILD)
|
||||
foreach(f ${OOSB_FILES})
|
||||
file (REMOVE "${f}")
|
||||
endforeach(f)
|
||||
endif ()
|
||||
|
||||
SET (CMAKE_CXX_COMPILER ${CLANGPP_CMD})
|
||||
SET (CMAKE_CXX_FLAGS "") #-Wall
|
||||
SET (CMAKE_CXX_FLAGS_DEBUG "-O0 -g")
|
||||
SET (CMAKE_CXX_FLAGS_MINSIZEREL "-Os -DNDEBUG")
|
||||
SET (CMAKE_CXX_FLAGS_RELEASE "-O3 -DNDEBUG")
|
||||
SET (CMAKE_CXX_FLAGS_RELWITHDEBINFO "-O2 -g")
|
||||
endif ((CLANG_CMD STREQUAL CLANG_CMD-NOTFOUND) OR (CLANGPP_CMD STREQUAL CLANGPP_CMD-NOTFOUND))
|
||||
# check for generated files in the source tree which should not be there when
|
||||
# doing out of source builds. Without checking for this it might happen that old
|
||||
# versions are used for the compilation
|
||||
if (OUT_OF_SOURCE_BUILD)
|
||||
foreach(f ${OOSB_FILES})
|
||||
if (EXISTS "${f}")
|
||||
message (SEND_ERROR "Generated \"${f}\" found inside the source tree. Please remove it as it is a relic of the old build system and prevents valid compilation now.")
|
||||
endif ()
|
||||
endforeach(f)
|
||||
endif ()
|
||||
|
||||
find_file(LDGOLD_CMD ld.gold)
|
||||
if (LDGOLD_CMD STREQUAL LDGOLD_CMD-NOTFOUND)
|
||||
message(FATAL_ERROR "ld.gold not found! using standard linker")
|
||||
else (LDGOLD_CMD STREQUAL LDGOLD_CMD-NOTFOUND)
|
||||
message(STATUS "ld.gold found: ${LDGOLD_CMD}")
|
||||
SET (CMAKE_LINKER LDGOLD_CMD)
|
||||
endif (LDGOLD_CMD STREQUAL LDGOLD_CMD-NOTFOUND)
|
||||
endif(USE_CLANG)
|
||||
## BEGIN: Generating AboutThisBuild.txt
|
||||
# set the bit number information of the platform
|
||||
if (CMAKE_SIZEOF_VOID_P EQUAL 4)
|
||||
set(PROC_BIT_DEPTH 32 bits)
|
||||
elseif (CMAKE_SIZEOF_VOID_P EQUAL 8)
|
||||
set(PROC_BIT_DEPTH 64 bits)
|
||||
endif (CMAKE_SIZEOF_VOID_P EQUAL 4)
|
||||
|
||||
install (FILES AUTHORS.txt DESTINATION ${CREDITSDIR})
|
||||
install (FILES LICENSE.txt DESTINATION ${LICENCEDIR})
|
||||
install (FILES AboutThisBuild.txt DESTINATION ${CREDITSDIR})
|
||||
install (FILES RELEASE_NOTES.txt DESTINATION ${CREDITSDIR} OPTIONAL)
|
||||
# Get comiler name and version
|
||||
# only cmake > 2.8.7 knows CMAKE_*_COMPILER_VERSION
|
||||
if (CMAKE_VERSION VERSION_GREATER 2.8.7)
|
||||
get_filename_component(COMPILER_INFO ${CMAKE_C_COMPILER} NAME_WE)
|
||||
set(COMPILER_INFO "${COMPILER_INFO} ${CMAKE_C_COMPILER_VERSION}")
|
||||
else ()
|
||||
execute_process(COMMAND gcc -dumpversion OUTPUT_VARIABLE GCC_VERSION OUTPUT_STRIP_TRAILING_WHITESPACE)
|
||||
set(COMPILER_INFO "gcc ${GCC_VERSION}")
|
||||
endif ()
|
||||
|
||||
# Get c++ and linker flags
|
||||
set(CXX_FLAGS "${CMAKE_CXX_FLAGS} ${CMAKE_CXX_FLAGS_${UPPER_CMAKE_BUILD_TYPE}}")
|
||||
set(LFLAGS "${CMAKE_EXE_LINKER_FLAGS} ${CMAKE_EXE_LINKER_FLAGS_${UPPER_CMAKE_BUILD_TYPE}}")
|
||||
|
||||
set(ABOUT_COMMAND_WITH_ARGS ${CMAKE_COMMAND}
|
||||
-DPROJECT_SOURCE_DIR:STRING=${PROJECT_SOURCE_DIR}
|
||||
-DCACHE_NAME_SUFFIX:STRING=${CACHE_NAME_SUFFIX}
|
||||
-DPROC_LABEL:STRING="${PROC_LABEL}"
|
||||
-DPROC_BIT_DEPTH:STRING="${PROC_BIT_DEPTH}"
|
||||
-DBUILD_TYPE:STRING=${CMAKE_BUILD_TYPE}
|
||||
-DGTKMM_VERSION:STRING=${GTKMM_VERSION}
|
||||
-DOPTION_OMP:STRING=${OPTION_OMP}
|
||||
-DWITH_MYFILE_MMAP:STRING=${WITH_MYFILE_MMAP})
|
||||
|
||||
if (WIN32)
|
||||
list(APPEND ABOUT_COMMAND_WITH_ARGS -DSYSTEM:STRING=Windows
|
||||
-DCXX_FLAGS:STRING="${CXX_FLAGS}"
|
||||
-DLFLAGS:STRING="${LFLAGS}"
|
||||
-DCOMPILER_INFO:STRING="${COMPILER_INFO}")
|
||||
elseif (APPLE)
|
||||
list(APPEND ABOUT_COMMAND_WITH_ARGS -DSYSTEM:STRING=Apple
|
||||
-DCXX_FLAGS:STRING=${CXX_FLAGS}
|
||||
-DLFLAGS:STRING=${LFLAGS}
|
||||
-DCOMPILER_INFO:STRING=${COMPILER_INFO})
|
||||
else (WIN32)
|
||||
list(APPEND ABOUT_COMMAND_WITH_ARGS -DSYSTEM:STRING=Linux
|
||||
-DCXX_FLAGS:STRING=${CXX_FLAGS}
|
||||
-DLFLAGS:STRING=${LFLAGS}
|
||||
-DCOMPILER_INFO:STRING=${COMPILER_INFO})
|
||||
endif (WIN32)
|
||||
|
||||
list(APPEND ABOUT_COMMAND_WITH_ARGS -P "${PROJECT_SOURCE_DIR}/AboutThisBuild.cmake")
|
||||
|
||||
add_custom_target(AboutFile ALL
|
||||
COMMAND ${ABOUT_COMMAND_WITH_ARGS}
|
||||
COMMENT "Creating the about file")
|
||||
|
||||
add_dependencies(AboutFile Debug Release MinSizeRel RelWithDebInfo)
|
||||
## END: Generating AboutThisBuild.txt
|
||||
|
||||
install (FILES AUTHORS.txt DESTINATION "${CREDITSDIR}")
|
||||
install (FILES LICENSE.txt DESTINATION "${LICENCEDIR}")
|
||||
install (FILES "${CMAKE_BINARY_DIR}/AboutThisBuild.txt" DESTINATION "${CREDITSDIR}")
|
||||
install (FILES RELEASE_NOTES.txt DESTINATION "${CREDITSDIR}" OPTIONAL)
|
||||
if (UNIX)
|
||||
install (FILES "${PROJECT_SOURCE_DIR}/doc/manpage/rawtherapee.1" DESTINATION "${CMAKE_INSTALL_PREFIX}/share/man/man1")
|
||||
endif (UNIX)
|
||||
|
||||
add_subdirectory (rtexif)
|
||||
add_subdirectory (rtengine)
|
||||
|
742
COMPILE.txt
@@ -1,308 +1,434 @@
|
||||
If you have problems with the compilation, please ask on the appropriated RawTherapee forum :
|
||||
http://www.rawtherapee.com/forum/viewforum.php?f=10
|
||||
|
||||
Preamble
|
||||
--------
|
||||
|
||||
Cmake is actually used to create the Makefiles (scripts that handle the build process) or specific Integrated Developement Environement (IDE) projects.
|
||||
It is designed to find all necessary compilation flags for your specific machine, but everything can be overriden.
|
||||
|
||||
RT's build mechanism will generate a build information file, named "AboutThisBuild.txt", and require some parameters that can't be set by Cmake, so it's
|
||||
done in our build script, and may be overridden at your own will. The build process also enable some sort of cross compiling, since you can only choose
|
||||
a specific processor variation of the same type (e.g. core2, athlon64, which are both an x86 architecture). Real cross compiling (e.g. building the windows
|
||||
version on a linux platform) has not been tested.
|
||||
|
||||
By default, no processor is specified, so Cmake/GCC will build RT for your processor (or maybe a generic processor). Developers that are providing build to
|
||||
download then have to set the processor label manually (set to 'undefined' by default) with the PROC_LABEL cmake's parameter (we assume that you know
|
||||
how to specify a cmake parameter).
|
||||
|
||||
Note for developers that handle an automated build system : Mercurial is requested in order to produce the build information file, but you build system will
|
||||
certainly only use the source code without any access to a Mercurial repository. In this case, you have to first build RT like explained below to generates
|
||||
the build information files, then you can tell your build system to run cmake with the following additionnal parameter : -D AUTOMATED_BUILD_SYSTEM:BOOL=ON.
|
||||
Cmake will then pass the files creation step, but will check the presence of the requested files and stop if they're not there.
|
||||
|
||||
Windows
|
||||
-------
|
||||
|
||||
The toolchain:
|
||||
|
||||
There is 2 method to compile RawTherapee, and they each rely on different and common packages. They are
|
||||
now referred to METHOD 1 and METHOD 2.
|
||||
Of course, you'll have to install the package for the build method explained later in this document.
|
||||
|
||||
The rest of this document assumes that you've installed MinGW, MSYS and Gtkmm respectively to "C:\mingw",
|
||||
"C:\msys" and "C:\gtkmm".
|
||||
This tutorial assume that you've installed the packages in paths THAT DOES NOT CONTAIN SPACES.
|
||||
|
||||
METHOD 1:
|
||||
- MinGW64-TDM (Bundle or On-Demand installer from http://tdm-gcc.tdragon.net/download)
|
||||
Make sure you use the current 4.5.2 or better, and install MinGW64 (not MinGW32)
|
||||
MinGW64 is more comprehensive, plus it runs AND compiles both 32bit and 64bit Windows.
|
||||
Old Mingw32 version miss some required header files, so some Windows functions will be disabled though it will compile.
|
||||
However MinGW64 does not fully support XP, only Vista and up.
|
||||
- MSYS (http://downloads.sourceforge.net/mingw/MSYS-1.0.11.exe)
|
||||
If you have some trouble installing MSYS, see here : http://www.mingw.org/wiki/MSYS
|
||||
- CMake (http://www.cmake.org/cmake/resources/software.html)
|
||||
Version 2.8.4 or above is required for this platform
|
||||
- Gtkmm2.22 (for 32bit: http://ftp.se.debian.org/pub/gnome/binaries/win32/gtkmm/2.22/
|
||||
for 64bit: http://ftp.gnome.org/pub/gnome/binaries/win64/gtk+/2.22/)
|
||||
|
||||
METHOD 2:
|
||||
- MinGW-TDM (Bundle or On-Demand insteller from http://tdm-gcc.tdragon.net/download)
|
||||
- CMake (http://www.cmake.org/cmake/resources/software.html)
|
||||
- Gtkmm2.22 (for 32bit: http://ftp.se.debian.org/pub/gnome/binaries/win32/gtkmm/2.22/
|
||||
for 64bit: http://ftp.gnome.org/pub/gnome/binaries/win64/gtk+/2.22/)
|
||||
|
||||
Additionnal steps:
|
||||
When all the packages of your preferred method are installed:
|
||||
- set the GTKMM_BASEPATH user or system environment variable to the installation directory of Gtkmm
|
||||
(the Gtkmm's installer can do it for you)
|
||||
- set the MINGW_BASEPATH user or system environment variable to the installation directory of MinGW32
|
||||
- set the PKG_CONFIG_PATH user or system environment variable to the location of the pkgconfig directories:
|
||||
c:\mingw\lib\pkgconfig;c:\gtkmm\lib\pkgconfig
|
||||
You have to restart the console to take this new variables into account
|
||||
- On Windows, set Cmake option BUILD_BUNDLE ON
|
||||
- If you run MinGW64 and want to compile for 32bit, change the following vars in CMAKE (use CMAKE-GUI to makes this easier):
|
||||
CMAKE_CXX_FLAGS,CMAKE_C_FLAGS,CMAKE_SHARED_LINKER_FLAGS: -m32
|
||||
CMAKE_EXE_LINKER_FLAGS: -m32 --large-address-aware
|
||||
CMAKE_RC_FLAGS: -F pe-i386
|
||||
|
||||
- Copy the "Win32CMakeOptions-sample.txt" file located in the root directory of RT's source tree, to "cmo.txt" (e.g.)
|
||||
You can edit that copy to change the compilation flags to your needs, but the default values should be fine.
|
||||
However, if you wants to upload a build, you should set some additionnal information about your processor. There are two possibilities:
|
||||
1. You pickup a target processor from "ProcessorTargets.cmake": all you have to do is set the PROC_TARGET_NUMBER parameter in cmo.txt
|
||||
to the right target number.
|
||||
If you choose the 'native' solution, you have to set the processor label manually in cmo.txt, by uncommenting and set the PROC_LABEL
|
||||
parameter. Please provide a short name, like "core i5" or "athlon64" (without double quote)... processor frequency if of no use.
|
||||
2. You don't need specific processor flags, so you'll let PROC_TARGET_NUMBER set to 0, but you have to set the PROC_LABEL parameter
|
||||
in cmo.txt (don't forget to uncomment the line). Please provide a short name, like "core i5" or "athlon64" (without double quote)...
|
||||
specifying the processor frequency in it is useless.
|
||||
|
||||
|
||||
Dependancies:
|
||||
|
||||
RawTherapee rely on libraries that may not be part of the Gtkmm or MinGW package. There is two ways of installing
|
||||
thoses libraries.
|
||||
|
||||
The simple way:
|
||||
|
||||
For your convenience, those libraries has been precompiled and are downloadable at :
|
||||
|
||||
http://www.rawtherapee.com/releases_head/windows/dependencies_for_creating_builds/
|
||||
|
||||
If you don't find a suitable package for your toolchain, take the DIY way or ask a developer
|
||||
to build them for you.
|
||||
|
||||
Just unpack the content of this archive to the base installation dir of MinGW, and everything
|
||||
should work fine.
|
||||
|
||||
The "Do It Yourself" way:
|
||||
|
||||
The MSYS package is required to build the libraries. See above for the download link.
|
||||
|
||||
Before building them, look if they are already installed in your Gtkmm and MinGW directories. There shouldn't be
|
||||
two versions of the same library in different place.
|
||||
|
||||
Open an MSYS console, that will create a Linux environment, and compile the dependancies in that order:
|
||||
|
||||
zlib:
|
||||
If you have Gtkmm2.22 installed, you should skip this section
|
||||
- download: http://zlib.net/
|
||||
- how to build:
|
||||
cd to the unarchiving directory of zlib-1.2.5
|
||||
make -f win32/Makefile.gcc
|
||||
|
||||
Then, manually copy the files as follows (tip: you can individually copy the lines below and paste them in MSys's prompt with the middle mouse button):
|
||||
|
||||
cp -iv zlib1.dll /mingw/bin
|
||||
cp -iv zconf.h zlib.h /mingw/include
|
||||
cp -iv libz.a /mingw/lib
|
||||
cp -iv libzdll.a /mingw/lib/libz.dll.a
|
||||
|
||||
libpng:
|
||||
If you have Gtkmm2.22 installed, you should skip this section
|
||||
- download: http://sourceforge.net/projects/libpng/files/
|
||||
(please note that libpng 1.5 has not been tested yet)
|
||||
- how to build:
|
||||
cd to the unarchiving directory of lpng144
|
||||
|
||||
There are two options to build libpng:
|
||||
1. gtkmm doesn't provide zlib so i've compiled it myself
|
||||
cmake -G "MSYS Makefiles" -DCMAKE_INSTALL_PREFIX:PATH=/mingw -DCMAKE_BUILD_TYPE:STRING=Release
|
||||
2. gtkmm provide zlib and i want to reuse it (so we're assuming that you didn't compiled zlib like explained here above)
|
||||
cmake -G "MSYS Makefiles" -DCMAKE_INSTALL_PREFIX:PATH=/mingw -DCMAKE_PREFIX_PATH:PATH=C:/gtkmm -DCMAKE_BUILD_TYPE:STRING=Release
|
||||
|
||||
Then build and install:
|
||||
make
|
||||
make install
|
||||
|
||||
libjpeg:
|
||||
- download: http://www.ijg.org/
|
||||
- how to build:
|
||||
cd to the unarchiving directory of jpeg-8b
|
||||
./configure --prefix=/mingw
|
||||
copy the content of jconfig.txt to jconfig.h (overwrite the existing file)
|
||||
make
|
||||
make install
|
||||
|
||||
libtiff:
|
||||
- download: ftp://ftp.remotesensing.org/pub/libtiff/
|
||||
- how to build:
|
||||
|
||||
In the configure process below, set the zlib include and lib path to the right folder. We're assuming that you're using
|
||||
the one provided in the gtkmm bundle
|
||||
|
||||
./configure --prefix=/mingw --with-zlib-include-dir=/c/gtkmm/include --with-zlib-lib-dir=/c/gtkmm/lib
|
||||
make
|
||||
cd libtiff
|
||||
make install
|
||||
|
||||
libiptcdata:
|
||||
- download: http://libiptcdata.sourceforge.net/
|
||||
- how to build:
|
||||
./configure --prefix=/mingw
|
||||
|
||||
Edit the "Makefile" file from the root dir of libiptcdata, and search for "DIST_SUBDIRS ="
|
||||
and "SUBDIRS =". You should only find one line for each search. From those lines, remove "iptc", then
|
||||
|
||||
make
|
||||
make install
|
||||
|
||||
lcms:
|
||||
- download lcm v1.x for RT3.0, v2.x for RT3.1 and upper: http://sourceforge.net/projects/lcms/files/
|
||||
- how to build (suitable for both version):
|
||||
./configure --prefix=/mingw
|
||||
make
|
||||
make install
|
||||
|
||||
|
||||
IMPORTANT:
|
||||
Make sure that the lcms.pc and libiptcdata.pc files located in the pkgconfig dir has the first
|
||||
line like this : prefix=/mingw
|
||||
|
||||
If everything is well installed, you should see the following lines when running the cmake command (see "Building RT" below) :
|
||||
-- checking for module 'libiptcdata'
|
||||
-- found libiptcdata, version 1.0.4
|
||||
-- checking for module 'lcms<=1.99'
|
||||
-- found lcms, version 1.19
|
||||
-- Found JPEG: C:/mingw/lib/libjpeg.dll.a
|
||||
-- Found ZLIB: C:/gtkmm/lib/libz.dll.a
|
||||
-- Found PNG: C:/gtkmm/lib/libpng.lib
|
||||
-- Found TIFF: C:/mingw/lib/libtiff.dll.a
|
||||
|
||||
Building RT:
|
||||
|
||||
METHOD 1:
|
||||
Requirements:
|
||||
- MinGW + MSYS
|
||||
- CMake
|
||||
- GTK and GTKMM development environments
|
||||
|
||||
Compile:
|
||||
- Start an MSYS command line interface
|
||||
- Enter the root directory of the RawTherapee source tree (type: cd "/C/Absolute/Path/To/RawTherapee_sourceTree")
|
||||
- Type: cmake -G "MSYS Makefiles" -DCMAKE_BUILD_TYPE=Release -Ccmo.txt .
|
||||
- Type: make install
|
||||
- You'll find the compiled program in the subdirectory named like the value of CMAKE_BUILD_TYPE ("Release" in this example)
|
||||
|
||||
METHOD 2:
|
||||
Requirements:
|
||||
- MinGW-TDM (http://sourceforge.net/projects/tdm-gcc/files/TDM-GCC%20Installer/tdm-gcc-4.5.1.exe/download)
|
||||
- CMake (http://www.cmake.org/cmake/resources/software.html)
|
||||
- Mercurial (http://mercurial.selenic.com/wiki/WindowsInstall)
|
||||
- Gtkmm (http://ftp.se.debian.org/pub/gnome/binaries/win32/gtkmm/2.22/)
|
||||
|
||||
Compile:
|
||||
- Start a standard DOS command line interface (WIN + "R" -> "cmd")
|
||||
- Enter the root directory of the RawTherapee source tree (type: cd C:\Absolute\Path\To\RawTherapee_sourceTree)
|
||||
If you wants to upload a build, you should set some additionnal information about your processor. There are two possibilities:
|
||||
1. You pickup a target processor from "ProcessorTargets.cmake": all you have to do is adding "-D PROC_TARGET_NUMBER:STRING=number"
|
||||
to cmake's command line
|
||||
If you choose the 'native' solution's number, you have to set the processor label manually by setting "-D PROC_LABEL:STRING=procLabel"
|
||||
in cmake's command line
|
||||
Please provide a short name, like "core i5" or "athlon64" (without double quote)... processor frequency if of no use.
|
||||
2. You don't need specific processor flags, you still have to set the PROC_LABEL parameter (see point 1 righ above)
|
||||
- Type: mingw32-make.exe install
|
||||
- You'll find the compiled program in the subdirectory named like the value of CMAKE_BUILD_TYPE ("Release" in this example)
|
||||
|
||||
Linux
|
||||
-----
|
||||
|
||||
Requirements:
|
||||
- CMake
|
||||
- GTK and GTKMM development packages
|
||||
- libtiff, libpng, libjpeg, lcms, libiptcdata development packages
|
||||
- ...did I forget something?
|
||||
|
||||
On Ubuntu/Debian the requirements can be installed by running:
|
||||
sudo apt-get install build-essential cmake libgtk2.0-dev libgtkmm-2.4-dev libtiff-dev libpng-dev libjpeg-dev liblcms-dev libiptcdata-dev mercurial
|
||||
|
||||
Compile:
|
||||
- Enter the root directory of the RawTherapee source tree
|
||||
- Type: cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=./release -DBINDIR=. -DDATADIR=. -DLIBDIR=.
|
||||
developers that wants to provide a build has to set the PROC_LABEL to their processor name, e.g.:
|
||||
cmake -DPROC_LABEL:STRING=athlon64 -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=./release -DBINDIR=. -DDATADIR=. -DLIBDIR=.
|
||||
- Type: make install
|
||||
- You find the compiled program in the release directory (you can copy it anywhere you want)
|
||||
|
||||
(By changing the cmake flags, you can change where the release is. By removing all flags it should go to the standard system install location).
|
||||
|
||||
|
||||
Using Eclipse under Linux:
|
||||
|
||||
Eclipse mercurial plugin:
|
||||
click Help -> Install new Software.
|
||||
The Eclipse Update Site for MercurialEclipse is available at this URL:
|
||||
http://cbes.javaforge.com/update
|
||||
|
||||
Import the rawtherapee mercurial repository:
|
||||
File->new->'other'->mercurial->Clone existing repository
|
||||
fill in URL: https://rawtherapee.googlecode.com/hg
|
||||
|
||||
Enter root directory of RawTherapee source tree from a terminal window.
|
||||
configure the source for Eclipse with:
|
||||
cmake -G "Eclipse CDT4 - Unix Makefiles" -DCMAKE_INSTALL_PREFIX=./release -DBINDIR=. -DDATADIR=. -DLIBDIR=. -DCMAKE_BUILD_TYPE=Release
|
||||
If you wants to upload a build, you should set some additionnal information about your processor. There are two possibilities:
|
||||
1. You pickup a target processor from "ProcessorTargets.cmake": all you have to do is adding "-D PROC_TARGET_NUMBER:STRING=number"
|
||||
to cmake's command line
|
||||
If you choose the 'native' solution's number, you have to set the processor label manually by setting "-D PROC_LABEL:STRING=procLabel"
|
||||
in cmake's command line
|
||||
Please provide a short name, like "core i5" or "athlon64" (without double quote)... processor frequency if of no use.
|
||||
2. You don't need specific processor flags, you still have to set the PROC_LABEL parameter (see point 1 righ above)
|
||||
|
||||
Eclipse does not do 'make install' but only 'make all' so to get the release there are 2 ways.
|
||||
1. type 'make install' in the console or,
|
||||
2. in 'Project'->'properties'->'C/C++ Make Project'->'Build (incremental build)' change 'all' to 'install'
|
||||
|
||||
OSX
|
||||
---
|
||||
|
||||
Requirements:
|
||||
- XCode Development Tools (you only need a subset of these, but it is probably easier to just install all of them)
|
||||
- MacPorts
|
||||
- Set /opt/local/etc/macports/variants.conf to include "+no_x11 +quartz"
|
||||
- If you want to build for multiple architectures, add +universal to variants.conf. Note that this will increase the size of the final application substantially.
|
||||
- Set /opt/local/etc/macports/macports.conf key 'universal_archs' to the architectures you wish to build for. Possible values
|
||||
include "i386 x86_64 ppc ppc64"
|
||||
- Edit beginning of CMakeLists.txt to enable the same architectures as you added to variants.conf
|
||||
- Run "sudo port install cairomm pango-devel gtk2 cmake glibmm gtkmm lcms libiptcdata" to install all needed libraries and tools
|
||||
- If you don't already have Mercurial installed, run "sudo port install mercurial"
|
||||
- If you want to try OpenMP builds, run "sudo port install gcc45"
|
||||
|
||||
Compile:
|
||||
- Enter root directory of RawTherapee source tree
|
||||
- Type: cmake -D CMAKE_C_COMPILER=gcc-mp-4.5 -D CMAKE_CXX_COMPILER=g++-mp-4.5 . (to enable OpenMP, assuming you have installed gcc45) OR:
|
||||
cmake -D OPTION_OMP=false . (to disable OpenMP and use the default compiler)
|
||||
If you wants to upload a build, you should set some additionnal information about your processor. There are two possibilities:
|
||||
1. You pickup a target processor from "ProcessorTargets.cmake": all you have to do is adding "-D PROC_TARGET_NUMBER:STRING=number"
|
||||
to cmake's command line
|
||||
If you choose the 'native' solution's number, you have to set the processor label manually by setting "-D PROC_LABEL:STRING=procLabel"
|
||||
in cmake's command line
|
||||
Please provide a short name, like "core i5" or "athlon64" (without double quote)... processor frequency if of no use.
|
||||
2. You don't need specific processor flags, you still have to set the PROC_LABEL parameter (see point 1 righ above)
|
||||
- Type: make install
|
||||
- Type: ./tools/osx/make-app-bundle
|
||||
- You will find a RawTherapee.dmg file in release/ folder; this is the distribution release and can be run on any machine which meets the
|
||||
architecture requirements you specified in variants.conf earlier.
|
||||
|
||||
For any bugs or patches to the OSX build, please contact Wyatt <wyatt@digitalcave.ca>
|
||||
If you have problems with the compilation, please ask on the appropriate
|
||||
RawTherapee forum : http://www.rawtherapee.com/forum/viewforum.php?f=10
|
||||
|
||||
Preamble
|
||||
--------
|
||||
|
||||
CMake is actually used to create the makefiles (scripts that handle the build
|
||||
process) or specific Integrated Developement Environement (IDE) projects. It
|
||||
is designed to find all necessary compilation flags for your specific machine,
|
||||
but everything can be overriden.
|
||||
|
||||
RawTherapee's build mechanism will generate a build information file, named
|
||||
"AboutThisBuild.txt", and require some parameters that can't be set by CMake,
|
||||
so it's done in our build script, and may be overridden at your own will. The
|
||||
build process also enables some sort of cross-compiling, since you can only
|
||||
choose a specific processor variation of the same type (e.g. core2, athlon64,
|
||||
which are both an x86 architecture). Real cross-compiling (e.g. building the
|
||||
Windows version on a Linux platform) has not been tested.
|
||||
|
||||
By default, no processor is specified, so CMake/GCC will build RT for your
|
||||
machine's processor. You can specify that the build is to be made for a
|
||||
generic processor by using the -DPROC_TARGET_NUMBER="1" CMake option.
|
||||
Developers who are providing builds for download from the RawTherapee website
|
||||
have to set the processor label (a human-readable description of the
|
||||
processor, set to "undefined" by default) manually with the -DPROC_LABEL="foo"
|
||||
CMake parameter.
|
||||
|
||||
Note for developers that handle an automated build system: Mercurial is
|
||||
required in order to produce the build information file, but your build system
|
||||
will certainly only use the source code without any access to a Mercurial
|
||||
repository. To generate the needed information, run the sript
|
||||
./tools/generateReleaseInfo. After that you can delete .hg* and continue with
|
||||
the normal compile instructions without the need for mercurial.
|
||||
|
||||
In short, once you cd into your clone of the RawTherapee source code
|
||||
repository:
|
||||
1. Check out the desired hg tag: hg update "4.0.10"
|
||||
2. Run tools/generateReleaseInfo to generate ReleaseInfo.cmake:
|
||||
./tools/generateReleaseInfo
|
||||
3. Delete the mercurial stuff: rm -rvf .hg*
|
||||
4. The repository is now ready to be made into a public tarball: hg archive
|
||||
"rawtherapee-4.0.10.tar" -X ".hg*" && xz -z -9e -T 8 "rawtherapee-4.0.10.tar"
|
||||
|
||||
The build system especially encourages to perform out-of-source builds. This
|
||||
means that the CMake project is generated in a folder which is not in the
|
||||
source tree of RawTherapee. This way the source tree stays clean all the time
|
||||
and multiple different compilation settings can be maintained in parallel
|
||||
using different binary folders. Further information about out-of-source builds
|
||||
can be found here:
|
||||
http://www.cmake.org/Wiki/CMake_FAQ#What_is_an_.22out-of-source.22_build.3F
|
||||
|
||||
If an in-source build is performed, the CMake logic now warns about this but
|
||||
does not fail. Especially important for clean out-of-source builds is that the
|
||||
CMake code does not generate files inside the source tree, e.g. when using
|
||||
configure_file. Please keep this in mind when altering the CMake files.
|
||||
|
||||
|
||||
|
||||
Windows
|
||||
-------
|
||||
|
||||
The toolchain:
|
||||
|
||||
There are two methods of compiling RawTherapee in Windows, and they each
|
||||
rely on different and common packages. They will be referred to as METHOD 1
|
||||
and METHOD 2. You will have to install the dependencies for the build
|
||||
methods explained later in this document.
|
||||
|
||||
The rest of this document assumes that you've installed MinGW, MSYS and
|
||||
gtkmm respectively to "C:\mingw", "C:\msys" and "C:\gtkmm". This tutorial
|
||||
assume that you've installed the packages in paths that DO NOT CONTAIN
|
||||
SPACES.
|
||||
|
||||
METHOD 1
|
||||
- MinGW64-TDM (Bundle or On-Demand installer from
|
||||
http://tdm-gcc.tdragon.net/download) Make sure you use the current 4.6.1
|
||||
or newer stable version, and install MinGW64 (not MinGW32), as MinGW64
|
||||
is more comprehensive plus it runs AND compiles for both 32bit and 64bit
|
||||
Windows machines. Old Mingw32 versions miss some required header files,
|
||||
so some Windows functions will be disabled though it will compile.
|
||||
However MinGW64 does not fully support Windows XP, only Vista and up.
|
||||
- MSYS - http://downloads.sourceforge.net/mingw/MSYS-1.0.11.exe If you
|
||||
have some trouble installing MSYS, see here:
|
||||
http://www.mingw.org/wiki/MSYS
|
||||
- CMake - http://www.cmake.org/cmake/resources/software.html Version 2.8.8
|
||||
or above is required for this platform
|
||||
- Gtkmm2.22
|
||||
- for 32bit:
|
||||
http://ftp.se.debian.org/pub/gnome/binaries/win32/gtkmm/2.22/
|
||||
- for 64bit:
|
||||
http://ftp.gnome.org/pub/gnome/binaries/win64/gtk+/2.22/
|
||||
|
||||
METHOD 2
|
||||
- MinGW-TDM - Bundle or On-Demand installer
|
||||
http://tdm-gcc.tdragon.net/download
|
||||
- CMake - http://www.cmake.org/cmake/resources/software.html
|
||||
- gtkmm-2.22
|
||||
- for 32bit:
|
||||
http://ftp.se.debian.org/pub/gnome/binaries/win32/gtkmm/2.22/
|
||||
- for 64bit:
|
||||
http://ftp.gnome.org/pub/gnome/binaries/win64/gtk+/2.22/
|
||||
|
||||
Additional steps:
|
||||
When all the packages of your preferred method are installed:
|
||||
- set the GTKMM_BASEPATH user or system environment variable to the
|
||||
installation directory of gtkmm (the gtkmm installer can do it for you).
|
||||
- set the MINGW_BASEPATH user or system environment variable to the
|
||||
installation directory of MinGW32.
|
||||
- set the PKG_CONFIG_PATH user or system environment variable to the
|
||||
location of the pkgconfig directories:
|
||||
c:\mingw\lib\pkgconfig;c:\gtkmm\lib\pkgconfig You have to restart the
|
||||
console to take these new variables into effect.
|
||||
- set the CMake option BUILD_BUNDLE ON
|
||||
- If you run MinGW64 and want to compile for 32bit, change the following
|
||||
vars in CMake (use CMAKE-GUI to makes this easier):
|
||||
CMAKE_CXX_FLAGS,CMAKE_C_FLAGS,CMAKE_SHARED_LINKER_FLAGS: -m32
|
||||
CMAKE_EXE_LINKER_FLAGS: -m32 --large-address-aware
|
||||
CMAKE_RC_FLAGS: -F pe-i386
|
||||
|
||||
- Copy the "Win32CMakeOptions-sample.txt" file located in the root
|
||||
directory of RT's source tree, to "cmo.txt" (for example). You can edit
|
||||
that copy to change the compilation flags to your needs, but the default
|
||||
values should be fine. However, if you want to upload a build, you
|
||||
should set some additional information about your processor. There are
|
||||
two possibilities:
|
||||
1. You pick up a target processor from "ProcessorTargets.cmake". All you
|
||||
have to do is set the PROC_TARGET_NUMBER parameter in cmo.txt to the
|
||||
desired target number. If you choose the 'native' solution, you have
|
||||
to set the processor label manually in cmo.txt by uncommenting and
|
||||
setting the PROC_LABEL parameter. Please provide a short name, like
|
||||
"core i5" or "athlon64" (without double quotes). Processor frequency
|
||||
is of no use.
|
||||
2. You don't need specific processor flags, so you'll let
|
||||
PROC_TARGET_NUMBER default to 0, but you have to set the PROC_LABEL
|
||||
parameter in cmo.txt (don't forget to uncomment the line). Please
|
||||
provide a short name, like "core i5" or "athlon64" (without double
|
||||
quotes). Specifying the processor frequency isof no use.
|
||||
|
||||
|
||||
|
||||
Dependancies:
|
||||
|
||||
RawTherapee relies on libraries that may not be part of the gtkmm or MinGW
|
||||
packages. There are two ways of installing these libraries.
|
||||
|
||||
The simple way:
|
||||
For your convenience, these libraries has been precompiled and are
|
||||
downloadable at:
|
||||
http://www.rawtherapee.com/releases_head/windows/dependencies_for_creating_builds/
|
||||
If you don't find a suitable package for your toolchain, take the DIY way
|
||||
or ask a developer to build them for you. Unpack the contents of this
|
||||
archive to the base installation dir of MinGW, and everything should work
|
||||
fine.
|
||||
|
||||
The "Do It Yourself" way:
|
||||
The MSYS package is required to build the libraries. See above for the
|
||||
download link. Before building them, check if they are already installed
|
||||
in your gtkmm and MinGW directories. There shouldn't be two versions of
|
||||
the same library in different places.
|
||||
|
||||
Open an MSYS console, that will create a Linux environment, and compile
|
||||
the dependancies in the following order:
|
||||
zlib:
|
||||
If you have Gtkmm-2.22 installed, you should skip this zlib section.
|
||||
- Download: http://zlib.net/
|
||||
- How to build:
|
||||
cd to the directory you unpacked zlib-1.2.5 to,
|
||||
make -f win32/Makefile.gcc
|
||||
|
||||
Then, manually copy the files as follows (tip: you can individually
|
||||
copy the lines below and paste them in MSYS' prompt with the middle
|
||||
mouse button):
|
||||
cp -iv zlib1.dll /mingw/bin
|
||||
cp -iv zconf.h zlib.h /mingw/include
|
||||
cp -iv libz.a /mingw/lib
|
||||
cp -iv libzdll.a /mingw/lib/libz.dll.a
|
||||
|
||||
libpng:
|
||||
If you have gtkmm-2.22 installed, you should skip this libpng section.
|
||||
- Download: http://sourceforge.net/projects/libpng/files/
|
||||
- How to build:
|
||||
cd to the directory you unpacked lpng144 to.
|
||||
There are two methods of building libpng:
|
||||
1. gtkmm doesn't provide zlib so compile it yourself:
|
||||
cmake -G "MSYS Makefiles" -DCMAKE_INSTALL_PREFIX:PATH=/mingw -DCMAKE_BUILD_TYPE:STRING=Release
|
||||
2. gtkmm provides zlib so you can reuse it (assuming that you
|
||||
hadn't compiled zlib as explained above):
|
||||
cmake -G "MSYS Makefiles" -DCMAKE_INSTALL_PREFIX:PATH=/mingw -DCMAKE_PREFIX_PATH:PATH=C:/gtkmm -DCMAKE_BUILD_TYPE:STRING=Release
|
||||
|
||||
Then build and install:
|
||||
make
|
||||
make install
|
||||
|
||||
libjpeg:
|
||||
- Download: http://www.ijg.org/
|
||||
- How to build:
|
||||
cd to the directory you unpacked jpeg-8b to.
|
||||
./configure --prefix=/mingw
|
||||
Copy jconfig.txt to jconfig.h (overwrite the existing file).
|
||||
make
|
||||
make install
|
||||
|
||||
libtiff:
|
||||
- Download: ftp://ftp.remotesensing.org/pub/libtiff/
|
||||
- How to build:
|
||||
In the configure process below, set the zlib include and lib path
|
||||
to the right folder. We're assuming that you're using the one
|
||||
provided in the gtkmm bundle.
|
||||
./configure --prefix=/mingw --with-zlib-include-dir=/c/gtkmm/include --with-zlib-lib-dir=/c/gtkmm/lib
|
||||
make
|
||||
cd libtiff
|
||||
make install
|
||||
|
||||
libiptcdata:
|
||||
- Download: http://libiptcdata.sourceforge.net/
|
||||
- How to build:
|
||||
./configure --prefix=/mingw
|
||||
|
||||
Edit the "Makefile" file from the root dir of libiptcdata and
|
||||
search for "DIST_SUBDIRS =" and "SUBDIRS =". You should only find
|
||||
one line for each search. From these lines, remove "iptc", then:
|
||||
make
|
||||
make install
|
||||
|
||||
lcms:
|
||||
- Download lcms1 for RawTherapee-3.0 or lcms2 for RawTherapee-3.1 and
|
||||
newer http://sourceforge.net/projects/lcms/files/
|
||||
- How to build (suitable for both version):
|
||||
./configure --prefix=/mingw
|
||||
make
|
||||
make install
|
||||
|
||||
|
||||
IMPORTANT:
|
||||
Make sure that the lcms.pc and libiptcdata.pc files located in the
|
||||
pkgconfig dir have the first line like this:
|
||||
prefix=/mingw
|
||||
|
||||
If everything has been installed correctly, you should see the following
|
||||
lines when running the cmake command (see "Building RT" below):
|
||||
-- checking for module 'libiptcdata'
|
||||
-- found libiptcdata, version 1.0.4
|
||||
-- checking for module 'lcms2'
|
||||
-- found lcms2, version 2.3
|
||||
-- Found JPEG: C:/mingw/lib/libjpeg.dll.a
|
||||
-- Found ZLIB: C:/gtkmm/lib/libz.dll.a
|
||||
-- Found PNG: C:/gtkmm/lib/libpng.lib
|
||||
-- Found TIFF: C:/mingw/lib/libtiff.dll.a
|
||||
|
||||
Building RT:
|
||||
|
||||
METHOD 1:
|
||||
Requirements:
|
||||
- MinGW + MSYS
|
||||
- CMake
|
||||
- GTK and gtkmm development environments
|
||||
|
||||
Compile:
|
||||
- Start an MSYS command line interface,
|
||||
- Enter a new empty folder outside RawTherapee's source directory:
|
||||
cd /C/Absolute/Path/To/RawTherapee_sourceTree
|
||||
mkdir build
|
||||
cd build
|
||||
- Type:
|
||||
cmake -G "MSYS Makefiles" -DCMAKE_BUILD_TYPE=Release -Ccmo.txt <path to the source directory, if done as above '..'>
|
||||
- Type:
|
||||
make install
|
||||
- You'll find the compiled program in the subdirectory named like the
|
||||
value of CMAKE_BUILD_TYPE ("Release" in this example).
|
||||
|
||||
METHOD 2: Requirements:
|
||||
- MinGW-TDM:
|
||||
https://sourceforge.net/projects/tdm-gcc/files/TDM-GCC%20Installer/
|
||||
- CMake: http://www.cmake.org/cmake/resources/software.html
|
||||
- Mercurial: http://mercurial.selenic.com/wiki/WindowsInstall
|
||||
- gtkmm: http://ftp.se.debian.org/pub/gnome/binaries/win32/gtkmm/2.22/
|
||||
|
||||
Compile:
|
||||
- Start a standard DOS command prompt (WIN+R > cmd),
|
||||
- Enter a new empty folder outside RawTherapee's source directory:
|
||||
cd /C/Absolute/Path/To/RawTherapee_sourceTree
|
||||
mkdir build
|
||||
cd build
|
||||
|
||||
If you want to upload a build, you should set some additional
|
||||
information about your processor. There are two possibilities:
|
||||
1. You pick up a target processor from "ProcessorTargets.cmake". All
|
||||
you have to do is set "-D PROC_TARGET_NUMBER:STRING=number" in
|
||||
cmake's command line to the desired target number. If you choose
|
||||
the 'native' solution, you have to set the processor label manually
|
||||
by setting "-D PROC_LABEL:STRING=procLabel" in cmake's command
|
||||
line. Please provide a short name, like "core i5" or "athlon64"
|
||||
(without double quotes). Processor frequency is of no use.
|
||||
2. You don't need specific processor flags, so you'll let
|
||||
PROC_TARGET_NUMBER default to 0, but you still have to set the
|
||||
PROC_LABEL parameter (see point 1 righ above).
|
||||
|
||||
- Type:
|
||||
mingw32-make.exe install
|
||||
- You'll find the compiled program in the subdirectory named like the
|
||||
value of CMAKE_BUILD_TYPE ("Release" in this example).
|
||||
|
||||
Linux
|
||||
-----
|
||||
|
||||
Requirements:
|
||||
|
||||
PACKAGE GENTOO DEBIAN/UBUNTU URL
|
||||
GTK+ gtk+-2.0>=2.12 x11-libs/gtk+ libgtk2.0-dev http://www.gtk.org/
|
||||
GLIB2 glib-2.0>=2.16 dev-libs/glib libglib2.0-dev http://www.gtk.org/
|
||||
GLIBMM glibmm-2.4>=2.16 dev-cpp/glibmm libglibmm-2.4-dev http://www.gtkmm.org
|
||||
GTKMM gtkmm-2.4>=2.12 dev-cpp/gtkmm libgtkmm-2.4-dev http://www.gtkmm.org
|
||||
SIGC sigc++-2.0 dev-libs/libsigc++ libsigc++-2.0-dev http://libsigc.sourceforge.net/
|
||||
LIBIPTCDATA libiptcdata>=1.0.2 media-libs/libiptcdata libiptcdata-dev http://libiptcdata.sourceforge.net
|
||||
LCMS2 lcms>=2.0a media-libs/lcms liblcms2-dev http://www.littlecms.com/
|
||||
JPEG libjpeg>=6b media-libs/jpeg libjpeg-dev http://jpegclub.org/ http://www.ijg.org/
|
||||
TIFF libtiff>=3.9.4 media-libs/tiff libtiff-dev http://www.remotesensing.org/libtiff/
|
||||
PNG libpng>=1.2.44 media-libs/libpng libpng-dev http://www.libpng.org/
|
||||
BZIP2 bzip2>-1.0.4 app-arch/bzip2 libbz2-dev http://www.bzip.org/
|
||||
ZLIB zlib>=1.2.3-r1 sys-libs/zlib zlib1g-dev http://www.zlib.net/
|
||||
EXIV2 exiv2>=0.19 media-gfx/exiv2 libexiv2-dev http://www.exiv2.org/
|
||||
EXPAT expat>=2.1.0 dev-libs/expat libexpat-dev http://expat.sourceforge.net/
|
||||
|
||||
On Ubuntu/Debian the requirements can be installed by running:
|
||||
sudo apt-get install build-essential cmake libbz2-dev libexiv2-dev libexpat1-dev libglib2.0-dev libglibmm-2.4-dev libgtk2.0-dev libgtkmm-2.4-dev libiptcdata-dev libjpeg8-dev liblcms2-dev libpng-dev libsigc++-2.0-dev libtiff-dev mercurial zlib1g-dev
|
||||
|
||||
Compile:
|
||||
- Create and enter a new empty folder outside RawTherapee's source directory:
|
||||
mkdir ~/rt-build
|
||||
cd ~/rt-build
|
||||
- Type:
|
||||
cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=./release -DBINDIR=. -DDATADIR=. -DLIBDIR=. <path to source directory>
|
||||
Developers who want to provide a public build have to set the PROC_LABEL
|
||||
to their processor name, e.g.:
|
||||
cmake -DPROC_LABEL:STRING=athlon64 -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=./release -DBINDIR=. -DDATADIR=. -DLIBDIR=. <path to source directory>
|
||||
|
||||
- Type:
|
||||
make install
|
||||
- You'll find the compiled program in the subdirectory named like the value
|
||||
of CMAKE_BUILD_TYPE ("Release" in this example). You can copy it anywhere
|
||||
you want.
|
||||
|
||||
By changing the cmake flags, you can change where the release will compile
|
||||
to. By removing all flags it should go to the standard system install
|
||||
location.
|
||||
|
||||
Using Eclipse under Linux:
|
||||
|
||||
Eclipse mercurial plugin: Click "Help > Install new Software".
|
||||
The Eclipse Update Site for MercurialEclipse is available at this URL:
|
||||
http://cbes.javaforge.com/update
|
||||
|
||||
Import the rawtherapee mercurial repository:
|
||||
"File > new > other > mercurial > Clone existing repository"
|
||||
Enter this URL:
|
||||
https://rawtherapee.googlecode.com/hg
|
||||
|
||||
Create and enter a new empty folder outside RawTherapee's source directory.
|
||||
Configure the source for Eclipse with:
|
||||
cmake -G "Eclipse CDT4 - Unix Makefiles" -DCMAKE_INSTALL_PREFIX=./release -DBINDIR=. -DDATADIR=. -DLIBDIR=. -DCMAKE_BUILD_TYPE=Release <path to source directory>
|
||||
|
||||
|
||||
If you want to upload a build, you should set some additional information
|
||||
about your processor. There are two possibilities:
|
||||
1. You pick up a target processor from "ProcessorTargets.cmake". All you
|
||||
have to do is set "-D PROC_TARGET_NUMBER:STRING=number" in cmake's
|
||||
command line to the desired target number. If you choose the 'native'
|
||||
solution, you have to set the processor label manually by setting "-D
|
||||
PROC_LABEL:STRING=procLabel" in cmake's command line. Please provide a
|
||||
short name, like "core i5" or "athlon64" (without double quotes).
|
||||
Processor frequency is of no use.
|
||||
2. You don't need specific processor flags, so you'll let
|
||||
PROC_TARGET_NUMBER default to 0, but you still have to set the
|
||||
PROC_LABEL parameter (see point 1 righ above).
|
||||
|
||||
Eclipse does not do 'make install', but only 'make all'.
|
||||
There are two ways to compile:
|
||||
1. type 'make install' in the console or,
|
||||
2. in "Project > properties > C/C++ Make Project > Build (incremental
|
||||
build)" change 'all' to 'install'.
|
||||
|
||||
OS X
|
||||
----
|
||||
|
||||
Requirements:
|
||||
- XCode Development Tools (you only need a subset of these, but it is
|
||||
probably easier to just install all of them)
|
||||
- MacPorts
|
||||
- Set /opt/local/etc/macports/variants.conf to include "+no_x11 +quartz"
|
||||
- If you want to build for multiple architectures, add +universal to
|
||||
variants.conf. Note that this will increase the size of the final
|
||||
application substantially.
|
||||
- Set /opt/local/etc/macports/macports.conf key 'universal_archs' to the
|
||||
architectures you wish to build for. Possible values include "i386
|
||||
x86_64 ppc ppc64"
|
||||
- Edit the beginning of CMakeLists.txt to enable the same architectures
|
||||
as you added to variants.conf
|
||||
- To install all the tools and dependencies, run:
|
||||
sudo port install cairomm pango-devel gtk2 cmake glibmm gtkmm lcms libiptcdata
|
||||
- If you don't already have Mercurial installed, run:
|
||||
sudo port install mercurial
|
||||
- If you want to try OpenMP builds, run:
|
||||
sudo port install gcc45
|
||||
|
||||
Compile:
|
||||
- Enter the root directory of the RawTherapee source tree
|
||||
- To enable OpenMP, assuming you have installed gcc45), type:
|
||||
cmake -D CMAKE_C_COMPILER=gcc-mp-4.5 -D CMAKE_CXX_COMPILER=g++-mp-4.5 <path to source directory>
|
||||
OR to disable OpenMP and use the default compiler, type:
|
||||
cmake -D OPTION_OMP=false <path to source directory>
|
||||
|
||||
If you want to upload a build, you should set some additional information
|
||||
about your processor. There are two possibilities:
|
||||
1. You pick up a target processor from "ProcessorTargets.cmake". All you
|
||||
have to do is set "-D PROC_TARGET_NUMBER:STRING=number" in cmake's
|
||||
command line to the desired target number. If you choose the 'native'
|
||||
solution, you have to set the processor label manually by setting "-D
|
||||
PROC_LABEL:STRING=procLabel" in cmake's command line. Please provide a
|
||||
short name, like "core i5" or "athlon64" (without double quotes).
|
||||
Processor frequency is of no use.
|
||||
2. You don't need specific processor flags, so you'll let
|
||||
PROC_TARGET_NUMBER default to 0, but you still have to set the
|
||||
PROC_LABEL parameter (see point 1 righ above).
|
||||
|
||||
- Type:
|
||||
make install
|
||||
- Type:
|
||||
./tools/osx/make-app-bundle
|
||||
- You will find a RawTherapee.dmg file in the release/ folder; this is the
|
||||
distribution release and can be run on any machine which meets the
|
||||
architecture requirements you specified in variants.conf earlier.
|
||||
|
||||
Contact: For any bugs or patches to the OS X build, please contact Wyatt
|
||||
<wyatt@digitalcave.ca>
|
||||
|
@@ -1,58 +1,38 @@
|
||||
|
||||
RAWTHERAPEE 4.0.7 RELEASE NOTES
|
||||
RAWTHERAPEE 4.0.9 RELEASE NOTES
|
||||
-------------------------------
|
||||
|
||||
NEW FEATURES
|
||||
------------
|
||||
- Support for Adobe LCP lens correction profiles
|
||||
- Program plugger for Windows, to automatically find and be able to
|
||||
open right-clicked photos with popular photography programs.
|
||||
- Support of Dual illuminant DCP profiles
|
||||
- Support for new cameras in addition to those already supported by dcraw:
|
||||
- Nikon D800
|
||||
- Canon EOS 5D Mark III
|
||||
- New camera DCP profiles:
|
||||
- Nikon D5100
|
||||
- Nikon D7000
|
||||
|
||||
Most commits focused on squashing bugs and speeding up processing.
|
||||
|
||||
|
||||
CAVEATS
|
||||
-------
|
||||
- Risk of PP3 data loss - beware when running multiple RT versions
|
||||
RawTherapee cleans up obsolete or invalid tags from active PP3 files. This process is run in three situations:
|
||||
1- When you affect the PP3 file in any way, e.g. by tagging a photo,
|
||||
2- When you select another folder in the File Browser tab
|
||||
3- When you exit RawTherapee (equivalent to leaving the open album)
|
||||
This means that a more recent version of RawTherapee will delete obsolete tags which may have been used by an older version, and vice versa - if you use an old version of RawTherapee to browse photos edited with a newer version, it will delete the tags introduced in the new version. This issue is being worked on, and future versions of RawTherapee will support XMP sidecar files with concurrent embedded profile versions.
|
||||
http://code.google.com/p/rawtherapee/issues/detail?id=1335
|
||||
|
||||
- Memory requirements
|
||||
Please read http://rawtherapee.com/blog/maximizing-memory-efficiency
|
||||
|
||||
- Differences between the preview and the output image
|
||||
The color-managed preview in RawTherapee is (and has always been) based on image data in the Working Space profile. Although the actual preview is rendered using a monitor profile (or sRGB profile, if the monitor profile is not specified), it does not reflect the Output Profile & Output Gamma settings. This can lead to a slightly different output rendering when Working Space profile and Output Space profiles are not the same. A workaround is to set them to the same values to ensure the preview accurately reflects the final rendered output.
|
||||
|
||||
For generic use in an sRGB workflow when the output target is web-based image display, it is recommended to use the default values of the Color/ICM toolset (Working Profile = sRGB, Output Profile = RT_sRGB).
|
||||
|
||||
Future releases of RawTherapee are planned to support a more comprehensive color-managed preview that will allow proofing with accurate visualization of the final output render based not only on the working space and monitor profiles, but also on the user-selected Output Profile and Output Gamma.
|
||||
|
||||
- Auto Levels behavior has changed
|
||||
The new algorithm drives the following parameters:
|
||||
Exposure compensation,
|
||||
Highlight recovery amount & threshold,
|
||||
Black level & shadow compression,
|
||||
RGB brightness,
|
||||
RGB contrast.
|
||||
|
||||
The profiles supplied with RawTherapee were changed to be compatible with the new Auto Levels logic, as in older profiles RGB contrast and brightness were preset to a fixed value. Old Tuned-# profiles have been removed.
|
||||
|
||||
- The new Exposure Compensation tag in thumbnail captions and in the file browser filter requires clearing of Rawtherapee's thumbnail cache (see Preferences > File Browser). If the thumbnail cache is not cleared, exposure compensation values will not be displayed in captions or recognized in filtering *for previously browsed images only*.
|
||||
|
||||
NEW FEATURES
|
||||
------------
|
||||
- New RGB curves,
|
||||
- New white balance presets for specific spectra,
|
||||
- New preview modes: red, green, blue, luminosity and Focus Mask (see which areas are in focus),
|
||||
- New Export Panel with Fast Export Options,
|
||||
- DCRAW updated to 9.12
|
||||
Support added for these cameras:
|
||||
Canon PowerShot S100
|
||||
Fujifilm X10
|
||||
Leica V-Lux 3
|
||||
Nikon 1
|
||||
Panasonic DMC-FZ4
|
||||
Panasonic DMC-GX1
|
||||
Samsung NX
|
||||
Samsung NX200
|
||||
Sony NEX-7
|
||||
- Enhanced color matrices and RT-specific input ICC profiles for the following cameras:
|
||||
Canon EOS 5D
|
||||
Canon PowerShot G10
|
||||
Nikon D3100
|
||||
- Additional crop ratios,
|
||||
- Additional output ICC profiles,
|
||||
- 1-click neutral setting for exposure values,
|
||||
- Exposure Compensation thumbnail caption and filter option in the file browser metadata filter,
|
||||
- Automatic display of this RELEASE_NOTES.txt file on the first run after a RawTherapee upgrade (e.g. 4.0.6 > 4.0.7)
|
||||
|
||||
|
||||
DOCUMENTATION
|
||||
-------------
|
||||
@@ -78,394 +58,218 @@ REVISION HISTORY
|
||||
The complete change log is available at
|
||||
http://code.google.com/p/rawtherapee/source/list
|
||||
|
||||
Changes since version 4.0.6:
|
||||
changeset: 1757:0d7bf6ba4a29
|
||||
tag: tip
|
||||
user: Hombre
|
||||
date: Tue Jan 31 00:46:04 2012 +0100
|
||||
description: Updated french strings and ben_pcc added to the Authors
|
||||
list (without his complete name as requested)
|
||||
|
||||
changeset: 1756:70397c2dea1c
|
||||
user: Michael Ezra
|
||||
date: Mon Jan 30 08:19:06 2012 -0500
|
||||
description: Fixing spelling errors in the release notes
|
||||
|
||||
changeset: 1755:4dc3126bca36
|
||||
user: Michael Ezra
|
||||
date: Sun Jan 29 16:25:27 2012 -0500
|
||||
description: Changes to ICM panel tooltips (see issue 1220)
|
||||
|
||||
changeset: 1754:6345b81b1d3d
|
||||
user: Michael Ezra
|
||||
date: Sun Jan 29 16:15:26 2012 -0500
|
||||
description: New feature: Export panel with Fast Export options.
|
||||
Fast Export options provide overrides to bypass time and
|
||||
resource consuming development settings and to run queue
|
||||
processing using the fast export settings instead. This
|
||||
method is recommended for quicker generation of lower
|
||||
resolution images when speed is a priority or when resized
|
||||
output is desired for one or many images without making
|
||||
modifications to their saved development parameters.
|
||||
|
||||
changeset: 1753:295cdd4f2329
|
||||
user: Michael Ezra
|
||||
date: Sun Jan 29 10:58:49 2012 -0500
|
||||
description: Fix for correctly reflecting Input Profile option in the UI.
|
||||
If auto-matched camera-specific ICC profile is not found
|
||||
Editor UI falls back to reflect "Camera standard" option.
|
||||
|
||||
changeset: 1752:68c38e327c03
|
||||
user: Michael Ezra
|
||||
date: Fri Jan 27 11:18:10 2012 -0500
|
||||
description: Monospace formatting for license and release notes in the
|
||||
splash screen.
|
||||
|
||||
changeset: 1751:fc727c21dbb3
|
||||
user: Michael Ezra
|
||||
date: Thu Jan 26 21:57:23 2012 -0500
|
||||
description: Renaming Caveats to Release Notes, adding text margins to
|
||||
the splash screen
|
||||
|
||||
changeset: 1749:1782f47ae9c9
|
||||
user: Hombre
|
||||
date: Wed Jan 25 23:14:59 2012 +0100
|
||||
description: CAVEATS file now word-wrapped in the Text area.
|
||||
|
||||
changeset: 1748:d4a2ae08dad5
|
||||
user: DrSlony
|
||||
date: Tue Jan 24 20:53:13 2012 +0000
|
||||
description: Fixed a problem where the CAVEATS.txt file was not copied
|
||||
into the compiled dir in Linux. Wrong capitalization in
|
||||
CMakeLists.txt. Issue 1206
|
||||
|
||||
changeset: 1746:f0dd4ae23d76
|
||||
user: Michael Ezra
|
||||
date: Wed Jan 25 22:47:18 2012 -0500
|
||||
description: Renaming profile Tuned-1 to Highkey-1
|
||||
|
||||
changeset: 1745:78318196e0de
|
||||
user: Hombre
|
||||
date: Wed Jan 18 00:20:19 2012 +0100
|
||||
description: Solving issue 1206: "Caveats file handling". May also solve
|
||||
issue 1089: "About RT: version window disappears". This
|
||||
patch also cleanup the Gamma tool a little bite. The
|
||||
CAVEATS.txt is optional and may be deleted in future
|
||||
release.
|
||||
|
||||
changeset: 1743:f55d097357ec
|
||||
user: Hombre
|
||||
date: Mon Jan 16 02:16:09 2012 +0100
|
||||
description: Fix a bug in the Adjuster class that were causing system
|
||||
Beep when reaching the limits, or at each move when the
|
||||
limits where below 1.0 (like for Distortion). Also fix the
|
||||
bug of the too small spin button (displaying not enough
|
||||
digits).
|
||||
|
||||
changeset: 1741:a51f811a74a9
|
||||
user: MichaelEzra
|
||||
date: Sun Jan 15 15:54:24 2012 -0500
|
||||
description: Preview modes (RGBLF) - adding icons and code optimization
|
||||
|
||||
changeset: 1740:357fb2cd4855
|
||||
user: Philippe Hupe
|
||||
date: Sun Jan 15 21:11:09 2012 +0100
|
||||
description: gtk-paste and gtk-copy icons were missing for both Dark and
|
||||
Light theme. They have been added.
|
||||
|
||||
changeset: 1739:0f2d5a79b325
|
||||
user: jdc
|
||||
date: Sun Jan 15 18:36:20 2012 +0100
|
||||
description: little correction for tags Output profiles
|
||||
|
||||
changeset: 1738:51f334300825
|
||||
user: jdc
|
||||
date: Sun Jan 15 18:32:37 2012 +0100
|
||||
description: modification of LUT of Output-profiles Output-gamma
|
||||
Free-Gamma, suppression of discontinuity
|
||||
|
||||
changeset: 1737:82d31eab71b1
|
||||
user: DrSlony
|
||||
date: Sat Jan 14 03:22:07 2012 +0000
|
||||
description: Updated Polish translations
|
||||
|
||||
changeset: 1736:2be56e1f68e1
|
||||
user: DrSlony
|
||||
date: Sat Jan 14 03:20:03 2012 +0000
|
||||
description: Modified the generateTranslationDiffs.sh file, runs ~34%
|
||||
faster
|
||||
|
||||
changeset: 1735:43ae4752ef6e
|
||||
user: Hombre
|
||||
date: Fri Jan 13 00:33:40 2012 +0100
|
||||
description: Updated french strings + added localisation for the "RGB
|
||||
Curves" tool
|
||||
|
||||
changeset: 1734:abfe22ba9400
|
||||
user: Hombre
|
||||
date: Wed Jan 11 02:06:23 2012 +0100
|
||||
description: Solving issue 1001: "Auto WB is saved as Custom in profile
|
||||
files" and 929: "Crash on image open with WB method = Auto"
|
||||
with a different workaround
|
||||
|
||||
changeset: 1733:03d19f04768d
|
||||
user: Hombre
|
||||
date: Wed Jan 11 01:50:10 2012 +0100
|
||||
description: Solving issue 1196: "Strange blown highlights with control
|
||||
cage tone curve in 32 bit release builds"
|
||||
|
||||
changeset: 1732:d25652ca80b3
|
||||
user: DrSlony
|
||||
date: Sun Jan 08 18:29:38 2012 +0000
|
||||
description: Set InputProfile=(CameraICC), WorkingProfile=sRGB,
|
||||
OutputProfile=RT_sRGB, GammaValue=2.22 and GammaSlope=4.5
|
||||
in all pp3 files.
|
||||
|
||||
changeset: 1731:6e231b0019ee
|
||||
user: DrSlony
|
||||
date: Sun Jan 08 17:35:33 2012 +0000
|
||||
description: Code cleanup: size() vs empty(), possible memleaks,
|
||||
initialization list order. On behalf of lebedev.ri, see
|
||||
issue 1195
|
||||
|
||||
changeset: 1730:d91fe5efdbb2
|
||||
user: DrSlony
|
||||
date: Mon Jan 02 15:00:48 2012 +0000
|
||||
description: Code cleanup: removal of unnessesary backslashes, committed
|
||||
on behalf of lebedev.ri, issue 1162
|
||||
|
||||
changeset: 1729:d267c081df9d
|
||||
user: DrSlony
|
||||
date: Mon Jan 02 13:53:27 2012 +0000
|
||||
description: Updated German translation on behalf of maweso, issue 1164
|
||||
|
||||
changeset: 1728:d14be2436fef
|
||||
user: DrSlony
|
||||
date: Mon Jan 02 13:44:44 2012 +0000
|
||||
description: Updated Czech translation on behalf of mkyral, issue 1180
|
||||
|
||||
changeset: 1727:1620adfa76ca
|
||||
user: Michael Ezra
|
||||
date: Mon Jan 02 00:10:55 2012 -0500
|
||||
description: Focus Mask (beta) and shortcuts for preview modes (issue
|
||||
1172)
|
||||
Preview Red channel: r
|
||||
Preview Blue channel: b
|
||||
Preview Green channel: g
|
||||
Preview Luminosity: v
|
||||
Preview Focus Mask: Shift-F
|
||||
Before-After: changed to Shift-B
|
||||
|
||||
changeset: 1726:513c6326fcdc
|
||||
user: Oliver Duis
|
||||
date: Sun Jan 01 20:37:34 2012 +0100
|
||||
description: New camera color profiles: Canon 5D, G10, Nikon D3100;
|
||||
DCRAW cleanups
|
||||
see issue 1186
|
||||
|
||||
changeset: 1725:2c1afe0fd883
|
||||
user: Oliver Duis
|
||||
date: Fri Dec 30 11:57:11 2011 +0100
|
||||
description: Update to DCRAW 9.12, adding new cameras
|
||||
see issue 1179
|
||||
|
||||
changeset: 1724:d14df629a92d
|
||||
user: DrSlony
|
||||
date: Wed Dec 28 19:05:15 2011 +0000
|
||||
description: Set all tools to SET by default in Preferences - Batch
|
||||
Processing, issue 1154
|
||||
|
||||
changeset: 1723:264a8634e1b3
|
||||
user: Hombre
|
||||
date: Wed Dec 28 12:23:56 2011 +0100
|
||||
description: Solving issue 1096: "Infinite loop when switching to
|
||||
before/after view"
|
||||
|
||||
changeset: 1722:449d8192217c
|
||||
user: DrSlony
|
||||
date: Tue Dec 27 20:00:47 2011 +0000
|
||||
description: Updated Nederlands translation on behalf of Paul
|
||||
Matthijsse, issue 1129, and ran generateTranslationDiffs
|
||||
|
||||
changeset: 1721:8478428eeb2e
|
||||
user: Hombre
|
||||
date: Mon Dec 26 14:24:33 2011 +0100
|
||||
description: Solving issue 1175: "Pls add the [Nikon's] file extension
|
||||
nrw to the "Parsed Extensions" list by default".
|
||||
|
||||
changeset: 1720:0c4018b036a8
|
||||
user: jdc
|
||||
date: Mon Dec 26 06:18:19 2011 +0100
|
||||
description: Change with ICC files
|
||||
|
||||
changeset: 1719:eb5b9a526b93
|
||||
user: jdc
|
||||
date: Sun Dec 25 09:11:26 2011 +0100
|
||||
description: suppress RT_Middle_gsRGB.icc
|
||||
|
||||
changeset: 1716:d6976838a524
|
||||
user: jdc
|
||||
date: Sun Dec 25 07:57:59 2011 +0100
|
||||
description: New Output Profiles see #issue1166
|
||||
|
||||
changeset: 1713:8ed4c2edc88f
|
||||
user: MichaelEzra
|
||||
date: Sat Dec 24 12:12:01 2011 -0500
|
||||
description: Fix for typo in comment
|
||||
|
||||
changeset: 1711:d3d4f7b28576
|
||||
user: MichaelEzra
|
||||
date: Sat Dec 24 12:04:22 2011 -0500
|
||||
description: Preview modes: R,B,G channels and Luminosity (issue 1167)
|
||||
|
||||
changeset: 1709:f3eea179e4de
|
||||
user: Hombre
|
||||
date: Sat Dec 24 15:57:48 2011 +0100
|
||||
description: Adding 2 lines forgotten in the previous WB patch: the LED
|
||||
profiles wasn't applied.
|
||||
|
||||
changeset: 1707:136288db1b0b
|
||||
user: DrSlony
|
||||
date: Mon Dec 19 20:48:54 2011 +0000
|
||||
description: Re-tagging 4.0.6, hopefully fixing the screwed up tag and
|
||||
aligning the latesttagdistance back with what it should be
|
||||
|
||||
changeset: 1705:40958891b202
|
||||
user: MichaelEzra
|
||||
date: Sun Dec 18 19:12:47 2011 -0500
|
||||
description: Neutral Levels & tooltips (issue 1161)
|
||||
|
||||
changeset: 1703:dca21e324066
|
||||
user: MichaelEzra
|
||||
date: Sat Dec 17 12:14:44 2011 -0500
|
||||
description: Major rework of headers inclusion style Part2 on behalf of
|
||||
lebedev.ri (issue 1079)
|
||||
|
||||
changeset: 1701:bc56188f39df
|
||||
user: MichaelEzra
|
||||
date: Sat Dec 17 12:08:57 2011 -0500
|
||||
description: Major rework of headers inclusion style on behalf of
|
||||
lebedev.ri (issue 1079)
|
||||
|
||||
changeset: 1699:d40209c8298b
|
||||
user: Emil Martinec
|
||||
date: Fri Dec 16 11:25:46 2011 -0600
|
||||
description: Bugfix :) for flat field correction bugfix :(
|
||||
|
||||
changeset: 1697:1a4d9d0f95fb
|
||||
user: Hombre
|
||||
date: Fri Dec 16 01:37:22 2011 +0100
|
||||
description: Patch from issue 1131: "Predefined White Balance values".
|
||||
|
||||
changeset: 1695:29639856f89a
|
||||
user: DrSlony
|
||||
date: Thu Dec 15 23:05:19 2011 +0000
|
||||
description: Removed rtstart reference from CMakeLists.txt, see issue
|
||||
1160
|
||||
|
||||
changeset: 1693:0afb790abada
|
||||
user: Emil Martinec
|
||||
date: Thu Dec 15 09:43:22 2011 -0600
|
||||
description: Implementing RGB curves.
|
||||
|
||||
changeset: 1691:218eac5d3a3b
|
||||
user: Emil Martinec
|
||||
date: Wed Dec 14 15:10:00 2011 -0600
|
||||
description: Bugfix for flatfield correction tool.
|
||||
|
||||
changeset: 1689:f08ce67af335
|
||||
user: Michael Ezra
|
||||
date: Mon Dec 12 15:58:20 2011 -0500
|
||||
description: Crop ratios: new values, code optimization (issue 1153)
|
||||
|
||||
changeset: 1687:2bfb4b5255a7
|
||||
user: Michael Ezra
|
||||
date: Fri Dec 09 21:17:37 2011 -0500
|
||||
description: Thumbnail Exif string: append exposure compensation (see
|
||||
issue 1150)
|
||||
In order for this option to work on previously browsed
|
||||
thumbs the cache must be cleared.
|
||||
(Please be sure to add to the build release notes)
|
||||
|
||||
changeset: 1685:78fee2fd065b
|
||||
user: Philippe Hupe
|
||||
date: Wed Dec 07 20:45:06 2011 +0100
|
||||
description: lock-off.png and lock-on.png icon were trimmed, the header
|
||||
height has been increased from 15 to 17 (issue 1116)
|
||||
|
||||
changeset: 1683:69b8bd8bb944
|
||||
user: MichaelEzra
|
||||
date: Tue Dec 06 19:33:37 2011 -0500
|
||||
description: File browser filter: Exposure Compensation (see issue 1003)
|
||||
In order to use this new filter with previously browsed
|
||||
thumbnails there are 2 options:
|
||||
Option 1. Global fix: clear cache/data folder
|
||||
Option 2. Local Fix: select thumbs, right click, Cache
|
||||
/Clear from cache - partial
|
||||
reload folder in file browser
|
||||
|
||||
changeset: 1681:c7337c4732d3
|
||||
user: DrSlony
|
||||
date: Sun Dec 04 10:40:24 2011 +0000
|
||||
description: Updated Japanese translation on behalf of a3novy, issue 1145
|
||||
|
||||
changeset: 1678:eda4134c4a2b
|
||||
user: Hombre
|
||||
date: Sat Dec 03 19:10:34 2011 +0100
|
||||
description: Solving issue 1084 (please confirm): "White rectangles
|
||||
appear in the final image file". See also issue 1112,
|
||||
comment 150.
|
||||
|
||||
changeset: 1676:643dcde3c0a2
|
||||
user: DrSlony
|
||||
date: Thu Dec 01 00:53:19 2011 +0000
|
||||
description: - language file changes,
|
||||
- profile changes,
|
||||
- tagged 4.0.6 (tag was lost)
|
||||
- line endings normalized to CR+LF in language files and
|
||||
postprocessing profiles
|
||||
- fixed capitalization of "raw"
|
||||
- patched generateTranslationDiffs.sh to properly sort
|
||||
numbered entries, e.g. 113 should be after 11 and 12, not
|
||||
between. Small change - now comments appear before the
|
||||
"!!!!!" section. Not worth worrying about imho. Also used
|
||||
sort's -unique capabilities to not unnecessarily spawn
|
||||
another process. See
|
||||
http://code.google.com/p/rawtherapee/source/detail?r=71bb39a
|
||||
b934e2e8654b35c1e36dcc1a572a26f03
|
||||
|
||||
changeset: 1667:112fc99c7186
|
||||
user: Emil Martinec
|
||||
date: Wed Nov 30 15:06:33 2011 -0600
|
||||
description: More fixes
|
||||
|
||||
changeset: 1653:5fc887f050d5
|
||||
user: DrSlony
|
||||
date: Tue Nov 29 20:06:42 2011 +0000
|
||||
description: Changed OutputProfile from 'No ICM: sRGB output' to
|
||||
'RT_sRGB'. Issue 1102, comments 34 onwards.
|
||||
|
||||
changeset: 1652:286a06753099
|
||||
user: MichaelEzra
|
||||
date: Mon Nov 28 21:40:22 2011 -0500
|
||||
description: Small fix to partialpaste/tone mapper
|
||||
|
||||
changeset: 1651:0032d73774a1
|
||||
user: DrSlony
|
||||
date: Tue Nov 29 00:42:56 2011 +0000
|
||||
description: Updated default and Polish translations with missing
|
||||
HISTORY_MSG_162, and updated all profiles to
|
||||
AppVersion=4.0.6
|
||||
|
||||
changeset: 1650:c13a0b4316f5
|
||||
user: DrSlony
|
||||
date: Mon Nov 28 23:50:28 2011 +0000
|
||||
description: Added tag 4.0.6 for changeset 71bb39ab934e
|
||||
|
||||
changeset: 1649:71bb39ab934e
|
||||
tag: 4.0.6
|
||||
user: DrSlony
|
||||
date: Mon Nov 28 23:49:05 2011 +0000
|
||||
description: Removed WindowsEnvironmentSetup.html Issue 1112 comments
|
||||
125 onwards.
|
||||
|
||||
|
||||
CHANGELOG for 4.0.9
|
||||
-------------------
|
||||
|
||||
DATE | CHANGESET | COMMITTER
|
||||
--------------|---------------|-------------------------------------
|
||||
> 2012-06-03 | 599d1e925de0 | Hombre
|
||||
Updated French strings
|
||||
|
||||
> 2012-06-03 | 2be4bff3f09b | DrSlony
|
||||
Updated PDF manual to 4.0.9
|
||||
|
||||
> 2012-06-03 | 687bf6272b3a | DrSlony
|
||||
One more markup fix, this one's in the file deletion dialog,
|
||||
rtgui/filecatalog.cc +724-5
|
||||
|
||||
> 2012-06-03 | 7660fe581dee | DrSlony
|
||||
Final update and consistency check of language files and processing
|
||||
profiles for 4.0.9
|
||||
|
||||
> 2012-06-03 | cc280dac0c73 | DrSlony
|
||||
Added markup to popups when default raw and non-raw profiles are not
|
||||
found
|
||||
|
||||
> 2012-06-03 | f64a4ff5432f | DrSlony
|
||||
Fixes markup in Load/save/copy/paste Profile button tooltips, issue
|
||||
1388
|
||||
|
||||
> 2012-06-02 | 99de92c3b1f5 | DrSlony
|
||||
Absolute paste of rotation value when using partial paste, issue
|
||||
1386 committed on behalf of Dr.Hombre
|
||||
|
||||
> 2012-06-02 | dbf84afb54af | Hombre
|
||||
Solving issue 872: "RT file-open/save windows should remember last
|
||||
used dir", on behalf of Johannes Wienke
|
||||
|
||||
> 2012-06-02 | df7d6e0cee30 | Hombre
|
||||
Patch from issue 1384: "Speedup enhancement of the thumbnails'
|
||||
browser"
|
||||
|
||||
> 2012-06-01 | 758d8788f668 | Gyurkó M. 'Dualon' Dávid
|
||||
Updated Hungarian translation: enabling it + some minor
|
||||
enhancements.
|
||||
|
||||
> 2012-06-01 | f83f1f2d4d11 | Gyurkó M. 'Dualon' Dávid
|
||||
Update of Hungarian translation.
|
||||
|
||||
> 2012-06-01 | f34c9eaf01d9 | DrSlony
|
||||
Updated the default language file and merged in the corrections,
|
||||
then ran generateTranslationDiffs to get the English file and ran
|
||||
both through unix2dos to unify line endings. Issue 920
|
||||
|
||||
> 2012-05-31 | 9388f97ec767 | DrSlony
|
||||
Committed Dutch language file on behalf of Willem Termeer and Paul
|
||||
Matthijsse, issue 1367
|
||||
|
||||
> 2012-05-31 | fdaf908f66a8 | Oliver Duis
|
||||
LCP engine v3 see issue 1375
|
||||
|
||||
> 2012-05-29 | 28e942b60ba2 | Joker
|
||||
Updated Sony EXIF metadata (added new lenses)
|
||||
|
||||
> 2012-05-28 | 15d96aaa0ed2 | Oliver Duis
|
||||
Base color profiles for Nikon D800 and Canon 5D Mark III see issue
|
||||
1378
|
||||
|
||||
> 2012-05-28 | 9404032dd479 | Philip Rinn
|
||||
Unify generation of AboutThisBuild.txt and rtgui/version.h. See
|
||||
issue 1377.
|
||||
|
||||
> 2012-05-26 | fe160aa7d0a6 | Michael Ezra
|
||||
Fix for crash when using "Auto distortion correction" (on behalf of
|
||||
lebedev, see issue 1338)
|
||||
|
||||
> 2012-05-25 | 94c0419149e1 | Hombre
|
||||
Solving bug reported in issue 1341: "PP3 file cleanup"
|
||||
...application's crash if the default raw or image profile didn't
|
||||
exist
|
||||
|
||||
> 2012-05-23 | ea7275d3e647 | Oliver Duis
|
||||
LCP engine v2 see issue 1343
|
||||
|
||||
> 2012-05-20 | 506dd02c3789 | Michael Ezra
|
||||
Enhancement: Placement of buttons below the curves (on behalf of
|
||||
Wolfgang) see issue 227 (# 47)
|
||||
|
||||
> 2012-05-18 | be1e798c7530 | Oliver Duis
|
||||
DCP profile for Nikon D5100 thanks Glacort!
|
||||
|
||||
> 2012-05-18 | c52ab1597ab4 | Oliver Duis
|
||||
Fixed compilation issues on Ubuntu Linux see issue 1343
|
||||
|
||||
> 2012-05-18 | 9c4e2b7c4273 | Oliver Duis
|
||||
Two files missing from last commit
|
||||
|
||||
> 2012-05-17 | 0a86d2537c55 | Oliver Duis
|
||||
LCP (Lens Correction Profile) support see issue 1343
|
||||
|
||||
> 2012-05-17 | 6a0b40e2223f | Oliver Duis
|
||||
Removed warning for external program support see issue 1365
|
||||
|
||||
> 2012-05-14 | b30fcbdfaa69 | DrSlony
|
||||
Updated the RELEASE_NOTES.txt
|
||||
|
||||
> 2012-05-14 | 6115629f57e4 | Hombre
|
||||
Solving issue 607: Auto Crop disabled if Auto Fill off
|
||||
|
||||
> 2012-05-12 | a42648a2f87f | Michael Ezra
|
||||
Enhancements: parsing for Leaf exif data & Phase One orientation;
|
||||
Fix for Time in reading exif:DateTimeOriginal - REQUIRES CLEARING
|
||||
CACHE to take an effect on images prviously viewed in RT;
|
||||
- on behalf of Torger (issue 766)
|
||||
|
||||
> 2012-05-08 | 9925deee5045 | Emil Martinec
|
||||
Minor bugfix for AutoExposure
|
||||
|
||||
> 2012-05-06 | 099cdb136980 | Oliver Duis
|
||||
Backed out changeset: 159f9e7014f8
|
||||
|
||||
> 2012-05-06 | 159f9e7014f8 | Oliver Duis
|
||||
Code cleanups on behalf of Lebedev, see issue 1355
|
||||
|
||||
> 2012-05-05 | eea2f14d863f | Emil Martinec
|
||||
Bugfix for autoexposure on blackframes.
|
||||
|
||||
> 2012-05-05 | 957c5df1ac24 | Michael Ezra
|
||||
Fix for thumbnail rotation for Leaf, Mamiya and Phase One (Thanks
|
||||
Torger!); issue 766
|
||||
|
||||
> 2012-05-04 | d22bf9288e6c | DrSlony
|
||||
Updates and fixes to benchmarkRT
|
||||
|
||||
> 2012-05-02 | 8f7f3036f427 | Oliver Duis
|
||||
Fix for Canon 5D Mark III on behalf Lebedev, issue 1347
|
||||
|
||||
> 2012-05-01 | bfffc520de3e | DrSlony
|
||||
PP3 files updated (full) and changes to options.cc, issue 1341
|
||||
|
||||
> 2012-04-29 | 08ef56d5b65d | DrSlony
|
||||
Updated Czech language file on behalf of mkyral, issue 1344.
|
||||
|
||||
> 2012-04-29 | 207d8d272a91 | DrSlony
|
||||
Updated German language file on behalf of maweso, issue 1348.
|
||||
|
||||
> 2012-04-26 | 62cefcb38a24 | Oliver Duis
|
||||
Nikon D7000 camera color profile in DCP format
|
||||
|
||||
> 2012-04-23 | c13a7add87ba | Oliver Duis
|
||||
DCP dual illuminant support see issue 1336
|
||||
|
||||
> 2012-04-22 | 4ee4f75e86ac | Oliver Duis
|
||||
Code cleanups on behalf of Lebedev, see issue 1332
|
||||
|
||||
> 2012-04-21 | 8a8a15242c21 | Hombre
|
||||
The "Blend" HL recovery method was not remembered when modified in
|
||||
the Batch Tool Panel editor
|
||||
|
||||
> 2012-04-21 | cc18bd2e902b | Oliver Duis
|
||||
Fixed Leaf .mos files wrong orientation and colors on behalf of
|
||||
Torger, see issue 1327
|
||||
|
||||
> 2012-04-21 | 2b0fe3871615 | Oliver Duis
|
||||
ICC camera and output profile speedups, cleanup see issue 1329
|
||||
|
||||
> 2012-04-20 | 704069c8877c | Oliver Duis
|
||||
Fixed compilation on 32bit Windows, cleanups see issue 1333
|
||||
|
||||
> 2012-04-19 | 2db6dae32b17 | Oliver Duis
|
||||
Fixed auto profile detection in some cases see issue 1312
|
||||
|
||||
> 2012-04-16 | ca7c7f52ff04 | Oliver Duis
|
||||
Forgot to commit the added files (sorry)
|
||||
|
||||
> 2012-04-16 | 9cab197f142f | Oliver Duis
|
||||
External programs plugger see issue 1323
|
||||
|
||||
> 2012-04-16 | 8e448d936bd7 | Oliver Duis
|
||||
Fixed BitsPerSample tag in TIFF output header see issue 1311
|
||||
|
||||
> 2012-04-14 | 545f45f0e12b | Jacques Desmis
|
||||
Fix bug output gamma
|
||||
|
||||
> 2012-04-13 | 0a2016c66e5b | Oliver Duis
|
||||
Fixed NoICM would generate incompatible output image see issue 1320
|
||||
|
||||
> 2012-04-10 | 5569030d30b2 | Oliver Duis
|
||||
Fixed two crashes in DCP color engine see issue 1317
|
||||
|
||||
> 2012-04-09 | 2493dd00b9f3 | Emil Martinec
|
||||
Code cleanup for min/max functions. Committed on behalf of
|
||||
lebedev.ri (thanks!).
|
||||
|
||||
> 2012-04-07 | 952a99e79816 | Oliver Duis
|
||||
Fixed auto DCP detection did not work with some camera makers see
|
||||
issue 1312
|
||||
|
||||
> 2012-04-07 | 766e816228fc | Oliver Duis
|
||||
Performance improvements, espc. using monitor profiles see issue
|
||||
1310
|
||||
|
||||
> 2012-04-04 | 273d4edbff73 | Oliver Duis
|
||||
Updated Japanese translation on behalf of a3novy, see issue 1302
|
||||
|
||||
> 2012-04-03 | 03d965613b60 | Michael Ezra
|
||||
Fixes for packahed profiles. Addition of neutral-UnchangedTransforms
|
||||
profile.
|
||||
|
||||
> 2012-04-03 | be07005cd8ac | Oliver Duis
|
||||
Added renamed color profiles (US specific name)
|
||||
|
||||
> 2012-04-02 | 08422f013749 | DrSlony
|
||||
Added tag 4.0.8 for changeset 4072ea5c0abd
|
||||
|
||||
> 2012-04-02 | 4072ea5c0abd | DrSlony
|
||||
RELEASE_NOTES.txt for RawTherapee-4.0.8
|
||||
|
41
clean
@@ -1,27 +1,28 @@
|
||||
#!/bin/sh
|
||||
find -name CMakeCache.txt -delete
|
||||
rm -v install_manifest.txt
|
||||
rm install_manifest.txt
|
||||
|
||||
rm -vr ./CMakeFiles
|
||||
rm -vr ./rtengine/CMakeFiles
|
||||
rm -vr ./rtexif/CMakeFiles
|
||||
rm -vr ./rtgui/CMakeFiles
|
||||
rm -vr ./rtdata/CMakeFiles
|
||||
rm -r ./CMakeFiles
|
||||
rm -r ./rtengine/CMakeFiles
|
||||
rm -r ./rtexif/CMakeFiles
|
||||
rm -r ./rtgui/CMakeFiles
|
||||
rm -r ./rtdata/CMakeFiles
|
||||
|
||||
rm -v ./cmake*
|
||||
rm -v ./rtengine/cmake*
|
||||
rm -v ./rtexif/cmake*
|
||||
rm -v ./rtgui/cmake*
|
||||
rm -v ./rtdata/cmake*
|
||||
rm ./cmake*
|
||||
rm ./rtengine/cmake*
|
||||
rm ./rtexif/cmake*
|
||||
rm ./rtgui/cmake*
|
||||
rm ./rtdata/cmake*
|
||||
|
||||
rm -v ./Makefile
|
||||
rm -v ./rtengine/Makefile
|
||||
rm -v ./rtexif/Makefile
|
||||
rm -v ./rtgui/Makefile
|
||||
rm ./Makefile
|
||||
rm ./rtengine/Makefile
|
||||
rm ./rtexif/Makefile
|
||||
rm ./rtgui/Makefile
|
||||
rm ./rtdata/Makefile
|
||||
|
||||
rm -v ./rtengine/librtengine.so
|
||||
rm -v ./rtengine/librtengine.a
|
||||
rm -v ./rtgui/rawtherapee
|
||||
rm -v ./rtexif/librtexif.so
|
||||
rm -v ./rtexif/librtexif.a
|
||||
rm ./rtengine/librtengine.so
|
||||
rm ./rtengine/librtengine.a
|
||||
rm ./rtgui/rawtherapee
|
||||
rm ./rtexif/librtexif.so
|
||||
rm ./rtexif/librtexif.a
|
||||
exit 0
|
||||
|
44
clean.bat
@@ -1,17 +1,27 @@
|
||||
del CMakeCache.txt
|
||||
del install_manifest.txt
|
||||
del ./CMakeFiles
|
||||
del ./rtengine/CMakeFiles
|
||||
rm -R ./rtexif/CMakeFiles
|
||||
rm -R ./rtgui/CMakeFiles
|
||||
rm ./cmake*
|
||||
rm ./rtengine/cmake*
|
||||
rm ./rtexif/cmake*
|
||||
rm ./rtgui/cmake*
|
||||
rm ./Makefile
|
||||
rm ./rtengine/Makefile
|
||||
rm ./rtexif/Makefile
|
||||
rm ./rtgui/Makefile
|
||||
rm ./rtengine/librtengine.so
|
||||
rm ./rtgui/rth
|
||||
rm ./rtexif/librtexif.a
|
||||
@echo off
|
||||
del .\CMakeCache.txt
|
||||
del .\install_manifest.txt
|
||||
|
||||
rmdir /s /q .\CMakeFiles
|
||||
rmdir /s /q .\rtengine\CMakeFiles
|
||||
rmdir /s /q .\rtexif\CMakeFiles
|
||||
rmdir /s /q .\rtgui\CMakeFiles
|
||||
rmdir /s /q .\rtdata\CMakeFiles
|
||||
|
||||
del .\cmake_*
|
||||
del .\rtengine\cmake_*
|
||||
del .\rtexif\cmake_*
|
||||
del .\rtgui\cmake_*
|
||||
del .\rtdata\cmake_*
|
||||
|
||||
del .\Makefile
|
||||
del .\rtengine\Makefile
|
||||
del .\rtexif\Makefile
|
||||
del .\rtgui\Makefile
|
||||
del .\rtdata\Makefile
|
||||
|
||||
del .\rtengine\librtengine.so
|
||||
del .\rtengine\librtengine.a
|
||||
del .\rtgui\rawtherapee
|
||||
del .\rtexif\librtexif.so
|
||||
del .\rtexif\librtexif.a
|
||||
|
41
clean.sh
@@ -1,27 +1,28 @@
|
||||
#!/bin/sh
|
||||
find -name CMakeCache.txt -delete
|
||||
rm -v install_manifest.txt
|
||||
rm install_manifest.txt
|
||||
|
||||
rm -vr ./CMakeFiles
|
||||
rm -vr ./rtengine/CMakeFiles
|
||||
rm -vr ./rtexif/CMakeFiles
|
||||
rm -vr ./rtgui/CMakeFiles
|
||||
rm -vr ./rtdata/CMakeFiles
|
||||
rm -r ./CMakeFiles
|
||||
rm -r ./rtengine/CMakeFiles
|
||||
rm -r ./rtexif/CMakeFiles
|
||||
rm -r ./rtgui/CMakeFiles
|
||||
rm -r ./rtdata/CMakeFiles
|
||||
|
||||
rm -v ./cmake*
|
||||
rm -v ./rtengine/cmake*
|
||||
rm -v ./rtexif/cmake*
|
||||
rm -v ./rtgui/cmake*
|
||||
rm -v ./rtdata/cmake*
|
||||
rm ./cmake*
|
||||
rm ./rtengine/cmake*
|
||||
rm ./rtexif/cmake*
|
||||
rm ./rtgui/cmake*
|
||||
rm ./rtdata/cmake*
|
||||
|
||||
rm -v ./Makefile
|
||||
rm -v ./rtengine/Makefile
|
||||
rm -v ./rtexif/Makefile
|
||||
rm -v ./rtgui/Makefile
|
||||
rm ./Makefile
|
||||
rm ./rtengine/Makefile
|
||||
rm ./rtexif/Makefile
|
||||
rm ./rtgui/Makefile
|
||||
rm ./rtdata/Makefile
|
||||
|
||||
rm -v ./rtengine/librtengine.so
|
||||
rm -v ./rtengine/librtengine.a
|
||||
rm -v ./rtgui/rawtherapee
|
||||
rm -v ./rtexif/librtexif.so
|
||||
rm -v ./rtexif/librtexif.a
|
||||
rm ./rtengine/librtengine.so
|
||||
rm ./rtengine/librtengine.a
|
||||
rm ./rtgui/rawtherapee
|
||||
rm ./rtexif/librtexif.so
|
||||
rm ./rtexif/librtexif.a
|
||||
exit 0
|
||||
|
BIN
doc/RawTherapeeManual_en.pdf
Normal file
81
doc/manpage/rawtherapee.1
Normal file
@@ -0,0 +1,81 @@
|
||||
.TH RAWTHERAPEE 1 "June 14, 2012"
|
||||
.SH NAME
|
||||
rawtherapee \- Free RAW converter and digital photo processing software
|
||||
.SH SYNOPSIS
|
||||
\fBrawtherapee\fP [directory|image\-file]
|
||||
.br
|
||||
\fBrawtherapee\fP [\-o|\-O <output>] [\-s|\-S] [\-p <file>] [\-d]
|
||||
[\-j<1\-100>|\-t|\-t1|\-n] [\-Y] \-c <input>
|
||||
.SH DESCRIPTION
|
||||
\fBRawTherapee\fP is used to adjust some of the most often changed parameters
|
||||
when optimizing digital images. A normal user often just wants to adjust the
|
||||
white balance or brightness of a photo he took. Instead of using a big and
|
||||
expensive image editor you could use a small and fast (specialized) tool like
|
||||
\fBRawTherapee\fP.
|
||||
.br
|
||||
More and more cameras also support RAW formats. RAW files usually offer higher
|
||||
color depth than JPGs (JPG is limited to 8 Bit per color). So the adjustments are
|
||||
done with the high color depth and then afterwards converted to or saved as JPGs.
|
||||
RawTherapee supports JPG (8 bit), PNG (8 or 16 bit) and TIFF (8 or 16 bit). All
|
||||
image processing is done in 16 bit/channel mode.
|
||||
.br
|
||||
Different to other RAW converters it can use EAHD as demosaicing algorithm. The
|
||||
RAW loading engine of \fBRawTherapee\fP is based on dcraw.
|
||||
.SH OPTIONS
|
||||
.TP
|
||||
\-o <outputFile>|<outputDir>
|
||||
select output directory
|
||||
.TP
|
||||
\-O <outputFile>|<outputDir>
|
||||
select output dir and copy pp3 file into it
|
||||
.TP
|
||||
\-s
|
||||
include the pp3 file next to the input file (with same name) to build the image's
|
||||
parameters, eg: for IMG001.NEF there should be IMG001.NEF.pp3 in the same dir if
|
||||
absent use default
|
||||
.TP
|
||||
\-S
|
||||
like \-s but skip if pp3 file not found
|
||||
.TP
|
||||
\-p
|
||||
specify pp3 file to be used for all conversions. You can specify as many \-p
|
||||
options as you like (see note below)
|
||||
.TP
|
||||
\-d
|
||||
use the default RAW or Image pp3 file to build the image's parameters
|
||||
.TP
|
||||
\-j<1\-100>
|
||||
specify output to be jpeg (default)
|
||||
.TP
|
||||
\-t
|
||||
specify output to be uncompressed tiff
|
||||
.TP
|
||||
\-t1
|
||||
specify output to be compressed tiff.
|
||||
.TP
|
||||
\-n
|
||||
specify output to be png.
|
||||
.TP
|
||||
\-Y
|
||||
overwrite output if present.
|
||||
|
||||
.P
|
||||
.B Note:
|
||||
.br
|
||||
Your pp3 files can be incomplete, \fBRawTherapee\fP will set the values like that:
|
||||
the pp3 file is built with internal default values; then overridden by those
|
||||
found in the default RAW or Image pp3 file (if \-d has been set); then overridden
|
||||
by those found in the pp3 files provided by \-p, each one overriding the previous
|
||||
values; then overridden by the sidecar file if \-s is set and if the file exists;
|
||||
the time where the sidecar file is used depend of the position of the \-s switch
|
||||
in the command line regarding to the \-p parameters
|
||||
(e.g. "\-p first.pp3 \-p second.pp3 -s \-p fourth.pp3").
|
||||
|
||||
.SH SEE ALSO
|
||||
the included help
|
||||
.br
|
||||
http://www.rawtherapee.com
|
||||
.SH AUTHOR
|
||||
\fBRawTherapee\fP was written by Gabor Horvath and others.
|
||||
.PP
|
||||
This manual page was written by Philip Rinn <rinni@gmx.net>.
|
@@ -4,6 +4,7 @@ file (GLOB LANGUAGEFILES "languages/*")
|
||||
file (GLOB SOUNDFILES "sounds/*")
|
||||
file (GLOB INPUTICCFILES "iccprofiles/input/*")
|
||||
file (GLOB OUTPUTICCFILES "iccprofiles/output/*")
|
||||
file (GLOB DCPFILES "dcpprofiles/*")
|
||||
# THEMEDIR includes subfolders for image resources for some themes; doing the normal glob won't work.
|
||||
set (THEMEDIR "themes")
|
||||
set (IMAGESDIR "images")
|
||||
@@ -16,15 +17,25 @@ else (WIN32)
|
||||
set(OPTIONSFILE "options/options.lin")
|
||||
endif (WIN32)
|
||||
|
||||
if (UNIX)
|
||||
configure_file ("${CMAKE_CURRENT_SOURCE_DIR}/icons/rawtherapee.desktop.in" "${CMAKE_CURRENT_BINARY_DIR}/rawtherapee.desktop")
|
||||
install (FILES "${CMAKE_CURRENT_BINARY_DIR}/rawtherapee.desktop" DESTINATION ${DESKTOPDIR})
|
||||
install (FILES "${CMAKE_CURRENT_SOURCE_DIR}/icons/hi16-app-rawtherapee.png" DESTINATION "${ICONSDIR}/hicolor/16x16/apps" RENAME rawtherapee.png)
|
||||
install (FILES "${CMAKE_CURRENT_SOURCE_DIR}/icons/hi24-app-rawtherapee.png" DESTINATION "${ICONSDIR}/hicolor/24x24/apps" RENAME rawtherapee.png)
|
||||
install (FILES "${CMAKE_CURRENT_SOURCE_DIR}/icons/hi32-app-rawtherapee.png" DESTINATION "${ICONSDIR}/hicolor/32x32/apps" RENAME rawtherapee.png)
|
||||
install (FILES "${CMAKE_CURRENT_SOURCE_DIR}/icons/hi48-app-rawtherapee.png" DESTINATION "${ICONSDIR}/hicolor/48x48/apps" RENAME rawtherapee.png)
|
||||
install (FILES "${CMAKE_CURRENT_SOURCE_DIR}/icons/hi128-app-rawtherapee.png" DESTINATION "${ICONSDIR}/hicolor/128x128/apps" RENAME rawtherapee.png)
|
||||
install (FILES "${CMAKE_CURRENT_SOURCE_DIR}/icons/hi256-app-rawtherapee.png" DESTINATION "${ICONSDIR}/hicolor/256x256/apps" RENAME rawtherapee.png)
|
||||
endif (UNIX)
|
||||
|
||||
install (FILES ${IMAGEFILES} DESTINATION ${DATADIR}/images)
|
||||
install (FILES ${LANGUAGEFILES} DESTINATION ${DATADIR}/languages)
|
||||
install (FILES ${PROFILEFILES} DESTINATION ${DATADIR}/profiles)
|
||||
install (FILES ${SOUNDFILES} DESTINATION ${DATADIR}/sounds)
|
||||
install (FILES ${INPUTICCFILES} DESTINATION ${DATADIR}/iccprofiles/input)
|
||||
install (FILES ${OUTPUTICCFILES} DESTINATION ${DATADIR}/iccprofiles/output)
|
||||
install (DIRECTORY ${THEMEDIR} DESTINATION ${DATADIR})
|
||||
install (DIRECTORY ${IMAGESDIR} DESTINATION ${DATADIR} FILES_MATCHING PATTERN "index.theme")
|
||||
install (DIRECTORY ${IMAGESDIR} DESTINATION ${DATADIR} FILES_MATCHING PATTERN "*.png")
|
||||
install (FILES ${OPTIONSFILE} DESTINATION ${DATADIR} PERMISSIONS OWNER_WRITE OWNER_READ GROUP_READ WORLD_READ RENAME options)
|
||||
|
||||
install (FILES ${IMAGEFILES} DESTINATION "${DATADIR}/images")
|
||||
install (FILES ${LANGUAGEFILES} DESTINATION "${DATADIR}/languages")
|
||||
install (FILES ${PROFILEFILES} DESTINATION "${DATADIR}/profiles")
|
||||
install (FILES ${SOUNDFILES} DESTINATION "${DATADIR}/sounds")
|
||||
install (FILES ${INPUTICCFILES} DESTINATION "${DATADIR}/iccprofiles/input")
|
||||
install (FILES ${OUTPUTICCFILES} DESTINATION "${DATADIR}/iccprofiles/output")
|
||||
install (FILES ${DCPFILES} DESTINATION "${DATADIR}/dcpprofiles")
|
||||
install (DIRECTORY ${THEMEDIR} DESTINATION "${DATADIR}")
|
||||
install (DIRECTORY ${IMAGESDIR} DESTINATION "${DATADIR}" FILES_MATCHING PATTERN "index.theme")
|
||||
install (DIRECTORY ${IMAGESDIR} DESTINATION "${DATADIR}" FILES_MATCHING PATTERN "*.png")
|
||||
install (FILES ${OPTIONSFILE} DESTINATION "${DATADIR}" PERMISSIONS OWNER_WRITE OWNER_READ GROUP_READ WORLD_READ RENAME options)
|
||||
|
BIN
rtdata/dcpprofiles/Canon EOS 20D.dcp
Normal file
BIN
rtdata/dcpprofiles/Canon EOS 400D.dcp
Normal file
BIN
rtdata/dcpprofiles/Canon EOS 40D.dcp
Normal file
BIN
rtdata/dcpprofiles/Canon EOS 450D.dcp
Normal file
BIN
rtdata/dcpprofiles/Canon EOS 550D.dcp
Normal file
BIN
rtdata/dcpprofiles/Canon EOS 5D.dcp
Normal file
BIN
rtdata/dcpprofiles/Canon EOS 7D.dcp
Normal file
BIN
rtdata/dcpprofiles/Canon EOS D60.dcp
Normal file
BIN
rtdata/dcpprofiles/Canon EOS Digital Rebel XSi.dcp
Normal file
BIN
rtdata/dcpprofiles/Canon EOS Digital Rebel XTi.dcp
Normal file
BIN
rtdata/dcpprofiles/Canon EOS Rebel T2i.dcp
Normal file
BIN
rtdata/dcpprofiles/Canon EOS-1D Mark III.dcp
Normal file
BIN
rtdata/dcpprofiles/Canon PowerShot G10.dcp
Normal file
BIN
rtdata/dcpprofiles/Canon PowerShot G12.dcp
Normal file
BIN
rtdata/dcpprofiles/Nikon D200.dcp
Normal file
BIN
rtdata/dcpprofiles/Nikon D300.dcp
Normal file
BIN
rtdata/dcpprofiles/Nikon D3000.dcp
Normal file
BIN
rtdata/dcpprofiles/Nikon D3100.dcp
Normal file
BIN
rtdata/dcpprofiles/Nikon D3S.dcp
Normal file
BIN
rtdata/dcpprofiles/Nikon D50.dcp
Normal file
BIN
rtdata/dcpprofiles/Nikon D5100.dcp
Normal file
BIN
rtdata/dcpprofiles/Nikon D700.dcp
Normal file
BIN
rtdata/dcpprofiles/Nikon D7000.dcp
Normal file
BIN
rtdata/dcpprofiles/Olympus E-1.dcp
Normal file
BIN
rtdata/dcpprofiles/Olympus E-M5.dcp
Normal file
BIN
rtdata/dcpprofiles/Olympus E-P2.dcp
Normal file
BIN
rtdata/dcpprofiles/Panasonic DMC-FZ150.dcp
Normal file
BIN
rtdata/dcpprofiles/Panasonic DMC-FZ35.dcp
Normal file
BIN
rtdata/dcpprofiles/Panasonic DMC-FZ38.dcp
Normal file
BIN
rtdata/dcpprofiles/Panasonic DMC-G1.dcp
Normal file
BIN
rtdata/dcpprofiles/Panasonic DMC-G3.dcp
Normal file
BIN
rtdata/dcpprofiles/Panasonic DMC-GH1.dcp
Normal file
BIN
rtdata/dcpprofiles/Panasonic DMC-GH2.dcp
Normal file
BIN
rtdata/dcpprofiles/Pentax K10D.dcp
Normal file
BIN
rtdata/dcpprofiles/Pentax K200D.dcp
Normal file
BIN
rtdata/dcpprofiles/Sony DSLR-A700.dcp
Normal file
BIN
rtdata/dcpprofiles/Sony DSLR-A900.dcp
Normal file
BIN
rtdata/dcpprofiles/Sony NEX-5N.dcp
Normal file
BIN
rtdata/dcpprofiles/Sony SLT-A55V.dcp
Normal file
BIN
rtdata/iccprofiles/input/Canon EOS 40D.icc
Normal file
BIN
rtdata/iccprofiles/input/Canon PowerShot G12.icc
Normal file
BIN
rtdata/iccprofiles/input/Nikon D3000.icc
Normal file
BIN
rtdata/iccprofiles/input/Sony DSLR-A900.icc
Normal file
BIN
rtdata/iccprofiles/input/Sony SLT-A55V.icc
Normal file
BIN
rtdata/images/Dark/actions/previewmodeBC0-off.png
Normal file
After Width: | Height: | Size: 2.7 KiB |
BIN
rtdata/images/Dark/actions/previewmodeBC0-on.png
Normal file
After Width: | Height: | Size: 2.7 KiB |
BIN
rtdata/images/Dark/actions/previewmodeBC1-off.png
Normal file
After Width: | Height: | Size: 2.7 KiB |
BIN
rtdata/images/Dark/actions/previewmodeBC1-on.png
Normal file
After Width: | Height: | Size: 2.7 KiB |
BIN
rtdata/images/Dark/actions/previewmodeBC2-off.png
Normal file
After Width: | Height: | Size: 2.7 KiB |
BIN
rtdata/images/Dark/actions/previewmodeBC2-on.png
Normal file
After Width: | Height: | Size: 2.7 KiB |
BIN
rtdata/images/Light/actions/previewmodeBC0-off.png
Normal file
After Width: | Height: | Size: 2.7 KiB |
BIN
rtdata/images/Light/actions/previewmodeBC0-on.png
Normal file
After Width: | Height: | Size: 2.7 KiB |
BIN
rtdata/images/Light/actions/previewmodeBC1-off.png
Normal file
After Width: | Height: | Size: 2.7 KiB |
BIN
rtdata/images/Light/actions/previewmodeBC1-on.png
Normal file
After Width: | Height: | Size: 2.7 KiB |
BIN
rtdata/images/Light/actions/previewmodeBC2-off.png
Normal file
After Width: | Height: | Size: 2.7 KiB |
BIN
rtdata/images/Light/actions/previewmodeBC2-on.png
Normal file
After Width: | Height: | Size: 2.7 KiB |