gravatar
alpar (Alpar Juttner)
alpar@cs.elte.hu
Merge (manually add cmake/FindGLPK.cmake to Makefile.am)
0 4 1
merge default
3 files changed with 39 insertions and 34 deletions:
↑ Collapse diff ↑
Ignore white space 768 line context
1
SET(PROJECT_NAME "@PACKAGE_NAME@")
2
SET(PROJECT_VERSION "@PACKAGE_VERSION@" CACHE STRING "LEMON version string.")
Ignore white space 6 line context
1 1
CMAKE_MINIMUM_REQUIRED(VERSION 2.6)
2 2

	
3
SET(PROJECT_NAME "LEMON")
4
SET(PROJECT_VERSION "hg-tip" CACHE STRING "The version string.")
3
IF(EXISTS ${CMAKE_SOURCE_DIR}/cmake/version.cmake)
4
  INCLUDE(${CMAKE_SOURCE_DIR}/cmake/version.cmake)
5
ELSE(EXISTS ${CMAKE_SOURCE_DIR}/cmake/version.cmake)
6
  SET(PROJECT_NAME "LEMON")
7
  SET(PROJECT_VERSION "hg-tip" CACHE STRING "LEMON version string.")
8
ENDIF(EXISTS ${CMAKE_SOURCE_DIR}/cmake/version.cmake)
5 9

	
6 10
PROJECT(${PROJECT_NAME})
7 11

	
8 12
SET(CMAKE_MODULE_PATH ${CMAKE_SOURCE_DIR}/cmake)
9 13

	
10 14
INCLUDE(FindDoxygen)
11 15
INCLUDE(FindGhostscript)
12 16
FIND_PACKAGE(GLPK 4.33)
13 17

	
14 18
ADD_DEFINITIONS(-DHAVE_CONFIG_H)
15 19

	
16 20
IF(MSVC)
17 21
  SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /wd4250 /wd4355 /wd4800 /wd4996")
18 22
# Suppressed warnings:
19 23
# C4250: 'class1' : inherits 'class2::member' via dominance
20 24
# C4355: 'this' : used in base member initializer list
21 25
# C4800: 'type' : forcing value to bool 'true' or 'false' (performance warning)
22 26
# C4996: 'function': was declared deprecated
23 27
ENDIF(MSVC)
24 28

	
25 29
IF(GLPK_FOUND)
26 30
  SET(HAVE_LP TRUE)
27 31
  SET(HAVE_MIP TRUE)
28 32
  SET(HAVE_GLPK TRUE)
29 33
ENDIF(GLPK_FOUND)
30 34

	
31 35
ENABLE_TESTING()
32 36

	
33 37
ADD_SUBDIRECTORY(lemon)
34 38
ADD_SUBDIRECTORY(demo)
35 39
ADD_SUBDIRECTORY(doc)
36 40
ADD_SUBDIRECTORY(test)
37 41

	
38 42
IF(WIN32)
39
  INSTALL(FILES ${CMAKE_SOURCE_DIR}/cmake/nsis/lemon.ico
40
    DESTINATION bin)
41
ENDIF(WIN32)
42

	
43
IF(WIN32)
44 43
  SET(CPACK_PACKAGE_NAME ${PROJECT_NAME})
45
  SET(CPACK_PACKAGE_VENDOR
46
    "EGRES - Egervary Research Group on Combinatorial Optimization")
44
  SET(CPACK_PACKAGE_VENDOR "EGRES")
47 45
  SET(CPACK_PACKAGE_DESCRIPTION_SUMMARY
48 46
    "LEMON - Library of Efficient Models and Optimization in Networks")
49 47
  SET(CPACK_RESOURCE_FILE_LICENSE "${CMAKE_SOURCE_DIR}/LICENSE")
50 48

	
51 49
  SET(CPACK_PACKAGE_VERSION ${PROJECT_VERSION})
