diff --git a/CMakeLists.txt b/CMakeLists.txt index e290230e22..d59fe2f43f 100755 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -69,13 +69,15 @@ set(CMAKE_CXX_EXTENSIONS OFF) include(GNUInstallDirs) option(BUILD_TESTS "Build test suite" OFF) -# TODO: Enable once virtualenv is installed on CI machines -option(BUILD_WRAPPER "Rebuild AMDSMI-wrapper" OFF) -option(BUILD_CLI "Build AMDSMI-CLI and install" ON) -option(ENABLE_LDCONFIG "Set library links and caches using ldconfig." ON) option(ENABLE_ASAN_PACKAGING "" OFF) option(ENABLE_ESMI_LIB "" ON) +include(CMakeDependentOption) +# these options don't work without BUILD_SHARED_LIBS +cmake_dependent_option(BUILD_WRAPPER "Rebuild AMDSMI-wrapper" OFF "BUILD_SHARED_LIBS" OFF) +cmake_dependent_option(BUILD_CLI "Build AMDSMI-CLI and install" ON "BUILD_SHARED_LIBS" OFF) +cmake_dependent_option(ENABLE_LDCONFIG "Set library links and caches using ldconfig." ON "BUILD_SHARED_LIBS" OFF) + # Set share path here because project name != amd_smi set(SHARE_INSTALL_PREFIX "share/${AMD_SMI}" CACHE STRING "Tests and Example install directory") @@ -185,10 +187,12 @@ if(BUILD_TESTS) add_subdirectory("tests/amd_smi_test") endif() -add_subdirectory("py-interface") - -if(BUILD_CLI) - add_subdirectory("amdsmi_cli") +# python interface and CLI depend on shared libraries +if(BUILD_SHARED_LIBS) + add_subdirectory("py-interface") + if(BUILD_CLI) + add_subdirectory("amdsmi_cli") + endif() endif() include(CMakePackageConfigHelpers) diff --git a/DEBIAN/postinst.in b/DEBIAN/postinst.in index f0d58d529b..3d0535d8a7 100755 --- a/DEBIAN/postinst.in +++ b/DEBIAN/postinst.in @@ -138,6 +138,11 @@ do_install_amdsmi_python_lib() { echo "Removed old AMD-SMI python library (amdsmi)..." fi + # static builds don't include python lib + if [ "@BUILD_SHARED_LIBS@" != "ON" ]; then + return + fi + # upgrade pip if it's an ancient version # otherwise the amdsmi install will fail local pip_version diff --git a/RPM/post.in b/RPM/post.in index 5b5fc9595d..653b365f8f 100755 --- a/RPM/post.in +++ b/RPM/post.in @@ -137,6 +137,11 @@ do_install_amdsmi_python_lib() { echo "Removed old AMD-SMI python library (amdsmi)..." fi + # static builds don't include python lib + if [ "@BUILD_SHARED_LIBS@" != "ON" ]; then + return + fi + # upgrade pip if it's an ancient version # otherwise the amdsmi install will fail local pip_version