diff --git a/CMakeLists.txt b/CMakeLists.txt deleted file mode 100644 index 6b1575e6..00000000 --- a/CMakeLists.txt +++ /dev/null @@ -1,60 +0,0 @@ -CMAKE_MINIMUM_REQUIRED (VERSION 2.6) -PROJECT (AxiSEM) -ENABLE_LANGUAGE (Fortran) - -# Add a module search path for custom modules -LIST(APPEND CMAKE_MODULE_PATH ${CMAKE_SOURCE_DIR}/cmake/) - -# Enable testing -#INCLUDE (CTest) - -SET(AXISEM_SOURCE_DIR ${CMAKE_SOURCE_DIR}) - -# Find MPI installation -FIND_PACKAGE(MPI) -IF(DEFINED MPI_Fortran_FOUND) - ADD_DEFINITIONS(${MPI_Fortran_COMPILE_FLAGS}) - INCLUDE_DIRECTORIES(${MPI_Fortran_INCLUDE_PATH}) -ENDIF(DEFINED MPI_Fortran_FOUND) - -# Determine if compiler supports OpenMP -FIND_PACKAGE(OpenMP_Fortran) - -# Check if NetCDF for Fortran90 is installed -SET (NETCDF_F90 "YES") -FIND_PACKAGE(NetCDF) -IF (NETCDF_FOUND) - INCLUDE_DIRECTORIES(${NETCDF_INCLUDES}) -ENDIF (NETCDF_FOUND) - -# Define the mesher executable -FILE(GLOB MESHER_SRCS "${AXISEM_SOURCE_DIR}/MESHER/*.f90" "${AXISEM_SOURCE_DIR}/MESHER/*.F90") -ADD_EXECUTABLE(xmesh ${MESHER_SRCS}) - -# Set compile/link flags for the mesher -SET(MESHER_COMPILER_FLAGS "${MESHER_COMPILER_FLAGS} ${OpenMP_Fortran_FLAGS}") -IF(NETCDF_FOUND) - SET(MESHER_COMPILER_FLAGS "${MESHER_COMPILER_FLAGS} -Dunc") - TARGET_LINK_LIBRARIES(xmesh ${NETCDF_LIBRARIES}) -ENDIF(NETCDF_FOUND) -SET_TARGET_PROPERTIES(xmesh PROPERTIES LINK_FLAGS ${OpenMP_Fortran_FLAGS}) -SET_TARGET_PROPERTIES(xmesh PROPERTIES COMPILE_FLAGS ${MESHER_COMPILER_FLAGS}) - -# Define the axisem executable -FILE(GLOB SOLVER_SRCS "${AXISEM_SOURCE_DIR}/SOLVER/*.f90" "${AXISEM_SOURCE_DIR}/SOLVER/*.F90" "${AXISEM_SOURCE_DIR}/SOLVER/*.c") -ADD_EXECUTABLE(axisem ${SOLVER_SRCS}) - -# Set compile/link flags for axisem -SET(SOLVER_COMPILER_FLAGS "${SOLVER_COMPILER_FLAGS} -Dsolver") -SET(SOLVER_COMPILER_FLAGS "${SOLVER_COMPILER_FLAGS} ${OpenMP_Fortran_FLAGS}") -IF(NOT MPI_Fortran_FOUND) - SET(SOLVER_COMPILER_FLAGS "${SOLVER_COMPILER_FLAGS} -Dserial") -ENDIF(NOT MPI_Fortran_FOUND) -TARGET_LINK_LIBRARIES(axisem ${MPI_Fortran_LIBRARIES}) -IF(NETCDF_FOUND) - SET(SOLVER_COMPILER_FLAGS "${SOLVER_COMPILER_FLAGS} -Dunc") - TARGET_LINK_LIBRARIES(axisem ${NETCDF_LIBRARIES}) -ENDIF(NETCDF_FOUND) -SET_TARGET_PROPERTIES(axisem PROPERTIES COMPILE_FLAGS ${SOLVER_COMPILER_FLAGS}) -SET_TARGET_PROPERTIES(axisem PROPERTIES LINK_FLAGS ${OpenMP_Fortran_FLAGS}) - diff --git a/MESHER/CMakeLists.txt b/MESHER/CMakeLists.txt new file mode 100644 index 00000000..821992d5 --- /dev/null +++ b/MESHER/CMakeLists.txt @@ -0,0 +1,14 @@ + +# Define the mesher executable +FILE(GLOB MESHER_SRCS "${AXISEM_SOURCE_DIR}/MESHER/*.f90" "${AXISEM_SOURCE_DIR}/MESHER/*.F90") +ADD_EXECUTABLE(xmesh ${MESHER_SRCS}) + +# Set compile/link flags for the mesher +SET(MESHER_COMPILER_FLAGS "${MESHER_COMPILER_FLAGS} ${OpenMP_Fortran_FLAGS}") +IF(NETCDF_FOUND) + SET(MESHER_COMPILER_FLAGS "${MESHER_COMPILER_FLAGS} -Dunc") + TARGET_LINK_LIBRARIES(xmesh ${NETCDF_LIBRARIES}) +ENDIF(NETCDF_FOUND) +SET_TARGET_PROPERTIES(xmesh PROPERTIES LINK_FLAGS ${OpenMP_Fortran_FLAGS}) +SET_TARGET_PROPERTIES(xmesh PROPERTIES COMPILE_FLAGS ${MESHER_COMPILER_FLAGS}) + diff --git a/SOLVER/CMakeLists.txt b/SOLVER/CMakeLists.txt new file mode 100644 index 00000000..3254e84f --- /dev/null +++ b/SOLVER/CMakeLists.txt @@ -0,0 +1,18 @@ +# Define the axisem executable +FILE(GLOB SOLVER_SRCS "${AXISEM_SOURCE_DIR}/SOLVER/*.f90" "${AXISEM_SOURCE_DIR}/SOLVER/*.F90" "${AXISEM_SOURCE_DIR}/SOLVER/*.c") +ADD_EXECUTABLE(axisem ${SOLVER_SRCS}) + +# Set compile/link flags for axisem +SET(SOLVER_COMPILER_FLAGS "${SOLVER_COMPILER_FLAGS} -Dsolver") +SET(SOLVER_COMPILER_FLAGS "${SOLVER_COMPILER_FLAGS} ${OpenMP_Fortran_FLAGS}") +IF(NOT MPI_Fortran_FOUND) + SET(SOLVER_COMPILER_FLAGS "${SOLVER_COMPILER_FLAGS} -Dserial") +ENDIF(NOT MPI_Fortran_FOUND) +TARGET_LINK_LIBRARIES(axisem ${MPI_Fortran_LIBRARIES}) +IF(NETCDF_FOUND) + SET(SOLVER_COMPILER_FLAGS "${SOLVER_COMPILER_FLAGS} -Dunc") + TARGET_LINK_LIBRARIES(axisem ${NETCDF_LIBRARIES}) +ENDIF(NETCDF_FOUND) +SET_TARGET_PROPERTIES(axisem PROPERTIES COMPILE_FLAGS ${SOLVER_COMPILER_FLAGS}) +SET_TARGET_PROPERTIES(axisem PROPERTIES LINK_FLAGS ${OpenMP_Fortran_FLAGS}) +