nobuild.c 742 B

123456789101112131415161718192021222324252627282930
  1. #define NOBUILD_IMPLEMENTATION
  2. #include "./nobuild.h"
  3. void check_example(const char *example)
  4. {
  5. const char *example_path = PATH("examples", NOEXT(example));
  6. INFO("===== %s =====", NOEXT(example));
  7. #ifdef _WIN32
  8. CMD("cl.exe", "/Fe.\\examples\\", PATH("examples", example));
  9. CMD(CONCAT(example_path, ".exe"));
  10. #else
  11. CMD("cc", "-o", example_path, PATH("examples", example));
  12. CMD(example_path);
  13. #endif // _WIN32
  14. }
  15. int main(int argc, char *argv[])
  16. {
  17. FOREACH_FILE_IN_DIR(example, "examples", {
  18. if(*example != '.') {
  19. size_t n = strlen(example);
  20. if (n >= 2 && strcmp(example + n - 2, ".c") == 0) {
  21. check_example(example);
  22. }
  23. }
  24. });
  25. return 0;
  26. }