aboutsummaryrefslogtreecommitdiff
path: root/unfinished
diff options
context:
space:
mode:
Diffstat (limited to 'unfinished')
-rw-r--r--unfinished/CMakeLists.txt31
-rw-r--r--unfinished/README15
-rw-r--r--unfinished/group.R25
-rw-r--r--unfinished/separate.R21
-rw-r--r--unfinished/slide.R24
-rw-r--r--unfinished/sokoban.R19
6 files changed, 41 insertions, 94 deletions
diff --git a/unfinished/CMakeLists.txt b/unfinished/CMakeLists.txt
new file mode 100644
index 0000000..0c1e331
--- /dev/null
+++ b/unfinished/CMakeLists.txt
@@ -0,0 +1,31 @@
+puzzle(group
+ DISPLAYNAME "Group"
+ DESCRIPTION "Group theory puzzle"
+ OBJECTIVE "Complete the unfinished Cayley table of a group.")
+solver(group ${CMAKE_SOURCE_DIR}/latin.c)
+
+puzzle(separate
+ DISPLAYNAME "Separate"
+ DESCRIPTION "Rectangle-dividing puzzle"
+ OBJECTIVE "Partition the grid into regions containing one of each letter.")
+
+puzzle(slide
+ DISPLAYNAME "Slide"
+ DESCRIPTION "Sliding block puzzle"
+ OBJECTIVE "Slide the blocks to let the key block out.")
+solver(slide)
+
+puzzle(sokoban
+ DISPLAYNAME "Sokoban"
+ DESCRIPTION "Barrel-pushing puzzle"
+ OBJECTIVE "Push all the barrels into the target squares.")
+
+# These unfinished programs don't even have the structure of a puzzle
+# game yet; they're just command-line programs containing test
+# implementations of some of the needed functionality.
+
+cliprogram(numgame numgame.c)
+
+cliprogram(path path.c COMPILE_DEFINITIONS TEST_GEN)
+
+export_variables_to_parent_scope()
diff --git a/unfinished/README b/unfinished/README
index 0f8bb41..c96ccc9 100644
--- a/unfinished/README
+++ b/unfinished/README
@@ -2,8 +2,13 @@ This subdirectory contains puzzle implementations which are
half-written, fundamentally flawed, or in other ways unready to be
shipped as part of the polished Puzzles collection.
-Those puzzles which have .R files can be built as part of the
-Puzzles collection by symlinking their source files into the parent
-directory and re-running mkfiles.pl. Anything without a .R file
-isn't even finished enough to do that, and you should read the
-source file itself to find out the status.
+The CMake build system will _build_ all of the source in this
+directory (to ensure it hasn't become unbuildable), but they won't be
+included in all-in-one puzzle binaries or installed by 'make install'
+targets. If you want to temporarily change that, you can reconfigure
+your build by defining the CMake variable PUZZLES_ENABLE_UNFINISHED.
+For example,
+
+ cmake . -DPUZZLES_ENABLE_UNFINISHED="group;slide"
+
+will build as if both Group and Slide were fully official puzzles.
diff --git a/unfinished/group.R b/unfinished/group.R
deleted file mode 100644
index 394e364..0000000
--- a/unfinished/group.R
+++ /dev/null
@@ -1,25 +0,0 @@
-# -*- makefile -*-
-
-GROUP_EXTRA = LATIN
-GROUP_EXTRA_SOLVER = LATIN_SOLVER
-
-group : [X] GTK COMMON group GROUP_EXTRA group-icon|no-icon
-
-group : [G] WINDOWS COMMON group GROUP_EXTRA group.res|noicon.res
-
-groupsolver : [U] group[STANDALONE_SOLVER] GROUP_EXTRA_SOLVER STANDALONE
-groupsolver : [C] group[STANDALONE_SOLVER] GROUP_EXTRA_SOLVER STANDALONE
-
-ALL += group[COMBINED] GROUP_EXTRA
-
-!begin am gtk
-GAMES += group
-!end
-
-!begin >list.c
- A(group) \
-!end
-
-!begin >gamedesc.txt
-group:group.exe:Group:Group theory puzzle:Complete the unfinished Cayley table of a group.
-!end
diff --git a/unfinished/separate.R b/unfinished/separate.R
deleted file mode 100644
index f861c8f..0000000
--- a/unfinished/separate.R
+++ /dev/null
@@ -1,21 +0,0 @@
-# -*- makefile -*-
-
-SEPARATE_EXTRA = divvy dsf
-
-separate : [X] GTK COMMON separate SEPARATE_EXTRA separate-icon|no-icon
-
-separate : [G] WINDOWS COMMON separate SEPARATE_EXTRA separate.res|noicon.res
-
-ALL += separate[COMBINED] SEPARATE_EXTRA
-
-!begin am gtk
-GAMES += separate
-!end
-
-!begin >list.c
- A(separate) \
-!end
-
-!begin >gamedesc.txt
-separate:separate.exe:Separate:Rectangle-dividing puzzle:Partition the grid into regions containing one of each letter.
-!end
diff --git a/unfinished/slide.R b/unfinished/slide.R
deleted file mode 100644
index 189ed65..0000000
--- a/unfinished/slide.R
+++ /dev/null
@@ -1,24 +0,0 @@
-# -*- makefile -*-
-
-SLIDE_EXTRA = dsf tree234
-
-slide : [X] GTK COMMON slide SLIDE_EXTRA slide-icon|no-icon
-
-slide : [G] WINDOWS COMMON slide SLIDE_EXTRA slide.res|noicon.res
-
-slidesolver : [U] slide[STANDALONE_SOLVER] SLIDE_EXTRA STANDALONE
-slidesolver : [C] slide[STANDALONE_SOLVER] SLIDE_EXTRA STANDALONE
-
-ALL += slide[COMBINED] SLIDE_EXTRA
-
-!begin am gtk
-GAMES += slide
-!end
-
-!begin >list.c
- A(slide) \
-!end
-
-!begin >gamedesc.txt
-slide:slide.exe:Slide:Sliding block puzzle:Slide the blocks to let the key block out.
-!end
diff --git a/unfinished/sokoban.R b/unfinished/sokoban.R
deleted file mode 100644
index 3b6dab5..0000000
--- a/unfinished/sokoban.R
+++ /dev/null
@@ -1,19 +0,0 @@
-# -*- makefile -*-
-
-sokoban : [X] GTK COMMON sokoban sokoban-icon|no-icon
-
-sokoban : [G] WINDOWS COMMON sokoban sokoban.res?
-
-ALL += sokoban[COMBINED]
-
-!begin am gtk
-GAMES += sokoban
-!end
-
-!begin >list.c
- A(sokoban) \
-!end
-
-!begin >gamedesc.txt
-sokoban:sokoban.exe:Sokoban:Barrel-pushing puzzle:Push all the barrels into the target squares.
-!end