Revision 1165

View differences:

org.gvsig.raster.lizardtech/tags/buildNumber_19/org.gvsig.raster.lizardtech/prepare-workspace.xml
1
<project name="org.gvsig.initial.build" default="prepare-workspace">
2

  
3
	<dirname property="org.gvsig.initial.build.basedir" file="${ant.file.org.gvsig.initial.build}" />
4

  
5
	<property name="workspace.basedir" value="${org.gvsig.initial.build.basedir}/.." />
6
	<property name="build.basedir" value="${workspace.basedir}/org.gvsig.maven.base.build" description="Eclipse workspace location" />
7
	<property name="build.jar.version" value="1.0.8-SNAPSHOT" />
8
	<property name="build.jar.file" value="org.gvsig.maven.base.build-${build.jar.version}.jar" />
9

  
10
	<property name="ant.libs.dir" location="${build.basedir}" description="Additional ant tasks libs folder" />
11

  
12
	<target name="check-maven-base-build-available">
13
		<available file="${user.home}/.m2/repository/org/gvsig/org.gvsig.maven.base.build/${build.jar.version}/${build.jar.file}" property="maven-base-build-available" />
14
	</target>
15

  
16
	<target name="get-maven-base-build-local" depends="check-maven-base-build-available" if="maven-base-build-available">
17
		<!-- Unzip de build jar file from the maven repository into the workspace root folder -->
18
		<copy todir="${workspace.basedir}" preservelastmodified="false" filtering="false">
19
			<zipfileset src="${user.home}/.m2/repository/org/gvsig/org.gvsig.maven.base.build/${build.jar.version}/${build.jar.file}">
20
				<patternset>
21
					<exclude name="META-INF/**" />
22
				</patternset>
23
			</zipfileset>
24
		</copy>
25
	</target>
26

  
27
	<target name="get-maven-base-build-remote" depends="check-maven-base-build-available" unless="maven-base-build-available">
28
		<mkdir dir="target" />
29

  
30
		<!-- Download the build jar file -->
31
		<get src="http://devel.gvsig.org/m2repo/j2se/org/gvsig/org.gvsig.maven.base.build/${build.jar.version}/${build.jar.file}" dest="target/${build.jar.file}" verbose="true" />
32

  
33
		<!-- Unzip de build jar file into the workspace root folder -->
34
		<copy todir="${workspace.basedir}" preservelastmodified="false" filtering="false">
35
			<zipfileset src="target/${build.jar.file}">
36
				<patternset>
37
					<exclude name="META-INF/**" />
38
				</patternset>
39
			</zipfileset>
40
		</copy>
41

  
42
	</target>
43
	
44
	<target name="find.depends.natives.file">
45
	    <condition property="depends.natives.file.exists">
46
            <available file="${org.gvsig.initial.build.basedir}/DEPENDS_ON_NATIVE_LIBRARIES"/>
47
	    </condition>	
48
	</target>
49
	
50
	<target name="find.gvsig.platform.properties.file" 
51
			depends="find.depends.natives.file"
52
			if="depends.natives.file.exists">
53
	    <condition property="gvsig.platform.exists">
54
            <available file="${user.home}/.gvsig.platform.properties"/>
55
	    </condition>	
56
	</target>
57
	
58
	<target name="check.gvsig.platform.properties" 
59
			depends="find.gvsig.platform.properties.file">
60
		<fail if="depends.natives.file.exists" unless="gvsig.platform.exists">
61
ERROR!!
62
	
63
You have to define your gvSIG platform properties, 
64
by creating the file: ${user.home}/.gvsig.platform.properties
65
with the following content:
66

  
67
native_platform=linux
68
native_distribution=all
69
native_compiler=gcc4
70
native_arch=i386
71
native_libraryType=dynamic
72
export native_classifier=${native_platform}-${native_distribution}-${native_compiler}-${native_arch}-${native_libraryType}
73

  
74
Replace the fifth initial variables values with the ones appropiate 
75
to your platform.
76
	
77
If you use maven in the command line, you can use the previous file also
78
to define the MAVEN_OPTS environment variable, by adding to your 
79
.bash_rc file something like this:
80

  
81
if [ -f "${HOME}/.gvsig.platform.properties" ]
82
then
83
    . ${HOME}/.gvsig.platform.properties
84
    export MAVEN_OPTS="-Xmx256M -XX:MaxPermSize=64m -Dnative-classifier=${native_classifier}"
85
else
86
    export MAVEN_OPTS="-Xmx256M -XX:MaxPermSize=64m"
87
fi
88

  
89
It will work if you use the bash shell. In any other case or platform, you'll
90
have to define your MAVEN_OPTS environment variable and set the 
91
"native-classifier" parameter directly.
92
		</fail>			
93
	
94
	</target>
95

  
96
	<target name="prepare-workspace" depends="get-maven-base-build-local,get-maven-base-build-remote,check.gvsig.platform.properties">
97

  
98
		<mkdir dir="target" />
99

  
100
		<chmod dir="${build.basedir}/maven/bin" perm="u+x" includes="m2,mvn,mvnDebug" />
101

  
102
		<!-- Copy the maven launchers to the workspace metadata folder -->
103
		<copy todir="${workspace.basedir}/.metadata">
104
			<fileset dir="${build.basedir}/eclipse-launchers">
105
				<exclude name="**/org.eclipse.jdt.core.prefs" />
106
				<exclude name="**/org.eclipse.core.variables.prefs" />
107
			</fileset>
108
		</copy>
109

  
110
		<concat destfile="${workspace.basedir}/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.jdt.core.prefs" append="true">
111
			<filelist dir="${build.basedir}/eclipse-launchers/.plugins/org.eclipse.core.runtime/.settings" files="org.eclipse.jdt.core.prefs" />
112
		</concat>
113
		<concat destfile="${workspace.basedir}/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.core.variables.prefs" append="true">
114
			<filelist dir="${build.basedir}/eclipse-launchers/.plugins/org.eclipse.core.runtime/.settings" files="org.eclipse.core.variables.prefs" />
115
		</concat>
116

  
117
		<!-- Configure the eclipse workspace -->
118
		<ant antfile="${build.basedir}/maven-goals.xml" target="mvn-configure-eclipse-workspace" />
119

  
120
		<!-- Configure the gvSIG profile -->
121
		<ant antfile="${build.basedir}/check-gvsig-profile.xml" />
122

  
123
		<property name="user-settings-file-location" value="${user.home}/.m2/settings.xml" />
124

  
125
		<taskdef name="xmltask" classname="com.oopsconsultancy.xmltask.ant.XmlTask">
126
			<classpath>
127
				<pathelement location="${ant.libs.dir}/com.oopsconsultancy.xmltask-1.16.1.jar" />
128
			</classpath>
129
		</taskdef>
130

  
131
		<xmltask source="${user-settings-file-location}" dest="${user-settings-file-location}">
132
			<copy path="//:settings/:profiles/:profile[:id/text() = 'gvsig-install']/:properties/:gvsig.install.dir/text()" property="current-gvsig-location" />
133
		</xmltask>
134

  
135
		<replace file="${workspace.basedir}/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.jdt.core.prefs" token="@GVSIG_HOME@" value="${current-gvsig-location}" />
136
		<replace file="${workspace.basedir}/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.core.variables.prefs" token="@GVSIG_HOME@" value="${current-gvsig-location}" />
137

  
138
		<!-- Compile, install and generate eclipse projects -->
139
		<ant antfile="${build.basedir}/maven-goals.xml" target="mvn-install-and-eclipse-eclipse" />
140

  
141
		<echo>INFORMATION!!!</echo>
142
		<echo>Restart eclipse and then proceed to import the subprojects contained into the main project</echo>
143

  
144
		<!-- TODO: copiar al proyecto de configuración general -->
145
	</target>
146

  
147
	<target name="clean">
148
		<delete dir="target" />
149
	</target>
150
	
151
</project>
0 152

  
org.gvsig.raster.lizardtech/tags/buildNumber_19/org.gvsig.raster.lizardtech/pom.xml
1
<?xml version="1.0" encoding="UTF-8"?>
2
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0                       http://maven.apache.org/xsd/maven-4.0.0.xsd">
3
	<modelVersion>4.0.0</modelVersion>
4
	<artifactId>org.gvsig.raster.lizardtech</artifactId>
5
	<packaging>pom</packaging>
6
	<version>2.0.0-SNAPSHOT</version>
7
	<name>org.gvsig.raster.lizardtech</name>
