diff --git a/.github/workflows/unix_impl.yml b/.github/workflows/unix_impl.yml index fff6bdc1c..ee5b749d3 100644 --- a/.github/workflows/unix_impl.yml +++ b/.github/workflows/unix_impl.yml @@ -40,6 +40,7 @@ jobs: --preset mamba-unix-shared-${{ inputs.build_type }} \ -D CMAKE_CXX_COMPILER_LAUNCHER=sccache \ -D CMAKE_C_COMPILER_LAUNCHER=sccache \ + -D MAMBA_WARNING_AS_ERROR=ON \ -D BUILD_LIBMAMBAPY=OFF \ -D ENABLE_MAMBA_ROOT_PREFIX_FALLBACK=OFF cmake --build build/ --parallel diff --git a/CMakeLists.txt b/CMakeLists.txt index 9786aad45..21e1b0c7b 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -19,11 +19,8 @@ option(BUILD_LIBMAMBA_TESTS "Build libmamba C++ tests" OFF) option(BUILD_MAMBA "Build mamba" OFF) option(BUILD_MICROMAMBA "Build micromamba" OFF) option(BUILD_MAMBA_PACKAGE "Build mamba package utility" OFF) -if(MSVC) - option(MAMBA_WARNING_AS_ERROR "Treat compiler warnings as errors" OFF) -else() - option(MAMBA_WARNING_AS_ERROR "Treat compiler warnings as errors" ON) -endif() +option(MAMBA_WARNING_AS_ERROR "Treat compiler warnings as errors" OFF) + set( MAMBA_LTO "Default" diff --git a/libmambapy/setup.py b/libmambapy/setup.py index 0bd50878e..b8bc28281 100644 --- a/libmambapy/setup.py +++ b/libmambapy/setup.py @@ -1,6 +1,7 @@ import importlib.util import os import pathlib +import sys import skbuild import skbuild.constants @@ -23,6 +24,13 @@ def libmambapy_version(): return ver.__version__ +def get_cmake_args(): + cmake_args = [f"-DMAMBA_INSTALL_PYTHON_EXT_LIBDIR={CMAKE_INSTALL_DIR()}/src/libmambapy"] + if sys.platform != "win32" and sys.platform != "cygwin": + cmake_args += ["-DMAMBA_WARNING_AS_ERROR=ON"] + return cmake_args + + skbuild.setup( version=libmambapy_version(), packages=["libmambapy", "libmambapy.bindings", "libmambapy.solver"], @@ -31,7 +39,5 @@ skbuild.setup( cmake_languages=["CXX"], cmake_minimum_required_version="3.17", cmake_install_dir="src/libmambapy", # Must match package_dir layout - cmake_args=[ - f"-DMAMBA_INSTALL_PYTHON_EXT_LIBDIR={CMAKE_INSTALL_DIR()}/src/libmambapy", - ], + cmake_args=get_cmake_args(), )