52 50

	
53 51
  SET(CPACK_PACKAGE_INSTALL_DIRECTORY
54 52
    "${PROJECT_NAME} ${PROJECT_VERSION}")
55 53
  SET(CPACK_PACKAGE_INSTALL_REGISTRY_KEY
56 54
    "${PROJECT_NAME} ${PROJECT_VERSION}")
57 55

	
58
  # Variables to generate a component-based installer.
59
  #SET(CPACK_COMPONENTS_ALL headers library html_documentation)
56
  SET(CPACK_COMPONENTS_ALL headers library html_documentation)
60 57

	
61
  #SET(CPACK_COMPONENT_HEADERS_DISPLAY_NAME "C++ headers")
62
  #SET(CPACK_COMPONENT_LIBRARY_DISPLAY_NAME "Static library")
63
  #SET(CPACK_COMPONENT_HTML_DOCUMENTATION_DISPLAY_NAME "HTML documentation")
58
  SET(CPACK_COMPONENT_HEADERS_DISPLAY_NAME "C++ headers")
59
  SET(CPACK_COMPONENT_LIBRARY_DISPLAY_NAME "Dynamic-link library")
60
  SET(CPACK_COMPONENT_HTML_DOCUMENTATION_DISPLAY_NAME "HTML documentation")
64 61

	
65
  #SET(CPACK_COMPONENT_HEADERS_DESCRIPTION
66
  #  "C++ header files for use with the LEMON library")
67
  #SET(CPACK_COMPONENT_LIBRARY_DESCRIPTION
68
  #  "Static library used to build programs with LEMON")
69
  #SET(CPACK_COMPONENT_HTML_DOCUMENTATION_DESCRIPTION
70
  #  "Doxygen generated documentation")
62
  SET(CPACK_COMPONENT_HEADERS_DESCRIPTION
63
    "C++ header files")
64
  SET(CPACK_COMPONENT_LIBRARY_DESCRIPTION
65
    "DLL and import library")
66
  SET(CPACK_COMPONENT_HTML_DOCUMENTATION_DESCRIPTION
67
    "Doxygen generated documentation")
71 68

	
72
  #SET(CPACK_COMPONENT_HEADERS_DEPENDS library)
69
  SET(CPACK_COMPONENT_HEADERS_DEPENDS library)
73 70

	
74
  #SET(CPACK_COMPONENT_HEADERS_GROUP "Development")
75
  #SET(CPACK_COMPONENT_LIBRARY_GROUP "Development")
76
  #SET(CPACK_COMPONENT_HTML_DOCUMENTATION_GROUP "Documentation")
71
  SET(CPACK_COMPONENT_HEADERS_GROUP "Development")
72
  SET(CPACK_COMPONENT_LIBRARY_GROUP "Development")
73
  SET(CPACK_COMPONENT_HTML_DOCUMENTATION_GROUP "Documentation")
77 74

	
78
  #SET(CPACK_COMPONENT_GROUP_DEVELOPMENT_DESCRIPTION
79
  #  "Components needed to develop software using LEMON")
80
  #SET(CPACK_COMPONENT_GROUP_DOCUMENTATION_DESCRIPTION
81
  #  "Documentation of LEMON")
75
  SET(CPACK_COMPONENT_GROUP_DEVELOPMENT_DESCRIPTION
76
    "Components needed to develop software using LEMON")
77
  SET(CPACK_COMPONENT_GROUP_DOCUMENTATION_DESCRIPTION
78
    "Documentation of LEMON")
82 79

	
83
  #SET(CPACK_ALL_INSTALL_TYPES Full Developer)
80
  SET(CPACK_ALL_INSTALL_TYPES Full Developer)
84 81

	
85
  #SET(CPACK_COMPONENT_HEADERS_INSTALL_TYPES Developer Full)
86
  #SET(CPACK_COMPONENT_LIBRARY_INSTALL_TYPES Developer Full)
