Switching to lcms2 + correction of a bug about the libtiff build that wasn't handling compression features + correction of a bug in the build process of Windows 64bit version.
Now all Windows users have to update Cmake to 2.8.4 at least.
This commit is contained in:
@@ -1,4 +1,9 @@
|
||||
if (WIN32)
|
||||
cmake_minimum_required(VERSION 2.8.4)
|
||||
cmake_policy(SET CMP0015 OLD)
|
||||
else (WIN32)
|
||||
cmake_minimum_required(VERSION 2.6)
|
||||
endif (WIN32)
|
||||
|
||||
# the default target is 'Debug'
|
||||
if (CMAKE_BUILD_TYPE STREQUAL "")
|
||||
@@ -36,6 +41,8 @@ set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${PROC_FLAGS}")
|
||||
set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} ${PROC_FLAGS}")
|
||||
|
||||
if (WIN32)
|
||||
# we additionnally look in the MinGW path first then in the Gtkmm path,
|
||||
# so if you wish to build some dependant library, you have to install them in MinGW to use them
|
||||
set(CMAKE_PREFIX_PATH $ENV{MINGW_BASEPATH} $ENV{GTKMM_BASEPATH} CACHE STRING "Additional search paths")
|
||||
endif (WIN32)
|
||||
|
||||
@@ -127,10 +134,10 @@ if (WIN32)
|
||||
endif (MINGW)
|
||||
|
||||
set (EXTRA_LIB "-lws2_32")
|
||||
else (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)
|
||||
pkg_check_modules (IPTCDATA REQUIRED libiptcdata)
|
||||
pkg_check_modules (LCMS REQUIRED lcms<=1.99)
|
||||
find_package (JPEG REQUIRED)
|
||||
find_package (PNG REQUIRED)
|
||||
find_package (TIFF REQUIRED)
|
||||
|
||||
43
COMPILE.txt
43
COMPILE.txt
@@ -21,28 +21,6 @@ certainly only use the source code without any access to a Mercurial repository.
|
||||
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.
|
||||
|
||||
|
||||
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 overriden 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_FORCED_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
|
||||
-------
|
||||
|
||||
@@ -53,8 +31,8 @@ Windows
|
||||
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 a paths THAT DOES NOT CONTAIN SPACES.
|
||||
"C:\msys" and "C:\gtkmm".
|
||||
This tutorial assume that you've installed the packages in paths THAT DOES NOT CONTAIN SPACES.
|
||||
|
||||
METHOD 1:
|
||||
- MinGW-TDM (http://sourceforge.net/projects/tdm-gcc/files/TDM-GCC%20Installer/tdm-gcc-4.5.1.exe/download)
|
||||
@@ -64,6 +42,7 @@ Windows
|
||||
- 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 si required for this platform
|
||||
- Gtkmm2.22 (http://ftp.se.debian.org/pub/gnome/binaries/win32/gtkmm/2.22/)
|
||||
|
||||
METHOD 2:
|
||||
@@ -118,13 +97,13 @@ Windows
|
||||
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 can skip this section
|
||||
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:
|
||||
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
|
||||
@@ -132,7 +111,7 @@ Windows
|
||||
cp -iv libzdll.a /mingw/lib/libz.dll.a
|
||||
|
||||
libpng:
|
||||
If you have Gtkmm2.22 installed, you can skip this section
|
||||
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:
|
||||
@@ -160,7 +139,11 @@ Windows
|
||||
libtiff:
|
||||
- download: ftp://ftp.remotesensing.org/pub/libtiff/
|
||||
- how to build:
|
||||
./configure --prefix=/mingw
|
||||
|
||||
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
|
||||
@@ -177,8 +160,8 @@ Windows
|
||||
make install
|
||||
|
||||
lcms:
|
||||
- download v1.x (v2.x is not supported yet): http://sourceforge.net/projects/lcms/files/
|
||||
- how to build:
|
||||
- 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
|
||||
|
||||
@@ -81,7 +81,7 @@ ICCStore::getInstance(void)
|
||||
|
||||
ICCStore::ICCStore ()
|
||||
{
|
||||
cmsErrorAction (LCMS_ERROR_SHOW);
|
||||
// cmsErrorAction (LCMS_ERROR_SHOW);
|
||||
|
||||
int N = sizeof(wpnames)/sizeof(wpnames[0]);
|
||||
for (int i=0; i<N; i++) {
|
||||
|
||||
@@ -19,7 +19,7 @@
|
||||
#ifndef __ICCSTORE__
|
||||
#define __ICCSTORE__
|
||||
|
||||
#include <lcms.h>
|
||||
#include <lcms2_plugin.h>
|
||||
#include <glibmm.h>
|
||||
#include <map>
|
||||
#include <string>
|
||||
|
||||
@@ -19,7 +19,7 @@
|
||||
#ifndef _IIMAGE_
|
||||
#define _IIMAGE_
|
||||
|
||||
#include <lcms.h>
|
||||
#include <lcms2_plugin.h>
|
||||
#include <glibmm.h>
|
||||
|
||||
namespace rtengine {
|
||||
|
||||
@@ -25,6 +25,7 @@
|
||||
#include <tiffio.h>
|
||||
#include <stdio.h>
|
||||
#include <string.h>
|
||||
#include <fcntl.h>
|
||||
#ifdef WIN32
|
||||
#include <winsock2.h>
|
||||
#else
|
||||
|
||||
@@ -20,7 +20,7 @@
|
||||
#define _RAWIMAGESOURCE_
|
||||
|
||||
#include <imagesource.h>
|
||||
#include <lcms.h>
|
||||
#include <lcms2_plugin.h>
|
||||
|
||||
#define HR_SCALE 2
|
||||
|
||||
|
||||
@@ -21,7 +21,7 @@
|
||||
|
||||
#include <procparams.h>
|
||||
#include <procevents.h>
|
||||
#include <lcms.h>
|
||||
#include <lcms2_plugin.h>
|
||||
#include <string>
|
||||
#include <glibmm.h>
|
||||
#include <time.h>
|
||||
|
||||
@@ -19,7 +19,7 @@
|
||||
#include <rtengine.h>
|
||||
#include <rtthumbnail.h>
|
||||
#include <image8.h>
|
||||
#include <lcms.h>
|
||||
#include <lcms2_plugin.h>
|
||||
#include <curves.h>
|
||||
#include <glibmm.h>
|
||||
#include <improcfun.h>
|
||||
|
||||
@@ -22,7 +22,7 @@
|
||||
#include <rawmetadatalocation.h>
|
||||
#include <procparams.h>
|
||||
#include <glibmm.h>
|
||||
#include <lcms.h>
|
||||
#include <lcms2_plugin.h>
|
||||
#include <image16.h>
|
||||
|
||||
namespace rtengine {
|
||||
|
||||
@@ -32,7 +32,7 @@ set (BASESOURCEFILES
|
||||
popupcommon.cc popupbutton.cc popuptogglebutton.cc)
|
||||
|
||||
if (WIN32)
|
||||
set (EXTRA_SRC windirmonitor.cc myicon.o)
|
||||
set (EXTRA_SRC windirmonitor.cc myicon.rc)
|
||||
set (EXTRA_LIB_RTGUI winmm)
|
||||
include_directories ( ../rtengine ${CMAKE_CURRENT_BINARY_DIR} . ../rtexif ${EXTRA_INCDIR} ${GLIB2_INCLUDE_DIRS} ${GLIBMM_INCLUDE_DIRS}
|
||||
${GTK_INCLUDE_DIRS} ${GTKMM_INCLUDE_DIRS} ${GIO_INCLUDE_DIRS} ${GIOMM_INCLUDE_DIRS})
|
||||
|
||||
BIN
rtgui/myicon.o
BIN
rtgui/myicon.o
Binary file not shown.
@@ -26,7 +26,7 @@ using namespace rtengine::procparams;
|
||||
|
||||
RAWExposure::RAWExposure () : Gtk::VBox(), FoldableToolPanel(this)
|
||||
{
|
||||
PexPos = Gtk::manage(new Adjuster (M("TP_RAWEXPOS_LINEAR"),0.2,4.0,0.1,1));
|
||||
PexPos = Gtk::manage(new Adjuster (M("TP_RAWEXPOS_LINEAR"),0.2,5.0,0.01,1));
|
||||
PexPos->setAdjusterListener (this);
|
||||
if (PexPos->delay < 1000) PexPos->delay = 1000;
|
||||
PexPos->show();
|
||||
|
||||
Reference in New Issue
Block a user