Skip to content

Commit 285614e

Browse files
committed
Automatically generate cmkr.cmake when missing
1 parent e725b10 commit 285614e

File tree

14 files changed

+350
-321
lines changed

14 files changed

+350
-321
lines changed

.github/workflows/build.yml

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,10 @@ jobs:
1717
- name: Checkout
1818
uses: actions/checkout@v2
1919

20+
- name: Tag cmkr.cmake
21+
if: ${{ startsWith(github.ref, 'refs/tags/') }}
22+
run: cmake -P "cmake/replace_tag.cmake"
23+
2024
- name: Build
2125
run: |
2226
cmake -S. -Bbuild -DCMAKE_BUILD_TYPE=${{ env.BUILD_TYPE }}
@@ -26,7 +30,7 @@ jobs:
2630
- name: Check if cmkr was run
2731
run: |
2832
./install/bin/cmkr gen
29-
git diff --exit-code
33+
git diff --exit-code -- . ":(exclude)cmake/cmkr.cmake"
3034
3135
- name: Test
3236
run: |
@@ -53,7 +57,7 @@ jobs:
5357

5458
- name: Release
5559
uses: softprops/action-gh-release@v1
56-
if: ${{ startsWith(github.ref, 'refs/tags/') && (matrix.os == 'windows-2019' || matrix.os == 'macos-10.15' || matrix.os == 'ubuntu-16.04') }}
60+
if: ${{ startsWith(github.ref, 'refs/tags/') }}
5761
with:
5862
prerelease: ${{ !startsWith(github.ref, 'refs/tags/v') || contains(github.ref, '-pre') }}
5963
files: ${{ github.event.repository.name }}-${{ steps.osname.outputs.lowercase }}.zip

CMakeLists.txt

Lines changed: 4 additions & 6 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

cmake.toml

Lines changed: 23 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,17 @@
11
[cmake]
22
version = "2.8...3.8"
3+
cmkr-include = false
34

45
[project]
56
name = "cmkr"
67
version = "0.1.4"
78
description = "CMakeLists generator from TOML"
89
languages = ["CXX"]
910
subdirs = ["third_party", "tests"]
10-
include-after = ["cmake/generate_documentation.cmake"]
11+
include-after = [
12+
"cmake/generate_documentation.cmake",
13+
"cmake/generate_resources.cmake"
14+
]
1115

1216
[target.cmkr_generate_documentation]
1317
type = "interface"
@@ -17,10 +21,25 @@ generate_documentation()
1721

1822
[target.cmkr]
1923
type = "executable"
20-
sources = ["src/*.cpp", "include/*.hpp"]
21-
include-directories = ["include"]
24+
sources = [
25+
"src/*.cpp",
26+
"include/*.hpp",
27+
"cmake/cmkr.cmake",
28+
]
29+
include-directories = [
30+
"include",
31+
]
2232
compile-features = ["cxx_std_11"]
23-
link-libraries = ["toml11", "ghc_filesystem", "mpark_variant", "ordered_map", "nlohmann_json"]
33+
link-libraries = [
34+
"toml11",
35+
"ghc_filesystem",
36+
"mpark_variant",
37+
"ordered_map",
38+
"nlohmann_json"
39+
]
40+
cmake-after = """
41+
generate_resources(${CMKR_TARGET})
42+
"""
2443

2544
[[install]]
2645
targets = ["cmkr"]

cmake/CMakeLists.txt

Lines changed: 0 additions & 44 deletions
This file was deleted.

cmake/cmake.toml

Lines changed: 0 additions & 12 deletions
This file was deleted.

0 commit comments

Comments
 (0)