mirror of
https://github.com/cp2k/cp2k.git
synced 2026-07-27 21:55:16 -04:00
CMake: Add generate_cmakelists.py
This commit is contained in:
parent
3c9a402856
commit
2e6be7afd1
7 changed files with 880 additions and 886 deletions
318
cmake/cp2k_main_targets.cmake
Normal file
318
cmake/cp2k_main_targets.cmake
Normal file
|
|
@ -0,0 +1,318 @@
|
|||
#!-------------------------------------------------------------------------------------------------!
|
||||
#! CP2K: A general program to perform molecular dynamics simulations !
|
||||
#! Copyright 2000-2023 CP2K developers group <https://cp2k.org> !
|
||||
#! !
|
||||
#! SPDX-License-Identifier: GPL-2.0-or-later !
|
||||
#!-------------------------------------------------------------------------------------------------!
|
||||
|
||||
include(fypp-sources)
|
||||
include(GNUInstallDirs) # required to get a proper LIBDIR variable
|
||||
include(CMakePackageConfigHelpers)
|
||||
|
||||
add_fypp_sources(CP2K_SRCS ${CP2K_SRCS_F})
|
||||
|
||||
# set the __SHORT_FILE__ per file for CP2K sources
|
||||
foreach(cp2k_src ${CP2K_SRCS})
|
||||
# add_fypp_sources returns a path in the current binary dir
|
||||
get_filename_component(short_file "${cp2k_src}" NAME)
|
||||
set_source_files_properties(
|
||||
${cp2k_src} PROPERTIES COMPILE_DEFINITIONS __SHORT_FILE__="${short_file}")
|
||||
endforeach()
|
||||
|
||||
add_library(cp2k "${CP2K_SRCS};${CP2K_SRCS_C};${CP2K_SRCS_GPU}")
|
||||
|
||||
target_compile_features(cp2k PUBLIC cxx_std_14)
|
||||
target_compile_features(cp2k PUBLIC c_std_99)
|
||||
target_compile_features(cp2k PUBLIC cuda_std_11)
|
||||
|
||||
set_target_properties(cp2k PROPERTIES CXX_STANDARD 14)
|
||||
set_target_properties(cp2k PROPERTIES IMPORTED_LINK_INTERFACE_LANGUAGES "CXX")
|
||||
|
||||
# =================================================================================================
|
||||
# main CP2K OBJECT LIBRARY
|
||||
if(CP2K_USE_ACCEL MATCHES "CUDA")
|
||||
set_property(TARGET cp2k PROPERTY CUDA_ARCHITECTURES ${CP2K_ACC_ARCH_NUMBER})
|
||||
target_compile_definitions(
|
||||
cp2k PUBLIC __OFFLOAD_CUDA $<$<COMPILE_LANGUAGE:CUDA>:__OFFLOAD_CUDA>)
|
||||
include_directories(${CMAKE_CUDA_TOOLKIT_INCLUDE_DIRECTORIES})
|
||||
elseif(CP2K_USE_ACCEL MATCHES "HIP")
|
||||
set_property(TARGET cp2k PROPERTY HIP_ARCHITECTURES ${CP2K_ACC_ARCH_NUMBER})
|
||||
endif()
|
||||
|
||||
add_library(cp2k_link_libs INTERFACE)
|
||||
target_link_libraries(
|
||||
cp2k_link_libs
|
||||
INTERFACE
|
||||
$<$<BOOL:${CP2K_USE_SIRIUS}>:sirius::sirius>
|
||||
$<$<BOOL:${CP2K_USE_VORI}>:CP2K::VORI::vori>
|
||||
$<$<BOOL:${CP2K_USE_PEXSI}>:CP2K::PEXSI::pexsi>
|
||||
$<$<BOOL:${CP2K_USE_PEXSI}>:CP2K::ptscotch::ptscotch>
|
||||
$<$<BOOL:${CP2K_USE_SPGLIB}>:CP2K::LIBSPG::libspg>
|
||||
$<$<BOOL:${CP2K_USE_LIBXC}>:CP2K::Libxc::xc>
|
||||
$<$<BOOL:${CP2K_USE_ELPA}>:CP2K::ELPA::elpa>
|
||||
$<$<BOOL:${CP2K_USE_FFTW3}>:CP2K::FFTW3::fftw3>
|
||||
$<$<BOOL:${CP2K_ENABLE_FFTW3_THREADS_SUPPORT}>:CP2K::FFTW3::fftw3_threads>
|
||||
$<$<BOOL:${CP2K_ENABLE_FFTW3_OPENMP_SUPPORT}>:CP2K::FFTW3::fftw3_omp>
|
||||
$<$<BOOL:${CP2K_USE_SPLA}>:SPLA::spla>
|
||||
$<$<BOOL:${CP2K_USE_LIBINT2}>:CP2K::Libint2::int2>
|
||||
$<$<BOOL:${CP2K_USE_COSMA}>:cosma::cosma_prefixed_pxgemm>
|
||||
$<$<BOOL:${CP2K_USE_COSMA}>:cosma::cosma>
|
||||
$<$<BOOL:${CP2K_USE_COSMA}>:costa::costa>
|
||||
DBCSR::dbcsr
|
||||
$<$<BOOL:${CP2K_USE_TORCH}>:${TORCH_LIBRARIES}>
|
||||
$<$<BOOL:${CP2K_USE_CUDA}>:CUDA::cufft>
|
||||
$<$<BOOL:${CP2K_USE_CUDA}>:CUDA::cufftw>
|
||||
$<$<BOOL:${CP2K_USE_CUDA}>:CUDA::cublas>
|
||||
$<$<BOOL:${CP2K_USE_CUDA}>:CUDA::cudart>
|
||||
$<$<BOOL:${CP2K_USE_HIP}>:hip::hipfft>
|
||||
$<$<BOOL:${CP2K_USE_HIP}>:roc::hipblas>
|
||||
$<$<BOOL:${CP2K_USE_HIP}>:hip::device>
|
||||
$<$<BOOL:${CP2K_USE_MPI}>:CP2K::SCALAPACK::scalapack>
|
||||
$<$<BOOL:${CP2K_USE_LIBXSMM}>:CP2K::LibXSMM::libxsmmf>
|
||||
$<$<BOOL:${CP2K_USE_LIBXSMM}>:CP2K::LibXSMM::libxsmmext>
|
||||
CP2K::LAPACK::lapack
|
||||
CP2K::BLAS::blas
|
||||
$<$<BOOL:${CP2K_USE_MPI}>:MPI::MPI_Fortran>
|
||||
$<$<BOOL:${CP2K_USE_MPI}>:MPI::MPI_C>
|
||||
$<$<BOOL:${CP2K_USE_MPI}>:MPI::MPI_CXX>
|
||||
OpenMP::OpenMP_Fortran
|
||||
OpenMP::OpenMP_C
|
||||
OpenMP::OpenMP_CXX)
|
||||
|
||||
# mix the target and variables pointing to the include directories.
|
||||
|
||||
include_directories(
|
||||
${CMAKE_MPI_INCLUDE_DIRECTORIES}
|
||||
$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}>
|
||||
$<BUILD_INTERFACE:${CMAKE_CURRENT_BINARY_DIR}>
|
||||
$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/base>
|
||||
$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/common>
|
||||
$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/dbcsrx>
|
||||
$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/motion>
|
||||
$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/grid>
|
||||
$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/dbm>)
|
||||
|
||||
if(DEFINED ENV{CPATH})
|
||||
string(REPLACE ":" ";" INCLUDE_LIST $ENV{CPATH})
|
||||
include_directories(${INCLUDE_LIST})
|
||||
endif()
|
||||
|
||||
string(TIMESTAMP CP2K_TIMESTAMP "%Y-%m-%d %H:%M:%S")
|
||||
|
||||
target_link_libraries(cp2k PUBLIC cp2k_link_libs)
|
||||
target_compile_definitions(
|
||||
cp2k
|
||||
PUBLIC $<$<BOOL:${CP2K_USE_MPI}>:__parallel>
|
||||
$<$<BOOL:${CP2K_USE_MPI}>:__SCALAPACK>
|
||||
$<$<BOOL:${CP2K_ENABLE_F08_MPI}>:__MPI_08>
|
||||
__COMPILE_DATE=\"${CP2K_TIMESTAMP}\"
|
||||
__COMPILE_HOST=\"${CP2K_HOST_NAME}\"
|
||||
__COMPILE_REVISION=\"${CP2K_GIT_HASH}\"
|
||||
__DATA_DIR=\"${CMAKE_INSTALL_FULL_DATAROOTDIR}/cp2k/data\"
|
||||
__COMPILE_ARCH=\"${CMAKE_SYSTEM_PROCESSOR}\"
|
||||
$<$<CONFIG:Release>:NDEBUG>
|
||||
$<$<CONFIG:COVERAGE>:__NO_ABORT>
|
||||
$<$<CONFIG:DEBUG>:__HAS_IEEE_EXCEPTIONS>
|
||||
$<$<CONFIG:DEBUG>:__CHECK_DIAG>
|
||||
$<$<BOOL:${CP2K_USE_PEXSI}>:__PEXSI>
|
||||
$<$<BOOL:${CP2K_USE_PLUMED2}>:__PLUMED2>
|
||||
$<$<BOOL:${CP2K_USE_QUIP}>:__QUIP>
|
||||
$<$<BOOL:${CP2K_USE_MAXWELL}>:__LIBMAXWELL>
|
||||
$<$<BOOL:${CP2K_USE_VORI}>:__LIBVORI>
|
||||
$<$<BOOL:${CP2K_USE_SPGLIB}>:__SPGLIB>
|
||||
$<$<BOOL:${CP2K_USE_SIRIUS}>:__SIRIUS>
|
||||
$<$<BOOL:${CP2K_USE_SPLA}>:__SPLA>
|
||||
$<$<BOOL:${CP2K_USE_SpFFT}>:__SPFFT>
|
||||
$<$<BOOL:${CP2K_USE_SPLA_GEMM_OFFLOADING}>:__OFFLOAD_GEMM>
|
||||
$<$<BOOL:${CP2K_USE_ELPA}>:__ELPA>
|
||||
$<$<BOOL:${CP2K_USE_LIBXC}>:__LIBXC>
|
||||
$<$<BOOL:${CP2K_USE_FFTW3}>:__FFTW3>
|
||||
$<$<BOOL:${CP2K_USE_LIBINT2}>:__LIBINT>
|
||||
$<$<BOOL:${CP2K_USE_PEXSI}>:__LIBPEXSI>
|
||||
$<$<BOOL:${CP2K_USE_LIBTORCH}>:__LIBTORCH>
|
||||
$<$<BOOL:${CP2K_USE_COSMA}>:__COSMA>
|
||||
$<$<BOOL:${CP2K_USE_LIBXSMM}>:__LIBXSMM>
|
||||
$<$<STREQUAL:${CP2K_BLAS_VENDOR},MKL>:__MKL>
|
||||
$<$<STREQUAL:${CP2K_BLAS_VENDOR},Apple>:__ACCELERATE>
|
||||
$<$<BOOL:${CP2K_USE_CUDA}>:__OFFLOAD_CUDA>
|
||||
$<$<COMPILE_LANGUAGE:CUDA>:__OFFLOAD_CUDA>
|
||||
$<$<BOOL:${CP2K_USE_HIP}>:__OFFLOAD_HIP>
|
||||
$<$<BOOL:${CP2K_USE_HIP}>:__HIP_PLATFORM_AMD__>
|
||||
$<$<COMPILE_LANGUAGE:HIP>:__OFFLOAD_HIP>
|
||||
$<$<COMPILE_LANGUAGE:HIP>:__HIP_PLATFORM_AMD__>)
|
||||
|
||||
if(CP2K_USE_CUDA OR CP2K_USE_HIP)
|
||||
# these checks are only relevant when the debug mode is on
|
||||
|
||||
if(NOT CP2K_DBCSR_USE_CPU_ONLY)
|
||||
target_compile_definitions(cp2k PUBLIC __DBCSR_ACC)
|
||||
endif()
|
||||
|
||||
# the next three are off by default
|
||||
if(CP2K_DISABLE_GRID_GPU)
|
||||
target_compile_definitions(cp2k PUBLIC __NO_OFFLOAD_GRID)
|
||||
endif()
|
||||
|
||||
if(CP2K_DISABLE_PW_GPU)
|
||||
target_compile_definitions(cp2k PUBLIC __NO_OFFLOAD_PW)
|
||||
endif()
|
||||
|
||||
if(CP2K_DISABLE_DBM_GPU)
|
||||
target_compile_definitions(cp2k PUBLIC __NO_OFFLOAD_DBM)
|
||||
endif()
|
||||
endif()
|
||||
|
||||
if(CP2K_USE_HIP)
|
||||
foreach(__src ${CP2K_SRCS_GPU})
|
||||
set_source_files_properties(${__src} PROPERTIES LANGUAGE HIP)
|
||||
endforeach()
|
||||
set_target_properties(cp2k PROPERTIES HIP_ARCHITECTURES
|
||||
"${CP2K_ACC_ARCH_NUMBER}")
|
||||
endif()
|
||||
|
||||
list(
|
||||
APPEND
|
||||
__CP2K_APPS
|
||||
"memory_utilities_unittest"
|
||||
"parallel_rng_types_unittest"
|
||||
"graph"
|
||||
"dumpdcd"
|
||||
"xyz2dcd"
|
||||
"libcp2k_unittest"
|
||||
"nequip_unittest")
|
||||
|
||||
add_executable(cp2k-bin start/cp2k.F)
|
||||
set_target_properties(
|
||||
cp2k-bin PROPERTIES LINKER_LANGUAGE Fortran) # always use the Fortran compiler
|
||||
# for
|
||||
# linking
|
||||
|
||||
add_executable(memory_utilities_unittest common/memory_utilities_unittest.F)
|
||||
add_executable(parallel_rng_types_unittest common/parallel_rng_types_unittest.F)
|
||||
add_executable(graph metadyn_tools/graph.F)
|
||||
add_executable(dumpdcd motion/dumpdcd.F)
|
||||
add_executable(xyz2dcd motion/xyz2dcd.F)
|
||||
add_executable(libcp2k_unittest start/libcp2k_unittest.c)
|
||||
add_executable(nequip_unittest nequip_unittest.F)
|
||||
|
||||
set_target_properties(cp2k-bin PROPERTIES CXX_STANDARD 14)
|
||||
set_target_properties(cp2k-bin PROPERTIES IMPORTED_LINK_INTERFACE_LANGUAGES
|
||||
"CXX")
|
||||
set_target_properties(cp2k-bin PROPERTIES LINKER_LANGUAGE "CXX")
|
||||
set_target_properties(cp2k-bin PROPERTIES OUTPUT_NAME cp2k)
|
||||
target_link_libraries(cp2k-bin PUBLIC cp2k)
|
||||
|
||||
foreach(_app ${__CP2K_APPS})
|
||||
set_target_properties(${_app} PROPERTIES LINKER_LANGUAGE "CXX")
|
||||
set_target_properties(${_app} PROPERTIES CXX_STANDARD 14)
|
||||
set_target_properties(${_app} PROPERTIES IMPORTED_LINK_INTERFACE_LANGUAGES
|
||||
"CXX")
|
||||
target_compile_features(${_app} PUBLIC c_std_99)
|
||||
if(CP2K_USE_ACCEL MATCHES HIP)
|
||||
set_target_properties(${_app} PROPERTIES HIP_ARCHITECTURES
|
||||
${CP2K_ACC_ARCH_NUMBER})
|
||||
endif()
|
||||
target_link_libraries(${_app} PUBLIC cp2k)
|
||||
endforeach()
|
||||
|
||||
#
|
||||
# apps included in the grid module
|
||||
#
|
||||
|
||||
list(APPEND __GRID_APPS "grid_miniapp" "grid_unittest")
|
||||
|
||||
add_executable(grid_miniapp grid/grid_miniapp.c)
|
||||
target_link_libraries(grid_miniapp PUBLIC cp2k)
|
||||
|
||||
add_executable(grid_unittest grid/grid_unittest.c)
|
||||
target_link_libraries(grid_unittest PUBLIC cp2k)
|
||||
|
||||
foreach(_app ${__GRID_APPS})
|
||||
set_target_properties(${_app} PROPERTIES LINKER_LANGUAGE C)
|
||||
target_compile_features(${_app} PUBLIC c_std_99)
|
||||
|
||||
target_link_libraries(
|
||||
${_app}
|
||||
PUBLIC $<$<BOOL:${CP2K_USE_CUDA}>:CUDA::cudart>
|
||||
$<$<BOOL:${CP2K_USE_HIP}>:hip::device>
|
||||
$<$<BOOL:${CP2K_USE_LIBXSMM}>:CP2K::LibXSMM::libxsmmf>
|
||||
$<$<BOOL:${CP2K_USE_LIBXSMM}>:CP2K::LibXSMM::libxsmm>
|
||||
CP2K::BLAS::blas
|
||||
OpenMP::OpenMP_C
|
||||
m)
|
||||
|
||||
target_include_directories(
|
||||
${_app} PUBLIC $<$<BOOL:${CP2K_USE_CUDA}>:${CMAKE_CUDA_INCLUDE_DIRECTORIES}>
|
||||
$<$<BOOL:${CP2K_USE_HIP}>:${CMAKE_HIP_INCLUDE_DIRECTORIES}>)
|
||||
|
||||
target_compile_definitions(
|
||||
${_app}
|
||||
PUBLIC $<$<BOOL:${CP2K_USE_CUDA}>:__OFFLOAD_CUDA>
|
||||
$<$<BOOL:${CP2K_USE_HIP}>:__OFFLOAD_HIP>
|
||||
$<$<STREQUAL:CP2K_BLAS_VENDOR,"MKL">:__MKL>
|
||||
$<$<BOOL:${CP2K_USE_LIBXSMM}>:__LIBXSMM>)
|
||||
|
||||
target_compile_features(${_app} PUBLIC $<$<BOOL:CP2K_USE_CUDA>:cuda_std_11>)
|
||||
|
||||
if(CP2K_USE_CUDA)
|
||||
set_target_properties(${_app} PROPERTIES CUDA_ARCHITECTURES
|
||||
${CP2K_ACC_ARCH_NUMBER})
|
||||
endif()
|
||||
|
||||
# cmake 3.21 is needed for this
|
||||
if(CP2K_USE_HIP)
|
||||
set_target_properties(${_app} PROPERTIES HIP_ARCHITECTURES
|
||||
${CP2K_ACC_ARCH_NUMBER})
|
||||
endif()
|
||||
endforeach()
|
||||
|
||||
#
|
||||
# apps included in dbm
|
||||
#
|
||||
|
||||
add_executable(dbm_miniapp dbm/dbm_miniapp.c)
|
||||
target_link_libraries(dbm_miniapp PUBLIC cp2k)
|
||||
set_target_properties(dbm_miniapp PROPERTIES LINKER_LANGUAGE C)
|
||||
target_compile_features(dbm_miniapp PUBLIC c_std_99)
|
||||
|
||||
# TODO target_link_libraries( dbm_miniapp PUBLIC
|
||||
# $<$<BOOL:${CP2K_USE_CUDA}>:CUDA::cudart>
|
||||
# $<$<BOOL:${CP2K_USE_HIP}>:hip::device>
|
||||
# $<$<BOOL:${CP2K_USE_LIBXSMM}>:CP2K::LibXSMM::libxsmm>
|
||||
# $<$<BOOL:${CP2K_USE_LIBXSMM}>:CP2K::LibXSMM::libxsmmext>
|
||||
# $<$<BOOL:${CP2K_USE_MPI}>:MPI::MPI_C> CP2K::BLAS::blas OpenMP::OpenMP_C m)
|
||||
|
||||
target_compile_definitions(
|
||||
dbm_miniapp
|
||||
PUBLIC $<$<BOOL:${CP2K_USE_CUDA}>:__OFFLOAD_CUDA>
|
||||
$<$<BOOL:${CP2K_USE_HIP}>:__OFFLOAD_HIP>
|
||||
$<$<BOOL:${CP2K_USE_LIBXSMM}>:__LIBXSMM>)
|
||||
|
||||
if(CP2K_DISABLE_DBM_GPU)
|
||||
if(CP2K_USE_CUDA)
|
||||
target_compile_features(dbm_miniapp PUBLIC cuda_std_11)
|
||||
set_target_properties(dbm_miniapp PROPERTIES CUDA_ARCHITECTURES
|
||||
${CP2K_ACC_ARCH_NUMBER})
|
||||
endif()
|
||||
|
||||
# cmake 3.21 is needed for this
|
||||
if(CP2K_USE_HIP)
|
||||
set_target_properties(dbm_miniapp PROPERTIES HIP_ARCHITECTURES
|
||||
${CP2K_ACC_ARCH_NUMBER})
|
||||
endif()
|
||||
endif()
|
||||
|
||||
# installation
|
||||
|
||||
foreach(_app ${__GRID_APPS} ${__CP2K_APPS} cp2k-bin)
|
||||
install(
|
||||
TARGETS ${_app}
|
||||
RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}"
|
||||
LIBRARY DESTINATION "${CMAKE_INSTALL_LIBDIR}"
|
||||
INCLUDES
|
||||
DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}/cp2k")
|
||||
endforeach()
|
||||
|
||||
install(DIRECTORY "${CMAKE_SOURCE_DIR}/data"
|
||||
DESTINATION "${CMAKE_INSTALL_FULL_DATAROOTDIR}/cp2k")
|
||||
install(TARGETS cp2k LIBRARY DESTINATION "${CMAKE_INSTALL_LIBDIR}")
|
||||
77
cmake/generate_cmakelists.py
Executable file
77
cmake/generate_cmakelists.py
Executable file
|
|
@ -0,0 +1,77 @@
|
|||
#!/usr/bin/env python3
|
||||
|
||||
# author: Ole Schuett
|
||||
|
||||
from difflib import unified_diff
|
||||
from pathlib import Path
|
||||
from typing import List
|
||||
import argparse
|
||||
import sys
|
||||
|
||||
# ======================================================================================
|
||||
def main() -> None:
|
||||
parser = argparse.ArgumentParser()
|
||||
parser.add_argument("--check", action="store_true")
|
||||
args = parser.parse_args()
|
||||
|
||||
cp2k_root = Path(__file__).parent.parent
|
||||
output_path = cp2k_root / "src" / "CMakeLists.txt"
|
||||
old_lines = output_path.read_text(encoding="utf8").split("\n")
|
||||
banner = old_lines[:6]
|
||||
|
||||
new_lines = (
|
||||
banner
|
||||
+ preemble()
|
||||
+ filelist(cp2k_root, "F", "CP2K_SRCS_F")
|
||||
+ filelist(cp2k_root, "c", "CP2K_SRCS_C")
|
||||
+ filelist(cp2k_root, "cu", "CP2K_SRCS_GPU")
|
||||
+ ["include(cp2k_main_targets)", ""]
|
||||
+ ["# EOF", ""]
|
||||
)
|
||||
|
||||
# If requested, check existing file...
|
||||
if args.check:
|
||||
diff = list(unified_diff(old_lines, new_lines, "got", "expected", lineterm=""))
|
||||
if diff:
|
||||
print(f"File {output_path} is not consistent with generator script:")
|
||||
print("\n".join(diff))
|
||||
sys.exit(1)
|
||||
else:
|
||||
print(f"File {output_path} is consistent with generator script.")
|
||||
sys.exit(0)
|
||||
|
||||
# ...otherwise, write new output.
|
||||
output_path.write_text("\n".join(new_lines), encoding="utf8")
|
||||
print(f"Wrote {output_path}")
|
||||
|
||||
|
||||
# ======================================================================================
|
||||
def filelist(cp2k_root: Path, file_extension: str, cmake_list_name: str) -> List[str]:
|
||||
src_dir = cp2k_root / "src"
|
||||
files_list = list(src_dir.glob(f"**/*.{file_extension}"))
|
||||
files_rel_list = [x.relative_to(src_dir) for x in files_list]
|
||||
files_str = [f" {x}" for x in sorted(files_rel_list)]
|
||||
files_str[-1] = files_str[-1] + ")"
|
||||
return ["list(", " APPEND", f" {cmake_list_name}"] + files_str + [""]
|
||||
|
||||
|
||||
# ======================================================================================
|
||||
def preemble() -> List[str]:
|
||||
return [
|
||||
"",
|
||||
"#",
|
||||
"# This file was created by ../cmake/generate_cmakelists.py",
|
||||
"#",
|
||||
"",
|
||||
"configure_file(base/base_uses.f90 base/base_uses.f90 @ONLY)",
|
||||
"",
|
||||
"# Begrudgingly tolerated because PyTorch has no C API.",
|
||||
"list(APPEND CP2K_SRCS_CPP torch_c_api.cpp)",
|
||||
"",
|
||||
]
|
||||
|
||||
|
||||
# ======================================================================================
|
||||
main()
|
||||
|
||||
# EOF
|
||||
1366
src/CMakeLists.txt
1366
src/CMakeLists.txt
File diff suppressed because it is too large
Load diff
|
|
@ -16,6 +16,7 @@ COPY ./src ./src
|
|||
COPY ./exts ./exts
|
||||
COPY ./data ./data
|
||||
COPY ./tools ./tools
|
||||
COPY ./cmake ./cmake
|
||||
COPY ./Makefile .
|
||||
RUN bash -c "if [ -n "${GIT_COMMIT_SHA}" ] ; then echo "git:\${GIT_COMMIT_SHA::7}" > REVISION; fi"
|
||||
|
||||
|
|
|
|||
|
|
@ -16,6 +16,7 @@ COPY ./src ./src
|
|||
COPY ./exts ./exts
|
||||
COPY ./data ./data
|
||||
COPY ./tools ./tools
|
||||
COPY ./cmake ./cmake
|
||||
COPY ./Makefile .
|
||||
RUN bash -c "if [ -n "${GIT_COMMIT_SHA}" ] ; then echo "git:\${GIT_COMMIT_SHA::7}" > REVISION; fi"
|
||||
|
||||
|
|
|
|||
|
|
@ -275,6 +275,7 @@ COPY ./src ./src
|
|||
COPY ./exts ./exts
|
||||
COPY ./data ./data
|
||||
COPY ./tools ./tools
|
||||
COPY ./cmake ./cmake
|
||||
COPY ./Makefile .
|
||||
RUN bash -c "if [ -n "${{GIT_COMMIT_SHA}}" ] ; then echo "git:\${{GIT_COMMIT_SHA::7}}" > REVISION; fi"
|
||||
|
||||
|
|
|
|||
|
|
@ -28,6 +28,7 @@ unzip -q -d ./tools/minimax_tools/1_xData 1_xData.zip
|
|||
run_test ./tools/prettify/prettify_test.py
|
||||
run_test ./tools/minimax_tools/minimax_to_fortran_source.py --check
|
||||
run_test ./tools/docker/generate_dockerfiles.py --check
|
||||
run_test ./cmake/generate_cmakelists.py --check
|
||||
|
||||
run_test mypy --strict ./tools/minimax_tools/minimax_to_fortran_source.py
|
||||
run_test mypy --strict ./tools/dashboard/generate_dashboard.py
|
||||
|
|
@ -39,6 +40,7 @@ run_test mypy --strict ./tools/precommit/check_file_properties.py
|
|||
run_test mypy --strict ./tools/precommit/format_makefile.py
|
||||
run_test mypy --strict ./tools/docker/generate_dockerfiles.py
|
||||
run_test mypy --strict ./tools/conventions/analyze_gfortran_ast.py
|
||||
run_test mypy --strict ./cmake/generate_cmakelists.py
|
||||
|
||||
# TODO: Find a way to test generate_dashboard.py without git repository.
|
||||
#
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue