aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDrew DeVault <sir@cmpwn.com>2017-04-26 10:18:03 -0400
committerGitHub <noreply@github.com>2017-04-26 10:18:03 -0400
commit3c1fc00f12e2777f6349a5d671b8d66c5997eb2b (patch)
tree5bcca08aad4e65d288abf218b50172a3137d2d71
parent586eca0e4cd9481cabdd1cedef53145a0d07bc72 (diff)
parent173b3385675b24fb7a55f2d212e2958970f6e6d3 (diff)
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()
list(INSERT CMAKE_MODULE_PATH 0
${CMAKE_CURRENT_SOURCE_DIR}/CMake
)
-if(EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/.git)
+
+if (VERSION)
+ add_definitions(-DSWAY_VERSION=\"${VERSION}\")
+else()
execute_process(
COMMAND git describe --always --tags
OUTPUT_VARIABLE GIT_COMMIT_HASH
@@ -33,13 +36,10 @@ if(EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/.git)
OUTPUT_STRIP_TRAILING_WHITESPACE
WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
)
-endif()
-add_definitions(-DSWAY_GIT_VERSION=\"${GIT_COMMIT_HASH}\")
-add_definitions(-DSWAY_GIT_BRANCH=\"${GIT_BRANCH}\")
-
-string(TIMESTAMP CURRENT_DATE "%Y-%m-%d" UTC)
-add_definitions(-DSWAY_VERSION_DATE=\"${CURRENT_DATE}\")
+ string(TIMESTAMP CURRENT_DATE "%Y-%m-%d" UTC)
+ add_definitions("-DSWAY_VERSION=\"${GIT_COMMIT_HASH} (${CURRENT_DATE}, branch \\\"${GIT_BRANCH}\\\")\"")
+endif()
option(enable-swaylock "Enables the swaylock utility" YES)
option(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) {
}
json_object *ipc_json_get_version() {
+ int major = 0, minor = 0, patch = 0;
json_object *version = json_object_new_object();
-#if defined SWAY_GIT_VERSION && defined SWAY_GIT_BRANCH && defined SWAY_VERSION_DATE
- char *full_version = calloc(strlen(SWAY_GIT_VERSION) + strlen(SWAY_GIT_BRANCH) + strlen(SWAY_VERSION_DATE) + 20, 1);
- if (!full_version) {
- json_object_object_add(version, "human_readable",
- json_object_new_string("Allocating version string failed"));
- // TODO: it's stupid that we allocate this in the first place
- json_object_object_add(version, "major", json_object_new_int(0));
- json_object_object_add(version, "minor", json_object_new_int(0));
- json_object_object_add(version, "patch", json_object_new_int(0));
- return version;
- }
- strcat(full_version, SWAY_GIT_VERSION);
- strcat(full_version, " (");
- strcat(full_version, SWAY_VERSION_DATE);
- strcat(full_version, ", branch \"");
- strcat(full_version, SWAY_GIT_BRANCH);
- strcat(full_version, "\")");
-
- json_object_object_add(version, "human_readable", json_object_new_string(full_version));
+ sscanf(SWAY_VERSION, "%u.%u.%u", &major, &minor, &patch);
+
+ json_object_object_add(version, "human_readable", json_object_new_string(SWAY_VERSION));
json_object_object_add(version, "variant", json_object_new_string("sway"));
- // Todo once we actually release a version
- json_object_object_add(version, "major", json_object_new_int(0));
- json_object_object_add(version, "minor", json_object_new_int(0));
- json_object_object_add(version, "patch", json_object_new_int(1));
- free(full_version);
-#else
- json_object_object_add(version, "human_readable", json_object_new_string("version not found"));
- json_object_object_add(version, "major", json_object_new_int(0));
- json_object_object_add(version, "minor", json_object_new_int(0));
- json_object_object_add(version, "patch", json_object_new_int(0));
-#endif
+ json_object_object_add(version, "major", json_object_new_int(major));
+ json_object_object_add(version, "minor", json_object_new_int(minor));
+ json_object_object_add(version, "patch", json_object_new_int(patch));
return version;
}
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) {
debug = 1;
break;
case 'v': // version
-#if defined SWAY_GIT_VERSION && defined SWAY_GIT_BRANCH && defined SWAY_VERSION_DATE
- fprintf(stdout, "sway version %s (%s, branch \"%s\")\n", SWAY_GIT_VERSION, SWAY_VERSION_DATE, SWAY_GIT_BRANCH);
-#else
- fprintf(stdout, "version not detected\n");
-#endif
+ fprintf(stdout, "sway version " SWAY_VERSION "\n");
exit(EXIT_SUCCESS);
break;
case 'V': // verbose
@@ -378,9 +374,7 @@ int main(int argc, char **argv) {
// prevent ipc from crashing sway
signal(SIGPIPE, SIG_IGN);
-#if defined SWAY_GIT_VERSION && defined SWAY_GIT_BRANCH && defined SWAY_VERSION_DATE
- sway_log(L_INFO, "Starting sway version %s (%s, branch \"%s\")\n", SWAY_GIT_VERSION, SWAY_VERSION_DATE, SWAY_GIT_BRANCH);
-#endif
+ sway_log(L_INFO, "Starting sway version " SWAY_VERSION "\n");
init_layout();
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) {
bar_id = strdup(optarg);
break;
case 'v':
-#if defined SWAY_GIT_VERSION && defined SWAY_GIT_BRANCH && defined SWAY_VERSION_DATE
- fprintf(stdout, "sway version %s (%s, branch \"%s\")\n", SWAY_GIT_VERSION, SWAY_VERSION_DATE, SWAY_GIT_BRANCH);
-#else
- fprintf(stdout, "version not detected\n");
-#endif
+ fprintf(stdout, "sway version " SWAY_VERSION "\n");
exit(EXIT_SUCCESS);
break;
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) {
framerate = atoi(optarg);
break;
case 'v':
-#if defined SWAY_GIT_VERSION && defined SWAY_GIT_BRANCH && defined SWAY_VERSION_DATE
- fprintf(stdout, "sway version %s (%s, branch \"%s\")\n", SWAY_GIT_VERSION, SWAY_VERSION_DATE, SWAY_GIT_BRANCH);
-#else
- fprintf(stdout, "version not detected\n");
-#endif
+ fprintf(stdout, "sway version " SWAY_VERSION "\n");
exit(EXIT_SUCCESS);
break;
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) {
socket_path = optarg;
break;
case 'v':
-#if defined SWAY_GIT_VERSION && defined SWAY_GIT_BRANCH && defined SWAY_VERSION_DATE
- fprintf(stdout, "swaylock version %s (%s, branch \"%s\")\n", SWAY_GIT_VERSION, SWAY_VERSION_DATE, SWAY_GIT_BRANCH);
-#else
- fprintf(stdout, "version not detected\n");
-#endif
+ fprintf(stdout, "swaylock version " SWAY_VERSION "\n");
exit(EXIT_SUCCESS);
break;
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) {
cmdtype = strdup(optarg);
break;
case 'v':
-#if defined SWAY_GIT_VERSION && defined SWAY_GIT_BRANCH && defined SWAY_VERSION_DATE
- fprintf(stdout, "sway version %s (%s, branch \"%s\")\n", SWAY_GIT_VERSION, SWAY_VERSION_DATE, SWAY_GIT_BRANCH);
-#else
- fprintf(stdout, "version not detected\n");
-#endif
+ fprintf(stdout, "sway version " SWAY_VERSION "\n");
exit(EXIT_SUCCESS);
break;
default: