# Minimum CMake version. cmake_minimum_required (VERSION 2.8.5) project(TPL) # Adjust CMake's module path. set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} ${TPL_SOURCE_DIR}/cmake) # set up directory structure set(TPL_MPI_DIR ${MPI_DIR}) set(TPL_CMAKE_BUILD_DIR "${TPL_SOURCE_DIR}/include") set(TPL_CMAKE_TEMPLATE_DIR "${TPL_SOURCE_DIR}/templates") # This gets around a bug in the Intel compiler when limits.h is included. set(CMAKE_C_FLAGS "-D_GCC_LIMITS_H_") # ############################################################################ # # Build options # ############################################################################ # message(STATUS "Setting build type") set(TPL_BUILD_TYPE_DFLT "Release") if ( NOT TPL_BUILD_TYPE ) set(TPL_BUILD_TYPE ${TPL_BUILD_TYPE_DFLT}) endif() message(STATUS "Setting build type -- ${TPL_BUILD_TYPE}") # Download directory TPL_DOWNLOAD_DIR set(TPL_DOWNLOAD_DIR_DFLT ${TPL_BINARY_DIR}/Downloads) if(NOT TPL_DOWNLOAD_DIR) set(TPL_DOWNLOAD_DIR ${TPL_DOWNLOAD_DIR_DFLT}) endif() message(STATUS "Download TPL files in ${TPL_DOWNLOAD_DIR}") # TPL install location set(TPL_INSTALL_PREFIX_DFLT "${TPL_BINARY_DIR}/external-projects") if ( NOT TPL_INSTALL_PREFIX ) set(TPL_INSTALL_PREFIX ${TPL_INSTALL_PREFIX_DFLT}) endif() message(STATUS "Install TPLs in ${TPL_INSTALL_PREFIX}") # start TPLs install include(${TPL_SOURCE_DIR}/TPLVersions.cmake) include(ExternalProject) include(DefineExternalProjectArgs) if (${APPLE}) message(STATUS " machine identified as an APPLE") set(TPL_MATH_LIB "-framework veclib" PARENT_SCOPE) set(TPL_MATH_LIB "-framework veclib") endif () IF (USE_X11) IF(UNIX) FIND_PACKAGE(X11) #FIND_LIBRARY(XXF86VM_LIBRARY Xxf86vm) message(STATUS "FIND_PACKAGE(X11) X11_LIBRARIES= ${X11_LIBRARIES}") SET(X11_LIBRARIES ${X11_LIBRARIES} #${XXF86VM_LIBRARY} ) ENDIF(UNIX) ENDIF(USE_X11) # Determine what tpls to build. if (USE_PETSC) if(PETSC_COMPILED) else() include("${TPL_CMAKE_BUILD_DIR}/Build_PETSC.cmake") append_set(TOUGHLIB_TPL_CMAKE_ARGS -DPETSC_DIR:FILEPATH=${TPL_INSTALL_PREFIX}) endif() else () # Find BLAS. We build it if we don't see it. # Find LAPACK. We build it if we don't see it. endif () # PARMETIS #if (NOT USE_PETSC) if (USE_MPI) # include("${TPL_CMAKE_BUILD_DIR}/Build_PARMETIS.cmake") # append_set(TOUGHLIB_TPL_CMAKE_ARGS # -DPARMETIS_DIR:FILEPATH=${TPL_INSTALL_PREFIX}) #METIS include("${TPL_CMAKE_BUILD_DIR}/Build_METIS.cmake") append_set(TOUGHLIB_TPL_CMAKE_ARGS -DMETIS_DIR:FILEPATH=${TPL_INSTALL_PREFIX}) endif() #endif () #AZTEC if (USE_MPI) include("${TPL_CMAKE_BUILD_DIR}/Build_AZTEC.cmake") append_set(TOUGHLIB_TPL_CMAKE_ARGS -DAZTEC_DIR:FILEPATH=${TPL_INSTALL_PREFIX}) endif () # --- Create a CMake cache scipt set(TPL_CONFIG_FILE tpl-config.cmake) configure_file(${TPL_CMAKE_TEMPLATE_DIR}/${TPL_CONFIG_FILE}.in ${PROJECT_BINARY_DIR}/${TPL_CONFIG_FILE} @ONLY) install( FILES "${PROJECT_BINARY_DIR}/${TPL_CONFIG_FILE}" DESTINATION ${TPL_INSTALL_PREFIX})