summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.travis/calcrom/.gitignore1
-rw-r--r--.travis/calcrom/calcrom.cpp16
-rw-r--r--.travis/calcrom/webhook.sh5
3 files changed, 16 insertions, 6 deletions
diff --git a/.travis/calcrom/.gitignore b/.travis/calcrom/.gitignore
index a2e06b56..e4016dbe 100644
--- a/.travis/calcrom/.gitignore
+++ b/.travis/calcrom/.gitignore
@@ -1 +1,2 @@
calcrom
+*.exe
diff --git a/.travis/calcrom/calcrom.cpp b/.travis/calcrom/calcrom.cpp
index 8b43e010..fe43939a 100644
--- a/.travis/calcrom/calcrom.cpp
+++ b/.travis/calcrom/calcrom.cpp
@@ -11,7 +11,10 @@
* - Must be placed in ".travis/calcrom/".
*
* Changelog:
- * - 1.0 (26 May 2020): Initial implementation
+ * - 1.0.0 (26 May 2020):
+ * Initial implementation
+ * - 1.0.1 (26 May 2020):
+ * Allow program to be run from wherever
*/
#include <iostream>
@@ -42,11 +45,17 @@ public:
}
};
-int main()
+int main(int argc, char ** argv)
{
fstream elf;
Elf32_Ehdr ehdr;
vector<Elf32_Shdr> shdr;
+ stringstream pattern;
+
+ if (argc < 2) {
+ cout << "usage: calcrom PROJECT_DIR" << endl;
+ throw invalid_argument("missing required argument: PROJECT_DIR\n");
+ }
// Accumulate sizes
// src asm
@@ -55,7 +64,8 @@ int main()
unsigned sizes[2][2] = {{0, 0}, {0, 0}};
char * shstrtab = NULL;
size_t shstrsz = 0;
- for (char const * & fname : Glob("../../arm9/{src,asm,lib/{src,asm},modules/*/{src,asm}}/*.{c,s,cpp}"))
+ pattern << argv[1] << "/arm9/{src,asm,lib/{src,asm},modules/*/{src,asm}}/*.{c,s,cpp}";
+ for (char const * & fname : Glob(pattern.str()))
{
string fname_s(fname);
string ext = fname_s.substr(fname_s.rfind('.'), 4);
diff --git a/.travis/calcrom/webhook.sh b/.travis/calcrom/webhook.sh
index fc02eef1..90752989 100644
--- a/.travis/calcrom/webhook.sh
+++ b/.travis/calcrom/webhook.sh
@@ -12,8 +12,7 @@ if [ ! -f $map_file ]; then
exit 1
fi
-pushd $(dirname "$0")
-make
-output=$(./calcrom | sed -E ':a;N;$!ba;s/\r{0,1}\n/\\n/g')
+make -C ${TRAVIS_BUILD_DIR}/.travis/calcrom
+output=$(${TRAVIS_BUILD_DIR}/.travis/calcrom/calcrom ${TRAVIS_BUILD_DIR} | sed -E ':a;N;$!ba;s/\r{0,1}\n/\\n/g')
curl -d "{\"username\": \"$CALCROM_DISCORD_WEBHOOK_USERNAME\", \"avatar_url\": \"$CALCROM_DISCORD_WEBHOOK_AVATAR_URL\", \"content\":\"\`\`\`$build_name progress:\\n$output\`\`\`\"}" -H "Content-Type: application/json" -X POST $CALCROM_DISCORD_WEBHOOK_URL
popd