2
2
# Once done this will define
4
# TAO_FOUND - system has SLEPc
5
# TAO_INCLUDE_DIR - include directories for SLEPc
6
# TAO_LIBARIES - libraries for SLEPc
7
# TAO_DIR - directory where SLEPc is built
4
# TAO_FOUND - system has TAO
5
# TAO_INCLUDE_DIR - include directories for TAO
6
# TAO_LIBARIES - libraries for TAO
7
# TAO_DIR - directory where TAO is built
9
9
# Assumes that PETSC_DIR and PETSC_ARCH has been set by
10
10
# alredy calling find_package(PETSc)
106
106
# Remove temporary Makefile
107
107
file(REMOVE ${tao_config_makefile})
109
##############################################
109
110
# Extract include paths and libraries from compile command line
110
111
include(ResolveCompilerPaths)
111
112
resolve_includes(TAO_INCLUDE_DIRS "${TAO_INCLUDE}")
112
resolve_libraries(TAO_LIB "${TAO_LIB}")
113
resolve_libraries(TAO_EXTERNAL_LIB "${TAO_EXTERNAL_LIB}")
114
115
# Add variables to CMake cache and mark as advanced
115
116
set(TAO_INCLUDE_DIRS ${TAO_INCLUDE_DIRS} CACHE STRING "TAO include paths." FORCE)
116
set(TAO_LIBRARIES ${TAO_LIB} CACHE STRING "TAO libraries." FORCE)
117
mark_as_advanced(TAO INCLUDE_DIRS TAO_LIBRARIES)
117
set(TAO_LIBRARIES ${TAO_LIBRARY} ${TAO_EXTERNAL_LIB} CACHE STRING "TAO libraries." FORCE)
118
mark_as_advanced(TAO_INCLUDE_DIRS TAO_LIBRARIES)
121
if (DOLFIN_SKIP_BUILD_TESTS)
122
set(TAO_TEST_RUNS TRUE)
123
set(TAO_VERSION "UNKNOWN")
124
set(TAO_VERSION_OK TRUE)
125
elseif (TAO_LIBRARIES AND TAO_INCLUDE_DIRS)
119
127
# Set flags for building test program
120
128
set(CMAKE_REQUIRED_INCLUDES ${TAO_INCLUDE_DIRS} ${PETSC_INCLUDE_DIRS})
121
129
set(CMAKE_REQUIRED_LIBRARIES ${TAO_LIBRARIES} ${PETSC_LIBRARIES})
123
131
# Add MPI variables if MPI has been found
125
set(CMAKE_REQUIRED_INCLUDES ${CMAKE_REQUIRED_INCLUDES} ${MPI_INCLUDE_PATH})
126
set(CMAKE_REQUIRED_LIBRARIES ${CMAKE_REQUIRED_LIBRARIES} ${MPI_LIBRARIES})
127
set(CMAKE_REQUIRED_FLAGS "${CMAKE_REQUIRED_FLAGS} ${MPI_COMPILE_FLAGS}")
133
set(CMAKE_REQUIRED_INCLUDES ${CMAKE_REQUIRED_INCLUDES} ${MPI_C_INCLUDE_PATH})
135
set(CMAKE_REQUIRED_LIBRARIES ${CMAKE_REQUIRED_LIBRARIES} ${MPI_C_LIBRARIES})
136
set(CMAKE_REQUIRED_FLAGS "${CMAKE_REQUIRED_FLAGS} ${MPI_C_COMPILE_FLAGS}")
139
##############################################
141
# Extract include paths and libraries from compile command line
142
# include(ResolveCompilerPaths)
143
# resolve_includes(TAO_INCLUDE_DIRS "${TAO_INCLUDE}")
144
#resolve_libraries(TAO_LIB "${TAO_LIB}")
146
# Add variables to CMake cache and mark as advanced
147
#set(TAO_INCLUDE_DIRS ${TAO_INCLUDE_DIRS} CACHE STRING "TAO include paths." FORCE)
148
#set(TAO_LIBRARIES ${TAO_LIB} CACHE STRING "TAO libraries." FORCE)
149
#mark_as_advanced(TAO INCLUDE_DIRS TAO_LIBRARIES)
151
# Set flags for building test program
152
#set(CMAKE_REQUIRED_INCLUDES ${TAO_INCLUDE_DIRS} ${PETSC_INCLUDE_DIRS})
153
#set(CMAKE_REQUIRED_LIBRARIES ${TAO_LIBRARIES} ${PETSC_LIBRARIES})
155
# Add MPI variables if MPI has been found
157
# set(CMAKE_REQUIRED_INCLUDES ${CMAKE_REQUIRED_INCLUDES} ${MPI_INCLUDE_PATH})
158
# set(CMAKE_REQUIRED_LIBRARIES ${CMAKE_REQUIRED_LIBRARIES} ${MPI_LIBRARIES})
159
# set(CMAKE_REQUIRED_FLAGS "${CMAKE_REQUIRED_FLAGS} ${MPI_COMPILE_FLAGS}")
130
163
# Run TAO test program
131
164
include(CheckCXXSourceRuns)
132
165
check_cxx_source_runs("