nixpkgs mirror (for testing) github.com/NixOS/nixpkgs
nix
at python-updates 60 lines 1.8 kB view raw
1{ stdenv, lib }: 2 3let 4 inherit (lib) 5 findFirst 6 isString 7 optional 8 optionals 9 ; 10 11 cmakeFlags' = optionals (stdenv.hostPlatform != stdenv.buildPlatform) ( 12 [ 13 "-DCMAKE_SYSTEM_NAME=${ 14 findFirst isString "Generic" ( 15 # uname -s is CYGWIN_NT[...] on cygwin, but cmake expects CYGWIN 16 optional (stdenv.hostPlatform.isCygwin) "CYGWIN" 17 ++ optional (!stdenv.hostPlatform.isRedox) stdenv.hostPlatform.uname.system 18 ) 19 }" 20 ] 21 ++ optionals (stdenv.hostPlatform.uname.processor != null) [ 22 "-DCMAKE_SYSTEM_PROCESSOR=${stdenv.hostPlatform.uname.processor}" 23 ] 24 ++ optionals (stdenv.hostPlatform.uname.release != null) [ 25 "-DCMAKE_SYSTEM_VERSION=${stdenv.hostPlatform.uname.release}" 26 ] 27 ++ optionals (stdenv.hostPlatform.isDarwin) [ 28 "-DCMAKE_OSX_ARCHITECTURES=${stdenv.hostPlatform.darwinArch}" 29 ] 30 ++ optionals (stdenv.buildPlatform.uname.system != null) [ 31 "-DCMAKE_HOST_SYSTEM_NAME=${stdenv.buildPlatform.uname.system}" 32 ] 33 ++ optionals (stdenv.buildPlatform.uname.processor != null) [ 34 "-DCMAKE_HOST_SYSTEM_PROCESSOR=${stdenv.buildPlatform.uname.processor}" 35 ] 36 ++ optionals (stdenv.buildPlatform.uname.release != null) [ 37 "-DCMAKE_HOST_SYSTEM_VERSION=${stdenv.buildPlatform.uname.release}" 38 ] 39 ++ optionals (stdenv.buildPlatform.canExecute stdenv.hostPlatform) [ 40 "-DCMAKE_CROSSCOMPILING_EMULATOR=env" 41 ] 42 ++ optionals (stdenv.hostPlatform.isNone) [ 43 "-DCMAKE_TRY_COMPILE_TARGET_TYPE=STATIC_LIBRARY" 44 ] 45 ++ optionals stdenv.hostPlatform.isStatic [ 46 "-DCMAKE_LINK_SEARCH_START_STATIC=ON" 47 ] 48 ); 49 50 makeCMakeFlags = 51 { 52 cmakeFlags ? [ ], 53 ... 54 }: 55 cmakeFlags ++ cmakeFlags'; 56 57in 58{ 59 inherit makeCMakeFlags; 60}