kicad: use cmakeFeature, cmakeBool

This commit is contained in:
Pol Dellaiera
2025-09-05 13:44:01 +02:00
parent af6ba758f3
commit fb17c874ab
@@ -68,7 +68,12 @@ assert testing -> !stable -> throw "testing implies stable and cannot be used wi
let
opencascade-occt = opencascade-occt_7_6;
inherit (lib) optionals optionalString;
inherit (lib)
cmakeBool
cmakeFeature
optionals
optionalString
;
in
stdenv.mkDerivation rec {
pname = "kicad-base";
@@ -100,34 +105,22 @@ stdenv.mkDerivation rec {
'';
cmakeFlags = [
"-DKICAD_USE_EGL=ON"
"-DOCC_INCLUDE_DIR=${opencascade-occt}/include/opencascade"
(cmakeBool "KICAD_USE_EGL" true)
(cmakeFeature "OCC_INCLUDE_DIR" "${opencascade-occt}/include/opencascade")
# https://gitlab.com/kicad/code/kicad/-/issues/17133
"-DCMAKE_CTEST_ARGUMENTS='--exclude-regex;qa_spice'"
"-DKICAD_USE_CMAKE_FINDPROTOBUF=OFF"
(cmakeFeature "CMAKE_CTEST_ARGUMENTS" "--exclude-regex;qa_spice")
(cmakeBool "KICAD_USE_CMAKE_FINDPROTOBUF" false)
(cmakeBool "KICAD_SCRIPTING_WXPYTHON" withScripting)
(cmakeBool "KICAD_BUILD_I18N" withI18n)
(cmakeBool "KICAD_BUILD_QA_TESTS" (!doInstallCheck))
(cmakeBool "KICAD_STDLIB_DEBUG" debug)
(cmakeBool "KICAD_USE_VALGRIND" debug)
(cmakeBool "KICAD_SANITIZE_ADDRESS" sanitizeAddress)
(cmakeBool "KICAD_SANITIZE_THREADS" sanitizeThreads)
(cmakeBool "KICAD_SPICE" (!(stable && !withNgspice)))
]
++ optionals (stdenv.hostPlatform.system == "aarch64-linux") [
"-DCMAKE_CTEST_ARGUMENTS=--exclude-regex;'qa_spice|qa_cli'"
]
++ optionals (stable && !withNgspice) [ "-DKICAD_SPICE=OFF" ]
++ optionals (!withScripting) [
"-DKICAD_SCRIPTING_WXPYTHON=OFF"
]
++ optionals withI18n [
"-DKICAD_BUILD_I18N=ON"
]
++ optionals (!doInstallCheck) [
"-DKICAD_BUILD_QA_TESTS=OFF"
]
++ optionals debug [
"-DKICAD_STDLIB_DEBUG=ON"
"-DKICAD_USE_VALGRIND=ON"
]
++ optionals sanitizeAddress [
"-DKICAD_SANITIZE_ADDRESS=ON"
]
++ optionals sanitizeThreads [
"-DKICAD_SANITIZE_THREADS=ON"
++ optionals (stdenv.hostPlatform.isLinux && stdenv.hostPlatform.isAarch64) [
(cmakeFeature "CMAKE_CTEST_ARGUMENTS" "--exclude-regex;'qa_spice|qa_cli'")
];
cmakeBuildType = if debug then "Debug" else "Release";