diff --git a/CMakeLists.txt b/CMakeLists.txt index ca8c569de9..1df672e231 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -6,11 +6,17 @@ CMAKE_MINIMUM_REQUIRED (VERSION 2.6) PROJECT (cutecash) +# Version number of cutecash +SET (CUTECASH_VERSION_MAJOR "0") +SET (CUTECASH_VERSION_MINOR "1") +SET (CUTECASH_VERSION_PATCH "0") + # Extra cmake macros SET (CMAKE_MODULE_PATH "${PROJECT_SOURCE_DIR}/src/cmake_modules;${CMAKE_MODULE_PATH}") INCLUDE (MacroAppendForeach) INCLUDE (MacroAddSourceFileCompileFlags) INCLUDE (GncAddSwigCommand) +INCLUDE (CheckIncludeFiles) # ############################################################ @@ -126,10 +132,10 @@ ADD_SUBDIRECTORY (src) SET (CPACK_PACKAGE_NAME "Cutecash") SET (CPACK_PACKAGE_DESCRIPTION_SUMMARY "Cutecash Free Finance Software") +SET (CPACK_PACKAGE_VERSION_MAJOR ${CUTECASH_VERSION_MAJOR}) +SET (CPACK_PACKAGE_VERSION_MINOR ${CUTECASH_VERSION_MINOR}) +SET (CPACK_PACKAGE_VERSION_PATCH ${CUTECASH_VERSION_PATCH}) SET (CPACK_PACKAGE_VENDOR "Christian Stimming") -SET (CPACK_PACKAGE_VERSION_MAJOR "0") -SET (CPACK_PACKAGE_VERSION_MINOR "1") -SET (CPACK_PACKAGE_VERSION_PATCH "0") SET (CPACK_SOURCE_IGNORE_FILES "/\\\\.svn/;/\\\\.git/;.*~;build.*;html;Debug;Release") SET (CPACK_STRIP_FILES "bin/cutecash") #SET (CPACK_PACKAGE_EXECUTABLES "bin/carclient") diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index adad752f71..ea5080838f 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -3,130 +3,83 @@ # ############################################################ # Create config.h -ADD_DEFINITIONS (-DHAVE_CONFIG_H) - -SET (CONFIG_H ${CMAKE_CURRENT_BINARY_DIR}/config.h) -FILE (WRITE ${CONFIG_H} "#define PACKAGE \"gnucash\"\n") -FILE (APPEND ${CONFIG_H} " -#define GNUCASH_MAJOR_VERSION 2 -#define GNUCASH_MICRO_VERSION 10 -#define GNUCASH_MINOR_VERSION 3 -#define VERSION "2.3.10" - -/* Definitions for all OS */ -#define HAVE_LIBQOF /**/ -#define HAVE_TOWUPPER 1 -#define QOF_DISABLE_DEPRECATED 1 -#define GNC_NO_LOADABLE_MODULES 1 -") +SET (GETTEXT_PACKAGE "gnucash") IF (WIN32) - FILE (APPEND ${CONFIG_H} " -#define HAVE_SCANF_I64D 1 -#define HAVE_HTMLHELPW 1 -#define OS_WIN32 1 -") + SET (HAVE_SCANF_I64D 1) + SET (HAVE_HTMLHELPW 1) ENDIF (WIN32) IF (MINGW) - FILE (APPEND ${CONFIG_H} " -#define HAVE_PUTENV 1 -") + SET (HAVE_PUTENV 1) ENDIF (MINGW) -IF (UNIX OR MINGW) - FILE (APPEND ${CONFIG_H} " -#define GETTEXT_PACKAGE \"gnucash\" -#define HAVE_BIND_TEXTDOMAIN_CODESET 1 -#define HAVE_DIRENT_H 1 -#define HAVE_DCGETTEXT 1 -#define HAVE_SYS_TIME_H 1 -#define HAVE_UNISTD_H 1 -#define HAVE_GETTEXT 1 -#define HAVE_GETTIMEOFDAY 1 -#define HAVE_GUILE 1 -#define HAVE_INTTYPES_H 1 -#define HAVE_LIBM 1 -#define HAVE_LIMITS_H 1 -#define HAVE_LOCALE_H 1 -#define HAVE_MEMCPY 1 -#define HAVE_MEMORY_H 1 -#define HAVE_STDINT_H 1 -#define HAVE_STDLIB_H 1 -#define HAVE_STRINGS_H 1 -#define HAVE_STRING_H 1 -#define HAVE_SYS_STAT_H 1 -#define HAVE_SYS_TIME_H 1 -#define HAVE_SYS_TYPES_H 1 -#define HAVE_UNISTD_H 1 -#define HAVE_WCTYPE_H 1 - -/* Define to 1 if you have the ANSI C header files. */ -#define STDC_HEADERS 1 +CHECK_INCLUDE_FILES (X11/Xlib.h HAVE_X11_XLIB_H) +CHECK_INCLUDE_FILES (dirent.h HAVE_DIRENT_H) +CHECK_INCLUDE_FILES (dlfcn.h HAVE_DLFCN_H) +CHECK_INCLUDE_FILES (glob.h HAVE_GLOB_H) +CHECK_INCLUDE_FILES (inttypes.h HAVE_INTTYPES_H) +CHECK_INCLUDE_FILES (limits.h HAVE_LIMITS_H) +CHECK_INCLUDE_FILES (locale.h HAVE_LOCALE_H) +CHECK_INCLUDE_FILES (memory.h HAVE_MEMORY_H) +CHECK_INCLUDE_FILES (stdint.h HAVE_STDINT_H) +CHECK_INCLUDE_FILES (stdlib.h HAVE_STDLIB_H) +CHECK_INCLUDE_FILES (string.h HAVE_STRING_H) +CHECK_INCLUDE_FILES (strings.h HAVE_STRINGS_H) +CHECK_INCLUDE_FILES (sys/stat.h HAVE_SYS_STAT_H) +CHECK_INCLUDE_FILES (sys/time.h HAVE_SYS_TIME_H) +CHECK_INCLUDE_FILES (sys/times.h HAVE_SYS_TIMES_H) +CHECK_INCLUDE_FILES (sys/types.h HAVE_SYS_TYPES_H) +CHECK_INCLUDE_FILES (sys/wait.h HAVE_SYS_WAIT_H) +CHECK_INCLUDE_FILES (unistd.h HAVE_UNISTD_H) +CHECK_INCLUDE_FILES (utmp.h HAVE_UTMP_H) +CHECK_INCLUDE_FILES (wctype.h HAVE_WCTYPE_H) -/* Enable extensions on AIX 3, Interix. */ -#ifndef _ALL_SOURCE -# define _ALL_SOURCE 1 -#endif -/* Enable GNU extensions on systems that have them. */ -#ifndef _GNU_SOURCE -# define _GNU_SOURCE 1 -#endif -/* Enable threading extensions on Solaris. */ -#ifndef _POSIX_PTHREAD_SEMANTICS -# define _POSIX_PTHREAD_SEMANTICS 1 -#endif -/* Enable extensions on HP NonStop. */ -#ifndef _TANDEM_SOURCE -# define _TANDEM_SOURCE 1 -#endif -/* Enable general extensions on Solaris. */ -#ifndef __EXTENSIONS__ -# define __EXTENSIONS__ 1 -#endif - -#if defined AC_APPLE_UNIVERSAL_BUILD -# if defined __BIG_ENDIAN__ -# define WORDS_BIGENDIAN 1 -# endif -#else -# ifndef WORDS_BIGENDIAN -/* # undef WORDS_BIGENDIAN */ -# endif -#endif -") +IF (UNIX OR MINGW) + SET (HAVE_BIND_TEXTDOMAIN_CODESET 1) + SET (HAVE_DCGETTEXT 1) + SET (HAVE_GETTEXT 1) + SET (HAVE_GETTIMEOFDAY 1) + SET (HAVE_GUILE 1) + SET (HAVE_LIBM 1) + SET (HAVE_MEMCPY 1) + SET (STDC_HEADERS 1) + SET (_ALL_SOURCE 1) + SET (_GNU_SOURCE 1) + SET (_POSIX_PTHREAD_SEMANTICS 1) + SET (_TANDEM_SOURCE 1) + SET (__EXTENSIONS__ 1) + SET (WORDS_BIGENDIAN 1) ENDIF (UNIX OR MINGW) IF (UNIX) - FILE (APPEND ${CONFIG_H} " -#define HAVE_CHOWN 1 -#define HAVE_DLERROR 1 -#define HAVE_DLFCN_H 1 -#define HAVE_GETHOSTID 1 -#define HAVE_GETHOSTNAME 1 -#define HAVE_GETPPID 1 -#define HAVE_GETUID 1 -#define HAVE_GMTIME_R 1 -#define HAVE_LANGINFO_D_FMT 1 -#define HAVE_LC_MESSAGES 1 -#define HAVE_LIBPTHREAD 1 -#define HAVE_LINK 1 -#define HAVE_LOCALTIME_R 1 -#define HAVE_PTHREAD_MUTEX_INIT 1 -#define HAVE_SCANF_LLD 1 -#define HAVE_SETENV 1 -#define HAVE_STPCPY 1 -#define HAVE_STRPTIME 1 -#define HAVE_STRUCT_TM_GMTOFF 1 -#define HAVE_SYS_TIMES_H 1 -#define HAVE_SYS_WAIT_H 1 -#define HAVE_TIMEGM 1 -#define HAVE_UTMP_H 1 -#define HAVE_X11_XLIB_H 1 -") + SET (HAVE_CHOWN 1) + SET (HAVE_DLERROR 1) + SET (HAVE_GETHOSTID 1) + SET (HAVE_GETHOSTNAME 1) + SET (HAVE_GETPPID 1) + SET (HAVE_GETUID 1) + SET (HAVE_GMTIME_R 1) + SET (HAVE_LANGINFO_D_FMT 1) + SET (HAVE_LC_MESSAGES 1) + SET (HAVE_LIBPTHREAD 1) + SET (HAVE_LINK 1) + SET (HAVE_LOCALTIME_R 1) + SET (HAVE_PTHREAD_MUTEX_INIT 1) + SET (HAVE_SCANF_LLD 1) + SET (HAVE_SETENV 1) + SET (HAVE_STPCPY 1) + SET (HAVE_STRPTIME 1) + SET (HAVE_STRUCT_TM_GMTOFF 1) + SET (HAVE_TIMEGM 1) ENDIF (UNIX) +ADD_DEFINITIONS (-DHAVE_CONFIG_H) + +SET (CONFIG_H ${CMAKE_CURRENT_BINARY_DIR}/config.h) +CONFIGURE_FILE (${CMAKE_CURRENT_SOURCE_DIR}/config.h.cmake.in ${CONFIG_H}) + # ############################################################ # The subdirectories diff --git a/src/config.h.cmake.in b/src/config.h.cmake.in new file mode 100644 index 0000000000..4ef31dd6f4 --- /dev/null +++ b/src/config.h.cmake.in @@ -0,0 +1,98 @@ +/* Template file for processing by the cmake command CONFIGURE_FILE */ + +#define PACKAGE "@PROJECT_NAME@" +#define GNUCASH_MAJOR_VERSION @CUTECASH_VERSION_MAJOR@ +#define GNUCASH_MICRO_VERSION @CUTECASH_VERSION_MINOR@ +#define GNUCASH_MINOR_VERSION @CUTECASH_VERSION_PATCH@ +#define VERSION "@CUTECASH_VERSION_MAJOR@.@CUTECASH_VERSION_MINOR@.@CUTECASH_VERSION_PATCH@" + +/* Definitions for all OS */ +#define HAVE_LIBQOF /**/ +#define HAVE_TOWUPPER 1 +#define QOF_DISABLE_DEPRECATED 1 +#define GNC_NO_LOADABLE_MODULES 1 + +/* WIN32 */ +#cmakedefine HAVE_HTMLHELPW 1 +#cmakedefine OS_WIN32 1 + +/* Unix or Mingw or Win32 */ +#define GETTEXT_PACKAGE "@GETTEXT_PACKAGE@" +#cmakedefine HAVE_BIND_TEXTDOMAIN_CODESET 1 +#cmakedefine HAVE_CHOWN 1 +#cmakedefine HAVE_DCGETTEXT 1 +#cmakedefine HAVE_DIRENT_H 1 +#cmakedefine HAVE_DLERROR 1 +#cmakedefine HAVE_DLFCN_H 1 +#cmakedefine HAVE_GETHOSTID 1 +#cmakedefine HAVE_GETHOSTNAME 1 +#cmakedefine HAVE_GETPPID 1 +#cmakedefine HAVE_GETTEXT 1 +#cmakedefine HAVE_GETTIMEOFDAY 1 +#cmakedefine HAVE_GETUID 1 +#cmakedefine HAVE_GLOB_H 1 +#cmakedefine HAVE_GMTIME_R 1 +#cmakedefine HAVE_GUILE 1 +#cmakedefine HAVE_INTTYPES_H 1 +#cmakedefine HAVE_LANGINFO_D_FMT 1 +#cmakedefine HAVE_LC_MESSAGES 1 +#cmakedefine HAVE_LIBM 1 +#cmakedefine HAVE_LIBPTHREAD 1 +#cmakedefine HAVE_LIMITS_H 1 +#cmakedefine HAVE_LINK 1 +#cmakedefine HAVE_LOCALE_H 1 +#cmakedefine HAVE_LOCALTIME_R 1 +#cmakedefine HAVE_MEMCPY 1 +#cmakedefine HAVE_MEMORY_H 1 +#cmakedefine HAVE_PTHREAD_MUTEX_INIT 1 +#cmakedefine HAVE_PUTENV 1 +#cmakedefine HAVE_SCANF_I64D 1 +#cmakedefine HAVE_SCANF_LLD 1 +#cmakedefine HAVE_SETENV 1 +#cmakedefine HAVE_STDINT_H 1 +#cmakedefine HAVE_STDLIB_H 1 +#cmakedefine HAVE_STPCPY 1 +#cmakedefine HAVE_STRINGS_H 1 +#cmakedefine HAVE_STRING_H 1 +#cmakedefine HAVE_STRPTIME 1 +#cmakedefine HAVE_STRUCT_TM_GMTOFF 1 +#cmakedefine HAVE_SYS_STAT_H 1 +#cmakedefine HAVE_SYS_TIMES_H 1 +#cmakedefine HAVE_SYS_TIME_H 1 +#cmakedefine HAVE_SYS_TYPES_H 1 +#cmakedefine HAVE_SYS_WAIT_H 1 +#cmakedefine HAVE_TIMEGM 1 +#cmakedefine HAVE_UNISTD_H 1 +#cmakedefine HAVE_UTMP_H 1 +#cmakedefine HAVE_WCTYPE_H 1 +#cmakedefine HAVE_X11_XLIB_H 1 + +/* Define to 1 if you have the ANSI C header files. */ +#cmakedefine STDC_HEADERS 1 + +/* Enable extensions on AIX 3, Interix. */ +#ifndef _ALL_SOURCE +#cmakedefine _ALL_SOURCE 1 +#endif +/* Enable GNU extensions on systems that have them. */ +#ifndef _GNU_SOURCE +#cmakedefine _GNU_SOURCE 1 +#endif +/* Enable threading extensions on Solaris. */ +#ifndef _POSIX_PTHREAD_SEMANTICS +#cmakedefine _POSIX_PTHREAD_SEMANTICS 1 +#endif +/* Enable extensions on HP NonStop. */ +#ifndef _TANDEM_SOURCE +#cmakedefine _TANDEM_SOURCE 1 +#endif +/* Enable general extensions on Solaris. */ +#ifndef __EXTENSIONS__ +#cmakedefine __EXTENSIONS__ 1 +#endif + +#if defined AC_APPLE_UNIVERSAL_BUILD +# if defined __BIG_ENDIAN__ +#cmakedefine WORDS_BIGENDIAN 1 +# endif +#endif