Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[WIP] Revive Project #60

Merged
merged 32 commits into from
Jun 14, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
32 commits
Select commit Hold shift + click to select a range
0461d10
actually compiles
ryanmrichard May 16, 2024
81f652e
heavy atom runs again
ryanmrichard May 16, 2024
a6a83ad
compiles (but broken test) [skip ci]
ryanmrichard May 17, 2024
8839097
cluster works again
ryanmrichard May 20, 2024
9b9bfc9
driver works again
ryanmrichard May 20, 2024
e27d6be
capping works again!
ryanmrichard May 22, 2024
f60ff8c
backup [skip ci]
ryanmrichard May 22, 2024
b092fdb
backup [skip ci]
ryanmrichard May 23, 2024
7ad07e4
intersections work again
ryanmrichard May 28, 2024
0ce9398
adds ci back
ryanmrichard May 28, 2024
1c84ee0
add token
ryanmrichard May 28, 2024
70428f1
try inherit
ryanmrichard May 28, 2024
ab6333a
try passing token explicitly
ryanmrichard May 28, 2024
5246e75
other secret now
ryanmrichard May 28, 2024
65b06c1
turn off python formatting
ryanmrichard May 28, 2024
2e24d6a
Committing clang-format changes
github-actions[bot] May 28, 2024
1ef8f8b
fix ci errors?
ryanmrichard May 28, 2024
9d6abb7
Merge remote-tracking branch 'origin/revive' into revive
ryanmrichard May 28, 2024
4e70410
fix build error
ryanmrichard May 28, 2024
6c08fe6
try formatting again
ryanmrichard May 28, 2024
a5d4d06
Committing clang-format changes
github-actions[bot] May 28, 2024
8b916ba
intersections are modules now
ryanmrichard May 28, 2024
7511736
Merge remote-tracking branch 'origin/revive' into revive
ryanmrichard May 28, 2024
376d0c5
Committing clang-format changes
github-actions[bot] May 28, 2024
d000314
things work again!!!!
ryanmrichard May 30, 2024
04d18b9
Committing clang-format changes
github-actions[bot] May 30, 2024
78216c4
clusters seem to work (if cacheing disabled) [skip ci]
ryanmrichard Jun 7, 2024
9a7800c
Merge branch 'revive' of https://github.com/rmrresearch/ghostfragment…
ryanmrichard Jun 7, 2024
dff6fae
Committing clang-format changes
github-actions[bot] Jun 7, 2024
fe883d2
covalent may work...
ryanmrichard Jun 7, 2024
7bd022a
switch to driver module
ryanmrichard Jun 11, 2024
cc00198
revive complete?
ryanmrichard Jun 14, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
14 changes: 14 additions & 0 deletions .clang-format
Original file line number Diff line number Diff line change
@@ -1,3 +1,17 @@
# Copyright 2024 GhostFragment
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.

---
Language: Cpp
# BasedOnStyle: Mozilla
Expand Down
28 changes: 28 additions & 0 deletions .github/.licenserc.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
# Copyright 2024 GhostFragment
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#
header:
license:
spdx-id: Apache-2.0
copyright-owner: GhostFragment

paths-ignore:
- .github/
- docs/Makefile
- LICENSE
- docs/requirements.txt
- docs/source/bibliography/*.bib
- version.txt

comment: never
35 changes: 0 additions & 35 deletions .github/workflows/deploy_docs.yaml

This file was deleted.

29 changes: 29 additions & 0 deletions .github/workflows/merge.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
# Copyright 2024 GhostFragment
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#

name: .github Merge Workflow

on:
push:
branches:
- master

jobs:
Common-Merge:
uses: NWChemEx/.github/.github/workflows/common_merge.yaml@master
with:
doc_target: 'ghostfragment_cxx_api'
generate_module_docs: true
secrets: inherit
33 changes: 33 additions & 0 deletions .github/workflows/pull_request.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
# Copyright 2024 GhostFragment
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#

name: .github Pull Request Workflow

on:
pull_request:
branches:
- master

jobs:
Common-Pull-Request:
uses: NWChemEx/.github/.github/workflows/common_pull_request.yaml@master
with:
config_file: '.github/.licenserc.yaml'
source_dir: 'include src tests'
compilers: '["gcc-11", "clang-14"]'
doc_target: 'ghostfragment_cxx_api'
secrets:
CMAIZE_GITHUB_TOKEN: ${{ secrets.CMAIZE_GITHUB_TOKEN }}
CONTAINER_REPO_TOKEN: ${{ secrets.CMAIZE_GITHUB_TOKEN }}
15 changes: 0 additions & 15 deletions .github/workflows/todo2issue.yaml

This file was deleted.

14 changes: 14 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,3 +1,17 @@
# Copyright 2024 GhostFragment
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.

################################################################################
#
# The master .gitignore lives at NWChemEx-Project/DeveloperTools. The .gitignore
Expand Down
79 changes: 48 additions & 31 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -13,27 +13,25 @@
# limitations under the License.

cmake_minimum_required(VERSION 3.14)
set(VERSION 1.0.0) #TODO: get from git
project(ghostfragment VERSION "${VERSION}" LANGUAGES CXX)

include(FetchContent)
FetchContent_Declare(
nwx_cmake
GIT_REPOSITORY https://github.com/NWChemEx-Project/NWXCMake
)
FetchContent_MakeAvailable(nwx_cmake)
set(
CMAKE_MODULE_PATH "${CMAKE_MODULE_PATH}" "${nwx_cmake_SOURCE_DIR}/cmake"
CACHE STRING ""
FORCE
)
# Downloads common CMake modules used throughout NWChemEx Community
include(cmake/get_nwx_cmake.cmake)

# TODO: Uncomment when we have tags
#include(get_version_from_git)
#get_version_from_git(ghostfragment_version "${CMAKE_CURRENT_LIST_DIR}")
set(ghostframent_version "0.0.1")
project(ghostfragment VERSION "${ghostfragment_version}" LANGUAGES CXX)

include(nwx_versions)
include(get_cmaize)

### Options ###
option(BUILD_TESTING "Should we build the tests?" OFF)
option(BUILD_PYBIND11_PYBINDINGS "Use pybind11 to build Python3 bindings?" OFF)

cmaize_option_list(
BUILD_TESTING OFF "Should we build the tests?"
BUILD_PYBIND11_PYBINDINGS ON "Use pybind11 to build Python3 bindings?"
INTEGRATION_TESTING OFF "Should we build integration tests?"
)

# Work out the project paths
set(project_inc_dir "${CMAKE_CURRENT_LIST_DIR}/include")
Expand All @@ -42,21 +40,28 @@ set(project_src_dir "${CMAKE_CURRENT_LIST_DIR}/src")
include(nwx_cxx_api_docs)
nwx_cxx_api_docs("${project_src_dir}" "${project_inc_dir}")

cpp_find_or_build_dependency(
cmaize_find_or_build_dependency(
simde
URL github.com/NWChemEx-Project/SimDE
PRIVATE TRUE
URL github.com/NWChemEx/SimDE
BUILD_TARGET simde
FIND_TARGET nwx::simde
CMAKE_ARGS BUILD_TESTING=OFF
BUILD_PYBIND11_PYBINDINGS=${BUILD_PYBIND11_PYBINDINGS}
NWX_PLUGINPLAY_VERSION="cache_access"
)

cpp_add_library(
cmaize_find_or_build_dependency(
cppitertools
URL https://github.com/ryanhaining/cppitertools
VERSION v2.1
BUILD_TARGET cppitertools
FIND_TARGET cppitertools::cppitertools
)

cmaize_add_library(
${PROJECT_NAME}
SOURCE_DIR "${project_src_dir}/${PROJECT_NAME}"
INCLUDE_DIRS "${project_inc_dir}"
DEPENDS nwx::simde
DEPENDS simde cppitertools
)

include(nwx_pybind11)
Expand All @@ -70,24 +75,36 @@ if("${BUILD_TESTING}")
set(cxx_tests_dir "${CMAKE_CURRENT_LIST_DIR}/tests/cxx")
set(python_tests_dir "${CMAKE_CURRENT_LIST_DIR}/tests/python")

cpp_find_or_build_dependency(
cmaize_find_or_build_dependency(
Catch2
VERSION v2.x
URL github.com/catchorg/Catch2
BUILD_TARGET Catch2
VERSION v2.13.8
FIND_TARGET Catch2::Catch2
)
cpp_add_tests(
cmaize_add_tests(
"test_${PROJECT_NAME}"
SOURCE_DIR "${cxx_tests_dir}/unit_tests/${PROJECT_NAME}"
INCLUDE_DIR "${project_src_dir}"
INCLUDE_DIRS "${project_src_dir}/${PROJECT_NAME}"
DEPENDS Catch2::Catch2 ${PROJECT_NAME}
)
nwx_pybind11_tests(
py_ghostfragment
${python_tests_dir}/integration_tests/test_ghostfragment.py
SUBMODULES simde chemist pluginplay parallelzone
)

endif()
if("${INTEGRATION_TESTING}")
cmaize_find_or_build_dependency(
nwchemex
URL github.com/NWChemEx/NWChemEx
BUILD_TARGET nwchemex
FIND_TARGET nwx::nwchemex
CMAKE_ARGS BUILD_TESTING=OFF
)

nwx_pybind11_tests(
py_ghostfragment
${python_tests_dir}/integration_tests/test_ghostfragment.py
DEPENDS nwchemex
SUBMODULES simde chemist pluginplay parallelzone friendzone chemcache nwchemex
)

endif()
endif()
16 changes: 16 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,19 @@
<!--
~ Copyright 2024 GhostFragment
~
~ Licensed under the Apache License, Version 2.0 (the "License");
~ you may not use this file except in compliance with the License.
~ You may obtain a copy of the License at
~
~ http://www.apache.org/licenses/LICENSE-2.0
~
~ Unless required by applicable law or agreed to in writing, software
~ distributed under the License is distributed on an "AS IS" BASIS,
~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
~ See the License for the specific language governing permissions and
~ limitations under the License.
-->

# GhostFragment

GhostFragment is a computational chemistry library focused on reusable, modular
Expand Down
43 changes: 0 additions & 43 deletions cmake/get_cpp.cmake

This file was deleted.

Loading
Loading