8
	<description>Lizardtech SDK data provider for gvSIG</description>
9
	<inceptionYear>2011</inceptionYear>
10
	 <parent>
11
        <groupId>org.gvsig</groupId>
12
        <artifactId>gvsig-base-pom</artifactId>
13
        <version>2.0-SNAPSHOT</version>
14
    </parent>
15
    <scm>
16
        <connection>scm:svn:https://devel.gvsig.org/svn/gvsig-raster/org.gvsig.raster.app/trunk/org.gvsig.raster.app</connection>
17
        <developerConnection>scm:svn:https://devel.gvsig.org/svn/gvsig-raster/org.gvsig.raster.app/trunk/org.gvsig.raster.app</developerConnection>
18
        <url>https://devel.gvsig.org/redmine/projects/gvsig-raster/repository/show/org.gvsig.raster.lizardtech/trunk/org.gvsig.raster.lizardtech</url>
19
    </scm>
20
	<developers>
21
        <developer>
22
            <id>nbrodin</id>
23
            <name>Nacho Brodin</name>
24
            <email>nachobrodin@gmail.com</email>
25
            <roles>
26
                <role>Architect</role>
27
                <role>Developer</role>
28
            </roles>
29
        </developer>
30
    </developers>
31
	<properties>
32
		<build-dir>${basedir}/../build</build-dir>
33
	</properties>
34
	<modules>
35
		<module>org.gvsig.raster.lizardtech.io</module>
36
		<module>org.gvsig.raster.lizardtech.app</module>
37
	</modules>
38
</project>
0 39

  
org.gvsig.raster.lizardtech/tags/buildNumber_19/org.gvsig.raster.lizardtech/org.gvsig.raster.lizardtech.app/distribution/distribution-lin.xml
1
<assembly>
2
	<id>distribution</id>
3
	<formats>
4
		<format>dir</format>
5
	</formats>
6
	<fileSets>
7
		<!-- Estructure for the extension -->
8
		<fileSet>
9
			<directory>src/main/resources</directory>
10
			<outputDirectory>${extension.install.dir.name}
11
			</outputDirectory>
12
		</fileSet>
13
	</fileSets>
14
	<files>
15
	    <file>
16
            <source>package.info</source>
17
            <outputDirectory>${extension.install.dir.name}</outputDirectory>
18
        </file>
19
        <file>
20
            <source>${user.home}/.depman/lib/libjmrsid2.0.0.so</source>
21
            <outputDirectory>${extension.install.dir.name}/install/files/native</outputDirectory>
22
        </file>
23
    </files>
24
	<dependencySets>
25
		<dependencySet>
26
			<useProjectAttachments>true</useProjectAttachments>
27
			<outputDirectory>${extension.install.dir.name}/lib
28
			</outputDirectory>
29
			<includes>
30
				<include>org.gvsig:org.gvsig.raster.lizardtech.app:jar</include>
31
				<include>org.gvsig:org.gvsig.raster.lizardtech.io:jar</include>
32
				<include>org.gvsig:org.gvsig.jmrsid:jar</include>
33
			</includes>
34
		</dependencySet>
35
	</dependencySets>
36
</assembly>
0 37

  
org.gvsig.raster.lizardtech/tags/buildNumber_19/org.gvsig.raster.lizardtech/org.gvsig.raster.lizardtech.app/distribution/distribution-win.xml
1
<assembly>
2
	<id>distribution</id>
3
	<formats>
4
		<format>dir</format>
5
	</formats>
6
	<fileSets>
7
		<!-- Estructure for the extension -->
8
		<fileSet>
9
			<directory>src/main/resources</directory>
10
			<outputDirectory>${extension.install.dir.name}
11
			</outputDirectory>
12
		</fileSet>
13
	</fileSets>
14
	<files>
15
	    <file>
16
            <source>package.info</source>
17
            <outputDirectory>${extension.install.dir.name}</outputDirectory>
18
        </file>
19
        <file>
20
            <source>${user.home}/.depman/bin/jmrsid2.0.0.dll</source>
21
            <outputDirectory>${extension.install.dir.name}/install/files</outputDirectory>
22
        </file>
23
        <file>
24
            <source>${user.home}/.depman/bin/lti_dsdk_cdll.dll</source>
25
            <outputDirectory>${extension.install.dir.name}/install/files</outputDirectory>
26
        </file>
27
        <file>
28
            <source>${user.home}/.depman/bin/lti_dsdk_dll.dll</source>
29
            <outputDirectory>${extension.install.dir.name}/install/files</outputDirectory>
30
        </file>
31
    </files>
32
	<dependencySets>
33
		<dependencySet>
34
			<useProjectAttachments>true</useProjectAttachments>
35
			<outputDirectory>${extension.install.dir.name}/lib
36
			</outputDirectory>
37
			<includes>
38
				<include>org.gvsig:org.gvsig.raster.lizardtech.app:jar</include>
39
				<include>org.gvsig:org.gvsig.raster.lizardtech.io:jar</include>
40
				<include>org.gvsig:org.gvsig.jmrsid:jar</include>
41
			</includes>
42
		</dependencySet>
43
	</dependencySets>
44
</assembly>
0 45

  
org.gvsig.raster.lizardtech/tags/buildNumber_19/org.gvsig.raster.lizardtech/org.gvsig.raster.lizardtech.app/buildNumber.properties
1
#maven.buildNumber.plugin properties file
2
#Mon Jun 25 09:24:49 CEST 2012
3
buildNumber=18
0 4

  
org.gvsig.raster.lizardtech/tags/buildNumber_19/org.gvsig.raster.lizardtech/org.gvsig.raster.lizardtech.app/src/main/java/org/gvsig/raster/lizardtech/app/LizardTechExtension.java
1
/* gvSIG. Geographic Information System of the Valencian Government
2
*
3
* Copyright (C) 2007-2008 Infrastructures and Transports Department
4
* of the Valencian Government (CIT)
5
* 
6
* This program is free software; you can redistribute it and/or
7
* modify it under the terms of the GNU General Public License
8
* as published by the Free Software Foundation; either version 2
9
* of the License, or (at your option) any later version.
10
* 
11
* This program is distributed in the hope that it will be useful,
12
* but WITHOUT ANY WARRANTY; without even the implied warranty of
13
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
14
* GNU General Public License for more details.
15
* 
16
* You should have received a copy of the GNU General Public License
17
* along with this program; if not, write to the Free Software
18
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, 
19
* MA  02110-1301, USA.
20
* 
21
*/
22
package org.gvsig.raster.lizardtech.app;
23

  
24
import org.gvsig.andami.plugins.Extension;
25

  
26
/**
27
 * Entry point for this extension 
28
 * @author Nacho Brodin (nachobrodin@gmail.com)
29
 */
30
public class LizardTechExtension extends Extension {
31

  
32
	public void execute(String actionCommand) {
33
	}
34

  
35
	public void initialize() {
36
	}
37
	
38
	public boolean isEnabled() {
39
		return false;
40
	}
41

  
42
	public boolean isVisible() {
43
		return false;
44
	}
45

  
46
}
0 47

  
org.gvsig.raster.lizardtech/tags/buildNumber_19/org.gvsig.raster.lizardtech/org.gvsig.raster.lizardtech.app/src/main/resources/config.xml
1
<?xml version="1.0" encoding="ISO-8859-1"?>
2
<plugin-config>
3
    <depends plugin-name="org.gvsig.app" />
4
	<depends plugin-name="org.gvsig.raster.tilecache.app" />
5
	<libraries library-dir="lib"/>
6
	<resourceBundle name="text"/>
7
	<extensions>
8
		<extension class-name="org.gvsig.raster.lizardtech.app.LizardTechExtension"
9
			description=""
10
			active="true"
11
			priority="1">
12
		</extension>
13
	</extensions>
14
</plugin-config>
0 15

  
org.gvsig.raster.lizardtech/tags/buildNumber_19/org.gvsig.raster.lizardtech/org.gvsig.raster.lizardtech.app/src/main/resources/install/install.xml
1
<project name="org.gvsig.plugin1" default="main" basedir=".">
2
	<target name="main" depends="copy_files, link"/>
3
    <target name="copy_files">
4
    	<copy todir="${gvsig_dir}">
5
    		<fileset dir="./files" includes="**"/>
6
		</copy>
7
	</target>
8
	<target name="link" depends="checkos" if="linuxos">
9
		  <exec executable="ln" >
10
		    <arg value="-s"/>
11
		    <arg value="${gvsig_dir}/native/libNCSCnet.so.0"/>
