various minor tweaks and reformatting for CMake scripts
This commit is contained in:
@ -209,7 +209,7 @@ endif()
|
|||||||
########################################################################
|
########################################################################
|
||||||
# User input options #
|
# User input options #
|
||||||
########################################################################
|
########################################################################
|
||||||
# backward compatibility with CMake before 3.12 and older LAMMPS documentation
|
# backward compatibility with older LAMMPS documentation
|
||||||
if (PYTHON_EXECUTABLE)
|
if (PYTHON_EXECUTABLE)
|
||||||
set(Python_EXECUTABLE "${PYTHON_EXECUTABLE}")
|
set(Python_EXECUTABLE "${PYTHON_EXECUTABLE}")
|
||||||
endif()
|
endif()
|
||||||
@ -930,7 +930,7 @@ endif()
|
|||||||
include(Testing)
|
include(Testing)
|
||||||
include(CodeCoverage)
|
include(CodeCoverage)
|
||||||
include(CodingStandard)
|
include(CodingStandard)
|
||||||
find_package(ClangFormat 11.0)
|
find_package(ClangFormat 11.0 QUIET)
|
||||||
|
|
||||||
if(ClangFormat_FOUND)
|
if(ClangFormat_FOUND)
|
||||||
add_custom_target(format-src
|
add_custom_target(format-src
|
||||||
|
|||||||
@ -7,76 +7,76 @@
|
|||||||
# For Python coverage the coverage package needs to be installed
|
# For Python coverage the coverage package needs to be installed
|
||||||
###############################################################################
|
###############################################################################
|
||||||
if(ENABLE_COVERAGE)
|
if(ENABLE_COVERAGE)
|
||||||
find_program(GCOVR_BINARY gcovr)
|
find_program(GCOVR_BINARY gcovr)
|
||||||
find_package_handle_standard_args(GCOVR DEFAULT_MSG GCOVR_BINARY)
|
find_package_handle_standard_args(GCOVR DEFAULT_MSG GCOVR_BINARY)
|
||||||
|
|
||||||
find_program(COVERAGE_BINARY coverage)
|
find_program(COVERAGE_BINARY coverage)
|
||||||
find_package_handle_standard_args(COVERAGE DEFAULT_MSG COVERAGE_BINARY)
|
find_package_handle_standard_args(COVERAGE DEFAULT_MSG COVERAGE_BINARY)
|
||||||
|
|
||||||
if(GCOVR_FOUND)
|
if(GCOVR_FOUND)
|
||||||
get_filename_component(ABSOLUTE_LAMMPS_SOURCE_DIR ${LAMMPS_SOURCE_DIR} ABSOLUTE)
|
get_filename_component(ABSOLUTE_LAMMPS_SOURCE_DIR ${LAMMPS_SOURCE_DIR} ABSOLUTE)
|
||||||
|
|
||||||
add_custom_target(
|
add_custom_target(
|
||||||
gen_coverage_xml
|
gen_coverage_xml
|
||||||
COMMAND ${GCOVR_BINARY} -s -x -r ${ABSOLUTE_LAMMPS_SOURCE_DIR} --object-directory=${CMAKE_BINARY_DIR} -o coverage.xml
|
COMMAND ${GCOVR_BINARY} -s -x -r ${ABSOLUTE_LAMMPS_SOURCE_DIR} --object-directory=${CMAKE_BINARY_DIR} -o coverage.xml
|
||||||
WORKING_DIRECTORY ${CMAKE_BINARY_DIR}
|
WORKING_DIRECTORY ${CMAKE_BINARY_DIR}
|
||||||
COMMENT "Generating XML coverage report..."
|
COMMENT "Generating XML coverage report..."
|
||||||
)
|
)
|
||||||
|
|
||||||
set(COVERAGE_HTML_DIR ${CMAKE_BINARY_DIR}/coverage_html)
|
set(COVERAGE_HTML_DIR ${CMAKE_BINARY_DIR}/coverage_html)
|
||||||
|
|
||||||
add_custom_target(coverage_html_folder
|
add_custom_target(coverage_html_folder
|
||||||
COMMAND ${CMAKE_COMMAND} -E make_directory ${COVERAGE_HTML_DIR})
|
COMMAND ${CMAKE_COMMAND} -E make_directory ${COVERAGE_HTML_DIR})
|
||||||
|
|
||||||
add_custom_target(
|
add_custom_target(
|
||||||
gen_coverage_html
|
gen_coverage_html
|
||||||
COMMAND ${GCOVR_BINARY} -s --html --html-details -r ${ABSOLUTE_LAMMPS_SOURCE_DIR} --object-directory=${CMAKE_BINARY_DIR} -o ${COVERAGE_HTML_DIR}/index.html
|
COMMAND ${GCOVR_BINARY} -s --html --html-details -r ${ABSOLUTE_LAMMPS_SOURCE_DIR} --object-directory=${CMAKE_BINARY_DIR} -o ${COVERAGE_HTML_DIR}/index.html
|
||||||
WORKING_DIRECTORY ${CMAKE_BINARY_DIR}
|
WORKING_DIRECTORY ${CMAKE_BINARY_DIR}
|
||||||
COMMENT "Generating HTML coverage report..."
|
COMMENT "Generating HTML coverage report..."
|
||||||
)
|
)
|
||||||
add_dependencies(gen_coverage_html coverage_html_folder)
|
add_dependencies(gen_coverage_html coverage_html_folder)
|
||||||
|
|
||||||
add_custom_target(clean_coverage_html
|
add_custom_target(clean_coverage_html
|
||||||
${CMAKE_COMMAND} -E remove_directory ${COVERAGE_HTML_DIR}
|
${CMAKE_COMMAND} -E remove_directory ${COVERAGE_HTML_DIR}
|
||||||
COMMENT "Deleting HTML coverage report..."
|
COMMENT "Deleting HTML coverage report..."
|
||||||
)
|
)
|
||||||
|
|
||||||
add_custom_target(reset_coverage
|
add_custom_target(reset_coverage
|
||||||
${CMAKE_COMMAND} -E remove -f */*.gcda */*/*.gcda */*/*/*.gcda
|
${CMAKE_COMMAND} -E remove -f */*.gcda */*/*.gcda */*/*/*.gcda
|
||||||
*/*/*/*/*.gcda */*/*/*/*/*.gcda */*/*/*/*/*/*.gcda
|
*/*/*/*/*.gcda */*/*/*/*/*.gcda */*/*/*/*/*/*.gcda
|
||||||
*/*/*/*/*/*/*/*.gcda */*/*/*/*/*/*/*/*.gcda
|
*/*/*/*/*/*/*/*.gcda */*/*/*/*/*/*/*/*.gcda
|
||||||
*/*/*/*/*/*/*/*/*/*.gcda */*/*/*/*/*/*/*/*/*/*.gcda
|
*/*/*/*/*/*/*/*/*/*.gcda */*/*/*/*/*/*/*/*/*/*.gcda
|
||||||
WORKIND_DIRECTORY ${CMAKE_BINARY_DIR}
|
WORKIND_DIRECTORY ${CMAKE_BINARY_DIR}
|
||||||
COMMENT "Deleting coverage data files..."
|
COMMENT "Deleting coverage data files..."
|
||||||
)
|
)
|
||||||
add_dependencies(reset_coverage clean_coverage_html)
|
add_dependencies(reset_coverage clean_coverage_html)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
if(COVERAGE_FOUND)
|
if(COVERAGE_FOUND)
|
||||||
set(PYTHON_COVERAGE_HTML_DIR ${CMAKE_BINARY_DIR}/python_coverage_html)
|
set(PYTHON_COVERAGE_HTML_DIR ${CMAKE_BINARY_DIR}/python_coverage_html)
|
||||||
configure_file(.coveragerc.in ${CMAKE_BINARY_DIR}/.coveragerc @ONLY)
|
configure_file(.coveragerc.in ${CMAKE_BINARY_DIR}/.coveragerc @ONLY)
|
||||||
|
|
||||||
add_custom_command(
|
add_custom_command(
|
||||||
OUTPUT ${CMAKE_BINARY_DIR}/unittest/python/.coverage
|
OUTPUT ${CMAKE_BINARY_DIR}/unittest/python/.coverage
|
||||||
COMMAND ${COVERAGE_BINARY} combine
|
COMMAND ${COVERAGE_BINARY} combine
|
||||||
WORKING_DIRECTORY ${CMAKE_BINARY_DIR}/unittest/python
|
WORKING_DIRECTORY ${CMAKE_BINARY_DIR}/unittest/python
|
||||||
COMMENT "Combine Python coverage files..."
|
COMMENT "Combine Python coverage files..."
|
||||||
)
|
)
|
||||||
|
|
||||||
add_custom_target(
|
add_custom_target(
|
||||||
gen_python_coverage_html
|
gen_python_coverage_html
|
||||||
COMMAND ${COVERAGE_BINARY} html --rcfile=${CMAKE_BINARY_DIR}/.coveragerc -d ${PYTHON_COVERAGE_HTML_DIR}
|
COMMAND ${COVERAGE_BINARY} html --rcfile=${CMAKE_BINARY_DIR}/.coveragerc -d ${PYTHON_COVERAGE_HTML_DIR}
|
||||||
DEPENDS ${CMAKE_BINARY_DIR}/unittest/python/.coverage ${CMAKE_BINARY_DIR}/.coveragerc
|
DEPENDS ${CMAKE_BINARY_DIR}/unittest/python/.coverage ${CMAKE_BINARY_DIR}/.coveragerc
|
||||||
WORKING_DIRECTORY ${CMAKE_BINARY_DIR}/unittest/python
|
WORKING_DIRECTORY ${CMAKE_BINARY_DIR}/unittest/python
|
||||||
COMMENT "Generating HTML Python coverage report..."
|
COMMENT "Generating HTML Python coverage report..."
|
||||||
)
|
)
|
||||||
|
|
||||||
add_custom_target(
|
add_custom_target(
|
||||||
gen_python_coverage_xml
|
gen_python_coverage_xml
|
||||||
COMMAND ${COVERAGE_BINARY} xml --rcfile=${CMAKE_BINARY_DIR}/.coveragerc -o ${CMAKE_BINARY_DIR}/python_coverage.xml
|
COMMAND ${COVERAGE_BINARY} xml --rcfile=${CMAKE_BINARY_DIR}/.coveragerc -o ${CMAKE_BINARY_DIR}/python_coverage.xml
|
||||||
DEPENDS ${CMAKE_BINARY_DIR}/unittest/python/.coverage ${CMAKE_BINARY_DIR}/.coveragerc
|
DEPENDS ${CMAKE_BINARY_DIR}/unittest/python/.coverage ${CMAKE_BINARY_DIR}/.coveragerc
|
||||||
WORKING_DIRECTORY ${CMAKE_BINARY_DIR}/unittest/python
|
WORKING_DIRECTORY ${CMAKE_BINARY_DIR}/unittest/python
|
||||||
COMMENT "Generating XML Python coverage report..."
|
COMMENT "Generating XML Python coverage report..."
|
||||||
)
|
)
|
||||||
endif()
|
endif()
|
||||||
endif()
|
endif()
|
||||||
|
|||||||
@ -13,7 +13,7 @@ if(BUILD_DOC)
|
|||||||
endif()
|
endif()
|
||||||
find_package(Python3 REQUIRED COMPONENTS Interpreter)
|
find_package(Python3 REQUIRED COMPONENTS Interpreter)
|
||||||
if(Python3_VERSION VERSION_LESS 3.8)
|
if(Python3_VERSION VERSION_LESS 3.8)
|
||||||
message(FATAL_ERROR "Python 3.8 and up is required to build the HTML documentation")
|
message(FATAL_ERROR "Python 3.8 and up is required to build the LAMMPS HTML documentation")
|
||||||
endif()
|
endif()
|
||||||
set(VIRTUALENV ${Python3_EXECUTABLE} -m venv)
|
set(VIRTUALENV ${Python3_EXECUTABLE} -m venv)
|
||||||
|
|
||||||
@ -65,8 +65,8 @@ if(BUILD_DOC)
|
|||||||
find_package(Sphinx)
|
find_package(Sphinx)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
set(MATHJAX_URL "https://github.com/mathjax/MathJax/archive/3.1.3.tar.gz" CACHE STRING "URL for MathJax tarball")
|
set(MATHJAX_URL "https://github.com/mathjax/MathJax/archive/3.2.2.tar.gz" CACHE STRING "URL for MathJax tarball")
|
||||||
set(MATHJAX_MD5 "b81661c6e6ba06278e6ae37b30b0c492" CACHE STRING "MD5 checksum of MathJax tarball")
|
set(MATHJAX_MD5 "08dd6ef33ca08870220d9aade2a62845" CACHE STRING "MD5 checksum of MathJax tarball")
|
||||||
mark_as_advanced(MATHJAX_URL)
|
mark_as_advanced(MATHJAX_URL)
|
||||||
GetFallbackURL(MATHJAX_URL MATHJAX_FALLBACK)
|
GetFallbackURL(MATHJAX_URL MATHJAX_FALLBACK)
|
||||||
|
|
||||||
|
|||||||
@ -37,7 +37,7 @@ if(DOWNLOAD_QUIP)
|
|||||||
endforeach()
|
endforeach()
|
||||||
# Fix cmake crashing when MATH_LINKOPTS not set, required for e.g. recent Cray Programming Environment
|
# Fix cmake crashing when MATH_LINKOPTS not set, required for e.g. recent Cray Programming Environment
|
||||||
set(temp "${temp} -L/_DUMMY_PATH_\n")
|
set(temp "${temp} -L/_DUMMY_PATH_\n")
|
||||||
set(temp "${temp}PYTHON=python\nPIP=pip\nEXTRA_LINKOPTS=\n")
|
set(temp "${temp}PYTHON=${Python_EXECUTABLE}\nPIP=pip\nEXTRA_LINKOPTS=\n")
|
||||||
set(temp "${temp}HAVE_CP2K=0\nHAVE_VASP=0\nHAVE_TB=0\nHAVE_PRECON=1\nHAVE_LOTF=0\nHAVE_ONIOM=0\n")
|
set(temp "${temp}HAVE_CP2K=0\nHAVE_VASP=0\nHAVE_TB=0\nHAVE_PRECON=1\nHAVE_LOTF=0\nHAVE_ONIOM=0\n")
|
||||||
set(temp "${temp}HAVE_LOCAL_E_MIX=0\nHAVE_QC=0\nHAVE_GAP=1\nHAVE_DESCRIPTORS_NONCOMMERCIAL=1\n")
|
set(temp "${temp}HAVE_LOCAL_E_MIX=0\nHAVE_QC=0\nHAVE_GAP=1\nHAVE_DESCRIPTORS_NONCOMMERCIAL=1\n")
|
||||||
set(temp "${temp}HAVE_TURBOGAP=0\nHAVE_QR=1\nHAVE_THIRDPARTY=0\nHAVE_FX=0\nHAVE_SCME=0\nHAVE_MTP=0\n")
|
set(temp "${temp}HAVE_TURBOGAP=0\nHAVE_QR=1\nHAVE_THIRDPARTY=0\nHAVE_FX=0\nHAVE_SCME=0\nHAVE_MTP=0\n")
|
||||||
|
|||||||
@ -40,6 +40,13 @@ mark_as_advanced(PLUMED_URL)
|
|||||||
mark_as_advanced(PLUMED_MD5)
|
mark_as_advanced(PLUMED_MD5)
|
||||||
GetFallbackURL(PLUMED_URL PLUMED_FALLBACK)
|
GetFallbackURL(PLUMED_URL PLUMED_FALLBACK)
|
||||||
|
|
||||||
|
# adjust C++ standard support for self-compiled Plumed2
|
||||||
|
if(CMAKE_CXX_STANDARD GREATER 11)
|
||||||
|
set(PLUMED_CXX_STANDARD 14)
|
||||||
|
else()
|
||||||
|
set(PLUMED_CXX_STANDARD 11)
|
||||||
|
endif()
|
||||||
|
|
||||||
if((CMAKE_SYSTEM_NAME STREQUAL "Windows") AND (CMAKE_CROSSCOMPILING))
|
if((CMAKE_SYSTEM_NAME STREQUAL "Windows") AND (CMAKE_CROSSCOMPILING))
|
||||||
if(CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64")
|
if(CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64")
|
||||||
set(CROSS_CONFIGURE mingw64-configure)
|
set(CROSS_CONFIGURE mingw64-configure)
|
||||||
@ -55,7 +62,7 @@ if((CMAKE_SYSTEM_NAME STREQUAL "Windows") AND (CMAKE_CROSSCOMPILING))
|
|||||||
URL_MD5 ${PLUMED_MD5}
|
URL_MD5 ${PLUMED_MD5}
|
||||||
BUILD_IN_SOURCE 1
|
BUILD_IN_SOURCE 1
|
||||||
CONFIGURE_COMMAND ${CROSS_CONFIGURE} --disable-shared --disable-bsymbolic
|
CONFIGURE_COMMAND ${CROSS_CONFIGURE} --disable-shared --disable-bsymbolic
|
||||||
--disable-python --enable-cxx=11
|
--disable-python --enable-cxx=${PLUMED_CXX_STANDARD}
|
||||||
--enable-modules=-adjmat:+crystallization:-dimred:+drr:+eds:-fisst:+funnel:+logmfd:+manyrestraints:+maze:+opes:+multicolvar:-pamm:-piv:+s2cm:-sasa:-ves
|
--enable-modules=-adjmat:+crystallization:-dimred:+drr:+eds:-fisst:+funnel:+logmfd:+manyrestraints:+maze:+opes:+multicolvar:-pamm:-piv:+s2cm:-sasa:-ves
|
||||||
${PLUMED_CONFIG_OMP}
|
${PLUMED_CONFIG_OMP}
|
||||||
${PLUMED_CONFIG_MPI}
|
${PLUMED_CONFIG_MPI}
|
||||||
@ -142,7 +149,7 @@ else()
|
|||||||
CONFIGURE_COMMAND <SOURCE_DIR>/configure --prefix=<INSTALL_DIR>
|
CONFIGURE_COMMAND <SOURCE_DIR>/configure --prefix=<INSTALL_DIR>
|
||||||
${CONFIGURE_REQUEST_PIC}
|
${CONFIGURE_REQUEST_PIC}
|
||||||
--enable-modules=all
|
--enable-modules=all
|
||||||
--enable-cxx=11
|
--enable-cxx=${PLUMED_CXX_STANDARD}
|
||||||
--disable-python
|
--disable-python
|
||||||
${PLUMED_CONFIG_MPI}
|
${PLUMED_CONFIG_MPI}
|
||||||
${PLUMED_CONFIG_OMP}
|
${PLUMED_CONFIG_OMP}
|
||||||
|
|||||||
@ -1,6 +1,6 @@
|
|||||||
|
|
||||||
if(NOT Python_INTERPRETER)
|
if(NOT Python_INTERPRETER)
|
||||||
# backward compatibility with CMake before 3.12 and older LAMMPS documentation
|
# backward compatibility with older LAMMPS documentation
|
||||||
if(PYTHON_EXECUTABLE)
|
if(PYTHON_EXECUTABLE)
|
||||||
set(Python_EXECUTABLE ${PYTHON_EXECUTABLE})
|
set(Python_EXECUTABLE ${PYTHON_EXECUTABLE})
|
||||||
endif()
|
endif()
|
||||||
|
|||||||
@ -8,7 +8,7 @@ Optional build settings
|
|||||||
LAMMPS can be built with several optional settings. Each subsection
|
LAMMPS can be built with several optional settings. Each subsection
|
||||||
explains how to do this for building both with CMake and make.
|
explains how to do this for building both with CMake and make.
|
||||||
|
|
||||||
* `C++11 standard compliance`_ when building all of LAMMPS
|
* `C++11 and C++17 standard compliance`_ when building all of LAMMPS
|
||||||
* `FFT library`_ for use with the :doc:`kspace_style pppm <kspace_style>` command
|
* `FFT library`_ for use with the :doc:`kspace_style pppm <kspace_style>` command
|
||||||
* `Size of LAMMPS integer types and size limits`_
|
* `Size of LAMMPS integer types and size limits`_
|
||||||
* `Read or write compressed files`_
|
* `Read or write compressed files`_
|
||||||
|
|||||||
Reference in New Issue
Block a user