build: use GNUInstallDirs where possible
[vpp.git] / src / tools / vppapigen / CMakeLists.txt
index ce25cb0..97a6d35 100644 (file)
 # See the License for the specific language governing permissions and
 # limitations under the License.
 
+find_package(
+  Python3
+  REQUIRED
+  COMPONENTS Interpreter
+)
+
+execute_process(
+  COMMAND ${Python3_EXECUTABLE} -c "import ply"
+  RESULT_VARIABLE _rv
+  OUTPUT_QUIET
+)
+
+if (NOT ${_rv} EQUAL 0)
+  message( FATAL_ERROR "The \"ply\" Python3 package is not installed.")
+endif()
+
 install(
   FILES vppapigen.py
   RENAME vppapigen
-  DESTINATION bin
+  DESTINATION ${VPP_RUNTIME_DIR}
   PERMISSIONS
     OWNER_READ OWNER_WRITE OWNER_EXECUTE GROUP_READ GROUP_EXECUTE
     WORLD_READ WORLD_EXECUTE
   COMPONENT vpp-dev
 )
 
-install(FILES vppapigen_c.py vppapigen_json.py DESTINATION share/vpp COMPONENT vpp-dev)
+install(
+  FILES
+    vppapigen_c.py
+    vppapigen_json.py
+    generate_json.py
+  DESTINATION
+    ${CMAKE_INSTALL_DATADIR}/vpp
+  COMPONENT
+    vpp-dev
+)