12
		    <arg value="${gvsig_dir}/native/libNCSCnet.so"/>
13
		  </exec>
14
		  <exec executable="ln" >
15
			<arg value="-s"/>
16
			<arg value="${gvsig_dir}/native/libNCSEcwC.so.0"/>
17
			<arg value="${gvsig_dir}/native/libNCSEcwC.so"/>
18
		  </exec>
19
		  <exec executable="ln" >
20
			<arg value="-s"/>
21
			<arg value="${gvsig_dir}/native/libNCSEcw.so.0"/>
22
			<arg value="${gvsig_dir}/native/libNCSEcw.so"/>
23
		  </exec>
24
		  <exec executable="ln" >
25
			<arg value="-s"/>
26
			<arg value="${gvsig_dir}/native/libNCSUtil.so.0"/>
27
			<arg value="${gvsig_dir}/native/libNCSUtil.so"/>
28
		  </exec>
29
		</target>
30
		<target name="checkos">
31
			<condition property="linuxos">
32
		       <os family="unix" />
33
			</condition>
34
		</target>
35
</project>
0 36

  
org.gvsig.raster.lizardtech/tags/buildNumber_19/org.gvsig.raster.lizardtech/org.gvsig.raster.lizardtech.app/pom.xml
1
<?xml version="1.0" encoding="ISO-8859-1"?>
2

  
3
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
4
	xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
5
	<modelVersion>4.0.0</modelVersion>
6
	<artifactId>org.gvsig.raster.lizardtech.app</artifactId>
7
	<packaging>jar</packaging>
8
	<name>Formats: MrSID file format support</name>
9
	<description>Lizardtech data provider (MrSID) for gvSIG</description>
10
	<version>2.0.0-SNAPSHOT</version>
11
	<parent>
12
        <groupId>org.gvsig</groupId>
13
        <artifactId>org.gvsig.maven.base.extension.pom</artifactId>
14
        <version>1.0.8-SNAPSHOT</version>
15
    </parent>
16
   <dependencies>
17
      	<dependency>
18
        	<groupId>org.gvsig</groupId>
19
            <artifactId>org.gvsig.andami</artifactId>
20
            <version>2.0-SNAPSHOT</version>
21
            <scope>compile</scope>
22
        </dependency>
23
    	<dependency>
24
			<groupId>org.gvsig</groupId>
25
			<artifactId>org.gvsig.raster.lizardtech.io</artifactId>
26
			<version>2.0.0-SNAPSHOT</version>
27
            <scope>runtime</scope>
28
		</dependency>  
29
	</dependencies>
30
	<profiles>
31
	   <profile>
32
			<id>gvsig-install</id>
33
			<activation>
34
				<activeByDefault>true</activeByDefault>
35
			</activation>
36
			<properties>
37
				<!--Default gvSIG installation folder relative to the current workspace-->
38
				<gvsig.install.dir>${basedir}/../../build/product</gvsig.install.dir>
39
			</properties>
40
		</profile>       
41
        <profile>
42
            <id>linux-profile</id>
43
            <activation>
44
            	<property>
45
					<name>native-platform</name>
46
					<value>linux</value>
47
				</property>
48
           </activation>
49
           <properties>
50
           		<package.info.categories>Raster</package.info.categories>
51
           		<package.info.operatingSystem>lin</package.info.operatingSystem>
52
        		<package.info.architecture>x86</package.info.architecture>
53
        		<extension.distribution.file>distribution/distribution-lin.xml</extension.distribution.file>
54
                <package.info.dependencies>required: org.gvsig.raster.tilecache.app -ge 2</package.info.dependencies>
55
			</properties>
56
        </profile>
57
        <profile>
58
            <id>windows-profile</id>
59
            <activation>
60
                 <property>
61
					<name>native-platform</name>
62
					<value>win</value>
63
				</property>
64
            </activation>
65
            <properties>
66
            	<package.info.categories>Raster, Formats</package.info.categories>
67
           		<package.info.operatingSystem>win</package.info.operatingSystem>
68
        		<package.info.architecture>x86</package.info.architecture>
69
        		<extension.distribution.file>distribution/distribution-win.xml</extension.distribution.file>
70
                <package.info.dependencies>required: org.gvsig.raster.tilecache.app -ge 2</package.info.dependencies>
71
			</properties>
72
        </profile>
73
    </profiles>
74
    <properties>
75
    	<package.info.state>devel</package.info.state>
76
    	<package.info.baseDownloadURL>http://devel.gvsig.org/download/projects/Raster/pool/org.gvsig.raster.lizardtech.app</package.info.baseDownloadURL>
77
    </properties>
78
</project>
0 79

  
org.gvsig.raster.lizardtech/tags/buildNumber_19/org.gvsig.raster.lizardtech/org.gvsig.raster.lizardtech.jni/CMakeModules/FindMRSID.cmake
1
	# Locate mrsid
2
# This module defines
3
# MRSID_LIBRARY
4
# MRSID_FOUND, if false, do not try to link to gdal 
5
# MRSID_INCLUDE_DIR, where to find the headers
6
#
7
# $MRSID_DIR is an environment variable that would
8
# correspond to the ./configure --prefix=$MRSID_DIR
9
#
10
# Created by Robert Osfield. 
11

  
12
FIND_PATH(MRSID_INCLUDE_DIR lti_image.h
13
	${DEPMAN_PATH}/include
14
	C:/Geo_DSDK-6.0.7.1408/include/base
15
	${CMAKE_SOURCE_DIR}/sdk/include/base
16
    ${MRSID_DIR}/include/base
17
    $ENV{MRSID_DIR}/include/base
18
)
19

  
20
FIND_PATH(MRSID_INCLUDE_DIR2 ltic_api.h
21
	${DEPMAN_PATH}/include
22
	C:/Geo_DSDK-6.0.7.1408/include/c_api
23
	${CMAKE_SOURCE_DIR}/sdk/include/c_api
24
    ${MRSID_DIR}/include/c_api
25
    $ENV{MRSID_DIR}/include/c_api
26
)
27

  
28
FIND_PATH(MRSID_INCLUDE_DIR3 lti_cropFilter.h
29
	${DEPMAN_PATH}/include
30
	C:/Geo_DSDK-6.0.7.1408/include/filters
31
    ${CMAKE_SOURCE_DIR}/sdk/include/filters
32
    #${MRSID_DIR}/include/filters
33
    #$ENV{MRSID_DIR}/include/filters
34
)
35

  
36
FIND_PATH(MRSID_INCLUDE_DIR4 j2k_types.h
37
	${DEPMAN_PATH}/include
38
    C:/Geo_DSDK-6.0.7.1408/include/j2k_readers
39
    ${CMAKE_SOURCE_DIR}/sdk/include/j2k_readers
40
    ${MRSID_DIR}/include/j2k_readers
41
    $ENV{MRSID_DIR}/include/j2k_readers
42
)
43

  
44
FIND_PATH(MRSID_INCLUDE_DIR5 lti_metadataUtils.h
45
	${DEPMAN_PATH}/include
46
    C:/Geo_DSDK-6.0.7.1408/include/metadata
47
    ${CMAKE_SOURCE_DIR}/sdk/include/metadata
48
    ${MRSID_DIR}/include/metadata
49
    $ENV{MRSID_DIR}/include/metadata
50
)
51

  
52
FIND_PATH(MRSID_INCLUDE_DIR6 lti_mrsidReadersStatus.h
53
	${DEPMAN_PATH}/include
54
	C:/Geo_DSDK-6.0.7.1408/include/mrsid_readers
55
    ${CMAKE_SOURCE_DIR}/sdk/include/mrsid_readers
56
    ${MRSID_DIR}/include/mrsid_readers
57
    $ENV{MRSID_DIR}/include/mrsid_readers
58
)
59

  
60
FIND_PATH(MRSID_INCLUDE_DIR7 lt_base.h
61
	${DEPMAN_PATH}/include
62
	C:/Geo_DSDK-6.0.7.1408/include/support
63
    ${CMAKE_SOURCE_DIR}/sdk/include/support
64
    ${MRSID_DIR}/include/support
65
    $ENV{MRSID_DIR}/include/support
66
)
67

  
68
FIND_PATH(MRSID_INCLUDE_DIR8 lti_writersStatus.h
69
	${DEPMAN_PATH}/include
70
	C:/Geo_DSDK-6.0.7.1408/include/writers
71
    ${CMAKE_SOURCE_DIR}/sdk/include/writers
72
    ${MRSID_DIR}/include/writers
73
    $ENV{MRSID_DIR}/include/writers
74
)
75

  
76

  
77
FIND_LIBRARY(MRSID_LIBRARY 
78
    NAMES ltidsdk lti_dsdk
79
    PATHS
80
    ${DEPMAN_PATH}/bin
81
    ${DEPMAN_PATH}/lib
82
    ${CMAKE_SOURCE_DIR}/sdk/lib
83
    ${MRSID_DIR}/lib/Release
84
    $ENV{MRSID_DIR}/lib/Release
85
)
86

  
87
	
