Initial integration, lots of broken stuff
[supertux.git] / src / unison / CMakeLists.txt
1 #          Copyright Timothy Goya 2007.
2 # Distributed under the Boost Software License, Version 1.0.
3 #    (See accompanying file LICENSE_1_0.txt or copy at
4 #          http://www.boost.org/LICENSE_1_0.txt)
5
6 PROJECT(UNISON)
7
8 INCLUDE_DIRECTORIES(${UNISON_SOURCE_DIR}/include/)
9
10 FIND_PACKAGE(SDL REQUIRED)
11 INCLUDE_DIRECTORIES(${SDL_INCLUDE_DIR})
12 LINK_LIBRARIES(${SDL_LIBRARY})
13
14 FIND_PACKAGE(SDL_image REQUIRED)
15 INCLUDE_DIRECTORIES(${SDLIMAGE_INCLUDE_DIR})
16 LINK_LIBRARIES(${SDLIMAGE_LIBRARY})
17
18 FIND_PACKAGE(PhysFS)
19 IF(${PHYSFS_FOUND} STREQUAL "NO")
20   SET(PHYSFS_BUILD_SHARED FALSE)
21   ADD_SUBDIRECTORY(physfs-1.1.1)
22   SET(PHYSFS_INCLUDE_DIR physfs-1.1.1)
23   SET(PHYSFS_LIBRARY ${UNISON_BINARY_DIR}/physfs-1.1.1/libphysfs.a)
24 ENDIF(${PHYSFS_FOUND} STREQUAL "NO")
25 INCLUDE_DIRECTORIES(${PHYSFS_INCLUDE_DIR})
26 LINK_LIBRARIES(${PHYSFS_LIBRARY})
27
28 IF(CMAKE_COMPILER_IS_GNUCC)
29   ADD_DEFINITIONS(-g -O2 -Wall -Wextra)
30 ENDIF(CMAKE_COMPILER_IS_GNUCC)
31
32 IF(MSVC)
33   ADD_DEFINITIONS(-D_CRG_SECURE_NO_WARNINGS=1)
34 ENDIF(MSVC)
35
36 CHECK_INCLUDE_FILE(assert.h HAVE_ASSERT_H)
37 IF(HAVE_ASSERT_H)
38     ADD_DEFINITIONS(-DHAVE_ASSERT_H=1)
39 ENDIF(HAVE_ASSERT_H)
40
41 FILE(GLOB_RECURSE UNISON_SOURCES RELATIVE ${UNISON_SOURCE_DIR} src/*.cpp src/*.c)
42
43 ADD_LIBRARY(unison ${UNISON_SOURCES})
44
45 IF(${PHYSFS_FOUND} STREQUAL "NO")
46   ADD_DEPENDENCIES(unison physfs-static)
47   SET(PHYSFS_FOUND "YES")
48 ENDIF(${PHYSFS_FOUND} STREQUAL "NO")
49
50 FIND_PACKAGE(Doxygen)
51 IF(DOXYGEN_FOUND)
52     ADD_CUSTOM_TARGET(docs ${DOXYGEN_EXECUTABLE} COMMENT "Building documentation")
53 ELSE(DOXYGEN_FOUND)
54     MESSAGE(STATUS "Doxygen not found. You won't be able to build documentation.")
55 ENDIF(DOXYGEN_FOUND)