File: CMakeLists.txt

package info (click to toggle)
regina-normal 4.93-1
  • links: PTS
  • area: main
  • in suites: wheezy
  • size: 28,576 kB
  • sloc: cpp: 86,815; ansic: 13,030; xml: 9,089; perl: 951; sh: 380; python: 273; makefile: 103
file content (68 lines) | stat: -rw-r--r-- 2,586 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
# Engine

SET ( SOURCES engine shareableobject )
# Each of these subdirectories modifies the SOURCE variable,
# adding more source files
ADD_SUBDIRECTORY("algebra")
ADD_SUBDIRECTORY("angle")
ADD_SUBDIRECTORY("census")
ADD_SUBDIRECTORY("data")
ADD_SUBDIRECTORY("enumerate")
ADD_SUBDIRECTORY("file")
ADD_SUBDIRECTORY("foreign")
ADD_SUBDIRECTORY("manifold")
ADD_SUBDIRECTORY("maths")
ADD_SUBDIRECTORY("packet")
ADD_SUBDIRECTORY("progress")
ADD_SUBDIRECTORY("snappea")
ADD_SUBDIRECTORY("split")
ADD_SUBDIRECTORY("subcomplex")
ADD_SUBDIRECTORY("surfaces")
ADD_SUBDIRECTORY("triangulation")
ADD_SUBDIRECTORY("utilities")

ADD_DEFINITIONS(-DREGINA_DLL_EXPORTS=1)

# Hard-code installation paths into NGlobalDirs:
ADD_DEFINITIONS(-DREGINA_DATADIR=\"${PKGDATADIR}\")
ADD_DEFINITIONS(-DREGINA_PYLIBDIR=\"${PYLIBDIR}\")

INCLUDE_DIRECTORIES(${CMAKE_SOURCE_DIR}/engine)
INCLUDE_DIRECTORIES(${CMAKE_BINARY_DIR}/engine)
ADD_LIBRARY("regina-engine" SHARED ${SOURCES} )
SET(ENGINE_LINK_LIBRARIES ${LIBXML2_LIBRARIES} ${GMP_LIBRARIES} ${GMPXX_LIBRARIES} ${ZLIB_LIBRARIES} ${CMAKE_THREAD_LIBS_INIT})
TARGET_LINK_LIBRARIES(regina-engine ${ENGINE_LINK_LIBRARIES} ${ICONV_LIBRARY})
SET_TARGET_PROPERTIES(regina-engine PROPERTIES VERSION ${PACKAGE_VERSION})
SET_TARGET_PROPERTIES(regina-engine PROPERTIES SOVERSION ${PACKAGE_VERSION})

SET( HEADERS ${HEADERS} docs.h engine.h regina-core.h shareableobject.h )
SET( MANS ${MANS} regina-engine-config.1 )

# Build space-separated flag lists for regine-engine-config:
GET_DIRECTORY_PROPERTY(ENGINE_INCLUDE_DIRECTORIES DIRECTORY .. INCLUDE_DIRECTORIES)
foreach(arg ${ENGINE_INCLUDE_DIRECTORIES})
  SET(RECONFIG_INCLUDE_FLAGS "${RECONFIG_INCLUDE_FLAGS} -I${arg}")
endforeach(arg ${ENGINE_INCLUDE_DIRECTORIES})
foreach(arg ${ENGINE_LINK_LIBRARIES})
  SET(RECONFIG_LINK_FLAGS "${RECONFIG_LINK_FLAGS} ${arg}")
endforeach(arg ${ENGINE_LINK_LIBRARIES})
CONFIGURE_FILE (
  regina-engine-config.in
  "${PROJECT_BINARY_DIR}/engine/regina-engine-config"
  @ONLY
)

INSTALL(TARGETS regina-engine
  LIBRARY DESTINATION ${LIBDIR}
  RUNTIME DESTINATION ${BINDIR}
  COMPONENT Runtime)

if (${REGINA_INSTALL_DEV})
  INSTALL(FILES ${HEADERS} DESTINATION ${INCLUDEDIR} COMPONENT Development)
  INSTALL(FILES ${CMAKE_BINARY_DIR}/engine/regina-config.h DESTINATION ${INCLUDEDIR} COMPONENT Development)
  INSTALL(PROGRAMS ${PROJECT_BINARY_DIR}/engine/regina-engine-config DESTINATION bin COMPONENT Development)
  INSTALL(FILES regina-engine-config.1 DESTINATION ${MANDIR}/man1 COMPONENT Development)
endif (${REGINA_INSTALL_DEV})

# Miscellaneous extras:
ADD_SUBDIRECTORY("doxygen")