~ubuntu-branches/ubuntu/precise/stellarium/precise

« back to all changes in this revision

Viewing changes to CMakeLists.txt

  • Committer: Bazaar Package Importer
  • Author(s): Cédric Delfosse
  • Date: 2008-05-19 21:28:23 UTC
  • mfrom: (3.1.5 intrepid)
  • Revision ID: james.westby@ubuntu.com-20080519212823-m5nfiuntxstxzxj7
Tags: 0.9.1-4
Add libxcursor-dev, libxfixes-dev, libxinerama-dev, libqt4-opengl-dev to
build-deps (Closes: #479906)

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
CMAKE_MINIMUM_REQUIRED(VERSION 2.4.2)
 
2
 
 
3
########### Project name ###########
 
4
PROJECT(Stellarium)
 
5
SET(STELLARIUM_MAJOR "0")
 
6
SET(STELLARIUM_MINOR "9")
 
7
SET(STELLARIUM_PATCH "1")
 
8
SET(VERSION "${STELLARIUM_MAJOR}.${STELLARIUM_MINOR}.${STELLARIUM_PATCH}")
 
9
SET(PACKAGE stellarium)
 
10
 
 
11
########### Main global variables ###########
 
12
IF(NOT CMAKE_BUILD_TYPE)
 
13
  SET(CMAKE_BUILD_TYPE Release CACHE STRING
 
14
      "Choose the type of build, options are: None Debug Release RelWithDebInfo MinSizeRel."
 
15
      FORCE)
 
16
ENDIF(NOT CMAKE_BUILD_TYPE)
 
17
 
 
18
IF(${CMAKE_SYSTEM_NAME} MATCHES "Darwin")
 
19
  SET(MACOSX 1)
 
20
ENDIF(${CMAKE_SYSTEM_NAME} MATCHES "Darwin")
 
21
 
 
22
IF(UNIX AND NOT WIN32)
 
23
 SET(CMAKE_C_FLAGS -Wall)       # additional C compile flags
 
24
 SET(CMAKE_CXX_FLAGS -Wall)     # additional CPP compile flags
 
25
ELSE(UNIX AND NOT WIN32)
 
26
 SET(CMAKE_C_FLAGS "-Wall -fexceptions -fident -mthreads")
 
27
 SET(CMAKE_CXX_FLAGS "-Wall -Wsign-promo -fexceptions -fident -mthreads")
 
28
 SET(CMAKE_EXE_LINKER_FLAGS "-Wsign-promo -fexceptions -fident -mthreads")
 
29
ENDIF(UNIX AND NOT WIN32)
 
30
 
 
31
# best way to get to MACOSX?
 
32
IF(MACOSX)
 
33
 SET(CMAKE_INCLUDE_PATH "/usr/X11R6/include:/usr/X11R6/include/freetype2:/Developer/SDKs/MacOSX10.4u.sdk/usr/X11R6/include:/Developer/SDKs/MacOSX10.4u.sdk/usr/X11R6/include/freetype2:/sw/include:${CMAKE_INCLUDE_PATH}")
 
34
 SET(CMAKE_LIBRARY_PATH "/Developer/SDKs/MacOSX10.4u.sdk/usr/X11R6/lib:/sw/lib:${CMAKE_LIBRARY_PATH}")
 
35
 SET(CMAKE_C_FLAGS "-fno-common -Wall -DMACOSX -I/Developer/SDKs/MacOSX10.4u.sdk/usr/X11R6/include -I/Developer/SDKs/MacOSX10.4u.sdk/usr/X11R6/include/freetype2 -L/Developer/SDKs/MacOSX10.4u.sdk/usr/X11R6/lib")
 
36
 SET(CMAKE_CXX_FLAGS "-fno-common -Wall -DMACOSX -I/Developer/SDKs/MacOSX10.4u.sdk/usr/X11R6/include -I/Developer/SDKs/MacOSX10.4u.sdk/usr/X11R6/include/freetype2 -L/Developer/SDKs/MacOSX10.4u.sdk/usr/X11R6/lib")
 
37
ENDIF(MACOSX)
 
38
 
 
39
 
 
40
########### Check headers ###########
 
41
INCLUDE(CheckIncludeFiles)
 
42
CHECK_INCLUDE_FILES( unistd.h HAVE_UNISTD_H)
 
43
CHECK_INCLUDE_FILES( string.h HAVE_STRING_H)
 
44
CHECK_INCLUDE_FILES( byteswap.h HAVE_BYTESWAP_H)
 
45
 
 
46
########### Check functions ###########
 
47
INCLUDE(CheckFunctionExists)
 
48
#toupper strcasecmp strdup putenv setlocale tzset strchr pow10 timegm
 
49
CHECK_FUNCTION_EXISTS(timegm HAVE_TIMEGM)
 
50
CHECK_FUNCTION_EXISTS(mktime HAVE_MKTIME)
 
51
CHECK_FUNCTION_EXISTS(tzset HAVE_TZSET)
 
52
CHECK_FUNCTION_EXISTS(pow10 HAVE_POW10)
 
53
CHECK_FUNCTION_EXISTS(setlocale HAVE_SETLOCALE)
 
54
CHECK_FUNCTION_EXISTS(mktime HAVE_MKTIME)
 
55
CHECK_FUNCTION_EXISTS(snprintf HAVE_SNPRINTF)
 
56
 
 
57
########### Others ###########
 
58
# Define if we want to manage the main window with SDL or Qt4
 
59
# Note that Qt4 is required in any case anyway
 
60
SET(USE_QT4 1)
 
61
#SET(USE_SDL TRUE)
 
62
 
 
63
# Activate translation with gettext
 
64
SET(ENABLE_NLS 1)
 
65
 
 
66
########### Find packages ###########
 
67
SET(CMAKE_MODULE_PATH ${PROJECT_SOURCE_DIR}/cmake)
 
68
FIND_PACKAGE(Qt4 REQUIRED)
 
69
SET(QT_USE_QTOPENGL TRUE)
 
70
SET(QT_USE_QTSCRIPT TRUE)
 
71
SET(QT_USE_QTNETWORK TRUE)
 
72
INCLUDE(${QT_USE_FILE})
 
73
 
 
74
IF(USE_SDL)
 
75
  FIND_PACKAGE(SDL REQUIRED)
 
76
  FIND_PACKAGE(SDL_mixer)
 
77
ELSE(USE_SDL)
 
78
  SET(SDL_LIBRARY "")
 
79
  FIND_PACKAGE(SDL_mixer)
 
80
ENDIF(USE_SDL)
 
81
 
 
82
IF(SDLMIXER_LIBRARY)
 
83
  MESSAGE(STATUS "Found SDL_mixer. Activate sound support.")
 
84
  SET(HAVE_SDL_SDL_MIXER_H 1)
 
85
ELSE(SDLMIXER_LIBRARY)
 
86
  MESSAGE(STATUS "No sound support.")
 
87
  SET(SDLMIXER_INCLUDE_DIR "")
 
88
  SET(SDLMIXER_LIBRARY "")
 
89
ENDIF(SDLMIXER_LIBRARY)
 
90
 
 
91
IF(ENABLE_NLS)
 
92
  FIND_PACKAGE(Iconv REQUIRED)
 
93
  FIND_PATH(INTL_INCLUDE_DIR libintl.h 
 
94
    /usr/include 
 
95
    /usr/local/include) 
 
96
  FIND_LIBRARY(INTL_LIBRARIES intl c
 
97
    PATHS 
 
98
    /usr/lib/
 
99
    /usr/local/lib)
 
100
  FIND_PACKAGE(Gettext REQUIRED)
 
101
ENDIF(ENABLE_NLS)
 
102
 
 
103
FIND_PACKAGE(OpenGL REQUIRED)
 
104
FIND_PACKAGE(PNG REQUIRED)
 
105
FIND_PACKAGE(JPEG REQUIRED)
 
106
FIND_PACKAGE(Boost REQUIRED)
 
107
FIND_PACKAGE(FreeType2 REQUIRED)
 
108
 
 
109
########### Set some global variables ###########
 
110
IF(UNIX AND NOT WIN32)
 
111
IF(MACOSX)
 
112
  SET(CMAKE_INSTALL_PREFIX "/Users/Shared/stellarium/Stellarium.app/Contents")
 
113
  SET(INSTALL_DATADIR "${CMAKE_INSTALL_PREFIX}/Resources/data")
 
114
  SET(INSTALL_LOCALEDIR "${CMAKE_INSTALL_PREFIX}/Resources/locale")
 
115
ELSE(MACOSX)
 
116
  SET(INSTALL_DATADIR ${CMAKE_INSTALL_PREFIX}/share/stellarium)
 
117
  SET(INSTALL_LOCALEDIR ${CMAKE_INSTALL_PREFIX}/share/locale)
 
118
ENDIF(MACOSX)
 
119
ELSE(UNIX AND NOT WIN32)
 
120
  SET(INSTALL_DATADIR .)
 
121
  SET(INSTALL_LOCALEDIR ./locale)
 
122
ENDIF(UNIX AND NOT WIN32)
 
123
 
 
124
########### Generate a config.h ###########
 
125
INCLUDE(TestBigEndian)
 
126
TEST_BIG_ENDIAN(WORDS_BIGENDIAN)
 
127
SET(HAVE_LIBCURL ${CURL_FOUND})
 
128
SET(PACKAGE_VERSION ${VERSION})
 
129
CONFIGURE_FILE(${CMAKE_SOURCE_DIR}/config.h.cmake ${CMAKE_BINARY_DIR}/config.h)
 
130
 
 
131
########### Add macros ###########
 
132
ADD_DEFINITIONS(-DHAVE_CONFIG_H)
 
133
 
 
134
########### uninstall files ###############
 
135
CONFIGURE_FILE(
 
136
  "${CMAKE_CURRENT_SOURCE_DIR}/cmake_uninstall.cmake.in"
 
137
  "${CMAKE_CURRENT_BINARY_DIR}/cmake_uninstall.cmake"
 
138
  IMMEDIATE @ONLY)
 
139
 
 
140
ADD_CUSTOM_TARGET(uninstall
 
141
  "${CMAKE_COMMAND}" -P "${CMAKE_CURRENT_BINARY_DIR}/cmake_uninstall.cmake")
 
142
 
 
143
########### Packaging info for CPack ###########
 
144
INCLUDE(InstallRequiredSystemLibraries)
 
145
 
 
146
SET(CPACK_PACKAGE_DESCRIPTION_SUMMARY "Stellarium is a free open source planetarium for your computer. It shows a realistic sky in 3D, just like what you see with the naked eye, binoculars or a telescope.")
 
147
SET(CPACK_PACKAGE_VENDOR "Stellarium's team")
 
148
SET(CPACK_PACKAGE_DESCRIPTION_FILE "${CMAKE_CURRENT_SOURCE_DIR}/README")
 
149
SET(CPACK_RESOURCE_FILE_LICENSE "${CMAKE_CURRENT_SOURCE_DIR}/COPYING")
 
150
SET(CPACK_PACKAGE_VERSION_MAJOR ${STELLARIUM_MAJOR})
 
151
SET(CPACK_PACKAGE_VERSION_MINOR ${STELLARIUM_MINOR})
 
152
SET(CPACK_PACKAGE_VERSION_PATCH ${STELLARIUM_PATCH})
 
153
SET(CPACK_PACKAGE_INSTALL_DIRECTORY "stellarium")
 
154
SET(CPACK_SOURCE_PACKAGE_FILE_NAME "stellarium-${VERSION}")
 
155
SET(CPACK_SOURCE_GENERATOR "TGZ")
 
156
SET(CPACK_GENERATOR "TGZ")
 
157
SET(CPACK_STRIP_FILES "bin/stellarium")
 
158
SET(CPACK_PACKAGE_EXECUTABLES "stellarium" "Stellarium")
 
159
set(CPACK_SOURCE_IGNORE_FILES "/CVS/" "/.svn/" "/.git/" "builds/" "Stellarium.tag$" "Stellarium.kdevelop.pcs$" "~$" "\\\\.swp$" "\\\\.#" "/#")
 
160
INCLUDE(CPack)
 
161
 
 
162
########### Generate doxygen doc ###############
 
163
ADD_CUSTOM_TARGET(doc doxygen Doxyfile WORKING_DIRECTORY ${PROJECT_SOURCE_DIR} COMMENT "Generate the doxygen documentation into the builds/doc directory.")
 
164
 
 
165
########### Subdirectories ###############
 
166
ADD_SUBDIRECTORY( data ) 
 
167
ADD_SUBDIRECTORY( src ) 
 
168
ADD_SUBDIRECTORY( textures ) 
 
169
ADD_SUBDIRECTORY( doc ) 
 
170
ADD_SUBDIRECTORY( po ) 
 
171
ADD_SUBDIRECTORY( landscapes ) 
 
172
ADD_SUBDIRECTORY( skycultures ) 
 
173
ADD_SUBDIRECTORY( nebulae ) 
 
174
ADD_SUBDIRECTORY( scripts ) 
 
175
ADD_SUBDIRECTORY( stars ) 
 
176
 
 
177
########### Macosx Bundling ###############
 
178
IF(MACOSX)
 
179
ADD_CUSTOM_TARGET(macosx_bundle mv ${CMAKE_INSTALL_PREFIX}/bin ${CMAKE_INSTALL_PREFIX}/MacOS COMMAND mv ${CMAKE_INSTALL_PREFIX}/share ${CMAKE_INSTALL_PREFIX}/Resources COMMAND mv ${CMAKE_INSTALL_PREFIX}/Resources/stellarium/* ${CMAKE_INSTALL_PREFIX}/Resources COMMAND rmdir ${CMAKE_INSTALL_PREFIX}/Resources/stellarium COMMAND mkdir ${CMAKE_INSTALL_PREFIX}/Frameworks COMMAND perl util/pkgApp.pl ${CMAKE_INSTALL_PREFIX} MacOS/stellarium Frameworks DEPENDS install WORKING_DIRECTORY ${PROJECT_SOURCE_DIR} COMMENT "making the macosx bundle." VERBATIM)
 
180
ENDIF(MACOSX)
 
181