399
by Gerard Gorman
First instillation of CMake support. |
1 |
CMAKE_MINIMUM_REQUIRED(VERSION 2.8.5) |
2 |
PROJECT(PRAgMaTIc) |
|
3 |
||
4 |
# The version number.
|
|
5 |
set (PRAgMaTIc_VERSION_MAJOR 0) |
|
6 |
set (PRAgMaTIc_VERSION_MINOR 9) |
|
7 |
||
8 |
set (CMAKE_MODULE_PATH CMake/Modules ${CMAKE_MODULE_PATH}) |
|
9 |
||
400
by Gerard Gorman
Enabled Fortran support. |
10 |
enable_language(CXX) |
11 |
enable_language(C) |
|
12 |
enable_language(Fortran) |
|
13 |
||
399
by Gerard Gorman
First instillation of CMake support. |
14 |
set (PRAGMATIC_LIBRARIES) |
15 |
FIND_PACKAGE(VTK) |
|
16 |
if(VTK_FOUND) |
|
17 |
add_definitions(-DHAVE_VTK) |
|
18 |
include(${VTK_USE_FILE}) |
|
19 |
set (PRAGMATIC_LIBRARIES vtkIO vtkGraphics vtkFiltering vtkCommon vtksys ${PRAGMATIC_LIBRARIES}) |
|
20 |
endif() |
|
21 |
||
22 |
FIND_PACKAGE(MPI) |
|
23 |
if(MPI_FOUND) |
|
24 |
add_definitions(-DHAVE_MPI) |
|
25 |
include_directories(${MPI_CXX_INCLUDE_PATH} ${MPI_C_INCLUDE_PATH} ${MPI_Fortran_INCLUDE_PATH}) |
|
26 |
||
27 |
set (CMAKE_CXX_FLAGS ${MPI_CXX_COMPILE_FLAGS} ${CMAKE_CXX_FLAGS}) |
|
28 |
set (CMAKE_C_FLAGS ${MPI_C_COMPILE_FLAGS} ${CMAKE_C_FLAGS}) |
|
29 |
set (CMAKE_Fortran_FLAGS ${MPI_Fortran_COMPILE_FLAGS} ${CMAKE_Fortran_FLAGS}) |
|
30 |
set (CMAKE_LINK_FLAGS ${MPI_C_LINK_FLAGS} ${CMAKE_LINK_FLAGS}) |
|
31 |
set (PRAGMATIC_LIBRARIES ${MPI_CXX_LIBRARIES} ${MPI_C_LIBRARIES} ${MPI_Fortran_LIBRARIES} ${PRAGMATIC_LIBRARIES}) |
|
32 |
set (CMAKE_CXX_COMPILER ${MPI_CXX_COMPILER}) |
|
33 |
endif() |
|
34 |
||
35 |
FIND_PACKAGE(OpenMP) |
|
36 |
if(OpenMP_FOUND) |
|
37 |
add_definitions(-DHAVE_OPENMP) |
|
38 |
set (CMAKE_CXX_FLAGS OpenMP_CXX_FLAGS ${CMAKE_CXX_FLAGS}) |
|
39 |
set (CMAKE_C_FLAGS OpenMP_C_FLAGS ${CMAKE_C_FLAGS}) |
|
40 |
set (CMAKE_FORTRAN_FLAGS OpenMP_C_FLAGS ${CMAKE_FORTRAN_FLAGS}) |
|
41 |
endif() |
|
42 |
||
43 |
FIND_PACKAGE(Metis) |
|
44 |
if(METIS_FOUND) |
|
45 |
include_directories(${METIS_INCLUDE_DIR}) |
|
46 |
set (PRAGMATIC_LIBRARIES ${METIS_LIBRARIES} ${PRAGMATIC_LIBRARIES}) |
|
47 |
endif() |
|
48 |
||
49 |
FIND_PACKAGE(Numa) |
|
50 |
if(NUMA_FOUND) |
|
51 |
include_directories(${NUMA_INCLUDE_DIR}) |
|
52 |
set (PRAGMATIC_LIBRARIES ${NUMA_LIBRARIES} ${PRAGMATIC_LIBRARIES}) |
|
53 |
endif() |
|
54 |
||
55 |
include_directories(include) |
|
56 |
||
57 |
# ADD_EXECUTABLE( ${PROJECT_NAME} main.cpp )
|
|
58 |
# TARGET_LINK_LIBRARIES( ${PROJECT_NAME} ${PRAgMaTIc_LIBS} )
|
|
59 |
# ADD_CUSTOM_COMMAND(TARGET ${PROJECT_NAME} POST_BUILD COMMAND cp ${PROJECT_NAME} ${PROJECT_NAME}.o )
|
|
60 |
file(GLOB C_SOURCES src/*.c) |
|
61 |
file(GLOB CXX_SOURCES src/*.cpp) |
|
62 |
file(GLOB FC_SOURCES src/*.F90) |
|
63 |
||
64 |
# target_link_library
|
|
65 |
add_library(pragmatic ${C_SOURCES} ${CXX_SOURCES} ${FC_SOURCES}) |
|
66 |
||
67 |
add_subdirectory(tests EXCLUDE_FROM_ALL) |