87
  #SET(CPACK_COMPONENT_HTML_DOCUMENTATION_INSTALL_TYPES Full)
82
  SET(CPACK_COMPONENT_HEADERS_INSTALL_TYPES Developer Full)
83
  SET(CPACK_COMPONENT_LIBRARY_INSTALL_TYPES Developer Full)
84
  SET(CPACK_COMPONENT_HTML_DOCUMENTATION_INSTALL_TYPES Full)
88 85

	
89 86
  SET(CPACK_GENERATOR "NSIS")
90 87
  SET(CPACK_NSIS_MUI_ICON "${CMAKE_SOURCE_DIR}/cmake/nsis/lemon.ico")
91 88
  SET(CPACK_NSIS_MUI_UNIICON "${CMAKE_SOURCE_DIR}/cmake/nsis/uninstall.ico")
92 89
  #SET(CPACK_PACKAGE_ICON "${CMAKE_SOURCE_DIR}/cmake/nsis\\\\installer.bmp")
93 90
  SET(CPACK_NSIS_INSTALLED_ICON_NAME "bin\\\\lemon.ico")
94 91
  SET(CPACK_NSIS_DISPLAY_NAME "${CPACK_PACKAGE_INSTALL_DIRECTORY} ${PROJECT_NAME}")
95 92
  SET(CPACK_NSIS_HELP_LINK "http:\\\\\\\\lemon.cs.elte.hu")
96 93
  SET(CPACK_NSIS_URL_INFO_ABOUT "http:\\\\\\\\lemon.cs.elte.hu")
97 94
  SET(CPACK_NSIS_CONTACT "lemon-user@lemon.cs.elte.hu")
