New CMake build option to avoid version conflicts : CACHE_NAME_SUFFIX By default, append the latesttag value, but the developper may override it by specifying -DCACHE_NAME_SUFFIX:STRING=MySuffix in the cmake command line

With this new mechanism, the cache name will then be RawTherapee3.0, RawTherapee3.1, etc... The cache is now located in %LOCALAPPDATA% on Windows

Options.xxx template files has also been reduced to essential values, other ones are set in options.cc
This commit is contained in:
Hombre
2011-05-23 00:34:27 +02:00
parent fe003b2752
commit 34392fc625
12 changed files with 666 additions and 863 deletions

View File

@@ -19,6 +19,9 @@ execute_process(COMMAND ${HG_CMD} -R ${SRC_DIR} branch OUTPUT_VARIABLE HG_BRANCH
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)

View File

@@ -19,6 +19,9 @@ execute_process(COMMAND ${HG_CMD} -R ${SRC_DIR} branch OUTPUT_VARIABLE HG_BRANCH
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)

View File

@@ -19,6 +19,9 @@ execute_process(COMMAND ${HG_CMD} -R ${SRC_DIR} branch OUTPUT_VARIABLE HG_BRANCH
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)

View File

@@ -11,6 +11,8 @@ if (CMAKE_BUILD_TYPE STREQUAL "")
endif ()
message(STATUS "CMAKE_BUILD_TYPE: ${CMAKE_BUILD_TYPE}")
set (CACHE_NAME_SUFFIX "" CACHE STRING "RawTherapee's cache folder suffix (leave empty to use the default suffix, i.e. latesttag)")
# By default, we don't use specific processor target, so PROC_TARGET_NUMBER is set to 0. If can specify other values to select specific
# processor targets, which list can be found in ProcessorTargets.cmake.
set (PROC_TARGET_NUMBER 0 CACHE STRING "Selected target processor from the list above (taken from ProcessorTargets.cmake)")
@@ -177,6 +179,7 @@ else (AUTOMATED_BUILD_SYSTEM)
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}\"
@@ -197,6 +200,7 @@ else (AUTOMATED_BUILD_SYSTEM)
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}\"
@@ -218,6 +222,7 @@ else (AUTOMATED_BUILD_SYSTEM)
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}\"

View File