88
FIND_LIBRARY(MRSID_LIBRARY_W1
89
	NAMES lti_dsdk_dll
90
	PATHS
91
	${DEPMAN_PATH}/bin
92
    ${DEPMAN_PATH}/lib
93
	C:/Geo_DSDK-6.0.7.1408/lib/Release
94
	${CMAKE_SOURCE_DIR}/sdk/lib
95
    ${MRSID_DIR}/lib/Release
96
    $ENV{MRSID_DIR}/lib/Release
97
)
98

  
99
FIND_LIBRARY(MRSID_LIBRARY_W2
100
NAMES lti_dsdk_	cdll
101
	PATHS
102
	${DEPMAN_PATH}/bin
103
    ${DEPMAN_PATH}/lib
104
	C:/Geo_DSDK-6.0.7.1408/lib/Release
105
	${CMAKE_SOURCE_DIR}/sdk/lib
106
    ${MRSID_DIR}/lib/Release
107
    $ENV{MRSID_DIR}/lib/Release
108
)
109

  
110
FIND_LIBRARY(GDAL_LIBRARY 
111
  NAMES lti_gdal gdal
112
  PATHS
113
  ${DEPMAN_PATH}/bin
114
  ${DEPMAN_PATH}/lib
115
  $ENV{GDAL_DIR}
116
  NO_DEFAULT_PATH
117
  PATH_SUFFIXES lib64 lib
118
)
119

  
120
FIND_LIBRARY(GDAL_LIBRARY 
121
  NAMES lti_gdal gdal
122
  ${DEPMAN_PATH}/bin
123
  ${DEPMAN_PATH}/lib
124
  PATHS ${CMAKE_PREFIX_PATH} # Unofficial: We are proposing this.
125
    NO_DEFAULT_PATH
126
    PATH_SUFFIXES lib64 lib
127
)
128

  
129
FIND_LIBRARY(GDAL_LIBRARY 
130
  NAMES lti_gdal gdal
131
  PATHS
132
    ${DEPMAN_PATH}/bin
133
    ${DEPMAN_PATH}/lib
134
    ~/Library/Frameworks
135
    /Library/Frameworks
136
    /usr/local
137
    /usr
138
    /sw
139
    /opt/local
140
    /opt/csw
141
    /opt
142
    /usr/freeware
143
    [HKEY_LOCAL_MACHINE\\SYSTEM\\CurrentControlSet\\Control\\Session\ Manager\\Environment;GDAL_ROOT]/lib
144
  PATH_SUFFIXES lib64 lib
145
)
146

  
147
SET(MRSID_FOUND "NO")
148
IF(MRSID_LIBRARY AND MRSID_INCLUDE_DIR)
149
    SET(MRSID_FOUND "YES")
150
ENDIF(MRSID_LIBRARY AND MRSID_INCLUDE_DIR)
151

  
152
SET(GDAL_FOUND "NO")
153
IF(GDAL_LIBRARY)
154
  SET(GDAL_FOUND "YES")
155
ENDIF(GDAL_LIBRARY)
org.gvsig.raster.lizardtech/tags/buildNumber_19/org.gvsig.raster.lizardtech/org.gvsig.raster.lizardtech.jni/CMakeModules/GeneralMacros.cmake
1
MACRO(CONFIGURE_DEFAULTS)
2
    # Looking for arch extension!
3
    SET(LIB_POSTFIX "32")
4
    IF(UNIX)
5
	    IF(NOT APPLE)
6
		    IF(CMAKE_SIZEOF_VOID_P MATCHES "8")
7
      		    SET(LIB_POSTFIX "64")
8
  		    ENDIF(CMAKE_SIZEOF_VOID_P MATCHES "8")
9
	    ENDIF(NOT APPLE)
10
    ELSE(UNIX)
11
	    IF(CMAKE_SYSTEM_NAME MATCHES Windows)
12
		    IF(CMAKE_CL_64)
13
      		    SET(LIB_POSTFIX "64")
14
		    ENDIF(CMAKE_CL_64)	
15
	    ENDIF(CMAKE_SYSTEM_NAME MATCHES Windows)
16
    ENDIF(UNIX)
17
	# This is for an advanced option to give aggressive warnings
18
	# under different compilers. If yours is not implemented, this option
19
	# will not be made available.
20
	IF(CMAKE_COMPILER_IS_GNUCXX)
21
	    # To be complete, we might also do GNUCC flags,
22
	    # but everything here is C++ code.
23
	    # -Wshadow and -Woverloaded-virtual are also interesting flags, but OSG
24
	    # returns too many hits.
25
	    # FYI, if we do implement GNUCC, then -Wmissing-prototypes in another
26
	    # interesting C-specific flag.
27
	    # Also, there is a bug in gcc 4.0. Under C++, -pedantic will create
28
	    # errors instead of warnings for certain issues, including superfluous
29
	    # semicolons and commas, and the use of long long. -fpermissive seems
30
	    # to be the workaround.
31
	    SET(AGGRESSIVE_WARNING_FLAGS "-Wall -Wparentheses -Wformat=2 -Wno-long-long -Wno-import -pedantic -Wreturn-type -Wmissing-braces -Wunknown-pragmas -Wunused")
32
		#IF(NOT APPLE)
33
		#	SET(CMAKE_CXX_FLAGS ${CMAKE_CXX_FLAGS} "-fpermissive")
34
		#ENDIF(NOT APPLE)
35
	ELSE(CMAKE_COMPILER_IS_GNUCXX)
36
	    IF(MSVC)
37
	        # FIXME: What are good aggressive warning flags for Visual Studio?
38
	        # And do we need to further subcase this for different versions of VS?
39
	        # CMake variables: MSVC60, MSVC70, MSVC71, MSVC80, CMAKE_COMPILER_2005
40
	        SET(AGGRESSIVE_WARNING_FLAGS "/Wall /W4")
41

  
42

  
43
	    ELSE(MSVC)
44
	        # CMake lacks an elseif, so other non-gcc, non-VS compilers need
45
	        # to be listed below. If unhandled, OSG_AGGRESSIVE_WARNING_FLAGS should
46
	        # remain unset.
47
	    ENDIF(MSVC)
48
	ENDIF(CMAKE_COMPILER_IS_GNUCXX)
49

  
50
	# This part is for the CMake menu option to toggle the warnings on/off.
51
	# This will only be made available if we set values for OSG_AGGRESSIVE_WARNING_FLAGS.
52
	IF(AGGRESSIVE_WARNING_FLAGS)
53
	    OPTION(USE_AGGRESSIVE_WARNINGS "Enable to activate aggressive warnings" OFF)
54
	    MARK_AS_ADVANCED(USE_AGGRESSIVE_WARNINGS)
55

  
56
	    IF(USE_AGGRESSIVE_WARNINGS)
57
	        IF(NOT "${OLD_CMAKE_CXX_FLAGS_WAS_SET}")
58
	            SET(OLD_CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS}" CACHE INTERNAL "Old CXX flags")
59
	            SET(OLD_CMAKE_CXX_FLAGS_WAS_SET 1 CACHE INTERNAL "Old CXX flags was set")
60
	            SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${AGGRESSIVE_WARNING_FLAGS}" CACHE STRING "Flags used by the compiler during all build types." FORCE)
61
	        ENDIF(NOT "${OLD_CMAKE_CXX_FLAGS_WAS_SET}")
62
	    ELSE(USE_AGGRESSIVE_WARNINGS)
63
	        # FIXME: This will lose any changes made after OLD_CMAKE_CXX_FLAGS was
64
	        # set. The better way would be to parse the string and remove each
65
	        # option explicitly.
66
	        IF("${OLD_CMAKE_CXX_FLAGS_WAS_SET}")
67
	            SET(CMAKE_CXX_FLAGS "${OLD_CMAKE_CXX_FLAGS}" CACHE STRING "Flags used by the compiler during all build types." FORCE)
68
	            SET(OLD_CMAKE_CXX_FLAGS_WAS_SET 0 CACHE INTERNAL "Old CXX flags was set")
