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

Specify Dependencies with JSON #119

Open
ryanmrichard opened this issue Sep 13, 2023 · 1 comment
Open

Specify Dependencies with JSON #119

ryanmrichard opened this issue Sep 13, 2023 · 1 comment
Labels
enhancement New feature or request

Comments

@ryanmrichard
Copy link
Collaborator

Is your feature request related to a problem? Please describe.
Having dependency information embedded in CMakeLists.txt makes it hard to access outside the build system (e.g., during CI). Since 3.19 CMake has support for working with JSON, so we could allow users to provide a JSON file describing the dependencies and have CMaize populate the dependency information from the file. As an added benefit the CMakeLists.txt becomes shorter.

@ryanmrichard ryanmrichard added the enhancement New feature or request label Sep 13, 2023
@ryanmrichard
Copy link
Collaborator Author

If we really want to go for broke how much of the build system can we specify in a JSON?

{
  "name" : "project name",
  "languages" : ["CXX", "C"],
  "options" : {
    "option0" : ["this is option 0", "default_value"],
    "option1" : ["this is option 1", "default_value"]
  },
  "dependencies" : {
    "dependency0" : { 
      "URL" : "www.internet.com",
      "VERSION" : "1.0.0",
      "CMAKE_ARGS" : {
        "arg0" : "value",
        "arg1" : "value"
      } 
    },
    "dependency1" : {}  
  },
  "targets" : {
      "target0" : {}
  },
  "package" : ["target0"]
}

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

1 participant