gravatar
ladanyi@tmit.bme.hu
ladanyi@tmit.bme.hu
Set the version to 'hg-tip' if everything fails
0 2 0
default
2 files changed with 11 insertions and 5 deletions:
↑ Collapse diff ↑
Ignore white space 96 line context
1 1
CMAKE_MINIMUM_REQUIRED(VERSION 2.6)
2 2

	
3 3
SET(PROJECT_NAME "LEMON")
4 4
PROJECT(${PROJECT_NAME})
5 5

	
6 6
IF(EXISTS ${PROJECT_SOURCE_DIR}/cmake/version.cmake)
7 7
  INCLUDE(${PROJECT_SOURCE_DIR}/cmake/version.cmake)
8 8
ELSEIF(DEFINED ENV{LEMON_VERSION})
9 9
  SET(LEMON_VERSION $ENV{LEMON_VERSION} CACHE STRING "LEMON version string.")
10 10
ELSE()
11 11
  EXECUTE_PROCESS(
12 12
    COMMAND hg id -i
13 13
    WORKING_DIRECTORY ${PROJECT_SOURCE_DIR}
14 14
    OUTPUT_VARIABLE HG_REVISION
15 15
    ERROR_QUIET
16 16
    OUTPUT_STRIP_TRAILING_WHITESPACE
17 17
  )
18
  IF(HG_REVISION STREQUAL "")
19
    SET(HG_REVISION "hg-tip")
20
  ENDIF()
18 21
  SET(LEMON_VERSION ${HG_REVISION} CACHE STRING "LEMON version string.")
19 22
ENDIF()
20 23

	
21 24
SET(PROJECT_VERSION ${LEMON_VERSION})
22 25

	
23 26
SET(CMAKE_MODULE_PATH ${PROJECT_SOURCE_DIR}/cmake)
24 27

	
25 28
FIND_PACKAGE(Doxygen)
26 29
FIND_PACKAGE(Ghostscript)
27 30
FIND_PACKAGE(GLPK 4.33)
28 31
FIND_PACKAGE(CPLEX)
29 32
FIND_PACKAGE(COIN)
30 33

	
31 34
INCLUDE(CheckTypeSize)
32 35
CHECK_TYPE_SIZE("long long" LONG_LONG)
33 36
SET(LEMON_HAVE_LONG_LONG ${HAVE_LONG_LONG})
34 37

	
35 38
ENABLE_TESTING()
36 39

	
37 40
ADD_SUBDIRECTORY(lemon)
38 41
IF(${CMAKE_SOURCE_DIR} STREQUAL ${PROJECT_SOURCE_DIR})
39 42
  ADD_SUBDIRECTORY(demo)
40 43
  ADD_SUBDIRECTORY(tools)
41 44
  ADD_SUBDIRECTORY(doc)
42 45
  ADD_SUBDIRECTORY(test)
43 46
ENDIF()
44 47

	
45 48
CONFIGURE_FILE(
46 49
  ${PROJECT_SOURCE_DIR}/cmake/LEMONConfig.cmake.in
47 50
  ${PROJECT_BINARY_DIR}/cmake/LEMONConfig.cmake
48 51
  @ONLY
49 52
)
50 53
IF(UNIX)
51 54
  INSTALL(
52 55
    FILES ${PROJECT_BINARY_DIR}/cmake/LEMONConfig.cmake
53 56
    DESTINATION share/lemon/cmake
54 57
  )
55 58
ELSEIF(WIN32)
56 59
  INSTALL(
57 60
    FILES ${PROJECT_BINARY_DIR}/cmake/LEMONConfig.cmake
58 61
    DESTINATION cmake
59 62
  )
60 63
ENDIF()
61 64

	
62 65
IF(${CMAKE_SOURCE_DIR} STREQUAL ${PROJECT_SOURCE_DIR} AND WIN32)
63 66
  SET(CPACK_PACKAGE_NAME ${PROJECT_NAME})
64 67
  SET(CPACK_PACKAGE_VENDOR "EGRES")