69
	        ENDIF("${OLD_CMAKE_CXX_FLAGS_WAS_SET}")
70
	    ENDIF(USE_AGGRESSIVE_WARNINGS)
71
	ENDIF(AGGRESSIVE_WARNING_FLAGS)
72

  
73
	# Set defaults for Universal Binaries. We want 32-bit Intel/PPC on 10.4
74
	# and 32/64-bit Intel/PPC on >= 10.5. Anything <= 10.3 doesn't support.
75
	IF(APPLE)
76
	    # These are just defaults/recommendations, but how we want to build
77
	    # out of the box. But the user needs to be able to change these options.
78
	    # So we must only set the values the first time CMake is run, or we
79
	    # will overwrite any changes the user sets.
80
	    # FORCE is used because the options are not reflected in the UI otherwise.
81
	    # Seems like a good place to add version specific compiler flags too.
82
	    IF(NOT CONFIG_HAS_BEEN_RUN_BEFORE)
83
	        # This is really fragile, but CMake doesn't provide the OS system
84
	        # version information we need. (Darwin versions can be changed
85
	        # independently of OS X versions.)
86
	        # It does look like CMake handles the CMAKE_OSX_SYSROOT automatically.
87
	        IF(EXISTS /Developer/SDKs/MacOSX10.5.sdk)
88
	            #SET(CMAKE_OSX_ARCHITECTURES "ppc;i386;ppc64;x86_64" CACHE STRING "Build architectures for OSX")
89
				SET(CMAKE_OSX_ARCHITECTURES "ppc;i386" CACHE STRING "Build architectures for OSX")
90
	            SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -mmacosx-version-min=10.5 -ftree-vectorize -fvisibility-inlines-hidden" CACHE STRING "Flags used by the compiler during all build types." FORCE)
91
	        ELSE(EXISTS /Developer/SDKs/MacOSX10.5.sdk)
92
	            IF(EXISTS /Developer/SDKs/MacOSX10.4u.sdk)
93
	                SET(CMAKE_OSX_ARCHITECTURES "ppc;i386" CACHE STRING "Build architectures for OSX" FORCE)
94
	                SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -mmacosx-version-min=10.4 -ftree-vectorize -fvisibility-inlines-hidden" CACHE STRING "Flags used by the compiler during all build types." FORCE)
95
	            ELSE(EXISTS /Developer/SDKs/MacOSX10.4u.sdk)
96
	                # No Universal Binary support
97
	                # Should break down further to set the -mmacosx-version-min,
98
	                # but the SDK detection is too unreliable here.
99
	            ENDIF(EXISTS /Developer/SDKs/MacOSX10.4u.sdk)
100
	        ENDIF(EXISTS /Developer/SDKs/MacOSX10.5.sdk)
101
	    ENDIF(NOT CONFIG_HAS_BEEN_RUN_BEFORE)
102
    	SET(CMAKE_INSTALL_NAME_DIR @executable_path/../Resources/NativeLibs CACHE STRING "Executable Path for MacOS X" FORCE)
103
	    MARK_AS_ADVANCED(CMAKE_INSTALL_NAME_DIR)
104
	ENDIF(APPLE)
105
	
106
	SET(OUTPUT_BINDIR ${CMAKE_BINARY_DIR}/bin)
107
	MAKE_DIRECTORY(${OUTPUT_BINDIR})
108

  
109
	SET(OUTPUT_LIBDIR ${CMAKE_BINARY_DIR}/lib)
110
	MAKE_DIRECTORY(${OUTPUT_LIBDIR})
111
	IF(CMAKE_MAJOR_VERSION EQUAL 2 AND CMAKE_MINOR_VERSION GREATER 4)
112
	    # If CMake >= 2.6.0
113
	    SET(CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${OUTPUT_LIBDIR})
114
	    SET(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${OUTPUT_BINDIR})
115
	    IF(WIN32)
116
	        SET(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${OUTPUT_BINDIR})
117
	    ELSE(WIN32)
118
	        SET(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${OUTPUT_LIBDIR})
119
	    ENDIF(WIN32)
120
	ELSE(CMAKE_MAJOR_VERSION EQUAL 2 AND CMAKE_MINOR_VERSION GREATER 4)
121
	    SET(EXECUTABLE_OUTPUT_PATH ${OUTPUT_BINDIR})
122
	    SET(LIBRARY_OUTPUT_PATH ${OUTPUT_LIBDIR})
123
	ENDIF(CMAKE_MAJOR_VERSION EQUAL 2 AND CMAKE_MINOR_VERSION GREATER 4)
124
	
125
ENDMACRO(CONFIGURE_DEFAULTS)
126

  
127
MACRO(CONFIGURE_END)
128
	# This needs to be run very last so other parts of the scripts can take
129
	# advantage of this.
130
	IF(NOT CONFIG_HAS_BEEN_RUN_BEFORE)
131
	    SET(CONFIG_HAS_BEEN_RUN_BEFORE 1 CACHE INTERNAL "Flag to track whether this is the first time running CMake or if CMake has been configured before")
132
	ENDIF(NOT CONFIG_HAS_BEEN_RUN_BEFORE)
133
ENDMACRO(CONFIGURE_END)
134

  
135
MACRO(SETUP_CORELIB CORELIB_NAME)
136
	IF(COMPILE_STATIC)
137
		ADD_LIBRARY(${CORELIB_NAME}
138
			STATIC
139
			${HEADERS}
140
			${SOURCES}
141
		)
142
	ELSE(COMPILE_STATIC)
143
		ADD_LIBRARY(${CORELIB_NAME}
144
			SHARED
145
			${HEADERS}
146
			${SOURCES}
147
		)
148
	ENDIF(COMPILE_STATIC)
149

  
150
	TARGET_LINK_LIBRARIES(${CORELIB_NAME} ${LIBRARIES})
151

  
152
	IF(LIBRARIES_OPTIMIZED)
153
		FOREACH(LIBOPT ${LIBRARIES_OPTIMIZED})
154
			TARGET_LINK_LIBRARIES(${CORELIB_NAME} optimized ${LIBOPT})
155
		ENDFOREACH(LIBOPT)
156
	ENDIF(LIBRARIES_OPTIMIZED)
157

  
158
	IF(LIBRARIES_DEBUG)
159
		FOREACH(LIBDEBUG ${LIBRARIES_DEBUG})
160
			TARGET_LINK_LIBRARIES(${CORELIB_NAME} debug ${LIBDEBUG})
161
		ENDFOREACH(LIBDEBUG)
162
	ENDIF(LIBRARIES_DEBUG)
163

  
164
	SET_TARGET_PROPERTIES(${CORELIB_NAME}
165
		PROPERTIES
166
		PROJECT_LABEL "Core ${CORELIB_NAME}"
167
	)
168
	IF(WIN32)
169
		INSTALL(TARGETS ${CORELIB_NAME}
170
			RUNTIME DESTINATION bin
171
			ARCHIVE DESTINATION lib
172
		)
173
	ELSE(WIN32)
174
		INSTALL(TARGETS ${CORELIB_NAME}
175
			LIBRARY DESTINATION lib
176
			ARCHIVE DESTINATION lib
177
		)
178
	ENDIF(WIN32)
179
	
180
	IF(UNIX AND NOT APPLE)
181
		SET_TARGET_PROPERTIES ( ${CORELIB_NAME} PROPERTIES LINK_FLAGS "-Wl,-E")
182
	ENDIF(UNIX AND NOT APPLE)
183

  
184
	IF(VERSION)
185
		#SET_TARGET_PROPERTIES(${CORELIB_NAME} PROPERTIES VERSION "${VERSION}")
186
		SET_TARGET_PROPERTIES(${LIB_NAME} PROPERTIES OUTPUT_NAME "${CORELIB_NAME}${VERSION}")
187
	ENDIF(VERSION)
188

  
189
ENDMACRO(SETUP_CORELIB)
190

  
191
MACRO(SETUP_JNILIB JNILIB_NAME)
192

  
193
	ADD_LIBRARY(${JNILIB_NAME}
194
		SHARED
195
		${HEADERS}
196
		${SOURCES}
197
	)
198

  
199
	TARGET_LINK_LIBRARIES(${JNILIB_NAME} ${LIBRARIES})
200

  
201
	IF(LIBRARIES_OPTIMIZED)
202
		FOREACH(LIBOPT ${LIBRARIES_OPTIMIZED})
203
			TARGET_LINK_LIBRARIES(${JNILIB_NAME} optimized ${LIBOPT})
204
		ENDFOREACH(LIBOPT)
205
	ENDIF(LIBRARIES_OPTIMIZED)
206

  
207
	IF(LIBRARIES_DEBUG)
208
		FOREACH(LIBDEBUG ${LIBRARIES_DEBUG})
209
			TARGET_LINK_LIBRARIES(${JNILIB_NAME} debug ${LIBDEBUG})
210
		ENDFOREACH(LIBDEBUG)
211
	ENDIF(LIBRARIES_DEBUG)
212
	
213
	IF(APPLE)
214
		SET_TARGET_PROPERTIES(${JNILIB_NAME}
215
    	PROPERTIES
216
    	SUFFIX .jnilib)
217
	ENDIF(APPLE)
218
	
219

  
220
	SET_TARGET_PROPERTIES(${JNILIB_NAME}
221
		PROPERTIES
222
		PROJECT_LABEL "JNI ${JNILIB_NAME}"
223
	)
224

  
225
	IF(WIN32)
226
		INSTALL(TARGETS ${JNILIB_NAME}
227
			RUNTIME DESTINATION bin
228
			ARCHIVE DESTINATION lib
229
		)
230
	ELSE(WIN32)
231
		INSTALL(TARGETS ${JNILIB_NAME}
232
			LIBRARY DESTINATION lib
233
		)
234
	ENDIF(WIN32)
235
	
236
	IF(UNIX AND NOT APPLE)
237
		SET_TARGET_PROPERTIES (${JNILIB_NAME} PROPERTIES LINK_FLAGS "-Wl,-E")
238
	ENDIF(UNIX AND NOT APPLE)
239
	
240
	IF(VERSION)
241
		#SET_TARGET_PROPERTIES(${CORELIB_NAME} PROPERTIES VERSION "${VERSION}")
242
		SET_TARGET_PROPERTIES(${LIB_NAME} PROPERTIES OUTPUT_NAME "${JNILIB_NAME}${VERSION}")
243
	ENDIF(VERSION)
244
	
245
ENDMACRO(SETUP_JNILIB)
246

  
247
MACRO(SETUP_EXECUTABLE EXECUTABLE_NAME)
248

  
249
	IF(IS_APPLICATION)
250
		IF(APPLE)
251
		    # SET(MACOSX_BUNDLE_LONG_VERSION_STRING "${CRSFX_MAJOR_VERSION}.${CRSFX_MINOR_VERSION}.${CRSFXCRSFX_PATCH_VERSION}")
252
		    # Short Version is the "marketing version". It is the version
253
		    # the user sees in an information panel.
254
		    SET(MACOSX_BUNDLE_SHORT_VERSION_STRING "${VERSION}")
255
		    # Bundle version is the version the OS looks at.
256
		    SET(MACOSX_BUNDLE_BUNDLE_VERSION "${VERSION}")
257
		    SET(MACOSX_BUNDLE_GUI_IDENTIFIER "${EXECUTABLE_NAME}" )
258
		    SET(MACOSX_BUNDLE_BUNDLE_NAME "${EXECUTABLE_NAME}" )
259
		    # SET(MACOSX_BUNDLE_ICON_FILE "myicon.icns")
260
		    # SET(MACOSX_BUNDLE_COPYRIGHT "")
261
		    # SET(MACOSX_BUNDLE_INFO_STRING "Info string, localized?")
262
			SET(PLATFORM_SPECIFIC_CONTROL MACOSX_BUNDLE)
263
		ENDIF(APPLE)
264

  
265
		IF(WIN32)
266
		    IF (REQUIRE_WINMAIN_FLAG)
267
		        SET(PLATFORM_SPECIFIC_CONTROL WIN32)
268
		    ENDIF(REQUIRE_WINMAIN_FLAG)
269
		ENDIF(WIN32)
270
	
271
		ADD_EXECUTABLE(${EXECUTABLE_NAME} ${PLATFORM_SPECIFIC_CONTROL} ${SOURCES} ${HEADERS})
272
		IF(APPLE AND INSTALL_DEPENDENCIES)
273
		    SETUP_BUNDLE_DEPENDENCIES(${EXECUTABLE_NAME})
274
		ENDIF(APPLE AND INSTALL_DEPENDENCIES)
275
	ELSE(IS_APPLICATION)
276
		ADD_EXECUTABLE(${EXECTUABLE_NAME} ${SOURCES} ${HEADERS})
277
	ENDIF(IS_APPLICATION)
278

  
279
	TARGET_LINK_LIBRARIES(${EXECUTABLE_NAME} ${LIBRARIES})
280
	IF(LIBRARIES_OPTIMIZED)
281
		FOREACH(LIBOPT ${LIBRARIES_OPTIMIZED})
282
			TARGET_LINK_LIBRARIES(${EXECUTABLE_NAME} optimized ${LIBOPT})
283
		ENDFOREACH(LIBOPT)
284
	ENDIF(LIBRARIES_OPTIMIZED)
285

  
286
	IF(LIBRARIES_DEBUG)
287
		FOREACH(LIBDEBUG ${LIBRARIES_DEBUG})
288
			TARGET_LINK_LIBRARIES(${EXECUTABLE_NAME} debug ${LIBDEBUG})
289
		ENDFOREACH(LIBDEBUG)
290
	ENDIF(LIBRARIES_DEBUG)
291

  
292
	SET_TARGET_PROPERTIES(${EXECUTABLE_NAME} PROPERTIES PROJECT_LABEL "Application ${EXECUTABLE_NAME}")
293
	
294
	IF(APPLE)
295
		INSTALL(TARGETS ${EXECUTABLE_NAME}
296
			RUNTIME DESTINATION bin
297
			BUNDLE DESTINATION bin
298
		)
299
	ELSE(APPLE)
300
		INSTALL(TARGETS ${EXECUTABLE_NAME}
301
			RUNTIME DESTINATION bin
302
			COMPONENT DESTINATION bin
303
		)
304
	ENDIF(APPLE)
305

  
306
ENDMACRO(SETUP_EXECUTABLE)
307

  
308

  
309
MACRO(SETUP_BUNDLE_DEPENDENCIES TARGET_NAME)
310
	IF(DEPENDENCY_FILES)
311
		IF(APPLE AND IS_APPLICATION)
312
			INSTALL(PROGRAMS ${DEPENDENCY_FILES}
313
				DESTINATION bin/${TARGET_NAME}.app/Contents/MacOS
314
			)
315
		ENDIF(APPLE AND IS_APPLICATION)
316
	ENDIF(DEPENDENCY_FILES)
317
	
318
	IF(DEPENDENCY_DIRS)
319
		IF(APPLE AND IS_APPLICATION)
320
			INSTALL(DIRECTORY ${DEPENDENCY_DIRS}		
321
					DESTINATION bin/${TARGET_NAME}.app/Contents/Resources
322
					PATTERN ".svn" EXCLUDE)
323
		ENDIF(APPLE AND IS_APPLICATION)
324
	ENDIF(DEPENDENCY_DIRS)
325

  
326
	IF(RESOURCE_FILES)
327
		IF(APPLE AND IS_APPLICATION)
328
			INSTALL(FILES ${RESOURCE_FILES}
329
		        	DESTINATION bin/${TARGET_NAME}.app/Contents/Resources
330
			)
331
		ENDIF(APPLE AND IS_APPLICATION)
332
	ENDIF(RESOURCE_FILES)
333

  
334
	IF(RESOURCE_DIRS)
335
		IF(APPLE AND IS_APPLICATION)
336
			INSTALL(DIRECTORY ${RESOURCE_DIRS}		
337
					DESTINATION bin/${TARGET_NAME}.app/Contents/Resources
338
					PATTERN ".svn" EXCLUDE
339
					)
340
		ENDIF(APPLE AND IS_APPLICATION)
341
	ENDIF(RESOURCE_DIRS)
342
	
343
ENDMACRO(SETUP_BUNDLE_DEPENDENCIES TARGET_NAME)
344

  
345
MACRO(SETUP_DEPENDENCIES)
346
	IF(DEPENDENCY_FILES)
347
		IF(WIN32)
348
			INSTALL(PROGRAMS ${DEPENDENCY_FILES}
349
				DESTINATION bin
350
			)
351
		ELSE(WIN32)
352
		    INSTALL(PROGRAMS ${DEPENDENCY_FILES}
353
			    DESTINATION lib
354
			)
355
		ENDIF(WIN32)
356
	ENDIF(DEPENDENCY_FILES)
