-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathCMakeLists.txt
72 lines (61 loc) · 3.13 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
cmake_minimum_required( VERSION 3.10 )
find_package( brainvisa-cmake REQUIRED )
BRAINVISA_PROJECT()
BRAINVISA_FIND_PACKAGE( aims-gpl REQUIRED )
BRAINVISA_FIND_PACKAGE( anatomist-free REQUIRED )
BRAINVISA_DEPENDENCY( DEV DEPENDS "${BRAINVISA_PACKAGE_NAME}" RUN "= ${${BRAINVISA_PACKAGE_NAME}_VERSION}" )
BRAINVISA_DEPENDENCY( RUN DEPENDS anatomist-free RUN "= ${anatomist-free_VERSION}" )
BRAINVISA_DEPENDENCY( DEV DEPENDS anatomist-free DEV )
include( "${AIMS-GPL_USE_FILE}" )
include( "${ANATOMIST-FREE_USE_FILE}" )
#set( CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -W -Wall" )
if( NOT anatomist-free_VERSION_MAJOR EQUAL ${${PROJECT_NAME}_VERSION_MAJOR}
AND NOT anatomist-free_VERSION_MINOR EQUAL ${${PROJECT_NAME}_VERSION_MINOR} )
message( "WARNING: anatomist-gpl has version ${${PROJECT_NAME}_VERSION} whereas anatomist-free has version ${anatomist-free_VERSION}. This can be a problem at runtime because shared files are all supposed to be in a directory called anatomist-${anatomist-free_VERSION_MAJOR}.${anatomist-free_VERSION_MINOR}." )
endif()
find_package( python )
if( PYTHON_FOUND )
find_package( SIP )
find_package( Numpy )
find_package( PyQt${DESIRED_QT_VERSION} REQUIRED )
endif()
set( ANATOMIST-GPL_INCLUDE_DIRS "${CMAKE_BINARY_DIR}/include" )
if( PYTHON_INCLUDE_PATH )
set( ANATOMIST-GPL_INCLUDE_DIRS ${ANATOMIST-GPL_INCLUDE_DIRS}
"${PYTHON_INCLUDE_PATH}" )
endif()
if( NUMPY_FOUND )
set( ANATOMIST-GPL_INCLUDE_DIRS ${ANATOMIST-GPL_INCLUDE_DIRS}
"${NUMPY_INCLUDE_DIR}" )
endif()
if( SIP_FOUND )
set( ANATOMIST-GPL_INCLUDE_DIRS ${ANATOMIST-GPL_INCLUDE_DIRS}
"${SIP_INCLUDE_DIR}" )
endif()
include_directories( ${ANATOMIST-GPL_INCLUDE_DIRS} )
configure_file( "${CMAKE_CURRENT_SOURCE_DIR}/config/info.py.in" "${CMAKE_BINARY_DIR}/${PYTHON_INSTALL_DIRECTORY}/anatomist/info.py" @ONLY )
BRAINVISA_INSTALL( FILES "${CMAKE_BINARY_DIR}/${PYTHON_INSTALL_DIRECTORY}/anatomist/info.py"
DESTINATION "${PYTHON_INSTALL_DIRECTORY}/anatomist"
COMPONENT ${PROJECT_NAME} )
# don't warn on obsolete classes within this library: we still provide obsolete
# features so we have to build them without warnings
add_definitions( "-DAIMSDATA_CLASS_NO_DEPREC_WARNING=1" )
if( PYTHON_FOUND AND SIP_FOUND AND NUMPY_FOUND AND PYQT${DESIRED_QT_VERSION}_FOUND )
if( DESIRED_QT_VERSION EQUAL 4 )
foreach( component python python-numpy python-qt4 python-sip4 )
BRAINVISA_DEPENDENCY( RUN DEPENDS ${component} RUN )
BRAINVISA_DEPENDENCY( DEV DEPENDS ${component} DEV )
endforeach()
elseif( DESIRED_QT_VERSION EQUAL 5 )
# TODO
endif()
BRAINVISA_DEPENDENCY( RUN RECOMMENDS "python-matplotlib" RUN )
set( ANATOMIST_RELATIVE_SIP_DIRECTORY
"share/anatomist-${${PROJECT_NAME}_VERSION_MAJOR}.${${PROJECT_NAME}_VERSION_MINOR}/sip" )
if( anatomist-free_FOUND AND aims-gpl_FOUND )
add_subdirectory( pyanatomist )
endif()
else()
message( "WARNING: Not building pyanatomist due to missing dependency:\n PYTHON_FOUND=${PYTHON_FOUND}\nSIP_FOUND=${SIP_FOUND}\nNUMPY_FOUND=${NUMPY_FOUND}\nPYQT${DESIRED_QT_VERSION}_FOUND=${PYQT${DESIRED_QT_VERSION}_FOUND}\n" )
endif()
BRAINVISA_CREATE_CMAKE_CONFIG_FILES()