Skip to content

Commit

Permalink
Merge branch 'master' into 155-bug-documenting-a-set-command-with-par…
Browse files Browse the repository at this point in the history
…ent_scope-or-other-flags-generates-incorrect-documentation
  • Loading branch information
AutonomicPerfectionist authored Dec 13, 2023
2 parents 7a93360 + 5155867 commit 30d38aa
Show file tree
Hide file tree
Showing 5 changed files with 68 additions and 14 deletions.
1 change: 1 addition & 0 deletions .github/.licenserc.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,7 @@ header:
- tests/
- LICENSE
- MANIFEST.in
- CITATION.cff
- setup.cfg
- .zenodo.json

Expand Down
34 changes: 34 additions & 0 deletions CITATION.cff
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
cff-version: "1.2.0"
authors:
- family-names: Butler
given-names: Branden
- family-names: Richard
given-names: Ryan M.
orcid: "https://orcid.org/0000-0003-4235-5179"
contact:
- family-names: Richard
given-names: Ryan M.
orcid: "https://orcid.org/0000-0003-4235-5179"
doi: 10.5281/zenodo.7116601
message: If you use this software, please cite our article in the
Journal of Open Source Software.
preferred-citation:
authors:
- family-names: Butler
given-names: Branden
- family-names: Richard
given-names: Ryan M.
orcid: "https://orcid.org/0000-0003-4235-5179"
date-published: 2022-09-23
doi: 10.21105/joss.04680
issn: 2475-9066
issue: 77
journal: Journal of Open Source Software
publisher:
name: Open Journals
start: 4680
title: "CMinx: A CMake Documentation Generator"
type: article
url: "https://joss.theoj.org/papers/10.21105/joss.04680"
volume: 7
title: "CMinx: A CMake Documentation Generator"
2 changes: 1 addition & 1 deletion CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -114,7 +114,7 @@ write_basic_package_version_file(

if(BUILD_TESTING)
message("Building tests")
include("${PROJECT_SOURCE_DIR}/cmake/get_cpp.cmake")
include("${PROJECT_SOURCE_DIR}/cmake/get_cmaize.cmake")
include("${PROJECT_SOURCE_DIR}/cmake/get_cmake_test.cmake")

python_venv_pip_install(${CMINX_VENV} "-e" ".[testing]")
Expand Down
28 changes: 15 additions & 13 deletions cmake/get_cpp.cmake → cmake/get_cmaize.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -13,38 +13,40 @@
# limitations under the License.

include_guard()
include(versions)

#[[
# This function encapsulates the process of getting CMakePP using CMake's
# This function encapsulates the process of getting CMaize using CMake's
# FetchContent module. We have encapsulated it in a function so we can set
# the options for its configure step without affecting the options for the
# parent project's configure step (namely we do not want to build CMakePP's
# parent project's configure step (namely we do not want to build CMaize's
# unit tests).
#]]
macro(get_cpp)
include(cpp/cpp OPTIONAL RESULT_VARIABLE cpp_found)
if(NOT cpp_found)
macro(get_cmaize)
include(cmaize/cmaize OPTIONAL RESULT_VARIABLE cmaize_found)
if(NOT cmaize_found)



# Store whether we are building tests or not, then turn off the tests
set(build_testing_old "${BUILD_TESTING}")
set(BUILD_TESTING OFF CACHE BOOL "" FORCE)
# Download CMakePP and bring it into scope
# Download CMaize and bring it into scope
include(FetchContent)
FetchContent_Declare(
cpp
GIT_REPOSITORY https://github.com/CMakePP/CMakePackagingProject
cmaize
GIT_REPOSITORY https://github.com/CMakePP/CMaize
GIT_TAG "${CMAIZE_VERSION}"
)
FetchContent_MakeAvailable(cpp)
FetchContent_MakeAvailable(cmaize)

# Restore the previous value
set(BUILD_TESTING "${build_testing_old}" CACHE BOOL "" FORCE)
endif()
endmacro()

# Call the function we just wrote to get CMakePP
get_cpp()
# Call the function we just wrote to get CMaize
get_cmaize()

# Include CMakePP
include(cpp/cpp)
# Include CMaize
include(cmaize/cmaize)
17 changes: 17 additions & 0 deletions cmake/versions.cmake
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
# Copyright 2023 CMakePP
#
# 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.

include_guard()

set(CMAIZE_VERSION v0.2.1)

0 comments on commit 30d38aa

Please sign in to comment.