CMAKE_MINIMUM_REQUIRED(VERSION 2.8.5) PROJECT(PRAgMaTIc) # The version number. set (PRAgMaTIc_VERSION_MAJOR 0) set (PRAgMaTIc_VERSION_MINOR 9) set (CMAKE_MODULE_PATH CMake/Modules ${CMAKE_MODULE_PATH}) enable_language(CXX) enable_language(C) enable_language(Fortran) set (PRAGMATIC_LIBRARIES) FIND_PACKAGE(VTK) if(VTK_FOUND) add_definitions(-DHAVE_VTK) include(${VTK_USE_FILE}) set (PRAGMATIC_LIBRARIES vtkIO vtkGraphics vtkFiltering vtkCommon vtksys ${PRAGMATIC_LIBRARIES}) endif() FIND_PACKAGE(MPI) if(MPI_FOUND) add_definitions(-DHAVE_MPI) include_directories(${MPI_CXX_INCLUDE_PATH} ${MPI_C_INCLUDE_PATH} ${MPI_Fortran_INCLUDE_PATH}) set (CMAKE_CXX_FLAGS ${MPI_CXX_COMPILE_FLAGS} ${CMAKE_CXX_FLAGS}) set (CMAKE_C_FLAGS ${MPI_C_COMPILE_FLAGS} ${CMAKE_C_FLAGS}) set (CMAKE_Fortran_FLAGS ${MPI_Fortran_COMPILE_FLAGS} ${CMAKE_Fortran_FLAGS}) set (CMAKE_LINK_FLAGS ${MPI_C_LINK_FLAGS} ${CMAKE_LINK_FLAGS}) set (PRAGMATIC_LIBRARIES ${MPI_CXX_LIBRARIES} ${MPI_C_LIBRARIES} ${MPI_Fortran_LIBRARIES} ${PRAGMATIC_LIBRARIES}) set (CMAKE_CXX_COMPILER ${MPI_CXX_COMPILER}) endif() FIND_PACKAGE(OpenMP) if(OpenMP_FOUND) add_definitions(-DHAVE_OPENMP) set (CMAKE_CXX_FLAGS OpenMP_CXX_FLAGS ${CMAKE_CXX_FLAGS}) set (CMAKE_C_FLAGS OpenMP_C_FLAGS ${CMAKE_C_FLAGS}) set (CMAKE_FORTRAN_FLAGS OpenMP_C_FLAGS ${CMAKE_FORTRAN_FLAGS}) endif() FIND_PACKAGE(Metis) if(METIS_FOUND) include_directories(${METIS_INCLUDE_DIR}) set (PRAGMATIC_LIBRARIES ${METIS_LIBRARIES} ${PRAGMATIC_LIBRARIES}) endif() FIND_PACKAGE(Numa) if(NUMA_FOUND) include_directories(${NUMA_INCLUDE_DIR}) set (PRAGMATIC_LIBRARIES ${NUMA_LIBRARIES} ${PRAGMATIC_LIBRARIES}) endif() include_directories(include) # ADD_EXECUTABLE( ${PROJECT_NAME} main.cpp ) # TARGET_LINK_LIBRARIES( ${PROJECT_NAME} ${PRAgMaTIc_LIBS} ) # ADD_CUSTOM_COMMAND(TARGET ${PROJECT_NAME} POST_BUILD COMMAND cp ${PROJECT_NAME} ${PROJECT_NAME}.o ) file(GLOB C_SOURCES src/*.c) file(GLOB CXX_SOURCES src/*.cpp) file(GLOB FC_SOURCES src/*.F90) # target_link_library add_library(pragmatic ${C_SOURCES} ${CXX_SOURCES} ${FC_SOURCES}) add_subdirectory(tests EXCLUDE_FROM_ALL)