Changeset View
Changeset View
Standalone View
Standalone View
swh/web/tests/resources/contents/code/filenames/CMakeLists.txt
- This file was added.
# stop if cmake version below 3.5 | |||||
cmake_minimum_required(VERSION 3.5 FATAL_ERROR) | |||||
# project name and supported languages | |||||
project(example Fortran C CXX) | |||||
# guard against in-source builds and bad build-type strings | |||||
include(cmake/safeguards.cmake) | |||||
# detect operating system and host processor | |||||
message(STATUS "We are on a ${CMAKE_SYSTEM_NAME} system") | |||||
message(STATUS "The host processor is ${CMAKE_HOST_SYSTEM_PROCESSOR}") | |||||
# place binaries and libraries according to GNU standards | |||||
include(GNUInstallDirs) | |||||
set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/${CMAKE_INSTALL_LIBDIR}) | |||||
set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/${CMAKE_INSTALL_LIBDIR}) | |||||
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/${CMAKE_INSTALL_BINDIR}) | |||||
# example how to set c++ compiler flags for GNU | |||||
if(CMAKE_CXX_COMPILER_ID MATCHES GNU) | |||||
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall -Wno-unknown-pragmas -Wno-sign-compare -Woverloaded-virtual -Wwrite-strings -Wno-unused") | |||||
set(CMAKE_CXX_FLAGS_DEBUG "-O0 -g3") | |||||
set(CMAKE_CXX_FLAGS_RELEASE "-O3") | |||||
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fprofile-arcs -ftest-coverage") | |||||
endif() | |||||
# get git hash | |||||
include(cmake/git_revision.cmake) | |||||
# project version | |||||
set(VERSION_MAJOR 1) | |||||
set(VERSION_MINOR 0) | |||||
set(VERSION_PATCH 0) | |||||
# configure header file | |||||
configure_file( | |||||
${PROJECT_SOURCE_DIR}/cmake/config.h.in | |||||
${PROJECT_BINARY_DIR}/config.h | |||||
) | |||||
add_subdirectory(src) | |||||
# set cdash buildname | |||||
set(BUILDNAME | |||||
"${CMAKE_SYSTEM_NAME}-${CMAKE_HOST_SYSTEM_PROCESSOR}-${CMAKE_Fortran_COMPILER_ID}-${cmake_build_type_tolower}" | |||||
CACHE STRING | |||||
"Name of build on the dashboard" | |||||
) | |||||
# allow to report to a cdash dashboard | |||||
include(CTest) | |||||
# fetch googletest | |||||
include(cmake/googletest.cmake) | |||||
fetch_googletest( | |||||
${PROJECT_SOURCE_DIR}/cmake | |||||
${PROJECT_BINARY_DIR}/googletest | |||||
) | |||||
# enable testing | |||||
enable_testing() | |||||
# define tests | |||||
add_subdirectory(test) | |||||
# cpack | |||||
include(cmake/packaging.cmake) |