aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLibravatar Drew DeVault <sir@cmpwn.com>2017-04-26 10:18:03 -0400
committerLibravatar GitHub <noreply@github.com>2017-04-26 10:18:03 -0400
commit3c1fc00f12e2777f6349a5d671b8d66c5997eb2b (patch)
tree5bcca08aad4e65d288abf218b50172a3137d2d71
parentFix link to dotfiles, closes #1193 (diff)
parentAdd -DVERSION flag for release version numbers (diff)
downloadsway-3c1fc00f12e2777f6349a5d671b8d66c5997eb2b.tar.gz
sway-3c1fc00f12e2777f6349a5d671b8d66c5997eb2b.tar.zst
sway-3c1fc00f12e2777f6349a5d671b8d66c5997eb2b.zip
Merge pull request #1194 from snoack/version
Add -DVERSION flag for release version numbers
-rw-r--r--CMakeLists.txt14
-rw-r--r--sway/ipc-json.c37
-rw-r--r--sway/main.c10
-rw-r--r--swaybar/main.c6
-rw-r--r--swaygrab/main.c6
-rw-r--r--swaylock/main.c6
-rw-r--r--swaymsg/main.c6
7 files changed, 20 insertions, 65 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 017b0994..9ed45830 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -20,7 +20,10 @@ endif()
20list(INSERT CMAKE_MODULE_PATH 0 20list(INSERT CMAKE_MODULE_PATH 0
21 ${CMAKE_CURRENT_SOURCE_DIR}/CMake 21 ${CMAKE_CURRENT_SOURCE_DIR}/CMake
22 ) 22 )
23if(EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/.git) 23
24if (VERSION)
25 add_definitions(-DSWAY_VERSION=\"${VERSION}\")
26else()
24 execute_process( 27 execute_process(
25 COMMAND git describe --always --tags 28 COMMAND git describe --always --tags
26 OUTPUT_VARIABLE GIT_COMMIT_HASH 29 OUTPUT_VARIABLE GIT_COMMIT_HASH
@@ -33,13 +36,10 @@ if(EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/.git)
33 OUTPUT_STRIP_TRAILING_WHITESPACE 36 OUTPUT_STRIP_TRAILING_WHITESPACE
34 WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} 37 WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
35 ) 38 )
36endif()
37 39
38add_definitions(-DSWAY_GIT_VERSION=\"${GIT_COMMIT_HASH}\") 40 string(TIMESTAMP CURRENT_DATE "%Y-%m-%d" UTC)
39add_definitions(-DSWAY_GIT_BRANCH=\"${GIT_BRANCH}\") 41 add_definitions("-DSWAY_VERSION=\"${GIT_COMMIT_HASH} (${CURRENT_DATE}, branch \\\"${GIT_BRANCH}\\\")\"")
40 42endif()
41string(TIMESTAMP CURRENT_DATE "%Y-%m-%d" UTC)
42add_definitions(-DSWAY_VERSION_DATE=\"${CURRENT_DATE}\")
43 43
44option(enable-swaylock "Enables the swaylock utility" YES) 44option(enable-swaylock "Enables the swaylock utility" YES)
45option(enable-swaybg "Enables the wallpaper utility" YES) 45option(enable-swaybg "Enables the wallpaper utility" YES)
diff --git a/sway/ipc-json.c b/sway/ipc-json.c
index 4c4484e8..512144a4 100644
--- a/sway/ipc-json.c
+++ b/sway/ipc-json.c
@@ -306,39 +306,16 @@ json_object *ipc_json_describe_input(struct libinput_device *device) {
306} 306}
307 307
308json_object *ipc_json_get_version() { 308json_object *ipc_json_get_version() {
309 int major = 0, minor = 0, patch = 0;
309 json_object *version = json_object_new_object(); 310 json_object *version = json_object_new_object();
310 311
311#if defined SWAY_GIT_VERSION && defined SWAY_GIT_BRANCH && defined SWAY_VERSION_DATE 312 sscanf(SWAY_VERSION, "%u.%u.%u", &major, &minor, &patch);
312 char *full_version = calloc(strlen(SWAY_GIT_VERSION) + strlen(SWAY_GIT_BRANCH) + strlen(SWAY_VERSION_DATE) + 20, 1); 313
313 if (!full_version) { 314 json_object_object_add(version, "human_readable", json_object_new_string(SWAY_VERSION));
314 json_object_object_add(version, "human_readable",
315 json_object_new_string("Allocating version string failed"));
316 // TODO: it's stupid that we allocate this in the first place
317 json_object_object_add(version, "major", json_object_new_int(0));
318 json_object_object_add(version, "minor", json_object_new_int(0));
319 json_object_object_add(version, "patch", json_object_new_int(0));
320 return version;
321 }
322 strcat(full_version, SWAY_GIT_VERSION);
323 strcat(full_version, " (");
324 strcat(full_version, SWAY_VERSION_DATE);
325 strcat(full_version, ", branch \"");
326 strcat(full_version, SWAY_GIT_BRANCH);
327 strcat(full_version, "\")");
328
329 json_object_object_add(version, "human_readable", json_object_new_string(full_version));
330 json_object_object_add(version, "variant", json_object_new_string("sway")); 315 json_object_object_add(version, "variant", json_object_new_string("sway"));
331 // Todo once we actually release a version 316 json_object_object_add(version, "major", json_object_new_int(major));
332 json_object_object_add(version, "major", json_object_new_int(0)); 317 json_object_object_add(version, "minor", json_object_new_int(minor));
333 json_object_object_add(version, "minor", json_object_new_int(0)); 318 json_object_object_add(version, "patch", json_object_new_int(patch));
334 json_object_object_add(version, "patch", json_object_new_int(1));
335 free(full_version);
336#else
337 json_object_object_add(version, "human_readable", json_object_new_string("version not found"));
338 json_object_object_add(version, "major", json_object_new_int(0));
339 json_object_object_add(version, "minor", json_object_new_int(0));
340 json_object_object_add(version, "patch", json_object_new_int(0));
341#endif
342 319
343 return version; 320 return version;
344} 321}
diff --git a/sway/main.c b/sway/main.c
index 39bf225e..b9549b12 100644
--- a/sway/main.c
+++ b/sway/main.c
@@ -267,11 +267,7 @@ int main(int argc, char **argv) {
267 debug = 1; 267 debug = 1;
268 break; 268 break;
269 case 'v': // version 269 case 'v': // version
270#if defined SWAY_GIT_VERSION && defined SWAY_GIT_BRANCH && defined SWAY_VERSION_DATE 270 fprintf(stdout, "sway version " SWAY_VERSION "\n");
271 fprintf(stdout, "sway version %s (%s, branch \"%s\")\n", SWAY_GIT_VERSION, SWAY_VERSION_DATE, SWAY_GIT_BRANCH);
272#else
273 fprintf(stdout, "version not detected\n");
274#endif
275 exit(EXIT_SUCCESS); 271 exit(EXIT_SUCCESS);
276 break; 272 break;
277 case 'V': // verbose 273 case 'V': // verbose
@@ -378,9 +374,7 @@ int main(int argc, char **argv) {
378 // prevent ipc from crashing sway 374 // prevent ipc from crashing sway
379 signal(SIGPIPE, SIG_IGN); 375 signal(SIGPIPE, SIG_IGN);
380 376
381#if defined SWAY_GIT_VERSION && defined SWAY_GIT_BRANCH && defined SWAY_VERSION_DATE 377 sway_log(L_INFO, "Starting sway version " SWAY_VERSION "\n");
382 sway_log(L_INFO, "Starting sway version %s (%s, branch \"%s\")\n", SWAY_GIT_VERSION, SWAY_VERSION_DATE, SWAY_GIT_BRANCH);
383#endif
384 378
385 init_layout(); 379 init_layout();
386 380
diff --git a/swaybar/main.c b/swaybar/main.c
index a2168743..0abd0755 100644
--- a/swaybar/main.c
+++ b/swaybar/main.c
@@ -63,11 +63,7 @@ int main(int argc, char **argv) {
63 bar_id = strdup(optarg); 63 bar_id = strdup(optarg);
64 break; 64 break;
65 case 'v': 65 case 'v':
66#if defined SWAY_GIT_VERSION && defined SWAY_GIT_BRANCH && defined SWAY_VERSION_DATE 66 fprintf(stdout, "sway version " SWAY_VERSION "\n");
67 fprintf(stdout, "sway version %s (%s, branch \"%s\")\n", SWAY_GIT_VERSION, SWAY_VERSION_DATE, SWAY_GIT_BRANCH);
68#else
69 fprintf(stdout, "version not detected\n");
70#endif
71 exit(EXIT_SUCCESS); 67 exit(EXIT_SUCCESS);
72 break; 68 break;
73 case 'd': // Debug 69 case 'd': // Debug
diff --git a/swaygrab/main.c b/swaygrab/main.c
index 3b8c5651..f901d318 100644
--- a/swaygrab/main.c
+++ b/swaygrab/main.c
@@ -201,11 +201,7 @@ int main(int argc, char **argv) {
201 framerate = atoi(optarg); 201 framerate = atoi(optarg);
202 break; 202 break;
203 case 'v': 203 case 'v':
204#if defined SWAY_GIT_VERSION && defined SWAY_GIT_BRANCH && defined SWAY_VERSION_DATE 204 fprintf(stdout, "sway version " SWAY_VERSION "\n");
205 fprintf(stdout, "sway version %s (%s, branch \"%s\")\n", SWAY_GIT_VERSION, SWAY_VERSION_DATE, SWAY_GIT_BRANCH);
206#else
207 fprintf(stdout, "version not detected\n");
208#endif
209 exit(EXIT_SUCCESS); 205 exit(EXIT_SUCCESS);
210 break; 206 break;
211 default: 207 default:
diff --git a/swaylock/main.c b/swaylock/main.c
index 9b33aab9..47592409 100644
--- a/swaylock/main.c
+++ b/swaylock/main.c
@@ -451,11 +451,7 @@ int main(int argc, char **argv) {
451 socket_path = optarg; 451 socket_path = optarg;
452 break; 452 break;
453 case 'v': 453 case 'v':
454#if defined SWAY_GIT_VERSION && defined SWAY_GIT_BRANCH && defined SWAY_VERSION_DATE 454 fprintf(stdout, "swaylock version " SWAY_VERSION "\n");
455 fprintf(stdout, "swaylock version %s (%s, branch \"%s\")\n", SWAY_GIT_VERSION, SWAY_VERSION_DATE, SWAY_GIT_BRANCH);
456#else
457 fprintf(stdout, "version not detected\n");
458#endif
459 exit(EXIT_SUCCESS); 455 exit(EXIT_SUCCESS);
460 break; 456 break;
461 case 'u': 457 case 'u':
diff --git a/swaymsg/main.c b/swaymsg/main.c
index 2d2b0f60..efd0ec25 100644
--- a/swaymsg/main.c
+++ b/swaymsg/main.c
@@ -230,11 +230,7 @@ int main(int argc, char **argv) {
230 cmdtype = strdup(optarg); 230 cmdtype = strdup(optarg);
231 break; 231 break;
232 case 'v': 232 case 'v':
233#if defined SWAY_GIT_VERSION && defined SWAY_GIT_BRANCH && defined SWAY_VERSION_DATE 233 fprintf(stdout, "sway version " SWAY_VERSION "\n");
234 fprintf(stdout, "sway version %s (%s, branch \"%s\")\n", SWAY_GIT_VERSION, SWAY_VERSION_DATE, SWAY_GIT_BRANCH);
235#else
236 fprintf(stdout, "version not detected\n");
237#endif
238 exit(EXIT_SUCCESS); 234 exit(EXIT_SUCCESS);
239 break; 235 break;
240 default: 236 default: