This repository was archived by the owner on Aug 28, 2024. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
38 changed files
with
987 additions
and
1,035 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,64 @@ | ||
# CMake project file for FOO | ||
|
||
################################################## | ||
# Define the project and the depencies that it has | ||
################################################## | ||
|
||
CMAKE_MINIMUM_REQUIRED(VERSION 2.8.5...3.20.1) | ||
PROJECT(Swiftest Fortran) | ||
|
||
# Set the Swiftest version | ||
SET(VERSION 1.0.0) | ||
|
||
# Add our local modlues to the module path | ||
SET(CMAKE_MODULE_PATH "${CMAKE_SOURCE_DIR}/cmake/Modules/") | ||
|
||
# Uncomment if it is required that Fortran 90 is supported | ||
IF(NOT CMAKE_Fortran_COMPILER_SUPPORTS_F90) | ||
MESSAGE(FATAL_ERROR "Fortran compiler does not support F90") | ||
ENDIF(NOT CMAKE_Fortran_COMPILER_SUPPORTS_F90) | ||
|
||
# Set some options the user may choose | ||
# Uncomment the below if you want the user to choose a parallelization library | ||
OPTION(USE_MPI "Use the MPI library for parallelization" OFF) | ||
OPTION(USE_OPENMP "Use OpenMP for parallelization" OFF) | ||
|
||
# This INCLUDE statement executes code that sets the compile flags for DEBUG, | ||
# RELEASE, and TESTING. You should review this file and make sure the flags | ||
# are to your liking. | ||
INCLUDE(${CMAKE_MODULE_PATH}/SetFortranFlags.cmake) | ||
# Locate and set parallelization libraries. There are some CMake peculiarities | ||
# taken care of here, such as the fact that the FindOpenMP routine doesn't know | ||
# about Fortran. | ||
INCLUDE(${CMAKE_MODULE_PATH}/SetParallelizationLibrary.cmake) | ||
|
||
INCLUDE(${CMAKE_MODULE_PATH}/SetUpNetCDF.cmake) | ||
|
||
# There is an error in CMAKE with this flag for pgf90. Unset it | ||
GET_FILENAME_COMPONENT(FCNAME ${CMAKE_Fortran_COMPILER} NAME) | ||
IF(FCNAME STREQUAL "pgf90") | ||
UNSET(CMAKE_SHARED_LIBRARY_LINK_Fortran_FLAGS) | ||
ENDIF(FCNAME STREQUAL "pgf90") | ||
|
||
############################################################ | ||
# Define the actual files and folders that make up the build | ||
############################################################ | ||
|
||
# Define the executable name | ||
SET(FOOEXE swiftest_driver) | ||
|
||
# Define some directories | ||
SET(SRC ${CMAKE_SOURCE_DIR}/src) | ||
SET(LIB ${CMAKE_SOURCE_DIR}/lib) | ||
SET(BIN ${CMAKE_SOURCE_DIR}/bin) | ||
|
||
# Have the .mod files placed in the lib folder | ||
SET(CMAKE_Fortran_MODULE_DIRECTORY ${LIB}) | ||
|
||
# The source for the FOO binary and have it placed in the bin folder | ||
ADD_SUBDIRECTORY(${SRC} ${BIN}) | ||
|
||
# Add a distclean target to the Makefile | ||
ADD_CUSTOM_TARGET(distclean | ||
COMMAND ${CMAKE_COMMAND} -P ${CMAKE_SOURCE_DIR}/distclean.cmake | ||
) |
Oops, something went wrong.