author | koda |
Tue, 19 Mar 2013 09:53:12 +0100 | |
branch | cmake_pascal |
changeset 8772 | c9583cf8e10d |
parent 8688 | 88a6114a318c |
child 8794 | 9f47c1f8056d |
permissions | -rw-r--r-- |
8686
d303da4568b7
introduce find_package_or_fail/disable to group together similar cmake code
koda
parents:
diff
changeset
|
1 |
|
d303da4568b7
introduce find_package_or_fail/disable to group together similar cmake code
koda
parents:
diff
changeset
|
2 |
macro(find_package_or_fail _PKG_NAME) |
d303da4568b7
introduce find_package_or_fail/disable to group together similar cmake code
koda
parents:
diff
changeset
|
3 |
find_package(${_PKG_NAME}) |
d303da4568b7
introduce find_package_or_fail/disable to group together similar cmake code
koda
parents:
diff
changeset
|
4 |
string(TOUPPER ${_PKG_NAME} _PKG_NAME_UP) |
d303da4568b7
introduce find_package_or_fail/disable to group together similar cmake code
koda
parents:
diff
changeset
|
5 |
if(NOT ${_PKG_NAME_UP}_FOUND) |
d303da4568b7
introduce find_package_or_fail/disable to group together similar cmake code
koda
parents:
diff
changeset
|
6 |
message(SEND_ERROR "Missing ${_PKG_NAME}! Please install it and rerun cmake.") |
d303da4568b7
introduce find_package_or_fail/disable to group together similar cmake code
koda
parents:
diff
changeset
|
7 |
endif(NOT ${_PKG_NAME_UP}_FOUND) |
d303da4568b7
introduce find_package_or_fail/disable to group together similar cmake code
koda
parents:
diff
changeset
|
8 |
endmacro(find_package_or_fail _PKG_NAME) |
d303da4568b7
introduce find_package_or_fail/disable to group together similar cmake code
koda
parents:
diff
changeset
|
9 |
|
d303da4568b7
introduce find_package_or_fail/disable to group together similar cmake code
koda
parents:
diff
changeset
|
10 |
macro(find_package_or_disable _PKG_NAME _VAR_NAME) |
d303da4568b7
introduce find_package_or_fail/disable to group together similar cmake code
koda
parents:
diff
changeset
|
11 |
find_package(${_PKG_NAME}) |
d303da4568b7
introduce find_package_or_fail/disable to group together similar cmake code
koda
parents:
diff
changeset
|
12 |
string(TOUPPER ${_PKG_NAME} _PKG_NAME_UP) |
d303da4568b7
introduce find_package_or_fail/disable to group together similar cmake code
koda
parents:
diff
changeset
|
13 |
if(NOT ${_PKG_NAME_UP}_FOUND) |
d303da4568b7
introduce find_package_or_fail/disable to group together similar cmake code
koda
parents:
diff
changeset
|
14 |
message(SEND_ERROR "Missing ${_PKG_NAME}! Rerun cmake with -D${_VAR_NAME}=1 to build without it.") |
d303da4568b7
introduce find_package_or_fail/disable to group together similar cmake code
koda
parents:
diff
changeset
|
15 |
endif(NOT ${_PKG_NAME_UP}_FOUND) |
d303da4568b7
introduce find_package_or_fail/disable to group together similar cmake code
koda
parents:
diff
changeset
|
16 |
endmacro(find_package_or_disable _PKG_NAME _VAR_NAME) |
d303da4568b7
introduce find_package_or_fail/disable to group together similar cmake code
koda
parents:
diff
changeset
|
17 |
|
8688 | 18 |
macro(find_package_or_disable_msg _PKG_NAME _VAR_NAME _MSG) |
19 |
if(NOT ${_VAR_NAME}) |
|
20 |
find_package_or_disable(${_PKG_NAME} ${_VAR_NAME}) |
|
21 |
else(NOT ${_VAR_NAME}) |
|
22 |
message(STATUS "${_PKG_NAME} disabled. ${_MSG}") |
|
23 |
string(TOUPPER ${_PKG_NAME} _PKG_NAME_UP) |
|
24 |
set(${_PKG_NAME_UP}_FOUND false) |
|
25 |
endif(NOT ${_VAR_NAME}) |
|
26 |
endmacro(find_package_or_disable_msg _PKG_NAME _VAR_NAME _MSG) |
|
27 |
||
28 |
||
8686
d303da4568b7
introduce find_package_or_fail/disable to group together similar cmake code
koda
parents:
diff
changeset
|
29 |
#TODO: find_package_or_bundle |
d303da4568b7
introduce find_package_or_fail/disable to group together similar cmake code
koda
parents:
diff
changeset
|
30 |
|
8772 | 31 |
|
32 |
macro(add_flag_append _VAR_NAME _FLAG) |
|
33 |
set(${_VAR_NAME} "${${_VAR_NAME}} ${_FLAG}") |
|
34 |
endmacro(add_flag_append _VAR_NAME _FLAG) |
|
35 |
||
36 |
macro(add_flag_prepend _VAR_NAME _FLAG) |
|
37 |
set(${_VAR_NAME} "_FLAG ${${_VAR_NAME}}") |
|
38 |
endmacro(add_flag_prepend _VAR_NAME _FLAG) |
|
39 |