v0.14.0
FindADOL-C.cmake
Go to the documentation of this file.
1 # - Try to find ADOL-C
2 # Once done this will define
3 #
4 # ADOL-C_DIR - directory in which ADOL-C resides
5 
6 if(NOT ADOL-C_DIR)
7  set(ADOL-C_DIR $ENV{ADOL-C_DIR})
8 endif(NOT ADOL-C_DIR)
9 
10 if(ADOL-C_DIR)
11  find_library(ADOL-C_LIBRARY NAMES adolc PATHS ${ADOL-C_DIR}/lib ${ADOL-C_DIR}/lib64)
12  find_path(ADOL-C_HEADER NAMES adolc/adolc.h PATHS ${ADOL-C_DIR}/include)
13  if(ADOL-C_LIBRARY AND ADOL-C_HEADER)
14  find_library(
15  COLPACK_LIBLARY
16  NAMES Colpack
17  PATHS ${ADOL-C_DIR}/lib ${ADOL-C_DIR}/lib64 /usr/local/lib)
18  if(COLPACK_LIBLARY)
19  set(ADOL-C_LIBRARY ${ADOL-C_LIBRARY} ${COLPACK_LIBLARY})
20  endif(COLPACK_LIBLARY)
21  include_directories(${ADOL-C_HEADER})
22  add_definitions(-DWITH_ADOL_C)
23  endif(ADOL-C_LIBRARY AND ADOL-C_HEADER)
24  message(STATUS ${ADOL-C_LIBRARY})
25  message(STATUS ${ADOL-C_HEADER})
26 endif(ADOL-C_DIR)
27 
28 if(WITH_ADOL-C)
29  ExternalProject_Add(
30  adolc
31  PREFIX ${PROJECT_BINARY_DIR}/external/
32  URL http://bitbucket.org/likask/mofem-joseph/downloads/ADOL-C-2.5.2.tgz
33  CONFIGURE_COMMAND ${PROJECT_BINARY_DIR}/external/src/adolc/configure CC=${CMAKE_C_COMPILER} CXX=${CMAKE_CXX_COMPILER} --disable-shared --prefix=${PROJECT_BINARY_DIR}/external
34  BUILD_COMMAND make
35  INSTALL_COMMAND make install
36  )
37  find_library(
38  COLPACK_LIBLARY
39  NAMES Colpack
40  PATHS ${ADOL-C_DIR}/lib ${ADOL-C_DIR}/lib64 /usr/local/lib)
41  execute_process(COMMAND ${CMAKE_COMMAND} -E make_directory ${PROJECT_BINARY_DIR}/external/lib64)
42  execute_process(COMMAND ${CMAKE_COMMAND} -E touch ${PROJECT_BINARY_DIR}/external/lib64/libadolc.a)
43  add_dependencies(install_prerequisites adolc)
44 endif(WITH_ADOL-C)
45 
46 if(WITH_ADOL-C)
47  if(NOT ADOL-C_LIBRARY)
48  set(ADOL-C_DIR
49  ${PROJECT_BINARY_DIR}/external CACHE FILEPATH "path to adol-c" FORCE)
50  set(ADOL-C_HEADER ${ADOL-C_DIR}/include)
51  set(ADOL-C_LIBRARY
52  ${ADOL-C_DIR}/lib64/libadolc.a CACHE FILEPATH "adol-c lib" FORCE)
53  include_directories(${PROJECT_BINARY_DIR}/external/include)
54  add_definitions(-DWITH_ADOL_C)
55  if(COLPACK_LIBLARY)
56  set(ADOL-C_LIBRARY ${ADOL-C_LIBRARY} ${COLPACK_LIBLARY})
57  endif(COLPACK_LIBLARY)
58  message(STATUS ${ADOL-C_LIBRARY})
59  endif(NOT ADOL-C_LIBRARY)
60  message(STATUS ${ADOL-C_LIBRARY})
61  message(STATUS ${ADOL-C_HEADER})
62 endif(WITH_ADOL-C)