98 95
  SET(CPACK_NSIS_CREATE_ICONS_EXTRA "
99 96
    CreateShortCut \\\"$SMPROGRAMS\\\\$STARTMENU_FOLDER\\\\Documentation.lnk\\\" \\\"$INSTDIR\\\\doc\\\\index.html\\\"
100 97
    ")
101 98
  SET(CPACK_NSIS_DELETE_ICONS_EXTRA "
102 99
    !insertmacro MUI_STARTMENU_GETFOLDER Application $MUI_TEMP
103 100
    Delete \\\"$SMPROGRAMS\\\\$MUI_TEMP\\\\Documentation.lnk\\\"
104 101
    ")
105 102

	
106 103
  INCLUDE(CPack)
107 104
ENDIF(WIN32)
Ignore white space 6 line context
1 1
ACLOCAL_AMFLAGS = -I m4
2 2

	
3 3
AM_CXXFLAGS = $(WARNINGCXXFLAGS)
4 4

	
5 5
AM_CPPFLAGS = -I$(top_srcdir) -I$(top_builddir)
6 6
LDADD = $(top_builddir)/lemon/libemon.la
7 7

	
8 8
EXTRA_DIST = \
9 9
	AUTHORS \
10 10
	LICENSE \
11 11
	m4/lx_check_cplex.m4 \
12 12
	m4/lx_check_glpk.m4 \
13 13
	m4/lx_check_soplex.m4 \
14 14
	CMakeLists.txt \
15
	cmake
15
	cmake/FindGhostscript.cmake \
16
	cmake/FindGLPK.cmake \
17
	cmake/version.cmake.in \
18
	cmake/version.cmake \
19
	cmake/nsis/lemon.ico \
20
	cmake/nsis/uninstall.ico
16 21

	
17 22
pkgconfigdir = $(libdir)/pkgconfig
18 23
lemondir = $(pkgincludedir)
19 24
bitsdir = $(lemondir)/bits
20 25
conceptdir = $(lemondir)/concepts
21 26
pkgconfig_DATA =
22 27
lib_LTLIBRARIES =
23 28
lemon_HEADERS =
24 29
bits_HEADERS =
25 30
concept_HEADERS =
26 31
noinst_HEADERS =
27 32
noinst_PROGRAMS =
28 33
bin_PROGRAMS =
29 34
check_PROGRAMS =
30 35
dist_bin_SCRIPTS =
31 36
TESTS =
32 37
XFAIL_TESTS =
33 38

	
34 39
include lemon/Makefile.am
35 40
include test/Makefile.am
36 41
include doc/Makefile.am
37 42
include demo/Makefile.am
38 43
include tools/Makefile.am
39 44

	
40 45
MRPROPERFILES = \
41 46
	aclocal.m4 \
42 47
	config.h.in \
43 48
	config.h.in~ \
44 49
	configure \
45 50
	Makefile.in \
46 51
	build-aux/config.guess \
47 52
	build-aux/config.sub \
48 53
	build-aux/depcomp \
49 54
	build-aux/install-sh \
50 55
	build-aux/ltmain.sh \
51 56
	build-aux/missing \
52 57
	doc/doxygen.log
53 58

	
54 59
mrproper:
55 60
	$(MAKE) $(AM_MAKEFLAGS) maintainer-clean
56 61
	-rm -f $(MRPROPERFILES)
57 62

	
58 63
dist-bz2: dist
59 64
	zcat $(PACKAGE)-$(VERSION).tar.gz | \
60 65
	bzip2 --best -c > $(PACKAGE)-$(VERSION).tar.bz2
61 66

	
62 67
distcheck-bz2: distcheck
63 68
	zcat $(PACKAGE)-$(VERSION).tar.gz | \
64 69
	bzip2 --best -c > $(PACKAGE)-$(VERSION).tar.bz2
65 70

	
66 71
.PHONY: mrproper dist-bz2 distcheck-bz2
Ignore white space 6 line context
modified binary file
Ignore white space 6 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 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 8
m4_define([lemon_hg_revision], [m4_normalize(esyscmd([hg id -i]))])
9 9
m4_define([lemon_version], [ifelse(lemon_version_number(),
10 10
			   [],
11 11
			   [lemon_hg_path().lemon_hg_revision()],
12 12
			   [lemon_version_number()])])
13 13

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

	
22 22
dnl Do compilation tests using the C++ compiler.
23 23
AC_LANG([C++])
24 24

	
25 25
dnl Checks for programs.
26 26
AC_PROG_CXX
27 27
AC_PROG_CXXCPP
28 28
AC_PROG_INSTALL
29 29
AC_DISABLE_SHARED
30 30
AC_PROG_LIBTOOL
31 31

	
32 32
AC_CHECK_PROG([doxygen_found],[doxygen],[yes],[no])
33 33
AC_CHECK_PROG([gs_found],[gs],[yes],[no])
34 34

	
35 35
dnl Detect Intel compiler.
36 36
AC_MSG_CHECKING([whether we are using the Intel C++ compiler])
37 37
AC_COMPILE_IFELSE([#ifndef __INTEL_COMPILER
38 38
choke me
39 39
#endif], [ICC=[yes]], [ICC=[no]])
40 40
if test x"$ICC" = x"yes"; then
41 41
  AC_MSG_RESULT([yes])
42 42
else
43 43
  AC_MSG_RESULT([no])
44 44
fi
45 45

	
46 46
dnl Set custom compiler flags when using g++.
47 47
if test "$GXX" = yes -a "$ICC" = no; then
48 48
  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"
49 49
fi
50 50
AC_SUBST([WARNINGCXXFLAGS])
51 51

	
52 52
dnl Checks for libraries.
53 53
LX_CHECK_GLPK
54 54
LX_CHECK_CPLEX
55 55
LX_CHECK_SOPLEX
56 56
LX_CHECK_CLP
57 57

	
58 58
AM_CONDITIONAL([HAVE_LP], [test x"$lx_lp_found" = x"yes"])
59 59
AM_CONDITIONAL([HAVE_MIP], [test x"$lx_mip_found" = x"yes"])
60 60

	
61 61
dnl Disable/enable building the demo programs.
62 62
AC_ARG_ENABLE([demo],
63 63
AS_HELP_STRING([--enable-demo], [build the demo programs])
64 64
AS_HELP_STRING([--disable-demo], [do not build the demo programs @<:@default@:>@]),
65 65
              [], [enable_demo=no])
66 66
AC_MSG_CHECKING([whether to build the demo programs])
67 67
if test x"$enable_demo" != x"no"; then
68 68
  AC_MSG_RESULT([yes])
69 69
else
70 70
  AC_MSG_RESULT([no])
71 71
fi
72 72
AM_CONDITIONAL([WANT_DEMO], [test x"$enable_demo" != x"no"])
73 73

	
74 74
dnl Disable/enable building the binary tools.
75 75
AC_ARG_ENABLE([tools],
76 76
AS_HELP_STRING([--enable-tools], [build additional tools @<:@default@:>@])
77 77
AS_HELP_STRING([--disable-tools], [do not build additional tools]),
78 78
              [], [enable_tools=yes])
79 79
AC_MSG_CHECKING([whether to build the additional tools])
80 80
if test x"$enable_tools" != x"no"; then
81 81
  AC_MSG_RESULT([yes])
82 82
else
83 83
  AC_MSG_RESULT([no])
84 84
fi
85 85
AM_CONDITIONAL([WANT_TOOLS], [test x"$enable_tools" != x"no"])
86 86

	
87 87
dnl Checks for header files.
88 88
AC_CHECK_HEADERS(limits.h sys/time.h sys/times.h unistd.h)
89 89

	
90 90
dnl Checks for typedefs, structures, and compiler characteristics.
91 91
AC_C_CONST
92 92
AC_C_INLINE
93 93
AC_TYPE_SIZE_T
94 94
AC_HEADER_TIME
95 95
AC_STRUCT_TM
96 96

	
97 97
dnl Checks for library functions.
98 98
AC_HEADER_STDC
99 99
AC_CHECK_FUNCS(gettimeofday times ctime_r)
100 100

	
101 101
dnl Add dependencies on files generated by configure.
102 102
AC_SUBST([CONFIG_STATUS_DEPENDENCIES],
103
  ['$(top_srcdir)/doc/Doxyfile.in $(top_srcdir)/lemon/lemon.pc.in'])
103
  ['$(top_srcdir)/doc/Doxyfile.in $(top_srcdir)/lemon/lemon.pc.in $(top_srcdir)/cmake/version.cmake.in'])
104 104

	
105 105
AC_CONFIG_FILES([
106 106
Makefile
107
cmake/version.cmake
107 108
doc/Doxyfile
108 109
lemon/lemon.pc
109 110
])
110 111

	
111 112
AC_OUTPUT
112 113

	
113 114
echo
114 115
echo '****************************** SUMMARY ******************************'
115 116
echo
116 117
echo Package version............... : $PACKAGE-$VERSION
117 118
echo
118 119
echo C++ compiler.................. : $CXX
119 120
echo C++ compiles flags............ : $WARNINGCXXFLAGS $CXXFLAGS
120 121
echo
121 122
echo GLPK support.................. : $lx_glpk_found
122 123
echo CPLEX support................. : $lx_cplex_found
123 124
echo SOPLEX support................ : $lx_soplex_found
124 125
echo CLP support................... : $lx_clp_found
125 126
echo
126 127
echo Build demo programs........... : $enable_demo
127 128
echo Build additional tools........ : $enable_tools
128 129
echo
129 130
echo The packace will be installed in
130 131
echo -n '  '
131 132
echo $prefix.
132 133
echo
133 134
echo '*********************************************************************'
134 135

	
135 136
echo
136 137
echo Configure complete, now type \'make\' and then \'make install\'.
137 138
echo
0 comments (0 inline)