{"sha":"3dacc6f4288504527b58006d47192900226565d2","node_id":"C_kwDOAiB0YNoAKDNkYWNjNmY0Mjg4NTA0NTI3YjU4MDA2ZDQ3MTkyOTAwMjI2NTY1ZDI","commit":{"author":{"name":"Sean Parent","email":"sean.parent@stlab.cc","date":"2025-07-04T03:56:32Z"},"committer":{"name":"GitHub","email":"noreply@github.com","date":"2025-07-04T03:56:32Z"},"message":"Adding test for CMake install. (#566)\n\n* Adding test for CMake install.\n* Fixing version and removing copy-on-write from install.\n* Update version number to 2.0.1\n* version.hpp updated from CMake/config.hpp","tree":{"sha":"04d91db8d7125e9101dfb302c2695cddd1c98810","url":"https://api.github.com/repos/stlab/stlab/git/trees/04d91db8d7125e9101dfb302c2695cddd1c98810"},"url":"https://api.github.com/repos/stlab/stlab/git/commits/3dacc6f4288504527b58006d47192900226565d2","comment_count":0,"verification":{"verified":true,"reason":"valid","signature":"-----BEGIN PGP SIGNATURE-----\n\nwsFcBAABCAAQBQJoZ1DwCRC1aQ7uu5UhlAAAMhAQAJ+MBR6sUTwZ2vupWQYe0kY9\nQ7+xDSwlQga9Em7KFLIUa+X6rhP/OU/zAD13tTjFc6TVAwG9GO83I/DiWBLezcXE\nnF8HbN3wn14GH3ujWdG/lY/+mDsm3q6jDfI3LUmAcla4KWhbyC/0/w2tlHotvVhO\nLSsPSvqmVhLbL8CMnA7fq94GEifcLFdabnfS8LvUDHPNaVQUSM+XKHx/o4C1mVvZ\nF1hqihlZkX5ZzYgssp3j6/TWQ8k4fEZDKu2zljFu6UcyL7WK5RiFN0KDkc/vbUu5\nrH7H/8eLmxmRBZ2GHBtjsnDiaGC3cc2I3vVZqENpcUglCySmO9rhNft7/zB7NgcU\n0caWv7R2n/ezOEaBMgl0yem7Lhh1z7sq3Sqd95YwSnWrYYA24zc0TnFK0vbGdUe5\ncKep1bprYPgru2s6PY+0RwYDm+6+VnG4IpNm1JHQG9uAFPJvn28JMrlvUs691rIT\n89iUXlYmODTGPH/LhoQ65sRd3zX0tTzB4l/Gag5TGtfZu9atEFnXxDpTl9AVJu5z\nINZt7drV6s+PqbJRvhhV3XtnHTBaMCyk9ggv0vRpU6hW5BOA1T3i7dCG+c2SJgA6\nPPPT+6ImR5EYgHUrPDr0HMEy+kDimCoCQUrOoIaO+CWdlxEHTFN02UBAGavTyrWo\nFYb3mxnL7LuvUT0O3oge\n=5OmZ\n-----END PGP SIGNATURE-----\n","payload":"tree 04d91db8d7125e9101dfb302c2695cddd1c98810\nparent 052a1b5b9c1e6ef013e20ecc515931efc6a8d9e6\nauthor Sean Parent <sean.parent@stlab.cc> 1751601392 -0700\ncommitter GitHub <noreply@github.com> 1751601392 -0700\n\nAdding test for CMake install. (#566)\n\n* Adding test for CMake install.\n* Fixing version and removing copy-on-write from install.\n* Update version number to 2.0.1\n* version.hpp updated from CMake/config.hpp","verified_at":"2025-07-04T03:56:32Z"}},"url":"https://api.github.com/repos/stlab/stlab/commits/3dacc6f4288504527b58006d47192900226565d2","html_url":"https://github.com/stlab/stlab/commit/3dacc6f4288504527b58006d47192900226565d2","comments_url":"https://api.github.com/repos/stlab/stlab/commits/3dacc6f4288504527b58006d47192900226565d2/comments","author":{"login":"sean-parent","id":2279724,"node_id":"MDQ6VXNlcjIyNzk3MjQ=","avatar_url":"https://avatars.githubusercontent.com/u/2279724?v=4","gravatar_id":"","url":"https://api.github.com/users/sean-parent","html_url":"https://github.com/sean-parent","followers_url":"https://api.github.com/users/sean-parent/followers","following_url":"https://api.github.com/users/sean-parent/following{/other_user}","gists_url":"https://api.github.com/users/sean-parent/gists{/gist_id}","starred_url":"https://api.github.com/users/sean-parent/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/sean-parent/subscriptions","organizations_url":"https://api.github.com/users/sean-parent/orgs","repos_url":"https://api.github.com/users/sean-parent/repos","events_url":"https://api.github.com/users/sean-parent/events{/privacy}","received_events_url":"https://api.github.com/users/sean-parent/received_events","type":"User","user_view_type":"public","site_admin":false},"committer":{"login":"web-flow","id":19864447,"node_id":"MDQ6VXNlcjE5ODY0NDQ3","avatar_url":"https://avatars.githubusercontent.com/u/19864447?v=4","gravatar_id":"","url":"https://api.github.com/users/web-flow","html_url":"https://github.com/web-flow","followers_url":"https://api.github.com/users/web-flow/followers","following_url":"https://api.github.com/users/web-flow/following{/other_user}","gists_url":"https://api.github.com/users/web-flow/gists{/gist_id}","starred_url":"https://api.github.com/users/web-flow/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/web-flow/subscriptions","organizations_url":"https://api.github.com/users/web-flow/orgs","repos_url":"https://api.github.com/users/web-flow/repos","events_url":"https://api.github.com/users/web-flow/events{/privacy}","received_events_url":"https://api.github.com/users/web-flow/received_events","type":"User","user_view_type":"public","site_admin":false},"parents":[{"sha":"052a1b5b9c1e6ef013e20ecc515931efc6a8d9e6","url":"https://api.github.com/repos/stlab/stlab/commits/052a1b5b9c1e6ef013e20ecc515931efc6a8d9e6","html_url":"https://github.com/stlab/stlab/commit/052a1b5b9c1e6ef013e20ecc515931efc6a8d9e6"}],"stats":{"total":113,"additions":93,"deletions":20},"files":[{"sha":"9df52e0fe5bb0c8ef00d1961cf446653c27f65e5","filename":".github/workflows/stlab.yml","status":"modified","additions":60,"deletions":0,"changes":60,"blob_url":"https://github.com/stlab/stlab/blob/3dacc6f4288504527b58006d47192900226565d2/.github%2Fworkflows%2Fstlab.yml","raw_url":"https://github.com/stlab/stlab/raw/3dacc6f4288504527b58006d47192900226565d2/.github%2Fworkflows%2Fstlab.yml","contents_url":"https://api.github.com/repos/stlab/stlab/contents/.github%2Fworkflows%2Fstlab.yml?ref=3dacc6f4288504527b58006d47192900226565d2","patch":"@@ -154,3 +154,63 @@ jobs:\n         run: |\n           cd ../build/\n           ctest --output-on-failure\n+\n+  test-install:\n+    name: Test CMake Installation\n+    needs: builds\n+    runs-on: ubuntu-latest\n+    steps:\n+      - uses: actions/checkout@v4.1.6\n+\n+      - name: Install dependencies\n+        run: |\n+          sudo apt-get update\n+          sudo apt-get install -y ninja-build\n+\n+      - name: Build and Install\n+        run: |\n+          # Build and install copy-on-write first\n+          git clone --depth 1 --branch v1.0.3 https://github.com/stlab/copy-on-write.git\n+          cd copy-on-write\n+          mkdir build && cd build\n+          cmake .. -GNinja -DCMAKE_BUILD_TYPE=Release -DCMAKE_CXX_STANDARD=20 -DCMAKE_INSTALL_PREFIX=/usr/local\n+          cmake --build .\n+          sudo cmake --install .\n+          cd ../..\n+\n+          # Build and install stlab\n+          mkdir build && cd build\n+          cmake .. -GNinja -DCMAKE_BUILD_TYPE=Release -DCMAKE_CXX_STANDARD=20 -DCMAKE_INSTALL_PREFIX=/usr/local\n+          cmake --build .\n+          sudo cmake --install .\n+\n+      - name: Create Test Project\n+        run: |\n+          mkdir test-install && cd test-install\n+          cat > CMakeLists.txt << 'EOL'\n+          cmake_minimum_required(VERSION 3.23)\n+          project(test_stlab_install)\n+          \n+          find_package(stlab REQUIRED)\n+          \n+          add_executable(test_stlab main.cpp)\n+          target_link_libraries(test_stlab PRIVATE stlab::stlab)\n+          EOL\n+          \n+          cat > main.cpp << 'EOL'\n+          #include <stlab/version.hpp>\n+          #include <iostream>\n+          \n+          int main() {\n+              std::cout << \"STLab version: \" << STLAB_VERSION << std::endl;\n+              return 0;\n+          }\n+          EOL\n+\n+      - name: Build Test Project\n+        run: |\n+          cd test-install\n+          mkdir build && cd build\n+          cmake .. -GNinja -DCMAKE_BUILD_TYPE=Release\n+          cmake --build .\n+          ./test_stlab"},{"sha":"a012cb460af882824f2a2f3756c52b3d3dadc8f5","filename":"CMakeLists.txt","status":"modified","additions":2,"deletions":3,"changes":5,"blob_url":"https://github.com/stlab/stlab/blob/3dacc6f4288504527b58006d47192900226565d2/CMakeLists.txt","raw_url":"https://github.com/stlab/stlab/raw/3dacc6f4288504527b58006d47192900226565d2/CMakeLists.txt","contents_url":"https://api.github.com/repos/stlab/stlab/contents/CMakeLists.txt?ref=3dacc6f4288504527b58006d47192900226565d2","patch":"@@ -1,6 +1,6 @@\n cmake_minimum_required(VERSION 3.23)\n \n-project(stlab VERSION 1.7.1 LANGUAGES CXX)\n+project(stlab VERSION 2.0.1 LANGUAGES CXX)\n \n # Create the main library target first\n add_library(stlab)\n@@ -22,9 +22,8 @@ include(${CMAKE_CURRENT_BINARY_DIR}/cmake/CPM.cmake)\n set(CPM_SOURCE_CACHE ${CMAKE_SOURCE_DIR}/.cpm-cache CACHE PATH \"Directory to cache CPM packages\" FORCE)\n \n # Add stlab-copy-on-write as a dependency\n-\n CPMAddPackage(\"gh:stlab/copy-on-write@1.0.3\")\n-target_link_libraries(stlab PUBLIC stlab::copy-on-write)\n+target_link_libraries(stlab INTERFACE stlab::copy-on-write)\n \n ########################################################\n # clangd"},{"sha":"3dafb7944caa5b0ec42e4cbcef393b4287b4706a","filename":"cmake/stlabConfig.cmake.in","status":"modified","additions":3,"deletions":0,"changes":3,"blob_url":"https://github.com/stlab/stlab/blob/3dacc6f4288504527b58006d47192900226565d2/cmake%2FstlabConfig.cmake.in","raw_url":"https://github.com/stlab/stlab/raw/3dacc6f4288504527b58006d47192900226565d2/cmake%2FstlabConfig.cmake.in","contents_url":"https://api.github.com/repos/stlab/stlab/contents/cmake%2FstlabConfig.cmake.in?ref=3dacc6f4288504527b58006d47192900226565d2","patch":"@@ -1,5 +1,8 @@\n include( CMakeFindDependencyMacro )\n \n+# Find the copy-on-write dependency\n+find_dependency( stlab-copy-on-write 1 REQUIRED )\n+\n if ( @STLAB_TASK_SYSTEM@ STREQUAL \"libdispatch\" )\n   find_dependency( libdispatch )\n endif()"},{"sha":"efb375464e2ff9dd5ed9e6fa3bcd517c500f96c8","filename":"include/stlab/CMakeLists.txt","status":"modified","additions":0,"deletions":1,"changes":1,"blob_url":"https://github.com/stlab/stlab/blob/3dacc6f4288504527b58006d47192900226565d2/include%2Fstlab%2FCMakeLists.txt","raw_url":"https://github.com/stlab/stlab/raw/3dacc6f4288504527b58006d47192900226565d2/include%2Fstlab%2FCMakeLists.txt","contents_url":"https://api.github.com/repos/stlab/stlab/contents/include%2Fstlab%2FCMakeLists.txt?ref=3dacc6f4288504527b58006d47192900226565d2","patch":"@@ -27,7 +27,6 @@ target_sources( stlab INTERFACE\n \n     test/model.hpp\n \n-    copy_on_write.hpp\n     enum_ops.hpp\n     forest.hpp\n     forest_algorithms.hpp"},{"sha":"6e7174ca19fba3c8b9fd09814533184cae5b27ab","filename":"include/stlab/config.hpp.in","status":"modified","additions":9,"deletions":0,"changes":9,"blob_url":"https://github.com/stlab/stlab/blob/3dacc6f4288504527b58006d47192900226565d2/include%2Fstlab%2Fconfig.hpp.in","raw_url":"https://github.com/stlab/stlab/raw/3dacc6f4288504527b58006d47192900226565d2/include%2Fstlab%2Fconfig.hpp.in","contents_url":"https://api.github.com/repos/stlab/stlab/contents/include%2Fstlab%2Fconfig.hpp.in?ref=3dacc6f4288504527b58006d47192900226565d2","patch":"@@ -10,6 +10,15 @@\n // Release version macro - used for inline namespace increment on each release\n #define STLAB_VERSION_NAMESPACE() v3\n \n+// Version information generated from CMake project version\n+#define STLAB_VERSION_MAJOR() @PROJECT_VERSION_MAJOR@\n+#define STLAB_VERSION_MINOR() @PROJECT_VERSION_MINOR@\n+#define STLAB_VERSION_PATCH() @PROJECT_VERSION_PATCH@\n+\n+// Helper macro for string construction\n+#define STLAB_STRINGIZE(x) STLAB_STRINGIZE2(x)\n+#define STLAB_STRINGIZE2(x) #x\n+\n // Configuration generated from CMake\n \n #cmakedefine01 STLAB_STD_COROUTINES()"},{"sha":"d3935b3644b2b7c27db2f502f31042eee18db751","filename":"include/stlab/version.hpp","status":"modified","additions":19,"deletions":16,"changes":35,"blob_url":"https://github.com/stlab/stlab/blob/3dacc6f4288504527b58006d47192900226565d2/include%2Fstlab%2Fversion.hpp","raw_url":"https://github.com/stlab/stlab/raw/3dacc6f4288504527b58006d47192900226565d2/include%2Fstlab%2Fversion.hpp","contents_url":"https://api.github.com/repos/stlab/stlab/contents/include%2Fstlab%2Fversion.hpp?ref=3dacc6f4288504527b58006d47192900226565d2","patch":"@@ -1,5 +1,5 @@\n /*\n-    Copyright 2015 Adobe\n+    Copyright 2015-2021 Adobe\n     Distributed under the Boost Software License, Version 1.0.\n     (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)\n */\n@@ -9,23 +9,26 @@\n #ifndef STLAB_VERSION_HPP\n #define STLAB_VERSION_HPP\n \n-//\n-//  Caution: this is the only stlab header that is guaranteed\n-//  to change with every stlab release. Including this header\n-//  will cause a recompile every time a new stlab version is\n-//  used.\n-//\n-//  STLAB_VERSION % 100 is the patch level\n-//  STLAB_VERSION / 100 % 1000 is the minor version\n-//  STLAB_VERSION / 100000 is the major version\n+#include <stlab/config.hpp>\n \n-#define STLAB_VERSION 100701\n+//  These version numbers are automatically generated from the CMake project version.\n \n-//\n-//  STLAB_LIB_VERSION must be defined to be the same as STLAB_VERSION\n-//  but as a *string* in the form \"x_y[_z]\" where x is the major version\n-//  number, y is the minor version number, and z is the patch level if not 0.\n+/*!\n+    `STLAB_VERSION % 100` is the patch level\n+    `STLAB_VERSION / 100 % 1000` is the minor version\n+    `STLAB_VERSION / 100000` is the major version\n+*/\n+#define STLAB_VERSION STLAB_VERSION_MAJOR() * 100000 + STLAB_VERSION_MINOR() * 100 + STLAB_VERSION_PATCH()\n+\n+/*!\n+    `STLAB_LIB_VERSION` is a string in the form \"x_y[_z]\" where x is the major version\n+    number, y is the minor version number, and z is the patch level if not 0.\n+*/\n \n-#define STLAB_LIB_VERSION \"1_7_1\"\n+#if STLAB_VERSION_PATCH() == 0\n+#define STLAB_LIB_VERSION STLAB_STRINGIZE(STLAB_VERSION_MAJOR()) \"_\" STLAB_STRINGIZE(STLAB_VERSION_MINOR())\n+#else\n+#define STLAB_LIB_VERSION STLAB_STRINGIZE(STLAB_VERSION_MAJOR()) \"_\" STLAB_STRINGIZE(STLAB_VERSION_MINOR()) \"_\" STLAB_STRINGIZE(STLAB_VERSION_PATCH())\n+#endif\n \n #endif"}]}