@@ -18,8 +18,10 @@ set(OPTION_OMP ON CACHE BOOL "Use OpenMP to speedup the preview and batch proces
# set WITH_MYFILE_MMAP to OFF if you experience crash with thumbnail creation (it should be slower, but more reliable)
set(WITH_MYFILE_MMAP ON CACHE BOOL "Use the MMAP mechanism to speedup thumbnail creations")
set(CACHE_NAME_SUFFIX "" CACHE STRING "RawTherapee's cache folder suffix (leave empty to use the default suffix, i.e. latesttag)")
# This line will let you chose the target number, and the associated processor
set (PROC_TARGET_NUMBER 0 CACHE STRING "Target Processor")
set(PROC_TARGET_NUMBER 0 CACHE STRING "Target Processor")
# If you want to force the target processor name when PROC_TARGET_NUMBER = 0 or 2,
# uncomment the next line and replace labelWithoutQuotes by its value

View File

@@ -1,111 +1,23 @@
# Only important or pre-first run parameters are left in this global option file.
# After the first run, all the parameters will be available in this global option file
# or in a new local option file, depending on the MultiUser value below
# Most ot the options are modifiable through the Preference window
[General]
TabbedEditor=true
StoreLastProfile=true
StartupDirectory=last
StartupPath=
DateFormat=%y/%m/%d
AdjusterDelay=0
DualProcSupport=true
# Setting MultiUser to false will use the application's installation directory as cache directory,
# which can be usefull if you want to keep the application and all the cache datas in a single place,
# an external HD for example
MultiUser=true
Language=English (US)
Theme=Focus
UseSystemTheme=false
Version=300
FirstRun=true
[External Editor]
EditorKind=1
GimpDir=
PhotoshopDir=
CustomEditor=
[File Browser]
BrowseOnlyRaw=false
BrowserShowsDate=true
BrowserShowsExif=true
BrowserShowsHidden=false
ThumbnailSize=240
MaxPreviewHeight=400
MaxCacheEntries=20000
ThumbnailFormat=5
CacheMemPolicy=0
ParseExtensions=jpg;tif;tiff;png;crw;cr2;crf;nef;raf;pef;dng;arw;sr2;mrw;raw;orf;kdc;rwz;rw2;mef;
ParseExtensionsEnabled=1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;
ThumbnailArrangement=2
ThumbnailInterpolation=1
LiveThumbnails=true
FavoriteDirs=
RenameTemplates=
RenameUseTemplates=false
ThumbnailZoomRatios=0.2;0.3;0.45;0.6;0.8;1;
OverlayedFileNames=true
# if TRUE, only fast, internal preview images are taken if the image is not edited yet
InternalThumbIfUntouched=true
[Clipping Indication]
HighlightThreshold=253
ShadowThreshold=8
BlinkClipped=false
[Output]
Format=jpg
JpegQuality=100
PngCompression=6
PngBps=8
TiffBps=8
SaveProcParams=true
PathTemplate=%p1/converted/%f
PathFolder=
UsePathTemplate=true
LastSaveAsPath=
# if TRUE, existing output JPGs/PNGs are overwritten, instead of adding ..-1.jpg, -2.jpg etc.
OverwriteOutputFile=false
[Profiles]
Directory=profiles
RawDefault=default
ImgDefault=neutral
SaveParamsWithFile=false
SaveParamsToCache=true
LoadParamsFromLocation=0
# if this is set to a path of a custom program, it will receive the EXIFs as parameters and must generate a PP3 preset file for the given RAW/JPG
# Parameters: <Path to RAW/JPG> <Path to default profile> <fNumber> <expose in seconds> <focal length in mm> <ISO> <Lens> <Camera>
CustomProfileBuilder=
[GUI]
WindowWidth=900
WindowHeight=560
WindowMaximized=false
FileBrowserHeight=250
ToolPanelWidth=300
BrowserToolPanelWidth=300
HistoryPanelWidth=230
LastPreviewScale=5
LastCropSize=1
ShowHistory=true
ShowFilePanelState=2
ShowInfo=true
ShowClippedHighlights=false
ShowClippedShadows=false
FrameColor=0
ProcessingQueueEnbled=false
ToolPanelsExpanded=1;1;0;0;0;1;1;0;0;0;0;1;1;0;0;0;0;0;
[Algorithms]
DemosaicMethod=hphd
DemosaicMethodBatch=hphd
ColorCorrection=1
[Crop Settings]
Ratio=3:2
FixRatio=true
PPI=300
[Color Management]
ICCDirectory=
MonitorProfile=
Intent=1

View File

@@ -1,111 +1,23 @@
# Only important or pre-first run parameters are left in this global option file.
# After the first run, all the parameters will be available in this global option file
# or in a new local option file, depending on the MultiUser value below
# Most ot the options are modifiable through the Preference window
[General]
TabbedEditor=true
StoreLastProfile=true
StartupDirectory=last
StartupPath=
DateFormat=%y/%m/%d
AdjusterDelay=0
DualProcSupport=true
# Setting MultiUser to false will use the application's installation directory as cache directory,
# which can be usefull if you want to keep the application and all the cache datas in a single place,
# an external HD for example
MultiUser=true
Language=English (US)
Theme=Focus
UseSystemTheme=false
Version=300
FirstRun=true
[External Editor]
EditorKind=1
GimpDir=
PhotoshopDir=
CustomEditor=
[File Browser]
BrowseOnlyRaw=false
BrowserShowsDate=true
BrowserShowsExif=true
BrowserShowsHidden=false
ThumbnailSize=240
MaxPreviewHeight=400
MaxCacheEntries=20000
ThumbnailFormat=5
CacheMemPolicy=0
ParseExtensions=jpg;tif;tiff;png;crw;cr2;crf;nef;raf;pef;dng;arw;sr2;mrw;raw;orf;kdc;rwz;rw2;mef;
ParseExtensionsEnabled=1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;
ThumbnailArrangement=2
ThumbnailInterpolation=1
LiveThumbnails=true
FavoriteDirs=
RenameTemplates=
RenameUseTemplates=false
ThumbnailZoomRatios=0.2;0.3;0.45;0.6;0.8;1;
OverlayedFileNames=true
# if TRUE, only fast, internal preview images are taken if the image is not edited yet
InternalThumbIfUntouched=true
[Clipping Indication]
HighlightThreshold=253
ShadowThreshold=8
BlinkClipped=false
[Output]
Format=jpg
JpegQuality=100
PngCompression=6
PngBps=8
TiffBps=8
SaveProcParams=true
PathTemplate=%p1/converted/%f
PathFolder=
UsePathTemplate=true
LastSaveAsPath=
# if TRUE, existing output JPGs/PNGs are overwritten, instead of adding ..-1.jpg, -2.jpg etc.
OverwriteOutputFile=false
[Profiles]
Directory=profiles
RawDefault=default
ImgDefault=neutral
SaveParamsWithFile=false
SaveParamsToCache=true
LoadParamsFromLocation=0
# if this is set to a path of a custom program, it will receive the EXIFs as parameters and must generate a PP3 preset file for the given RAW/JPG
# Parameters: <Path to RAW/JPG> <Path to default profile> <fNumber> <expose in seconds> <focal length in mm> <ISO> <Lens> <Camera>
CustomProfileBuilder=
[GUI]
WindowWidth=900
WindowHeight=560
WindowMaximized=false
FileBrowserHeight=250
ToolPanelWidth=300
BrowserToolPanelWidth=300
HistoryPanelWidth=200
LastPreviewScale=5
LastCropSize=1
ShowHistory=true
ShowFilePanelState=2
ShowInfo=true
ShowClippedHighlights=false
ShowClippedShadows=false
FrameColor=0
ProcessingQueueEnbled=false
ToolPanelsExpanded=1;1;0;0;0;1;1;0;0;0;0;1;1;0;0;0;0;0;
[Algorithms]
DemosaicMethod=hphd
DemosaicMethodBatch=hphd
ColorCorrection=1
[Crop Settings]
Ratio=3:2
FixRatio=true
PPI=300
[Color Management]
ICCDirectory=
MonitorProfile=
Intent=1

View File

@@ -1,118 +1,25 @@
# Only important or pre-first run parameters are left in this global option file.
# After the first run, all the parameters will be available in this global option file
# or in a new local option file, depending on the MultiUser value below
# Most ot the options are modifiable through the Preference window
[General]
TabbedEditor=true
StoreLastProfile=true
StartupDirectory=last
StartupPath=
DateFormat=%y/%m/%d
AdjusterDelay=0
DualProcSupport=true
# Setting MultiUser to false will use the application's installation directory as cache directory,
# which can be usefull if you want to keep the application and all the cache datas in a single place,
# an external HD for example
MultiUser=true
Language=English (US)
Theme=Focus
# Windows users should not use the system theme : some composed widget won't be usable
UseSystemTheme=false
Version=300
FirstRun=true
[External Editor]
EditorKind=1
GimpDir=C:\\Program Files\\GIMP-2.0
PhotoshopDir=C:\\Program Files\\Adobe\\Adobe Photoshop CS5
CustomEditor=start
[File Browser]
BrowseOnlyRaw=false
BrowserShowsDate=true
BrowserShowsExif=true
BrowserShowsHidden=false
ThumbnailSize=240
MaxPreviewHeight=400
MaxCacheEntries=20000
ThumbnailFormat=5
CacheMemPolicy=0
ParseExtensions=jpg;tif;tiff;png;crw;cr2;crf;nef;raf;pef;dng;arw;sr2;mrw;raw;orf;kdc;rwz;rw2;mef;
ParseExtensionsEnabled=1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;
ThumbnailArrangement=2
ThumbnailInterpolation=1
LiveThumbnails=true
FavoriteDirs=
RenameTemplates=
RenameUseTemplates=false
ThumbnailZoomRatios=0.2;0.3;0.45;0.6;0.8;1;
OverlayedFileNames=true
# if TRUE, only fast, internal preview images are taken if the image is not edited yet
InternalThumbIfUntouched=true
[Clipping Indication]
HighlightThreshold=253
ShadowThreshold=8
BlinkClipped=false
[Output]
Format=jpg
JpegQuality=100
PngCompression=6
PngBps=8
TiffBps=8
SaveProcParams=true
PathTemplate=%p1/converted/%f
PathFolder=
UsePathTemplate=true
LastSaveAsPath=
# if TRUE, existing output JPGs/PNGs are overwritten, instead of adding ..-1.jpg, -2.jpg etc.
OverwriteOutputFile=false
[Profiles]
Directory=profiles
RawDefault=default
ImgDefault=neutral
SaveParamsWithFile=false
SaveParamsToCache=true
LoadParamsFromLocation=0
# if this is set to a path of a custom program, it will receive the EXIFs as parameters and must generate a PP3 preset file for the given RAW/JPG
# Parameters: <Path to RAW/JPG> <Path to default profile> <fNumber> <expose in seconds> <focal length in mm> <ISO> <Lens> <Camera>
CustomProfileBuilder=
[GUI]
WindowWidth=900
WindowHeight=560
WindowMaximized=false
FileBrowserHeight=250
ToolPanelWidth=300
BrowserToolPanelWidth=300
HistoryPanelWidth=230
LastPreviewScale=5
LastCropSize=1
ShowHistory=true
ShowFilePanelState=2
ShowInfo=true
ShowClippedHighlights=false
ShowClippedShadows=false
FrameColor=0
ProcessingQueueEnbled=false
ToolPanelsExpanded=1;1;0;0;0;1;1;0;0;0;0;1;1;0;0;0;0;0;
[Algorithms]
DemosaicMethod=hphd
DemosaicMethodBatch=hphd
ColorCorrection=1
[Crop Settings]
Ratio=3:2
FixRatio=true
PPI=300
[Color Management]
# Auto-determined by RT on first start
# ICCDirectory=
MonitorProfile=
Intent=1
[Sounds]
BatchQueueDone=sounds\\BatchComplete.wav
LngEditProcDone=sounds\\ProcessComplete.wav
LngEditProcDoneSecs=3

View File

@@ -21,6 +21,7 @@
#include <glib/gstdio.h>
#include <safekeyfile.h>
#include <safegtk.h>
#include <version.h>
CacheImageData::CacheImageData ()
: md5(""), supported(false), format(FT_Invalid), rank(0), inTrash(false), recentlySaved(false),
@@ -100,7 +101,7 @@ int CacheImageData::save (const Glib::ustring& fname) {
if (safe_file_test(fname,Glib::FILE_TEST_EXISTS)) keyFile.load_from_file (fname);
keyFile.set_string ("General", "MD5", md5);
keyFile.set_string ("General", "Version", options.version);
keyFile.set_string ("General", "Version", VERSION); // Application's version
keyFile.set_boolean ("General", "Supported", supported);
keyFile.set_integer ("General", "Format", format);
keyFile.set_integer ("General", "Rank", rank);

View File

@@ -139,8 +139,14 @@ void FilePanel::init () {
dirBrowser->open (Glib::get_home_dir());
else if (options.startupDir==STARTUPDIR_CURRENT)
dirBrowser->open (argv0);
else if (options.startupDir==STARTUPDIR_CUSTOM || options.startupDir==STARTUPDIR_LAST)
dirBrowser->open (options.startupPath);
else if (options.startupDir==STARTUPDIR_CUSTOM || options.startupDir==STARTUPDIR_LAST) {
if (options.startupPath.length() && safe_file_test(options.startupPath, Glib::FILE_TEST_EXISTS) && safe_file_test(options.startupPath, Glib::FILE_TEST_IS_DIR))
dirBrowser->open (options.startupPath);
else {
// Fallback option if the path is empty or the folder doesn't exist
dirBrowser->open (Glib::get_home_dir());
}
}
}
}

File diff suppressed because it is too large Load Diff

View File

@@ -6,6 +6,7 @@
#define VERSION "${HG_VERSION}"
#define TAGDISTANCE ${HG_TAGDISTANCE}
#define CACHEFOLDERNAME "RawTherapee${CACHE_NAME_SUFFIX}"
#endif