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")
|