“Know how to solve every problem that has been solved.” “What I cannot create, I do not understand.” — Richard Feynman
text 30 lines · 688 B
cmake_minimum_required(VERSION 3.14)
project(qchem LANGUAGES CXX)

set(CMAKE_CXX_STANDARD 17)
set(CMAKE_CXX_STANDARD_REQUIRED ON)
set(CMAKE_CXX_EXTENSIONS OFF)

add_library(qchem
  src/matrix.cpp
  src/basis.cpp
  src/boys.cpp
  src/cart_int.cpp
  src/integrals.cpp
  src/hf.cpp
)

target_include_directories(qchem PUBLIC
  ${CMAKE_CURRENT_SOURCE_DIR}/include
)

target_compile_options(qchem PRIVATE
  $<$<CXX_COMPILER_ID:GNU,Clang>:-Wall -Wextra -Wpedantic>
  $<$<CXX_COMPILER_ID:MSVC>:/W4>
)

add_executable(h2_sto3g examples/h2_sto3g.cpp)
target_link_libraries(h2_sto3g PRIVATE qchem)

add_executable(qchem_tests tests/test_matrix.cpp)
target_link_libraries(qchem_tests PRIVATE qchem)