357
	
358
	IF(DEPENDENCY_DIRS)
359
        IF(WIN32)
360
    	    INSTALL(DIRECTORY ${DEPENDENCY_DIRS}		
361
    				DESTINATION bin
362
    				PATTERN ".svn" EXCLUDE
363
    				PATTERN ".cache" EXCLUDE)
364
    	ELSE(WIN32)
365
    	    INSTALL(DIRECTORY ${DEPENDENCY_DIRS}		
366
    				DESTINATION lib
367
    				PATTERN ".svn" EXCLUDE
368
    				PATTERN ".cache" EXCLUDE)		
369
		ENDIF(WIN32)
370
	ENDIF(DEPENDENCY_DIRS)
371

  
372
	IF(RESOURCE_FILES)
373
		INSTALL(FILES ${RESOURCE_FILES}
374
		       	DESTINATION share/${CMAKE_PROJECT_NAME}/resources
375
		)
376
	ENDIF(RESOURCE_FILES)
377

  
378
	IF(RESOURCE_DIRS)
379
		INSTALL(DIRECTORY ${RESOURCE_DIRS}		
380
				DESTINATION share/${CMAKE_PROJECT_NAME}/resources
381
				PATTERN ".svn" EXCLUDE
382
		)
383
	ENDIF(RESOURCE_DIRS)
384
	
385
	IF(SCRIPT_FILES)
386
		INSTALL(PROGRAMS ${SCRIPT_FILES}
387
				DESTINATION .
388
				PERMISSIONS OWNER_WRITE OWNER_READ OWNER_EXECUTE GROUP_READ GROUP_EXECUTE WORLD_READ WORLD_EXECUTE
389
		)
390
	ENDIF(SCRIPT_FILES)
391
ENDMACRO(SETUP_DEPENDENCIES)
392

  
393

  
org.gvsig.raster.lizardtech/tags/buildNumber_19/org.gvsig.raster.lizardtech/org.gvsig.raster.lizardtech.jni/CMakeModules/FindDepMan.cmake
1
FIND_PATH(DEPMAN_PATH NAMES .cache Frameworks bin include lib share
2
	PATHS
3
	$ENV{DEPMAN_REPO}
4
	$ENV{DEPMAN_PATH}
5
	~/.depman
6
	/Developer/DepMan
7
	/DepMan
8
	$ENV{USERPROFILE}/.depman
9
    NO_DEFAULT_PATH
10
)
11

  
12
SET(DEPMAN_FOUND "NO")
13
IF(DEPMAN_PATH)
14
  SET(DEPMAN_FOUND "YES")
15
  SET(CMAKE_INCLUDE_PATH ${DEPMAN_PATH}/include ${DEPMAN_PATH}/Frameworks ${CMAKE_INCLUDE_PATH})
16
  SET(CMAKE_LIBRARY_PATH ${DEPMAN_PATH}/lib ${DEPMAN_PATH}/Frameworks ${CMAKE_LIBRARY_PATH})
17
ENDIF(DEPMAN_PATH)
18

  
19
MARK_AS_ADVANCED(DEPMAN_PATH)
20

  
org.gvsig.raster.lizardtech/tags/buildNumber_19/org.gvsig.raster.lizardtech/org.gvsig.raster.lizardtech.jni/CMakeModules/ModuleInstall.cmake
1
# INSTALL and SOURCE_GROUP commands for OSG/OT/Producer Modules
2

  
3
# Required Vars:
4
# ${LIB_NAME}
5
# ${LIB_PUBLIC_HEADERS}
6

  
7
SET(INSTALL_INCDIR include)
8
SET(INSTALL_BINDIR bin)
9
IF(WIN32)
10
	SET(INSTALL_BINDIR .)
11
    SET(INSTALL_LIBDIR .)
12
    SET(INSTALL_ARCHIVEDIR lib)
13
ELSE(WIN32)
14
	SET(INSTALL_BINDIR .)
15
    SET(INSTALL_LIBDIR .)
16
    SET(INSTALL_ARCHIVEDIR lib)
17
ENDIF(WIN32)
18

  
19
SET(HEADERS_GROUP "Header Files")
20

  
21
SOURCE_GROUP(
22
    ${HEADERS_GROUP}
23
    FILES ${LIB_PUBLIC_HEADERS}
24
)
25

  
26

  
27
INSTALL(
28
    TARGETS ${LIB_NAME}
29
    RUNTIME DESTINATION ${INSTALL_BINDIR}
30
    LIBRARY DESTINATION ${INSTALL_LIBDIR}
31
    ARCHIVE DESTINATION ${INSTALL_ARCHIVEDIR}
32
)
33

  
34

  
35

  
36
# FIXME: Do not run for OS X framework
37
#INSTALL(
38
#    FILES        ${LIB_PUBLIC_HEADERS}
39
#    DESTINATION ${INSTALL_INCDIR}/${LIB_NAME}
40
#)
org.gvsig.raster.lizardtech/tags/buildNumber_19/org.gvsig.raster.lizardtech/org.gvsig.raster.lizardtech.jni/pom.xml
1
<project xmlns="http://maven.apache.org/POM/4.0.0"
2
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
3
	xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
4
	<modelVersion>4.0.0</modelVersion>
5
	<artifactId>org.gvsig.jmrsid</artifactId>
6
	<packaging>jar</packaging>
7
	<version>2.0.0-SNAPSHOT</version>
8
	<name>libjni-mrsid</name>
9
	<parent>
10
		<groupId>org.gvsig</groupId>
11
		<artifactId>gvsig-base-library-jni-pom</artifactId>
12
		<version>2.0-SNAPSHOT</version>
13
	</parent>
14
	<properties>
15
		<build-dir>${basedir}/../build</build-dir>
16
        <eclipse.project.name>libjni-mrsid</eclipse.project.name>
17
	</properties>
18
	<build>
19
		<plugins>
20
			<!-- TODO: MAKE TESTS WORK AND REMOVE THIS OPTION -->
21
			<plugin>
22
				<groupId>org.apache.maven.plugins</groupId>
23
				<artifactId>maven-surefire-plugin</artifactId>
24
				<configuration>
25
					<skipTests>true</skipTests>
26
				</configuration>
27
			</plugin>
28
		</plugins>
29
	</build>
30
	<profiles>
31
		<profile>
32
			<id>windows-profile</id>
33
            <activation>
34
                <property>
35
                    <name>native-platform</name>
36
                    <value>win</value>
37
                </property>
38
            </activation>
39
			<properties>
40
				<!-- This hack is necessary to allow correct search in windows -->
41
				<build-dir>${basedir}\..\build</build-dir>
42
			</properties>
43
			<dependencies>
44
				<dependency>
45
					<groupId>com.lizardtech</groupId>
46
					<artifactId>mrsid</artifactId>
47
					<version>7.0.0.2164</version>
48
					<classifier>${native-classifier}</classifier>
49
					<type>tar.gz</type>
50
				</dependency>
51
                <dependency>
52
                    <groupId>com.microsoft</groupId>
53
                    <artifactId>visualcppredist</artifactId>
54
                    <version>2008</version>
55
                    <classifier>${native-classifier}</classifier>
56
                    <type>tar.gz</type>
57
                </dependency>
58
			</dependencies>
59
		</profile>
60
		<profile>
61
            <id>linux-profile</id>
62
            <activation>
63
                <property>
64
                    <name>native-platform</name>
65
                    <value>linux</value>
66
                </property>
67
            </activation>
68
			<dependencies>
69
				<dependency>
70
					<groupId>com.lizardtech</groupId>
71
					<artifactId>mrsid</artifactId>
72
					<version>7.0.0.2164</version>
73
					<classifier>${native-classifier}</classifier>
74
					<type>tar.gz</type>
75
				</dependency>
76
			</dependencies>
77
		</profile>
78
		<profile>
79
			<id>mac-profile</id>
80
            <activation>
81
                <property>
82
                    <name>native-platform</name>
83
                    <value>mac</value>
84
                </property>
85
            </activation>
86
			<dependencies>
87
				<dependency>
88
					<groupId>com.lizardtech</groupId>
89
					<artifactId>mrsid</artifactId>
90
					<version>7.0.0.2164</version>
91
					<classifier>${native-classifier}</classifier>
92
					<type>tar.gz</type>
93
				</dependency>
94
			</dependencies>
95
		</profile>
96
	</profiles>
97
</project>
98

  
0 99

  
org.gvsig.raster.lizardtech/tags/buildNumber_19/org.gvsig.raster.lizardtech/org.gvsig.raster.lizardtech.jni/readme.txt
1
Notas de compilaci?n de la librer?a jmrsid.
2

  
3
La compilaci?n de la librer?a jmrsid se realiza autom?ticamente ejecutando el build.xml
4
del proyecto. Para ello el sistema tiene que tener instalado y accesible:
5

  
6
- CMake - Probado con la versi?n 2.4
7
- Compilador gcc - g++ en el caso de Linux - La versi?n de dicho compilador tiene que ser
8
  compatible con el SDK que disponga el usuario. Se ha compilado con gcc 3.3
9
- Entorno de desarrollo Visual Studio en caso de Windows con las variables de
10
  entorno cargadas. La versi?n del compilador tambi?n depende del SDK que el ususario
11
  tenga. - Compilado con Visual Studio 2005
12
- SDK de LizardTech instalado y accesible. Si el SDK est? en alguna ruta distinta a las que
13
  se incluyen en el archivo FindMRSID, habr? que a?adirla a dicho archivo o instalar el SDK
14
  en alguna de las indicadas.
15
- JDK de Java.
16

  
17
Con ejecutar el build.xml es suficiente para generar la librer?a y el jar.
0 18

  
org.gvsig.raster.lizardtech/tags/buildNumber_19/org.gvsig.raster.lizardtech/org.gvsig.raster.lizardtech.jni/CMakeLists.txt
1
project(jmrsid)
2

  
3
set(CMAKE_ALLOW_LOOSE_LOOP_CONSTRUCTS TRUE)
4

  
5
IF(WIN32)
6
    CMAKE_MINIMUM_REQUIRED(VERSION 2.4.6 FATAL_ERROR)
7
ELSE(WIN32)
8
    IF(APPLE)
9
        CMAKE_MINIMUM_REQUIRED(VERSION 2.6.0 FATAL_ERROR)
10
    ELSE(APPLE)
11
        CMAKE_MINIMUM_REQUIRED(VERSION 2.4.4 FATAL_ERROR)
12
    ENDIF(APPLE)
13
ENDIF(WIN32)
14

  
15
if(COMMAND cmake_policy)
16
    # Works around warnings libraries linked against that don't
17
    # have absolute paths (e.g. -lpthreads)
18
    cmake_policy(SET CMP0003 NEW)
19

  
20
    # Works around warnings about escaped quotes in ADD_DEFINITIONS
21
    # statements.
22
    cmake_policy(SET CMP0005 NEW)
23

  
24
    # cmake-2.6.1 introduces policy cmp0008 decide how to treat full path libraries that do not appear to be valid library file names
25
    # quote from cvslog "Such libraries worked by accident in the VS IDE and Xcode generators in CMake 2.4 and below."
26
    if(${CMAKE_MAJOR_VERSION} EQUAL 2 AND ${CMAKE_MINOR_VERSION} GREATER 4 AND ${CMAKE_PATCH_VERSION} GREATER 0)
27
        cmake_policy(SET CMP0008 OLD)
28
    endif()
29
endif()
30

  
31
SET(JMRSID_VERSION_MAJOR "2")
32
SET(JMRSID_VERSION_MINOR "0")
33
SET(JMRSID_VERSION_PATCH "0")
34

  
35
SET(VERSION "${JMRSID_VERSION_MAJOR}.${JMRSID_VERSION_MINOR}.${JMRSID_VERSION_PATCH}")
36

  
37
SET(CMAKE_MODULE_PATH "${CMAKE_SOURCE_DIR}/../build/CMakeModules;${CMAKE_SOURCE_DIR}/CMakeModules;${CMAKE_MODULE_PATH}")
38

  
39
IF(UNIX OR APPLE)
40
	SET(CMAKE_CXX_FLAGS "-D_REENTRANT")
41
ENDIF()
42

  
43
FIND_PACKAGE(DepMan REQUIRED) 
44
INCLUDE(GeneralMacros) 
45

  
46
CONFIGURE_DEFAULTS()
47

  
48
IF(CMAKE_INSTALL_PREFIX_INITIALIZED_TO_DEFAULT)
49
  SET(CMAKE_INSTALL_PREFIX
50
    ${DEPMAN_PATH} CACHE PATH "depman path install prefix" FORCE
51
    )
52
ENDIF(CMAKE_INSTALL_PREFIX_INITIALIZED_TO_DEFAULT)
53

  
54
FIND_PACKAGE(JNI REQUIRED) 
55
FIND_PACKAGE(MRSID REQUIRED) 
56

  
57
ADD_SUBDIRECTORY(src/main/native)
58

  
59
CONFIGURE_END()
0 60

  
org.gvsig.raster.lizardtech/tags/buildNumber_19/org.gvsig.raster.lizardtech/org.gvsig.raster.lizardtech.jni/build.xml
1
	<project name="libjni-mrsid" default="main" basedir=".">
2
	<description>
3
		Compila la librería jmrsid
4
	</description>
5
		
6
	<property name="src-java" location="src/main/java" />
7
	<property name="src-test-java" location="src/test/java" />
8
	<property name="jar-dist" location="jar-dist" />
9
	<property name="build" location="bin/" />
10
	<property name="build-test" location="bin-test/" />
11
	<property name="cmake_build" location="BMCMake/" />
12
	<property name="sdk-dir" location="/home/miguel/mrsid/Geo_DSDK-6.0.7.1407" />
13
	<property environment="env"/>
14
	<condition property="jmrsid_version" value="0.0.6">
15
		<os family="unix"/>
16
	</condition>
17
	<condition property="jmrsid_version" value="006">
18
		<os family="windows"/>
19
	</condition>
20
	<property name="jmrsid-jar" location="jmrsid-0.0.6.jar" />
21
	<condition property="cmake_generator" value="'Unix Makefiles'">
22
		<os family="unix"/>
23
	</condition>
24
	<condition property="cmake_generator" value="'NMake Makefiles'">
25
		<os family="windows"/>
26
	</condition>		
27

  
28
	<target name="main" description="compile java code, make jars, prepare and compile natives" depends="clean,jar,prepare-natives,compile-natives">
29
	</target>
30

  
31
	<target name="jar" description="makes jar file">
32
		<mkdir dir="${build}" />
33
		<javac srcdir="${src-java}" destdir="${build}" debug="true" />
34
		<mkdir dir="${jar-dist}" />
35
		<jar jarfile="${jmrsid-jar}" basedir="${build}" includes="es/gva/cit/jmrsid/**" />
36
		<move file="${jmrsid-jar}" todir="${jar-dist}" />
37
	</target>
38

  
39
	<target name="prepare-natives" description="prepares the natives to be compiled">
40
		<mkdir dir="${cmake_build}"/>
41
		<delete file="${cmake_build}/CMakeCache.txt"/>
42
		<exec dir="${cmake_build}" executable="cmake">
43
			<arg line=".." />
44
			<arg line="-G${cmake_generator}" />
45
			<arg line="-DMRSID_DIR=${sdk-dir}" />
46
			<arg line="-DCMAKE_BUILD_TYPE=Release" />
47
			<arg line="-DJMRSID_VERSION=${jmrsid_version}" />
48
		</exec>
49
	</target>
50

  
51
	<target name="compile-natives" description="compiles natives">
52
		<exec dir="${cmake_build}" executable="make" os="Linux">
53
			<arg line="install" />
54
		</exec>
55
		<exec dir="${cmake_build}" executable="nmake" os="Windows 98,Windows 2000,Windows XP,Windows NT (Unknown)">
56
			<arg line="install" />
57
		</exec>
58
	</target>
59

  
60
		
61
	<target name="clean" description="clean distribution">
62
		<delete dir="jar-dist"/>
63
		<delete dir="lib-dist"/>
64
		<delete dir="BMCMake"/>
65
	</target>
66

  
67
</project>
0 68

  
org.gvsig.raster.lizardtech/tags/buildNumber_19/org.gvsig.raster.lizardtech/org.gvsig.raster.lizardtech.jni/depman.xml
1
<depman>
2
	<package>
3
		<group>org.gvsig</group>
4
		<artifact>org.gvsig.jmrsid</artifact>
5
		<version>2.0.0-SNAPSHOT</version>
6
		<libraryType>dynamic</libraryType>
7
	</package>
8
 	<dependencies platform="win, mac, linux">
9
 		<dependency>
10
			<group>com.lizardtech</group>
11
			<artifact>mrsid</artifact>
... This diff was truncated because it exceeds the maximum size that can be displayed.

Also available in: Unified diff