diff --git a/CMakeLists.txt b/CMakeLists.txt
index 5a09c28..98b9eca 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -1,4 +1,4 @@
-cmake_minimum_required(VERSION 2.8.3)
+cmake_minimum_required(VERSION 3.0.2)
project(mrt_cmake_modules)
find_package(catkin REQUIRED)
diff --git a/package.xml b/package.xml
index 3ac4dc0..f4f15ad 100644
--- a/package.xml
+++ b/package.xml
@@ -17,6 +17,8 @@
python-argparse
python-yaml
python3-yaml
+ python-distro
+ python3-distro
diff --git a/scripts/generate_cmake_dependency_file.py b/scripts/generate_cmake_dependency_file.py
index 290d95a..042f445 100755
--- a/scripts/generate_cmake_dependency_file.py
+++ b/scripts/generate_cmake_dependency_file.py
@@ -18,7 +18,7 @@
import os
import sys
import subprocess
-import platform
+import distro
import yaml
from catkin_pkg.packages import find_packages
from string import Template
@@ -142,18 +142,18 @@ def readPackageCMakeData(rosDebYamlFileName):
# dictionary for storing cmake dependencies
# e.g. { "" -> PackageCMakeData, "" -> PackageCMakeData ... }
data = {}
- distro = platform.dist()[2]
+ linux_distribution = distro.linux_distribution()[2]
if 'ROS_OS_OVERRIDE' in os.environ:
ros_os_override = os.environ['ROS_OS_OVERRIDE'].split(':')
if len(ros_os_override) == 2:
- distro = ros_os_override[1]
+ linux_distribution = ros_os_override[1]
for packageName, packageCMakeData in rosDebYamlData.items():
# find out which distribution
if "name" in packageCMakeData:
data[packageName] = PackageCMakeData(packageCMakeData)
- elif distro in packageCMakeData:
- data[packageName] = PackageCMakeData(packageCMakeData[distro])
+ elif linux_distribution in packageCMakeData:
+ data[packageName] = PackageCMakeData(packageCMakeData[linux_distribution])
elif not packageCMakeData:
data[packageName] = PackageCMakeData() # placeholder
return data