cmake_minimum_required(VERSION 2.6 FATAL_ERROR)
set(CMAKE_USER_MAKE_RULES_OVERRIDE ${CMAKE_SOURCE_DIR}/cmake/UserOverride.cmake)
enable_language(Fortran)
project(fortranutils)
set(CMAKE_MODULE_PATH ${PROJECT_SOURCE_DIR}/cmake)
set(WITH_LAPACK yes
CACHE BOOL "Build with LAPACK support")
set(WITH_HDF5 no
CACHE BOOL "Build with HDF5 support")
# Make sure that CMAKE_BUILD_TYPE is either Debug or Release:
if (NOT CMAKE_BUILD_TYPE)
set(CMAKE_BUILD_TYPE Debug
CACHE STRING "Build type (Debug, Release)" FORCE)
endif ()
if (NOT (CMAKE_BUILD_TYPE STREQUAL "Debug" OR
CMAKE_BUILD_TYPE STREQUAL "Release"))
message("${CMAKE_BUILD_TYPE}")
message(FATAL_ERROR "CMAKE_BUILD_TYPE must be one of: Debug, Release (current value: '${CMAKE_BUILD_TYPE}')")
endif ()
if (CMAKE_Fortran_COMPILER_ID STREQUAL "GNU")
execute_process(COMMAND ${CMAKE_Fortran_COMPILER} -dumpversion
OUTPUT_VARIABLE GCC_VERSION)
if (GCC_VERSION VERSION_LESS 4.5)
set(common "-std=f2008 -Wall -Wextra -Wimplicit-interface -fPIC -Werror -fmax-errors=1")
set(CMAKE_Fortran_FLAGS_RELEASE "${common} -O3 -march=native -ffast-math -funroll-loops")
set(CMAKE_Fortran_FLAGS_DEBUG "${common} -g -fbounds-check -fcheck-array-temporaries -fbacktrace")
endif()
# gfortran
# Enable this if you want to check for single/double corruption (and use
# the Debug build):
#set(CMAKE_Fortran_FLAGS_DEBUG "${CMAKE_Fortran_FLAGS_DEBUG} -fdefault-real-8")
endif ()
enable_testing()
add_subdirectory(src)
add_subdirectory(tests)
message("\n")
message("Configuration results")
message("---------------------")
message("Fortran compiler: ${CMAKE_Fortran_COMPILER}")
message("Build type: ${CMAKE_BUILD_TYPE}")
if (CMAKE_BUILD_TYPE STREQUAL "Debug")
message("Fortran compiler flags: ${CMAKE_Fortran_FLAGS_DEBUG}")
else ()
message("Fortran compiler flags: ${CMAKE_Fortran_FLAGS_RELEASE}")
endif ()
message("Installation prefix: ${CMAKE_INSTALL_PREFIX}")
message("With LAPACK: ${WITH_LAPACK}")
message("With HDF5: ${WITH_HDF5}")
没有合适的资源?快使用搜索试试~ 我知道了~
温馨提示
编写Fortran程序时,实用程序的源码实现是提高开发效率和程序质量的关键。以下是关于Fortran实用程序的资源描述: 实用程序列表: 1. **文件操作程序**:包括读取、写入和处理文件的程序,如读取数据文件、写入结果文件等,以及对文件内容进行处理和分析的程序。 2. **数学计算程序**:包括常见的数学计算功能,如数值积分、解方程、矩阵运算等,以及高级数学函数和算法的实现。 3. **数据处理程序**:包括数据清洗、转换、分析和可视化的程序,如数据统计、图表绘制等,以及对大型数据集的处理和管理的程序。 4. **图像处理程序**:包括图像读取、处理和生成的程序,如图像滤波、边缘检测、图像分割等,以及图像处理算法的实现。 5. **并行计算程序**:包括利用并行计算技术提高程序性能的程序,如MPI、OpenMP等,并行计算库的使用和示例程序。 6. **科学计算程序**:包括物理、化学、生物等领域的科学计算程序,如分子动力学模拟、量子化学计算等,以及相应领域的算法和模型的实现。 资源描述: 1. **源码库**:提供包含各种实用程序源码的开源库或代
资源推荐
资源详情
资源评论



















收起资源包目录





































































































共 127 条
- 1
- 2
资源评论


编程资源宝库
- 粉丝: 4366
上传资源 快速赚钱
我的内容管理 展开
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助


最新资源
- 神经网络优化方法(bp算法缺陷).ppt
- 【遥感影像处理】基于Google Earth Engine的多源卫星影像统计:巴拿马城影像数量与时间范围查询脚本设计
- 信息化建设实施方案.doc
- 流程图转PAD-N-S图和伪码(软件工程).doc
- 非标自动化电气设计流程及规范.doc
- vue devtools
- Python期末复习题(必考).pdf
- 2015宜昌移动互联网大会协议((联合举办).doc
- 16kkkkkkkkkkkk
- 2016全新Auto-CAD快捷键命令大全.doc
- 网站规划要点及原则.doc
- 科技计划项目管理办法.doc
- 项目管理5大过程知识.doc
- MATLAB-m文件和函数.ppt
- 高职院校计算机选修课程教学研究.docx
- 算法2019高三一轮复习课件.ppt
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈



安全验证
文档复制为VIP权益,开通VIP直接复制