65 68
  SET(CPACK_PACKAGE_DESCRIPTION_SUMMARY
Ignore white space 96 line context
1 1
dnl Process this file with autoconf to produce a configure script.
2 2

	
3 3
dnl Version information.
4 4
m4_define([lemon_version_number],
5
	[m4_normalize(esyscmd([echo ${LEMON_VERSION}]))])
5
          [m4_normalize(esyscmd([echo ${LEMON_VERSION}]))])
6 6
dnl m4_define([lemon_version_number], [])
7 7
m4_define([lemon_hg_path], [m4_normalize(esyscmd([./scripts/chg-len.py]))])
8
m4_define([lemon_hg_revision], [m4_normalize(esyscmd([hg id -i]))])
8
m4_define([lemon_hg_revision], [m4_normalize(esyscmd([hg id -i 2> /dev/null]))])
9 9
m4_define([lemon_version], [ifelse(lemon_version_number(),
10
			   [],
11
			   [lemon_hg_path().lemon_hg_revision()],
12
			   [lemon_version_number()])])
10
                           [],
11
                           [ifelse(lemon_hg_revision(),
12
                           [],
13
                           [hg-tip],
14
                           [lemon_hg_path().lemon_hg_revision()])],
15
                           [lemon_version_number()])])
13 16

	
14 17
AC_PREREQ([2.59])
15 18
AC_INIT([LEMON], [lemon_version()], [lemon-user@lemon.cs.elte.hu], [lemon])
16 19
AC_CONFIG_AUX_DIR([build-aux])
17 20
AC_CONFIG_MACRO_DIR([m4])
18 21
AM_INIT_AUTOMAKE([-Wall -Werror foreign subdir-objects nostdinc])
19 22
AC_CONFIG_SRCDIR([lemon/list_graph.h])
20 23
AC_CONFIG_HEADERS([config.h lemon/config.h])
21 24

	
22 25
AC_DEFINE([LEMON_VERSION], [lemon_version()], [The version string])
23 26

	
24 27
dnl Do compilation tests using the C++ compiler.
25 28
AC_LANG([C++])
26 29

	
27 30
dnl Check the existence of long long type.
28 31
AC_CHECK_TYPE(long long, [long_long_found=yes], [long_long_found=no])
29 32
if test x"$long_long_found" = x"yes"; then
30 33
  AC_DEFINE([LEMON_HAVE_LONG_LONG], [1], [Define to 1 if you have long long.])
31 34
fi
32 35

	
33 36
dnl Checks for programs.
34 37
AC_PROG_CXX
35 38
AC_PROG_CXXCPP
36 39
AC_PROG_INSTALL
37 40
AC_DISABLE_SHARED
38 41
AC_PROG_LIBTOOL
39 42

	
40 43
AC_CHECK_PROG([doxygen_found],[doxygen],[yes],[no])
41 44
AC_CHECK_PROG([gs_found],[gs],[yes],[no])
42 45

	
43 46
dnl Detect Intel compiler.
44 47
AC_MSG_CHECKING([whether we are using the Intel C++ compiler])
45 48
AC_COMPILE_IFELSE([#ifndef __INTEL_COMPILER
46 49
choke me
47 50
#endif], [ICC=[yes]], [ICC=[no]])
48 51
if test x"$ICC" = x"yes"; then
49 52
  AC_MSG_RESULT([yes])
50 53
else
51 54
  AC_MSG_RESULT([no])
52 55
fi
53 56

	
54 57
dnl Set custom compiler flags when using g++.
55 58
if test "$GXX" = yes -a "$ICC" = no; then
56 59
  WARNINGCXXFLAGS="-Wall -W -Wall -W -Wunused -Wformat=2 -Wctor-dtor-privacy -Wnon-virtual-dtor -Wno-char-subscripts -Wwrite-strings -Wno-char-subscripts -Wreturn-type -Wcast-qual -Wcast-align -Wsign-promo -Woverloaded-virtual -ansi -fno-strict-aliasing -Wold-style-cast -Wno-unknown-pragmas"
57 60
fi
58 61
AC_SUBST([WARNINGCXXFLAGS])
59 62

	
60 63
dnl Checks for libraries.
0 comments (0 inline)