[prev in list] [next in list] [prev in thread] [next in thread]
List: koffice-devel
Subject: Re: changing dependency from released to trunk version of libwv2
From: Pau Garcia i Quiles <pgquiles () elpauer ! org>
Date: 2009-08-12 23:13:53
Message-ID: 3af572ac0908121613p1d1ba83avef9e1340a59d1c27 () mail ! gmail ! com
[Download RAW message or body]
Hello,
Oops, my former patch contained backup files. It's no big issue but
it's not nice. This patch only contains the useful stuff.
On Thu, Aug 13, 2009 at 12:13 AM, Pau Garcia i
Quiles<pgquiles@elpauer.org> wrote:
> Hello,
>
> The attached patch provides a CMake build system for libwv2 trunk.
>
> I have only tested it on Linux (Kubuntu Jaunty) because on this
> computer I don't have Windows. Please, test it and tell me if you find
> any issue. Instructions are available in the INSTALL.cmake file. I'd
> like to submit it upstream when it's ready.
>
> On Sun, Aug 9, 2009 at 7:14 PM, C. Boemann<cbo@boemann.dk> wrote:
>> great
>>
>> On Sunday 09 August 2009 19:13:44 Pau Garcia i Quiles wrote:
>>> Hello,
>>>
>>> > But I would very much appreciate it if you turned it into cmake based.
>>>
>>> I'm working on it
>
>
>
> --
> Pau Garcia i Quiles
> http://www.elpauer.org
> (Due to my workload, I may need 10 days to answer)
>
--
Pau Garcia i Quiles
http://www.elpauer.org
(Due to my workload, I may need 10 days to answer)
["wvware-cmakeification.patch" (text/x-diff)]
diff -rupdN wvware.orig/cmake/FindGLIB2.cmake wvware.cmake/cmake/FindGLIB2.cmake
--- wvware.orig/cmake/FindGLIB2.cmake 1970-01-01 01:00:00.000000000 +0100
+++ wvware.cmake/cmake/FindGLIB2.cmake 2009-08-09 21:54:32.000000000 +0200
@@ -0,0 +1,50 @@
+# - Try to find the GLIB2 libraries
+# Once done this will define
+#
+# GLIB2_FOUND - system has glib2
+# GLIB2_INCLUDE_DIR - the glib2 include directory
+# GLIB2_LIBRARIES - glib2 library
+
+# Copyright (c) 2008 Laurent Montel, <montel@kde.org>
+#
+# Redistribution and use is allowed according to the terms of the BSD license.
+# For details see the accompanying COPYING-CMAKE-SCRIPTS file.
+
+
+if(GLIB2_INCLUDE_DIR AND GLIB2_LIBRARIES)
+ # Already in cache, be silent
+ set(GLIB2_FIND_QUIETLY TRUE)
+endif(GLIB2_INCLUDE_DIR AND GLIB2_LIBRARIES)
+
+if (NOT WIN32)
+ include(UsePkgConfig)
+ pkgconfig(glib-2.0 _LibGLIB2IncDir _LibGLIB2LinkDir _LibGLIB2LinkFlags \
_LibGLIB2Cflags) +endif(NOT WIN32)
+
+find_path(GLIB2_MAIN_INCLUDE_DIR glib.h
+ PATH_SUFFIXES glib-2.0
+ PATHS ${_LibGLIB2IncDir} )
+
+# search the glibconfig.h include dir under the same root where the library is found
+find_library(GLIB2_LIBRARIES
+ NAMES glib-2.0
+ PATHS ${_LibGLIB2LinkDir} )
+
+get_filename_component(glib2LibDir "${GLIB2_LIBRARIES}" PATH)
+
+find_path(GLIB2_INTERNAL_INCLUDE_DIR glibconfig.h
+ PATH_SUFFIXES glib-2.0/include
+ PATHS ${_LibGLIB2IncDir} "${glib2LibDir}" ${CMAKE_SYSTEM_LIBRARY_PATH})
+
+set(GLIB2_INCLUDE_DIR "${GLIB2_MAIN_INCLUDE_DIR}")
+
+# not sure if this include dir is optional or required
+# for now it is optional
+if(GLIB2_INTERNAL_INCLUDE_DIR)
+ set(GLIB2_INCLUDE_DIR ${GLIB2_INCLUDE_DIR} "${GLIB2_INTERNAL_INCLUDE_DIR}")
+endif(GLIB2_INTERNAL_INCLUDE_DIR)
+
+include(FindPackageHandleStandardArgs)
+find_package_handle_standard_args(GLIB2 DEFAULT_MSG GLIB2_LIBRARIES \
GLIB2_MAIN_INCLUDE_DIR) +
+mark_as_advanced(GLIB2_INCLUDE_DIR GLIB2_LIBRARIES)
diff -rupdN wvware.orig/cmake/FindIconv.cmake wvware.cmake/cmake/FindIconv.cmake
--- wvware.orig/cmake/FindIconv.cmake 1970-01-01 01:00:00.000000000 +0100
+++ wvware.cmake/cmake/FindIconv.cmake 2009-08-09 18:01:18.000000000 +0200
@@ -0,0 +1,57 @@
+# - Try to find Iconv
+# Once done this will define
+#
+# ICONV_FOUND - system has Iconv
+# ICONV_INCLUDE_DIR - the Iconv include directory
+# ICONV_LIBRARIES - Link these to use Iconv
+# ICONV_SECOND_ARGUMENT_IS_CONST - the second argument for iconv() is const
+#
+include(CheckCXXSourceCompiles)
+
+IF (ICONV_INCLUDE_DIR AND ICONV_LIBRARIES)
+ # Already in cache, be silent
+ SET(ICONV_FIND_QUIETLY TRUE)
+ENDIF (ICONV_INCLUDE_DIR AND ICONV_LIBRARIES)
+
+FIND_PATH(ICONV_INCLUDE_DIR iconv.h)
+
+FIND_LIBRARY(ICONV_LIBRARIES NAMES iconv libiconv libiconv-2 c)
+
+IF(ICONV_INCLUDE_DIR AND ICONV_LIBRARIES)
+ SET(ICONV_FOUND TRUE)
+ENDIF(ICONV_INCLUDE_DIR AND ICONV_LIBRARIES)
+
+set(CMAKE_REQUIRED_INCLUDES ${ICONV_INCLUDE_DIR})
+set(CMAKE_REQUIRED_LIBRARIES ${ICONV_LIBRARIES})
+IF(ICONV_FOUND)
+ check_cxx_source_compiles("
+ #include <iconv.h>
+ int main(){
+ iconv_t conv = 0;
+ const char* in = 0;
+ size_t ilen = 0;
+ char* out = 0;
+ size_t olen = 0;
+ iconv(conv, &in, &ilen, &out, &olen);
+ return 0;
+ }
+" ICONV_SECOND_ARGUMENT_IS_CONST )
+ENDIF(ICONV_FOUND)
+set(CMAKE_REQUIRED_INCLUDES)
+set(CMAKE_REQUIRED_LIBRARIES)
+
+IF(ICONV_FOUND)
+ IF(NOT ICONV_FIND_QUIETLY)
+ MESSAGE(STATUS "Found Iconv: ${ICONV_LIBRARIES}")
+ ENDIF(NOT ICONV_FIND_QUIETLY)
+ELSE(ICONV_FOUND)
+ IF(Iconv_FIND_REQUIRED)
+ MESSAGE(FATAL_ERROR "Could not find Iconv")
+ ENDIF(Iconv_FIND_REQUIRED)
+ENDIF(ICONV_FOUND)
+
+MARK_AS_ADVANCED(
+ ICONV_INCLUDE_DIR
+ ICONV_LIBRARIES
+ ICONV_SECOND_ARGUMENT_IS_CONST
+)
diff -rupdN wvware.orig/cmake/FindLIBGSF.cmake wvware.cmake/cmake/FindLIBGSF.cmake
--- wvware.orig/cmake/FindLIBGSF.cmake 1970-01-01 01:00:00.000000000 +0100
+++ wvware.cmake/cmake/FindLIBGSF.cmake 2009-08-09 21:51:29.000000000 +0200
@@ -0,0 +1,57 @@
+# - Try to find libGSF
+#
+# Once done this will define
+#
+# LIBGSF_FOUND - System has LibGSF
+# LIBGSF_INCLUDE_DIR - The LibGSF include directory
+# LIBGSF_LIBRARIES - The libraries needed to use LibGSF
+# LIBGSF_DEFINITIONS - Compiler switches required for using LibGSF
+# LIBGSF_GSF_EXECUTABLE - The archive utility
+# LIBGSF_GSFOFFICETHUMBNAILER_EXECUTABLE - The office files thumbnailer for the \
GNOME desktop +# LIBGSF_GSFVBADUMP_EXECUTABLE - The utility to extract Visual Basic \
for Applications macros +
+# Copyright (c) 2009, Pau Garcia i Quiles <pgquiles@elpauer.org>
+# Based off FindLibXml2.cmake from CMake 2.6.4 by Alexander Neundorf \
<neundorf@kde.org> +#
+# Redistribution and use is allowed according to the terms of the BSD license.
+# For details see the accompanying COPYING-CMAKE-SCRIPTS file.
+
+
+IF (LIBGSF_INCLUDE_DIR AND LIBGSF_LIBRARIES)
+ # in cache already
+ SET(LIBGSF_FIND_QUIETLY TRUE)
+ENDIF (LIBGSF_INCLUDE_DIR AND LIBGSF_LIBRARIES)
+
+IF (NOT WIN32)
+ # use pkg-config to get the directories and then use these values
+ # in the FIND_PATH() and FIND_LIBRARY() calls
+ FIND_PACKAGE(PkgConfig)
+ PKG_CHECK_MODULES(PC_LIBGSF libgsf-1)
+ SET(LIBGSF_DEFINITIONS ${PC_LIBGSF_CFLAGS_OTHER})
+ENDIF (NOT WIN32)
+
+FIND_PATH(LIBGSF_INCLUDE_DIR gsf/gsf.h
+ HINTS
+ ${PC_LIBGSF_INCLUDEDIR}
+ ${PC_LIBGSF_INCLUDE_DIRS}
+ PATH_SUFFIXES libgsf-1
+ )
+
+FIND_LIBRARY(LIBGSF_LIBRARIES NAMES gsf-1 libgsf-1
+ HINTS
+ ${PC_LIBGSF_LIBDIR}
+ ${PC_LIBGSF_LIBRARY_DIRS}
+ )
+
+FIND_PROGRAM(LIBGSF_GSF_EXECUTABLE gsf)
+FIND_PROGRAM(LIBGSF_GSFOFFICETHUMBNAILER_EXECUTABLE gsf-office-thumbnailer)
+FIND_PROGRAM(LIBGSF_GSFVBADUMP_EXECUTABLE gsf-vba-dump)
+
+INCLUDE(FindPackageHandleStandardArgs)
+
+# handle the QUIETLY and REQUIRED arguments and set LIBGSF_FOUND to TRUE if
+# all listed variables are TRUE
+FIND_PACKAGE_HANDLE_STANDARD_ARGS(LIBGSF DEFAULT_MSG LIBGSF_LIBRARIES \
LIBGSF_INCLUDE_DIR) +
+MARK_AS_ADVANCED(LIBGSF_INCLUDE_DIR LIBGSF_LIBRARIES LIBGSF_GSF_EXECUTABLE \
LIBGSF_GSFOFFICETHUMBNAILER_EXECUTABLE LIBGSF_GSFVBADUMP_EXECUTABLE ) +
diff -rupdN wvware.orig/cmake/generate_converter.cmake \
wvware.cmake/cmake/generate_converter.cmake
--- wvware.orig/cmake/generate_converter.cmake 1970-01-01 01:00:00.000000000 +0100
+++ wvware.cmake/cmake/generate_converter.cmake 2009-08-11 16:44:36.000000000 +0200
@@ -0,0 +1,7 @@
+EXECUTE_PROCESS( COMMAND perl converter.pl generator_wword6.htm generator_wword8.htm
+ WORKING_DIRECTORY ${GENERATOR_DIR} )
+
+SET( generated_files convert.cpp convert.h )
+FOREACH( F ${generated_files} )
+ EXECUTE_PROCESS( COMMAND ${CMAKE_COMMAND} -E copy_if_different ${F} ../${F} \
WORKING_DIRECTORY ${GENERATOR_DIR} ) +ENDFOREACH( F )
diff -rupdN wvware.orig/cmake/generate_scanner.cmake \
wvware.cmake/cmake/generate_scanner.cmake
--- wvware.orig/cmake/generate_scanner.cmake 1970-01-01 01:00:00.000000000 +0100
+++ wvware.cmake/cmake/generate_scanner.cmake 2009-08-11 16:47:40.000000000 +0200
@@ -0,0 +1,15 @@
+EXECUTE_PROCESS( COMMAND perl generate.pl generator_wword6.htm Word95
+ WORKING_DIRECTORY ${GENERATOR_DIR} )
+
+EXECUTE_PROCESS( COMMAND perl generate.pl generator_wword8.htm Word97
+ WORKING_DIRECTORY ${GENERATOR_DIR} )
+
+SET( generated_files word95_generated.h word95_generated.cpp word97_generated.h \
word97_generated.cpp ) +FOREACH( F ${generated_files} )
+ EXECUTE_PROCESS( COMMAND ${CMAKE_COMMAND} -E copy_if_different ${F} ../${F} \
WORKING_DIRECTORY ${GENERATOR_DIR} ) +ENDFOREACH( F )
+
+SET( generated_tests word95_test.cpp word97_test.cpp )
+FOREACH( T ${generated_tests} )
+ EXECUTE_PROCESS( COMMAND ${CMAKE_COMMAND} -E copy_if_different ${T} \
../../tests/${T} WORKING_DIRECTORY ${GENERATOR_DIR} ) +ENDFOREACH( T )
diff -rupdN wvware.orig/cmake/MacroCreateLibtoolFile.cmake \
wvware.cmake/cmake/MacroCreateLibtoolFile.cmake
--- wvware.orig/cmake/MacroCreateLibtoolFile.cmake 1970-01-01 01:00:00.000000000 \
+0100
+++ wvware.cmake/cmake/MacroCreateLibtoolFile.cmake 2009-08-12 19:19:49.000000000 \
+0200 @@ -0,0 +1,53 @@
+# MacroCreateLibtoolFile.cmake
+# http://www.cmake.org/Wiki/CMakeMacroLibtoolFile
+
+MACRO(GET_TARGET_PROPERTY_WITH_DEFAULT _variable _target _property _default_value)
+ GET_TARGET_PROPERTY (${_variable} ${_target} ${_property})
+ IF (${_variable} MATCHES NOTFOUND)
+ SET (${_variable} ${_default_value})
+ ENDIF (${_variable} MATCHES NOTFOUND)
+ENDMACRO (GET_TARGET_PROPERTY_WITH_DEFAULT)
+
+MACRO(CREATE_LIBTOOL_FILE _target _install_DIR)
+ GET_TARGET_PROPERTY(_target_location ${_target} LOCATION)
+ GET_TARGET_PROPERTY_WITH_DEFAULT(_target_static_lib ${_target} STATIC_LIB "")
+ GET_TARGET_PROPERTY_WITH_DEFAULT(_target_dependency_libs ${_target} \
LT_DEPENDENCY_LIBS "") + GET_TARGET_PROPERTY_WITH_DEFAULT(_target_current ${_target} \
LT_VERSION_CURRENT 0) + GET_TARGET_PROPERTY_WITH_DEFAULT(_target_age ${_target} \
LT_VERSION_AGE 0) + GET_TARGET_PROPERTY_WITH_DEFAULT(_target_revision ${_target} \
LT_VERSION_REVISION 0) + GET_TARGET_PROPERTY_WITH_DEFAULT(_target_installed \
${_target} LT_INSTALLED yes) + \
GET_TARGET_PROPERTY_WITH_DEFAULT(_target_shouldnotlink ${_target} LT_SHOULDNOTLINK \
yes) + GET_TARGET_PROPERTY_WITH_DEFAULT(_target_dlopen ${_target} LT_DLOPEN "")
+ GET_TARGET_PROPERTY_WITH_DEFAULT(_target_dlpreopen ${_target} LT_DLPREOPEN "")
+ GET_FILENAME_COMPONENT(_laname ${_target_location} NAME_WE)
+ GET_FILENAME_COMPONENT(_soname ${_target_location} NAME)
+ SET(_laname ${PROJECT_BINARY_DIR}/${_laname}.la)
+ FILE(WRITE ${_laname} "# ${_laname} - a libtool library file\n")
+ FILE(WRITE ${_laname} "# Generated by CMake ${CMAKE_VERSION} (like GNU \
libtool)\n") + FILE(WRITE ${_laname} "\n# Please DO NOT delete this file!\n# It is \
necessary for linking the library with libtool.\n\n" ) + FILE(APPEND ${_laname} "# \
The name that we can dlopen(3).\n") + FILE(APPEND ${_laname} \
"dlname='${_soname}'\n\n") + FILE(APPEND ${_laname} "# Names of this library.\n")
+ FILE(APPEND ${_laname} \
"library_names='${_soname}.${_target_current}.${_target_age}.${_target_revision} \
${_soname}.${_target_current} ${_soname}'\n\n") + FILE(APPEND ${_laname} "# The name \
of the static archive.\n") + FILE(APPEND ${_laname} \
"old_library='${_target_static_lib}'\n\n") + FILE(APPEND ${_laname} "# Libraries \
that this one depends upon.\n") + FILE(APPEND ${_laname} \
"dependency_libs='${_target_dependency_libs}'\n\n") + FILE(APPEND ${_laname} "# \
Names of additional weak libraries provided by this library\n") + FILE(APPEND \
${_laname} "weak_library_names=''\n\n") + FILE(APPEND ${_laname} "# Version \
information for ${_laname}.\n") + FILE(APPEND ${_laname} \
"current=${_target_current}\n") + FILE(APPEND ${_laname} "age=${_target_age}\n")
+ FILE(APPEND ${_laname} "revision=${_target_revision}\n\n")
+ FILE(APPEND ${_laname} "# Is this an already installed library?\n")
+ FILE(APPEND ${_laname} "installed=${_target_installed}\n\n")
+ FILE(APPEND ${_laname} "# Should we warn about portability when linking against \
-modules?\n") + FILE(APPEND ${_laname} "shouldnotlink=${_target_shouldnotlink}\n\n")
+ FILE(APPEND ${_laname} "# Files to dlopen/dlpreopen\n")
+ FILE(APPEND ${_laname} "dlopen='${_target_dlopen}'\n")
+ FILE(APPEND ${_laname} "dlpreopen='${_target_dlpreopen}'\n\n")
+ FILE(APPEND ${_laname} "# Directory that this library needs to be installed \
in:\n") + FILE(APPEND ${_laname} \
"libdir='${CMAKE_INSTALL_PREFIX}${_install_DIR}'\n") +# INSTALL( FILES ${_laname} \
${_soname} DESTINATION ${CMAKE_INSTALL_PREFIX}${_install_DIR}) + INSTALL( FILES \
${_laname} DESTINATION ${CMAKE_INSTALL_PREFIX}${_install_DIR}) \
+ENDMACRO(CREATE_LIBTOOL_FILE)
diff -rupdN wvware.orig/cmake/TestModernIconv.c wvware.cmake/cmake/TestModernIconv.c
--- wvware.orig/cmake/TestModernIconv.c 1970-01-01 01:00:00.000000000 +0100
+++ wvware.cmake/cmake/TestModernIconv.c 2009-08-10 20:13:50.000000000 +0200
@@ -0,0 +1,41 @@
+#ifdef HAVE_ICONV_H
+#include <iconv.h>
+#endif
+#ifdef HAVE_SYS_ICONV_H
+#include <sys/iconv.h>
+#endif
+#include <stdlib.h>
+
+int check( const char* from, const char* to )
+{
+ iconv_t myConverter = iconv_open( to, from );
+
+ if ( myConverter != (iconv_t)-1 ) {
+ iconv_close( myConverter );
+ return 0;
+ }
+ else
+ return 1;
+}
+
+int main(int argc, char** argv)
+{
+ const char* from[] = { "CP874", "CP932", "CP936", "CP949",
+ "CP950", "CP1250", "CP1251", "CP1252",
+ "CP1253", "CP1254", "CP1255", "CP1256",
+ "CP1257", "koi8-r", 0 };
+ const char* to[] = { "UNICODELITTLE", "UNICODEBIG", 0 };
+ int fromIndex = 0;
+ int toIndex = 0;
+
+ while ( to[ toIndex ] != 0 ) {
+ while( from[ fromIndex ] != 0 ) {
+ if ( check( from[ fromIndex ], to[ toIndex ] ) != 0 )
+ exit( 1 );
+ fromIndex = fromIndex + 1;
+ }
+ toIndex = toIndex + 1;
+ fromIndex = 0;
+ }
+ exit( 0 );
+}
diff -rupdN wvware.orig/cmake/TestModernZlib.c wvware.cmake/cmake/TestModernZlib.c
--- wvware.orig/cmake/TestModernZlib.c 1970-01-01 01:00:00.000000000 +0100
+++ wvware.cmake/cmake/TestModernZlib.c 2009-08-10 20:44:23.000000000 +0200
@@ -0,0 +1,24 @@
+#include <string.h>
+#include <zlib.h>
+
+int version[3] = {0,0,0};
+
+static void decode(char *str)
+{
+ int n;
+ for (n = 0; n < 3 && str; n++) {
+ char *pnt = strchr(str, '.');
+ if (pnt) *pnt++ = '\0';
+ version[n] = atoi(str);
+ str = pnt;
+ }
+}
+
+int main(void) {
+ decode(strdup(zlibVersion()));
+ return
+ (version[0] < 1 ||
+ (version[0] == 1 &&
+ (version[1] < 1 ||
+ (version[1] == 1 && version[2] < 4))));
+}
diff -rupdN wvware.orig/CMakeLists.txt wvware.cmake/CMakeLists.txt
--- wvware.orig/CMakeLists.txt 1970-01-01 01:00:00.000000000 +0100
+++ wvware.cmake/CMakeLists.txt 2009-08-13 00:03:16.000000000 +0200
@@ -0,0 +1,199 @@
+PROJECT( wvWare )
+
+cmake_minimum_required(VERSION 2.6)
+
+# wv2 versioning
+SET( WV2_MAJOR_VERSION 0 )
+SET( WV2_MINOR_VERSION 3 )
+SET( WV2_MICRO_VERSION 1 )
+SET( WV2_VERSION ${WV2_MAJOR_VERSION}.${WV2_MINOR_VERSION}.${WV2_MICRO_VERSION} )
+
+# libtool versioning
+SET( LT_VERSION_CURRENT 2 )
+SET( LT_VERSION_REVISION 1 )
+SET( LT_VERSION_AGE 0 )
+
+# For automake. Is this required in CMake? (I don't think so)
+SET( VERSION ${WV2_VERSION} )
+SET( PACKAGE wv2 )
+
+SET( CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} ${wvWare_SOURCE_DIR}/cmake )
+
+FIND_PACKAGE( GLIB2 REQUIRED )
+
+FIND_PACKAGE( LIBGSF REQUIRED )
+
+FIND_PACKAGE( Iconv REQUIRED )
+IF( ICONV_FOUND )
+ SET( HAVE_ICONV_H 1 )
+ SET( ICONV_REQUIRES_CONST ${ICONV_SECOND_ARGUMENT_IS_CONST} )
+ENDIF( ICONV_FOUND )
+
+OPTION( WITHOUT_ZLIB "Build wv2 without zlib (without compression features)" OFF )
+IF( NOT WITHOUT_ZLIB )
+ FIND_PACKAGE( ZLIB REQUIRED )
+ENDIF( NOT WITHOUT_ZLIB )
+
+INCLUDE_DIRECTORIES( ${GLIB2_INCLUDE_DIR} ${LIBGSF_INCLUDE_DIR} ${ICONV_INCLUDE_DIR} \
${ZLIB_INCLUDE_DIR} ) +
+#
+# Iconv checks
+#
+
+INCLUDE( CheckIncludeFile )
+
+CHECK_INCLUDE_FILE( sys/iconv.h HAVE_SYS_ICONV_H )
+
+# Add "COMPILE_DEFINITIONS definitions" to TRY_RUN only if we have compile \
definitions +
+# Make sure ICONV_COMPILE_DEFINITIONS will never be empty (in case we define neither \
HAVE_ICONV_H nor HAVE_SYS_ICONV_H), +# otherwise TRY_RUN will fail due to \
COMPILE_DEFINITIONS being followed by nothing +
+SET( ICONV_COMPILE_DEFINITIONS "-DBLAH" )
+
+IF( HAVE_ICONV_H )
+ SET( ICONV_COMPILE_DEFINITIONS ${ICONV_COMPILE_DEFINITIONS} "-DHAVE_ICONV_H" )
+ENDIF( HAVE_ICONV_H )
+
+IF( HAVE_SYS_ICONV_H )
+ SET( ICONV_COMPILE_DEFINITIONS ${ICONV_COMPILE_DEFINITIONS} "-DHAVE_SYS_ICONV_H" )
+ENDIF( HAVE_SYS_ICONV_H )
+
+TRY_RUN( MODERN_ICONV_RUN MODERN_ICONV_COMPILE ${wvWare_BINARY_DIR}/CMakeTmp \
${wvWare_SOURCE_DIR}/cmake/TestModernIconv.c COMPILE_DEFINITIONS \
${ICONV_COMPILE_DEFINITIONS} ) +
+IF( MODERN_ICONV_RUN GREATER 0 OR NOT MODERN_ICONV_COMPILE )
+ MESSAGE( STATUS "wv2 depends on a modern iconv installation, supporting \
UNICODELITTLE and" ) + MESSAGE( STATUS "UNICODEBIG. The detected iconv version \
doesn't support these conversions." ) + MESSAGE( STATUS "" )
+ MESSAGE( STATUS "Please get a new libiconv from \
http://www.gnu.org/software/libiconv/" ) + MESSAGE( STATUS "You might want to \
install the library to some alternative directory, in" ) + MESSAGE( STATUS "order \
not to overwrite your current installation. Please use the options" ) + MESSAGE( \
STATUS "-DICONV_INCLUDE_DIR=DIR and -DICONV_LIBRARIES=DIR to specify the location." ) \
+ MESSAGE( STATUS "" ) + MESSAGE( FATAL_ERROR "* * * No iconv support - unable to \
continue. * * *" ) +ENDIF( MODERN_ICONV_RUN GREATER 0 OR NOT MODERN_ICONV_COMPILE )
+
+#
+# Various checks
+#
+
+INCLUDE( TestBigEndian )
+TEST_BIG_ENDIAN( WORDS_BIGENDIAN )
+
+CHECK_INCLUDE_FILE( dlfcn.h HAVE_DLFCN_H )
+CHECK_INCLUDE_FILE( strings.h HAVE_STRINGS_H )
+CHECK_INCLUDE_FILE( string.h HAVE_STRING_H )
+CHECK_INCLUDE_FILE( math.h HAVE_MATH_H )
+CHECK_INCLUDE_FILE( float.h HAVE_FLOAT_H )
+CHECK_INCLUDE_FILE( ieeefp.h HAVE_IEEEFP_H )
+CHECK_INCLUDE_FILE( errno.h HAVE_ERRNO_H )
+CHECK_INCLUDE_FILE( inttypes.h HAVE_INTTYPES_H )
+CHECK_INCLUDE_FILE( memory.h HAVE_MEMORY_H )
+CHECK_INCLUDE_FILE( stdlib.h HAVE_STDLIB_H )
+CHECK_INCLUDE_FILE( unistd.h HAVE_UNISTD_H )
+CHECK_INCLUDE_FILE( stdint.h HAVE_STDINT_H ) # Not really needed because \
CHECK_TYPE_SIZE already performs this test +CHECK_INCLUDE_FILE( stdint.h \
HAVE_STDINT_H ) # Not really needed because CHECK_TYPE_SIZE already performs this \
test +CHECK_INCLUDE_FILE( sys/types.h HAVE_SYS_TYPES_H ) # Not really needed because \
CHECK_TYPE_SIZE already performs this test +CHECK_INCLUDE_FILE( sys/stat.h \
HAVE_SYS_STAT_H ) +
+INCLUDE( CheckTypeSize )
+CHECK_TYPE_SIZE( char SIZEOF_CHAR )
+CHECK_TYPE_SIZE( short SIZEOF_SHORT )
+CHECK_TYPE_SIZE( long SIZEOF_LONG )
+CHECK_TYPE_SIZE( int SIZEOF_INT )
+CHECK_TYPE_SIZE( "void *" SIZEOF_VOID_P )
+
+INCLUDE( CheckFunctionExists )
+IF( NOT MSVC )
+ # libm does not exist on MSVC
+ SET( CMAKE_REQUIRED_LIBRARIES m )
+ SET( CMAKE_REQUIRED_INCLUDES math.h )
+ENDIF( NOT MSVC )
+
+CHECK_FUNCTION_EXISTS( isinf HAVE_FUNC_ISINF )
+CHECK_FUNCTION_EXISTS( isnan HAVE_FUNC_ISNAN )
+CHECK_FUNCTION_EXISTS( finite HAVE_FUNC_FINITE )
+CHECK_FUNCTION_EXISTS( _finite HAVE_FUNC__FINITE )
+
+#
+# Check zlib is modern enough
+#
+
+SET( NEON_ZLIB 0 ) # By default, we are not modern enough
+SET( CMAKE_REQUIRED_LIBRARIES ${ZLIB_LIBRARIES} )
+SET( CMAKE_REQUIRED_INCLUDES zlib.h )
+
+CHECK_FUNCTION_EXISTS( inflate ZLIB_HAS_INFLATE )
+
+IF( ZLIB_HAS_INFLATE )
+ TRY_RUN( MODERN_ZLIB_RUN MODERN_ZLIB_COMPILE ${wvWare_BINARY_DIR}/CMakeTmp \
${wvWare_SOURCE_DIR}/cmake/TestModernZlib.c ) +ENDIF( ZLIB_HAS_INFLATE )
+
+IF( MODERN_ZLIB_RUN GREATER 0 AND NOT WITHOUT_ZLIB )
+ MESSAGE( FATAL_ERROR "Your version of zlib is too old for wv2" )
+ENDIF( MODERN_ZLIB_RUN GREATER 0 AND NOT WITHOUT_ZLIB )
+
+#
+# Set cflags and ldflags
+#
+
+IF( ZLIB_FOUND )
+ SET( _WV2_LDFLAGS ${_WV2_LDFLAGS} ${ZLIB_LIBRARIES} )
+ SET( _WV2_CFLAGS ${_WV2_CFLAGS} ${ZLIB_INCLUDE_DIR} )
+ENDIF( ZLIB_FOUND )
+
+IF( LIBGSF_FOUND )
+ SET( _WV2_LDFLAGS ${_WV2_LDFLAGS} ${LIBGSF_LIBRARIES} )
+ SET( _WV2_CFLAGS ${_WV2_CFLAGS} ${LIBGSF_INCLUDE_DIR} )
+ENDIF( LIBGSF_FOUND )
+
+IF( ICONV_FOUND )
+ SET( _WV2_LDFLAGS ${_WV2_LDFLAGS} ${ICONV_LIBRARIES} )
+ SET( _WV2_CFLAGS ${_WV2_CFLAGS} ${ICONV_INCLUDE_DIR} )
+ENDIF( ICONV_FOUND )
+
+IF( GLIB2_FOUND )
+ SET( _WV2_LDFLAGS ${_WV2_LDFLAGS} ${GLIB2_LIBRARIES} )
+ SET( _WV2_CFLAGS ${_WV2_CFLAGS} ${GLIB2_INCLUDE_DIR} )
+ENDIF( GLIB2_FOUND )
+
+#
+# Clean and prepare
+#
+LIST( REMOVE_DUPLICATES _WV2_LDFLAGS )
+LIST( REMOVE_DUPLICATES _WV2_CFLAGS )
+
+FOREACH( _lib ${_WV2_LDFLAGS} )
+ # Remove path to the library and suffixes. Transformation example: libglib-2.0.so \
=> glib-2.0 + STRING( REGEX REPLACE "[\\\\ \
_\\/\\.a-zA-Z0-9\\-]*\\/lib([_\\.a-zA-Z0-9\\-]*)\\.[_a-zA-Z0-9\\-\\.]*" \\1 \
_lib_no_path ${_lib} ) + SET( WV2_LDFLAGS "${WV2_LDFLAGS} \
${CMAKE_LINK_LIBRARY_FLAG}${_lib_no_path}" ) +ENDFOREACH( _lib )
+
+FOREACH( _inc ${_WV2_CFLAGS} )
+ SET( WV2_CFLAGS "${WV2_CFLAGS} -I${_inc}" )
+ENDFOREACH( _inc )
+
+# Generate configuration files
+CONFIGURE_FILE( config.h.cmake ${wvWare_BINARY_DIR}/config.h )
+CONFIGURE_FILE( wv2-config.cmake ${wvWare_BINARY_DIR}/wv2-config @ONLY )
+
+# Source directories
+ADD_SUBDIRECTORY( src )
+ADD_SUBDIRECTORY( src/generator )
+ADD_SUBDIRECTORY( tests )
+
+# Installation (more in src/CMakeLists.txt)
+
+INSTALL( FILES ${wvWare_BINARY_DIR}/wv2-config
+ DESTINATION bin
+ PERMISSIONS OWNER_READ OWNER_WRITE OWNER_EXECUTE GROUP_READ GROUP_EXECUTE \
WORLD_READ WORLD_EXECUTE + )
+
+# "make dist"
+
+SET(ARCHIVE_NAME ${PACKAGE}-${WV2_VERSION})
+ADD_CUSTOM_TARGET(dist
+ COMMAND svn export ${wvWare_SOURCE_DIR} ${wvWare_BINARY_DIR}/${ARCHIVE_NAME}
+ COMMAND tar -C ${wvWare_BINARY_DIR} -c -v -z -f ${ARCHIVE_NAME}.tar.gz \
${ARCHIVE_NAME} + COMMAND ${CMAKE_COMMAND} -E remove_directory \
${wvWare_BINARY_DIR}/${ARCHIVE_NAME} + WORKING_DIRECTORY ${CMAKE_BINARY_DIR})
diff -rupdN wvware.orig/config.h.cmake wvware.cmake/config.h.cmake
--- wvware.orig/config.h.cmake 1970-01-01 01:00:00.000000000 +0100
+++ wvware.cmake/config.h.cmake 2009-08-09 22:12:29.000000000 +0200
@@ -0,0 +1,113 @@
+/* config.h Generated from config.h.cmake by CMake */
+
+#ifndef LIBWV2_CONFIG_H
+#define LIBWV2_CONFIG_H
+
+/* Define to 1 if you have the <dlfcn.h> header file. */
+#cmakedefine HAVE_DLFCN_H 1
+
+/* Define to 1 if you have the <errno.h> header file. */
+#cmakedefine HAVE_ERRNO_H
+
+/* Define to 1 if you have the <float.h> header file. */
+#cmakedefine HAVE_FLOAT_H 1
+
+/* Define if you have finite */
+#cmakedefine HAVE_FUNC_FINITE
+
+/* Define if you have isinf */
+#cmakedefine HAVE_FUNC_ISINF
+
+/* Define if you have isnan */
+#cmakedefine HAVE_FUNC_ISNAN
+
+/* Define if you have _finite */
+#cmakedefine HAVE_FUNC__FINITE
+
+/* Define to 1 if you have the <iconv.h> header file. */
+#cmakedefine HAVE_ICONV_H 1
+
+/* Define to 1 if you have the <ieeefp.h> header file. */
+#cmakedefine HAVE_IEEEFP_H 1
+
+/* Define to 1 if you have the <inttypes.h> header file. */
+#cmakedefine HAVE_INTTYPES_H 1
+
+/* Define to 1 if you have the <math.h> header file. */
+#cmakedefine HAVE_MATH_H 1
+
+/* Define to 1 if you have the <memory.h> header file. */
+#cmakedefine HAVE_MEMORY_H 1
+
+/* Define to 1 if you have the <stdint.h> header file. */
+#cmakedefine HAVE_STDINT_H 1
+
+/* Define to 1 if you have the <stdlib.h> header file. */
+#cmakedefine HAVE_STDLIB_H 1
+
+/* Define to 1 if you have the <strings.h> header file. */
+#cmakedefine HAVE_STRINGS_H 1
+
+/* Define to 1 if you have the <string.h> header file. */
+#cmakedefine HAVE_STRING_H 1
+
+/* Define to 1 if you have the <sys/iconv.h> header file. */
+#cmakedefine HAVE_SYS_ICONV_H 1
+
+/* Define to 1 if you have the <sys/stat.h> header file. */
+#cmakedefine HAVE_SYS_STAT_H 1
+
+/* Define to 1 if you have the <sys/types.h> header file. */
+#cmakedefine HAVE_SYS_TYPES_H 1
+
+/* Define to 1 if you have the <unistd.h> header file. */
+#cmakedefine HAVE_UNISTD_H 1
+
+/* Define to 1 if iconv requires const var in argument 2 */
+#cmakedefine ICONV_REQUIRES_CONST 1
+
+/* Define to the sub-directory in which libtool stores uninstalled libraries.
+ */
+#undef LT_OBJDIR
+
+/* Define to the address where bug reports for this package should be sent. */
+#undef PACKAGE_BUGREPORT
+
+/* Define to the full name of this package. */
+#undef PACKAGE_NAME
+
+/* Define to the full name and version of this package. */
+#undef PACKAGE_STRING
+
+/* Define to the one symbol short name of this package. */
+#undef PACKAGE_TARNAME
+
+/* Define to the version of this package. */
+#undef PACKAGE_VERSION
+
+/* The size of `char', as computed by sizeof. */
+#cmakedefine SIZEOF_CHAR @SIZEOF_CHAR@
+
+/* The size of `int', as computed by sizeof. */
+#cmakedefine SIZEOF_INT @SIZEOF_INT@
+
+/* The size of `long', as computed by sizeof. */
+#cmakedefine SIZEOF_LONG @SIZEOF_LONG@
+
+/* The size of `short', as computed by sizeof. */
+#cmakedefine SIZEOF_SHORT @SIZEOF_SHORT@
+
+/* The size of `void *', as computed by sizeof. */
+#cmakedefine SIZEOF_VOID_P @SIZEOF_VOID_P@
+
+/* Define WORDS_BIGENDIAN to 1 if your processor stores words with the most
+ significant byte first (like Motorola and SPARC, unlike Intel). */
+#cmakedefine WORDS_BIGENDIAN 1
+
+#ifdef ICONV_REQUIRES_CONST
+#define ICONV_CONST const
+#else
+#define ICONV_CONST
+#endif
+
+#endif /* ! LIBWV2_CONFIG_H */
diff -rupdN wvware.orig/INSTALL.cmake wvware.cmake/INSTALL.cmake
--- wvware.orig/INSTALL.cmake 1970-01-01 01:00:00.000000000 +0100
+++ wvware.cmake/INSTALL.cmake 2009-08-13 00:09:47.000000000 +0200
@@ -0,0 +1,112 @@
+Basic installation instructions
+===============================
+
+These are instructions to build wv2 with the CMake build system on any
+platform, including cross-compilation. If you are intested in building
+wv2 with autotools, please read INSTALL instead.
+
+
+Configuring and building
+========================
+
+1. Download CMake from http://www.cmake.org or install it by other means (apt,
+ yum, zypper, the KDE on Windows installer, etc)
+
+2. The following third party dependencies must be available:
+
+ * GNOME Structured File Library
+ http://ftp.gnome.org/pub/gnome/sources/libgsf/
+
+ * glib 2.0
+ http://www.gtk.org
+
+ * iconv
+ http://www.gnu.org/software/libiconv/
+
+ * zlib
+ http://www.zlib.net/
+
+ By default, Zlib is also required, although it is possible to build wv2
+ without zlib by using setting the WITHOUT_ZLIB CMake option to ON.
+
+3. Open the CMake GUI and select the source directory (where the CMakeLists.txt
+ file is) and the build directory (where you want to build wv2).
+
+ Building in the source directory (i.e. build directory = source directory )
+ is possible but ill-advised.
+
+ If you want to build without zlib, change the value of WITHOUT_ZLIB to ON.
+
+4. Click the 'Configure' button.
+
+ If the build directory does not exist, CMake will ask for your permission to
+ create it.
+
+5. CMake will also ask you what build system you want to build with, i. e. Unix
+ makefiles, Visual Studio solutions, Eclipse project, Borland makefiles, etc.
+ Depending on what platform you are, you will be offered different build
+ systems (known as "generators" in CMake slang).
+
+6. CMake will now look for the third party dependencies.
+
+ On Linux/Unix (including Mac), if third party libraries were installed in
+ the default locations they will be found automatically.
+
+ On Windows, if you are cross-compiling or if third party libraries are
+ installed to non-default locations, you will need to browse for the
+ libraries (on windows, the .lib files) and include directories. Make
+ sure CMake GUI is in the "Advanced view" mode or you may not see all
+ missing dependencies.
+
+7. Once you are done with dependencies, click the 'Generate' button
+
+8. An appropriate build system will be available in your build directory.
+ Use it with your toolchain, i.e.
+ - Go to the build directory and invoke "make" or "nmake", if using makefiles
+ - Open the Visual Studio solution, if using Visual C++
+ - Open the Eclipse project if using Eclipse
+ etc
+
+Alternatively to steps 3-7, you may invoke CMake from the command line:
+ $ cmake /path/to/wv2/sources
+ or, to build without zlib:
+ $ cmake -DWITHOUT_ZLIB=ON
+
+
+Building the tests
+==================
+
+By default, only the wv2 library will be built. If you want to compile the tests,
+build the "test" target ("make test").
+
+
+Installing
+==========
+
+Build the "install" target ("make install").
+
+On Linux/Unix, the default installation prefix is /usr/local. On Windows, the
+default installation prefix is C:\Program Files. To change this, modify the
+value of the CMAKE_INSTALL_PREFIX variable in the CMake GUI.
+
+You can also install to a different location by using the DESTDIR environment
+variable ("make install DESTDIR=/opt/mine/wv2") but then wv2-config will
+report wrong paths.
+
+
+Regenerating the scanner and converter code
+===========================================
+
+Build the 'scanner' and 'converter' targets. The 'generated' target is provided
+as a convenience and will build both 'scanner' and 'converter'.
+
+Please note the generated sources are currently generated in the SOURCE
+directory, not in the build directory.
+
+
+Generating a distributable source package
+=========================================
+
+Use "make dist" to create a tarball from a Subversion working tree. In the future,
+other options (NSIS installer for Windows, .dmg for Mac, Debian and RPM packages
+for Linux, etc) may be available.
diff -rupdN wvware.orig/src/CMakeLists.txt wvware.cmake/src/CMakeLists.txt
--- wvware.orig/src/CMakeLists.txt 1970-01-01 01:00:00.000000000 +0100
+++ wvware.cmake/src/CMakeLists.txt 2009-08-12 21:03:12.000000000 +0200
@@ -0,0 +1,107 @@
+INCLUDE_DIRECTORIES( ${CMAKE_CURRENT_SOURCE_DIR} ${wvWare_BINARY_DIR} )
+
+# I'd say the 'if' is unneeded because we always CONFIGURE_FILE
+IF( EXISTS ${wvWare_BINARY_DIR}/config.h )
+ ADD_DEFINITIONS( -DHAVE_CONFIG_H )
+ENDIF( EXISTS ${wvWare_BINARY_DIR}/config.h )
+
+SET( wv2_SOURCES
+ olestorage.cpp
+ olestream.cpp
+ word97_generated.cpp
+ word97_helper.cpp
+ word95_helper.cpp
+ word_helper.cpp
+ word95_generated.cpp
+ convert.cpp
+ global.cpp
+ parser.cpp
+ parser9x.cpp
+ parser95.cpp
+ parser97.cpp
+ parserfactory.cpp
+ ustring.cpp
+ textconverter.cpp
+ styles.cpp
+ handlers.cpp
+ properties97.cpp
+ fonts.cpp
+ lists.cpp
+ paragraphproperties.cpp
+ headers.cpp
+ headers95.cpp
+ headers97.cpp
+ footnotes97.cpp
+ functor.cpp
+ functordata.cpp
+ associatedstrings.cpp
+ fields.cpp
+ utilities.cpp
+ crc32.c
+ wvlog.cpp
+ graphics.cpp
+ wv2version.cpp
+ zcodec.cxx
+ )
+
+SET( wv2_HEADERS
+ olestorage.h
+ olestream.h
+ word95_generated.h
+ word97_generated.h
+ word_helper.h
+ parser.h
+ parserfactory.h
+ ustring.h
+ textconverter.h
+ styles.h
+ sharedptr.h
+ convert.h
+ global.h
+ handlers.h
+ fonts.h
+ lists.h
+ utilities.h
+ paragraphproperties.h
+ functor.h
+ functordata.h
+ associatedstrings.h
+ fields.h
+ dllmagic.h
+ wvlog.h
+ wv2version.h
+ zcodec.hxx
+ )
+
+ADD_LIBRARY( wv2 SHARED ${wv2_SOURCES} ${wv2_HEADERS} )
+TARGET_LINK_LIBRARIES( wv2 ${ZLIB_LIBRARIES} ${LIBGSF_LIBRARIES} ${ICONV_LIBRARIES} \
${GLIB2_LIBRARIES} ) +SET_TARGET_PROPERTIES( wv2 PROPERTIES
+ SOVERSION ${LT_VERSION_CURRENT}
+ VERSION ${LT_VERSION_CURRENT}.${LT_VERSION_AGE}.${LT_VERSION_REVISION}
+ LT_VERSION_CURRENT ${LT_VERSION_CURRENT}
+ LT_VERSION_AGE ${LT_VERSION_AGE}
+ LT_VERSION_REVISION ${LT_VERSION_REVISION}
+ LT_DEPENDENCY_LIBS ${WV2_LDFLAGS}
+ )
+IF( WIN32 )
+ SET_TARGET_PROPERTIES( wv2 PROPERTIES DEFINE_SYMBOL WV2_DLL )
+ENDIF( WIN32 )
+
+INSTALL( TARGETS wv2
+ EXPORT wvWare
+ RUNTIME DESTINATION bin
+ LIBRARY DESTINATION lib
+ ARCHIVE DESTINATION lib/static
+)
+
+INSTALL( EXPORT wvWare DESTINATION lib/wvWare FILE wv2.cmake )
+
+INSTALL( FILES ${wv2_HEADERS}
+ DESTINATION include/wv2
+)
+
+# libtool files are useless for Visual C++ and Borland C++
+IF( NOT MSVC AND NOT BORLAND )
+ INCLUDE( ${wvWare_SOURCE_DIR}/cmake/MacroCreateLibtoolFile.cmake )
+ CREATE_LIBTOOL_FILE( wv2 /lib )
+ENDIF( NOT MSVC AND NOT BORLAND )
diff -rupdN wvware.orig/src/generator/CMakeLists.txt \
wvware.cmake/src/generator/CMakeLists.txt
--- wvware.orig/src/generator/CMakeLists.txt 1970-01-01 01:00:00.000000000 +0100
+++ wvware.cmake/src/generator/CMakeLists.txt 2009-08-11 16:56:32.000000000 +0200
@@ -0,0 +1,20 @@
+# The generated files will be in the source directory ( src )
+# IMHO polluting the source directory is a bad idea UNLESS the only
+# point of the "make generated" target is to create word9{5,7}_generated.{h,cpp}
+# for "make dist" (i. e. for a tarball)
+# - Pau
+
+ADD_CUSTOM_TARGET( scanner
+ ${CMAKE_COMMAND}
+ -DGENERATOR_DIR:PATH=${wvWare_SOURCE_DIR}/src/generator
+ -P ${wvWare_SOURCE_DIR}/cmake/generate_scanner.cmake
+ )
+
+ADD_CUSTOM_TARGET( converter
+ ${CMAKE_COMMAND}
+ -DGENERATOR_DIR:PATH=${wvWare_SOURCE_DIR}/src/generator
+ -P ${wvWare_SOURCE_DIR}/cmake/generate_converter.cmake
+ )
+
+
+ADD_CUSTOM_TARGET( generated DEPENDS scanner converter )
diff -rupdN wvware.orig/tests/CMakeLists.txt wvware.cmake/tests/CMakeLists.txt
--- wvware.orig/tests/CMakeLists.txt 1970-01-01 01:00:00.000000000 +0100
+++ wvware.cmake/tests/CMakeLists.txt 2009-08-11 12:58:46.000000000 +0200
@@ -0,0 +1,48 @@
+IF( EXISTS ${wvWare_BINARY_DIR}/config.h )
+ ADD_DEFINITIONS( -DHAVE_CONFIG_H )
+ENDIF( EXISTS ${wvWare_BINARY_DIR}/config.h )
+
+INCLUDE_DIRECTORIES( ${wvWare_BINARY_DIR} ${wvWare_SOURCE_DIR}/src \
${CMAKE_CURRENT_SOURCE_DIR} ) +
+SET( oletest_SOURCES oletest.cpp )
+ADD_EXECUTABLE( oletest EXCLUDE_FROM_ALL ${oletest_SOURCES} )
+TARGET_LINK_LIBRARIES( oletest wv2 ${LIBGSF_LIBRARIES} )
+
+SET( word97_test_SOURCES word97_test.cpp )
+ADD_EXECUTABLE( word97_test EXCLUDE_FROM_ALL ${word97_test_SOURCES} )
+TARGET_LINK_LIBRARIES( word97_test wv2 ${LIBGSF_LIBRARIES} )
+
+SET( word95_test_SOURCES word95_test.cpp )
+ADD_EXECUTABLE( word95_test EXCLUDE_FROM_ALL ${word95_test_SOURCES} )
+TARGET_LINK_LIBRARIES( word95_test wv2 ${LIBGSF_LIBRARIES} )
+
+SET( iconvtest_SOURCES iconvtest.cpp )
+ADD_EXECUTABLE( iconvtest EXCLUDE_FROM_ALL ${iconvtest_SOURCES} )
+TARGET_LINK_LIBRARIES( iconvtest wv2 ${LIBGSF_LIBRARIES} )
+
+SET( parsertest_SOURCES parsertest.cpp )
+ADD_EXECUTABLE( parsertest EXCLUDE_FROM_ALL ${parsertest_SOURCES} )
+TARGET_LINK_LIBRARIES( parsertest wv2 ${LIBGSF_LIBRARIES} )
+
+SET( parsertest_mem_SOURCES parsertest_mem.cpp )
+ADD_EXECUTABLE( parsertest_mem EXCLUDE_FROM_ALL ${parsertest_mem_SOURCES} )
+TARGET_LINK_LIBRARIES( parsertest_mem wv2 ${LIBGSF_LIBRARIES} )
+
+SET( helpertest_SOURCES helpertest.cpp )
+ADD_EXECUTABLE( helpertest EXCLUDE_FROM_ALL ${helpertest_SOURCES} )
+TARGET_LINK_LIBRARIES( helpertest wv2 ${LIBGSF_LIBRARIES} )
+
+SET( ustringtest_SOURCES ustringtest.cpp )
+ADD_EXECUTABLE( ustringtest EXCLUDE_FROM_ALL ${ustringtest_SOURCES} )
+TARGET_LINK_LIBRARIES( ustringtest wv2 ${LIBGSF_LIBRARIES} )
+
+SET( sharedptrtest_SOURCES sharedptrtest.cpp )
+ADD_EXECUTABLE( sharedptrtest EXCLUDE_FROM_ALL ${sharedptrtest_SOURCES} )
+TARGET_LINK_LIBRARIES( sharedptrtest wv2 ${LIBGSF_LIBRARIES} )
+
+SET( handlertest_SOURCES handlertest.cpp )
+ADD_EXECUTABLE( handlertest EXCLUDE_FROM_ALL ${handlertest_SOURCES} )
+TARGET_LINK_LIBRARIES( handlertest wv2 ${LIBGSF_LIBRARIES} )
+
+# Add a global 'make test' target
+ADD_CUSTOM_TARGET( test DEPENDS oletest word97_test word95_test iconvtest parsertest \
parsertest_mem helpertest ustringtest sharedptrtest handlertest )
diff -rupdN wvware.orig/wv2-config.cmake wvware.cmake/wv2-config.cmake
--- wvware.orig/wv2-config.cmake 1970-01-01 01:00:00.000000000 +0100
+++ wvware.cmake/wv2-config.cmake 2009-08-12 20:15:01.000000000 +0200
@@ -0,0 +1,103 @@
+#!/bin/sh
+
+prefix=@CMAKE_INSTALL_PREFIX@
+exec_prefix=${prefix}
+exec_prefix_set=no
+
+usage()
+{
+ cat <<EOF
+Usage: wv2-config [OPTIONS] [LIBRARIES]
+Options:
+ [--prefix[=DIR]]
+ [--exec-prefix[=DIR]]
+ [--version]
+ [--libs]
+ [--cflags]
+Libraries/Headers:
+ wv2
+EOF
+ exit $1
+}
+
+if test $# -eq 0; then
+ usage 1 1>&2
+fi
+
+lib_wv2=yes
+
+while test $# -gt 0; do
+ case "$1" in
+ -*=*) optarg=`echo "$1" | sed 's/[-_a-zA-Z0-9]*=//'` ;;
+ *) optarg= ;;
+ esac
+
+ case $1 in
+ --prefix=*)
+ prefix=$optarg
+ if test $exec_prefix_set = no ; then
+ exec_prefix=$optarg
+ fi
+ ;;
+ --prefix)
+ echo_prefix=yes
+ ;;
+ --exec-prefix=*)
+ exec_prefix=$optarg
+ exec_prefix_set=yes
+ ;;
+ --exec-prefix)
+ echo_exec_prefix=yes
+ ;;
+ --version)
+ echo @WV2_MAJOR_VERSION@.@WV2_MINOR_VERSION@.@WV2_MICRO_VERSION@
+ ;;
+ --cflags)
+ echo_cflags=yes
+ ;;
+ --libs)
+ echo_libs=yes
+ ;;
+ wv2)
+ lib_wv2=yes
+ ;;
+ *)
+ usage 1 1>&2
+ ;;
+ esac
+ shift
+done
+
+if test "$echo_prefix" = "yes"; then
+ echo $prefix
+fi
+
+if test "$echo_exec_prefix" = "yes"; then
+ echo $exec_prefix
+fi
+
+wv2_libs="@WV2_LDFLAGS@ -lwv2 @WV2_LIBS@"
+
+if test "$echo_cflags" = "yes"; then
+ includes="@WV2_CFLAGS@"
+ if test "$lib_wv2" = "yes"; then
+ includes="-I${prefix}/include $includes"
+ fi
+ echo $includes
+fi
+
+if test "$echo_libs" = "yes"; then
+ libdirs=-L${exec_prefix}/lib
+ my_wv2_libs=
+ for i in $wv2_libs ; do
+ if test "x$i" != "x-L${exec_prefix}/lib" ; then
+ if test -z "$my_wv2_libs" ; then
+ my_wv2_libs="$i"
+ else
+ my_wv2_libs="$my_wv2_libs $i"
+ fi
+ fi
+ done
+
+ echo $libdirs $my_wv2_libs
+fi
_______________________________________________
koffice-devel mailing list
koffice-devel@kde.org
https://mail.kde.org/mailman/listinfo/koffice-devel
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic