author | Tero Marttila <terom@fixme.fi> |
Wed, 21 Jan 2009 03:33:35 +0200 | |
branch | new_graphics |
changeset 411 | 106aaf6eadfe |
parent 398 | 306825786fba |
permissions | -rw-r--r-- |
396
e1a24791d192
build scripts autodetect project version using 91d96387b359+ tip, and version is included in window title
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
1 |
# |
e1a24791d192
build scripts autodetect project version using 91d96387b359+ tip, and version is included in window title
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
2 |
# CMake build script to determine project version number. |
e1a24791d192
build scripts autodetect project version using 91d96387b359+ tip, and version is included in window title
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3 |
# |
e1a24791d192
build scripts autodetect project version using 91d96387b359+ tip, and version is included in window title
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
4 |
# this will set PROJECT_VERSION to a string |
e1a24791d192
build scripts autodetect project version using 91d96387b359+ tip, and version is included in window title
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
5 |
# |
e1a24791d192
build scripts autodetect project version using 91d96387b359+ tip, and version is included in window title
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
6 |
FUNCTION (FindProjectVersion project_path) |
397
13fa0546ef87
hopefully version stuff is now run properly on every make...
Tero Marttila <terom@fixme.fi>
parents:
396
diff
changeset
|
7 |
# Mercurial |
13fa0546ef87
hopefully version stuff is now run properly on every make...
Tero Marttila <terom@fixme.fi>
parents:
396
diff
changeset
|
8 |
if (EXISTS ${project_path}/.hg) |
13fa0546ef87
hopefully version stuff is now run properly on every make...
Tero Marttila <terom@fixme.fi>
parents:
396
diff
changeset
|
9 |
# first, determine tag |
396
e1a24791d192
build scripts autodetect project version using 91d96387b359+ tip, and version is included in window title
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
10 |
EXECUTE_PROCESS ( |
397
13fa0546ef87
hopefully version stuff is now run properly on every make...
Tero Marttila <terom@fixme.fi>
parents:
396
diff
changeset
|
11 |
COMMAND hg identify --tag |
396
e1a24791d192
build scripts autodetect project version using 91d96387b359+ tip, and version is included in window title
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
12 |
WORKING_DIRECTORY "${project_path}" |
e1a24791d192
build scripts autodetect project version using 91d96387b359+ tip, and version is included in window title
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
13 |
RESULT_VARIABLE hg_error_code |
397
13fa0546ef87
hopefully version stuff is now run properly on every make...
Tero Marttila <terom@fixme.fi>
parents:
396
diff
changeset
|
14 |
OUTPUT_VARIABLE hg_tag |
396
e1a24791d192
build scripts autodetect project version using 91d96387b359+ tip, and version is included in window title
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
15 |
OUTPUT_STRIP_TRAILING_WHITESPACE |
e1a24791d192
build scripts autodetect project version using 91d96387b359+ tip, and version is included in window title
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
16 |
) |
397
13fa0546ef87
hopefully version stuff is now run properly on every make...
Tero Marttila <terom@fixme.fi>
parents:
396
diff
changeset
|
17 |
|
396
e1a24791d192
build scripts autodetect project version using 91d96387b359+ tip, and version is included in window title
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
18 |
if (hg_error_code) |
397
13fa0546ef87
hopefully version stuff is now run properly on every make...
Tero Marttila <terom@fixme.fi>
parents:
396
diff
changeset
|
19 |
MESSAGE (FATAL_ERROR "`hg identify --tag` failed") |
396
e1a24791d192
build scripts autodetect project version using 91d96387b359+ tip, and version is included in window title
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
20 |
endif (hg_error_code) |
e1a24791d192
build scripts autodetect project version using 91d96387b359+ tip, and version is included in window title
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
21 |
|
397
13fa0546ef87
hopefully version stuff is now run properly on every make...
Tero Marttila <terom@fixme.fi>
parents:
396
diff
changeset
|
22 |
# if tag is other than tip, use that |
13fa0546ef87
hopefully version stuff is now run properly on every make...
Tero Marttila <terom@fixme.fi>
parents:
396
diff
changeset
|
23 |
if ("${hg_tag}" STREQUAL "tip") |
13fa0546ef87
hopefully version stuff is now run properly on every make...
Tero Marttila <terom@fixme.fi>
parents:
396
diff
changeset
|
24 |
# use the revision hash |
13fa0546ef87
hopefully version stuff is now run properly on every make...
Tero Marttila <terom@fixme.fi>
parents:
396
diff
changeset
|
25 |
EXECUTE_PROCESS ( |
13fa0546ef87
hopefully version stuff is now run properly on every make...
Tero Marttila <terom@fixme.fi>
parents:
396
diff
changeset
|
26 |
COMMAND hg identify --id |
13fa0546ef87
hopefully version stuff is now run properly on every make...
Tero Marttila <terom@fixme.fi>
parents:
396
diff
changeset
|
27 |
WORKING_DIRECTORY "${project_path}" |
13fa0546ef87
hopefully version stuff is now run properly on every make...
Tero Marttila <terom@fixme.fi>
parents:
396
diff
changeset
|
28 |
RESULT_VARIABLE hg_error_code |
13fa0546ef87
hopefully version stuff is now run properly on every make...
Tero Marttila <terom@fixme.fi>
parents:
396
diff
changeset
|
29 |
OUTPUT_VARIABLE hg_id |
13fa0546ef87
hopefully version stuff is now run properly on every make...
Tero Marttila <terom@fixme.fi>
parents:
396
diff
changeset
|
30 |
OUTPUT_STRIP_TRAILING_WHITESPACE |
13fa0546ef87
hopefully version stuff is now run properly on every make...
Tero Marttila <terom@fixme.fi>
parents:
396
diff
changeset
|
31 |
) |
396
e1a24791d192
build scripts autodetect project version using 91d96387b359+ tip, and version is included in window title
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
32 |
|
397
13fa0546ef87
hopefully version stuff is now run properly on every make...
Tero Marttila <terom@fixme.fi>
parents:
396
diff
changeset
|
33 |
if (hg_error_code) |
13fa0546ef87
hopefully version stuff is now run properly on every make...
Tero Marttila <terom@fixme.fi>
parents:
396
diff
changeset
|
34 |
MESSAGE (FATAL_ERROR "`hg identify --id` failed") |
13fa0546ef87
hopefully version stuff is now run properly on every make...
Tero Marttila <terom@fixme.fi>
parents:
396
diff
changeset
|
35 |
endif (hg_error_code) |
396
e1a24791d192
build scripts autodetect project version using 91d96387b359+ tip, and version is included in window title
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
36 |
|
397
13fa0546ef87
hopefully version stuff is now run properly on every make...
Tero Marttila <terom@fixme.fi>
parents:
396
diff
changeset
|
37 |
SET (PROJECT_VERSION "${hg_id}" PARENT_SCOPE) |
13fa0546ef87
hopefully version stuff is now run properly on every make...
Tero Marttila <terom@fixme.fi>
parents:
396
diff
changeset
|
38 |
MESSAGE (STATUS "Version: mercurial tip id: ${hg_id}") |
396
e1a24791d192
build scripts autodetect project version using 91d96387b359+ tip, and version is included in window title
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
39 |
|
397
13fa0546ef87
hopefully version stuff is now run properly on every make...
Tero Marttila <terom@fixme.fi>
parents:
396
diff
changeset
|
40 |
else ("${hg_tag}" STREQUAL "tip") |
13fa0546ef87
hopefully version stuff is now run properly on every make...
Tero Marttila <terom@fixme.fi>
parents:
396
diff
changeset
|
41 |
SET (PROJECT_VERSION "${hg_tag}" PARENT_SCOPE) |
13fa0546ef87
hopefully version stuff is now run properly on every make...
Tero Marttila <terom@fixme.fi>
parents:
396
diff
changeset
|
42 |
MESSAGE (STATUS "Version: mercurial tag: ${hg_tag}") |
13fa0546ef87
hopefully version stuff is now run properly on every make...
Tero Marttila <terom@fixme.fi>
parents:
396
diff
changeset
|
43 |
|
13fa0546ef87
hopefully version stuff is now run properly on every make...
Tero Marttila <terom@fixme.fi>
parents:
396
diff
changeset
|
44 |
endif ("${hg_tag}" STREQUAL "tip") |
13fa0546ef87
hopefully version stuff is now run properly on every make...
Tero Marttila <terom@fixme.fi>
parents:
396
diff
changeset
|
45 |
|
13fa0546ef87
hopefully version stuff is now run properly on every make...
Tero Marttila <terom@fixme.fi>
parents:
396
diff
changeset
|
46 |
else (EXISTS ${project_path}/.hg) |
398
306825786fba
more tweaking of version.c ... maybe it works now
Tero Marttila <terom@fixme.fi>
parents:
397
diff
changeset
|
47 |
SET (PROJECT_VERSION "???" PARENT_SCOPE) |
306825786fba
more tweaking of version.c ... maybe it works now
Tero Marttila <terom@fixme.fi>
parents:
397
diff
changeset
|
48 |
MESSAGE (STATUS "No version information available") |
397
13fa0546ef87
hopefully version stuff is now run properly on every make...
Tero Marttila <terom@fixme.fi>
parents:
396
diff
changeset
|
49 |
|
13fa0546ef87
hopefully version stuff is now run properly on every make...
Tero Marttila <terom@fixme.fi>
parents:
396
diff
changeset
|
50 |
endif (EXISTS ${project_path}/.hg) |
396
e1a24791d192
build scripts autodetect project version using 91d96387b359+ tip, and version is included in window title
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
51 |
ENDFUNCTION (FindProjectVersion) |