/
CMakeLists.txt
80 lines (67 loc) · 2.92 KB
/
CMakeLists.txt
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
69
70
71
72
73
74
75
76
77
78
79
80
# This project is designed to be built outside the source tree.
# File generated by Simon K. Warfield simon.warfield@childrens.harvard.edu
# with support from NIH grant RR021885.
PROJECT(gifticlib)
cmake_minimum_required(VERSION 2.6)
# install destinations
SET(GIFTI_INSTALL_BIN_DIR "${CMAKE_INSTALL_PREFIX}/bin")
SET(GIFTI_INSTALL_LIB_DIR "${CMAKE_INSTALL_PREFIX}/lib")
SET(GIFTI_INSTALL_INCLUDE_DIR "${CMAKE_INSTALL_PREFIX}/include/gifti")
FIND_PACKAGE(ITK)
IF(ITK_FOUND)
# ITK provides expat and zlib.
INCLUDE(${ITK_USE_FILE})
SET(EXPAT_LIBRARIES ITKEXPAT)
SET(ZLIB_LIBRARIES ITKznz)
SET(NIFTI_LIBRARIES ITKniftiio)
ELSE(ITK_FOUND)
# Otherwise, get it from elsewhere.
FIND_PACKAGE(EXPAT)
FIND_PACKAGE(ZLIB)
FIND_LIBRARY(NIFTI_LIBRARY NAMES niftiio PATH /usr/local/nifti/lib )
SET(NIFTI_LIBRARIES ${NIFTI_LIBRARY} znz m)
FIND_PATH(NIFTI_INCLUDE_DIR nifti1.h /usr/local/nifti/include/nifti
/usr/include/nifti)
GET_FILENAME_COMPONENT(GIFTI_LINK_DIRECTORIES ${NIFTI_LIBRARY} PATH)
LINK_DIRECTORIES(${GIFTI_LINK_DIRECTORIES})
INCLUDE_DIRECTORIES(${NIFTI_INCLUDE_DIR})
ENDIF(ITK_FOUND)
# shared library API versioning -- NOT the same as the release version
SET(GIFTI_SHAREDLIB_VERSION "0.0.0")
STRING( REGEX MATCH "^[0-9]+" GIFTI_SHAREDLIB_SOVERSION ${GIFTI_SHAREDLIB_VERSION})
SET(GIFTI_LIBRARY_PROPERTIES VERSION ${GIFTI_SHAREDLIB_VERSION} SOVERSION ${GIFTI_SHAREDLIB_SOVERSION})
IF(ZLIB_FOUND)
ADD_DEFINITIONS(-DHAVE_ZLIB)
ENDIF(ZLIB_FOUND)
INCLUDE_DIRECTORIES(
${CRKIT_SOURCE_DIR}/External
${gifticlib_SOURCE_DIR}
${gifticlib_BINARY_DIR}
)
SET(GIFTIIO_SRC gifti_io.c gifti_xml.c)
# shared version
ADD_LIBRARY(giftiio SHARED ${GIFTIIO_SRC})
# Set library version when building shared libs.
SET_TARGET_PROPERTIES(giftiio PROPERTIES ${GIFTI_LIBRARY_PROPERTIES})
TARGET_LINK_LIBRARIES(giftiio ${EXPAT_LIBRARIES} ${NIFTI_LIBRARIES})
IF(ZLIB_FOUND)
TARGET_LINK_LIBRARIES(giftiio ${ZLIB_LIBRARIES})
ENDIF(ZLIB_FOUND)
# static version
ADD_LIBRARY(giftiio_static STATIC ${GIFTIIO_SRC})
#The library target "via_static" has a default OUTPUT_NAME of "via_static", can be changed with
SET_TARGET_PROPERTIES(giftiio_static PROPERTIES ${GIFTI_LIBRARY_PROPERTIES} OUTPUT_NAME "giftiio")
LINK_DIRECTORIES(${gifticlib_BINARY_DIR})
ADD_EXECUTABLE(gifti_tool gifti_tool.c)
TARGET_LINK_LIBRARIES(gifti_tool giftiio ${EXPAT_LIBRARIES} ${ZLIB_LIBRARIES} ${NIFTI_LIBRARIES})
ADD_EXECUTABLE(gifti_test gifti_test.c)
TARGET_LINK_LIBRARIES(gifti_test giftiio ${EXPAT_LIBRARIES} ${ZLIB_LIBRARIES} ${NIFTI_LIBRARIES})
# binaries
INSTALL(TARGETS giftiio giftiio_static gifti_tool gifti_test
RUNTIME DESTINATION ${GIFTI_INSTALL_BIN_DIR} COMPONENT RuntimeLibraries
LIBRARY DESTINATION ${GIFTI_INSTALL_LIB_DIR} COMPONENT RuntimeLibraries
ARCHIVE DESTINATION ${GIFTI_INSTALL_LIB_DIR} COMPONENT Development)
# headers
INSTALL(FILES gifti_io.h gifti_xml.h
DESTINATION ${GIFTI_INSTALL_INCLUDE_DIR}
COMPONENT Development)