Mercurial > code
annotate cmake/FindNode.cmake @ 624:01e01777ff50
CMake: initial import of CMake modules, closes #720
author | David Demelier <markand@malikania.fr> |
---|---|
date | Fri, 20 Oct 2017 14:18:37 +0200 |
parents | |
children |
rev | line source |
---|---|
624
01e01777ff50
CMake: initial import of CMake modules, closes #720
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
1 # FindNode |
01e01777ff50
CMake: initial import of CMake modules, closes #720
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
2 # -------- |
01e01777ff50
CMake: initial import of CMake modules, closes #720
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
3 # |
01e01777ff50
CMake: initial import of CMake modules, closes #720
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
4 # Find Node.js, this module defines: |
01e01777ff50
CMake: initial import of CMake modules, closes #720
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
5 # |
01e01777ff50
CMake: initial import of CMake modules, closes #720
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
6 # Node_FOUND, if node was found |
01e01777ff50
CMake: initial import of CMake modules, closes #720
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
7 # Node_EXECUTABLE, where to find node executable |
01e01777ff50
CMake: initial import of CMake modules, closes #720
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
8 # Node_VERSION, the version (without leading `v') |
01e01777ff50
CMake: initial import of CMake modules, closes #720
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
9 |
01e01777ff50
CMake: initial import of CMake modules, closes #720
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
10 find_program( |
01e01777ff50
CMake: initial import of CMake modules, closes #720
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
11 Node_EXECUTABLE |
01e01777ff50
CMake: initial import of CMake modules, closes #720
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
12 NAMES node |
01e01777ff50
CMake: initial import of CMake modules, closes #720
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
13 DOC "Node executable" |
01e01777ff50
CMake: initial import of CMake modules, closes #720
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
14 ) |
01e01777ff50
CMake: initial import of CMake modules, closes #720
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
15 |
01e01777ff50
CMake: initial import of CMake modules, closes #720
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
16 include(FindPackageHandleStandardArgs) |
01e01777ff50
CMake: initial import of CMake modules, closes #720
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
17 |
01e01777ff50
CMake: initial import of CMake modules, closes #720
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
18 # Extract the version |
01e01777ff50
CMake: initial import of CMake modules, closes #720
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
19 if (Node_EXECUTABLE) |
01e01777ff50
CMake: initial import of CMake modules, closes #720
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
20 execute_process( |
01e01777ff50
CMake: initial import of CMake modules, closes #720
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
21 COMMAND ${Node_EXECUTABLE} --version |
01e01777ff50
CMake: initial import of CMake modules, closes #720
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
22 OUTPUT_VARIABLE _node_version_tmp |
01e01777ff50
CMake: initial import of CMake modules, closes #720
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
23 ) |
01e01777ff50
CMake: initial import of CMake modules, closes #720
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
24 |
01e01777ff50
CMake: initial import of CMake modules, closes #720
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
25 if (_node_version_tmp MATCHES "^v([0-9]+\\.[0-9]+\\.[0-9]+)") |
01e01777ff50
CMake: initial import of CMake modules, closes #720
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
26 set(Node_VERSION "${CMAKE_MATCH_1}") |
01e01777ff50
CMake: initial import of CMake modules, closes #720
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
27 endif () |
01e01777ff50
CMake: initial import of CMake modules, closes #720
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
28 endif () |
01e01777ff50
CMake: initial import of CMake modules, closes #720
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
29 |
01e01777ff50
CMake: initial import of CMake modules, closes #720
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
30 find_package_handle_standard_args( |
01e01777ff50
CMake: initial import of CMake modules, closes #720
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
31 Node |
01e01777ff50
CMake: initial import of CMake modules, closes #720
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
32 FOUND_VAR Node_FOUND Node_VERSION |
01e01777ff50
CMake: initial import of CMake modules, closes #720
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
33 REQUIRED_VARS Node_EXECUTABLE |
01e01777ff50
CMake: initial import of CMake modules, closes #720
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
34 VERSION_VAR Node_VERSION |
01e01777ff50
CMake: initial import of CMake modules, closes #720
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
35 ) |