procedure TLamwProjectOptions.TryChangeChipset();
var
index: integer;
cfname:TStringArray;
begin
if cbChipset.Text <> '' then
begin
if cbChipset.Text <> FChipSetTarget then
begin
index:= cbChipset.ItemIndex;
cfname:=LazarusIDE.ActiveProject.LazCompilerOptions.TargetFilename.Split(PathDelim);
case index of
0: begin //ARMv6
if FileExists(FProjectPath + 'jni' + PathDelim + 'build-modes' +PathDelim+ 'build_armV6.txt') then
begin
LazarusIDE.ActiveProject.LazCompilerOptions.TargetFilename:= '..'+PathDelim+'libs'+PathDelim+'armeabi'+PathDelim+cfname[high(cfname)];
LazarusIDE.ActiveProject.LazCompilerOptions.CustomOptions:= GetBuildMode('build_armV6.txt', 2);
LazarusIDE.ActiveProject.LazCompilerOptions.TargetCPU:= 'arm';
LazarusIDE.ActiveProject.LazCompilerOptions.Libraries:= GetBuildMode('build_armV6.txt', 0);
end;
end;
1: begin //ARMv7a+Soft
if FileExists(FProjectPath + 'jni' + PathDelim + 'build-modes' +PathDelim+ 'build_armV7a.txt') then
begin
LazarusIDE.ActiveProject.LazCompilerOptions.TargetFilename:= '..'+PathDelim+'libs'+PathDelim+'armeabi-v7a'+PathDelim+cfname[high(cfname)];
LazarusIDE.ActiveProject.LazCompilerOptions.CustomOptions:= GetBuildMode('build_armV7a.txt', 2);
LazarusIDE.ActiveProject.LazCompilerOptions.TargetCPU:= 'arm';
LazarusIDE.ActiveProject.LazCompilerOptions.Libraries:= GetBuildMode('build_armV7a.txt', 0);
end;
end;
2: begin //ARMv7a+VFPv3
if FileExists(FProjectPath + 'jni' + PathDelim + 'build-modes' +PathDelim+ 'build_armV7a_VFPv3.txt') then
begin
LazarusIDE.ActiveProject.LazCompilerOptions.TargetFilename:= '..'+PathDelim+'libs'+PathDelim+'armeabi-v7a'+PathDelim+cfname[high(cfname)];
LazarusIDE.ActiveProject.LazCompilerOptions.CustomOptions:= GetBuildMode('build_armV7a_VFPv3.txt', 2);
LazarusIDE.ActiveProject.LazCompilerOptions.TargetCPU:= 'arm';
LazarusIDE.ActiveProject.LazCompilerOptions.Libraries:= GetBuildMode('build_armV7a_VFPv3.txt', 0);
end;
end;
3: begin //x86
if FileExists(FProjectPath + 'jni' + PathDelim + 'build-modes' +PathDelim+ 'build_x86.txt') then
begin
LazarusIDE.ActiveProject.LazCompilerOptions.TargetFilename:= '..'+PathDelim+'libs'+PathDelim+'x86'+PathDelim+cfname[high(cfname)];
LazarusIDE.ActiveProject.LazCompilerOptions.CustomOptions:= GetBuildMode('build_x86.txt', 2);
LazarusIDE.ActiveProject.LazCompilerOptions.TargetCPU:= 'i386';
LazarusIDE.ActiveProject.LazCompilerOptions.Libraries:= GetBuildMode('build_x86.txt', 0);
end;
end;
4: begin //Mipsel
if FileExists(FProjectPath + 'jni' + PathDelim + 'build-modes' +PathDelim+ 'build_mipsel.txt') then
begin
LazarusIDE.ActiveProject.LazCompilerOptions.TargetFilename:= '..'+PathDelim+'libs'+PathDelim+'mips'+PathDelim+cfname[high(cfname)];
LazarusIDE.ActiveProject.LazCompilerOptions.CustomOptions:= GetBuildMode('build_mipsel.txt', 2);
LazarusIDE.ActiveProject.LazCompilerOptions.TargetCPU:= 'mipsel';
LazarusIDE.ActiveProject.LazCompilerOptions.Libraries:= GetBuildMode('build_mipsel.txt', 0);
end
end;
5: begin //Aarch64 //build_arm64.txt
if FileExists(FProjectPath + 'jni' + PathDelim + 'build-modes' +PathDelim+ 'build_arm64.txt') then
begin
LazarusIDE.ActiveProject.LazCompilerOptions.TargetFilename:= '..'+PathDelim+'libs'+PathDelim+'arm64-v8a'+PathDelim+cfname[high(cfname)];
LazarusIDE.ActiveProject.LazCompilerOptions.CustomOptions:= GetBuildMode('build_arm64.txt', 2);
LazarusIDE.ActiveProject.LazCompilerOptions.TargetCPU:= 'aarch64';
LazarusIDE.ActiveProject.LazCompilerOptions.Libraries:= GetBuildMode('build_arm64.txt', 0);
end;
end;
6: begin //x86_64
if FileExists(FProjectPath + 'jni' + PathDelim + 'build-modes' +PathDelim+ 'build_x86_64.txt') then
begin
LazarusIDE.ActiveProject.LazCompilerOptions.TargetFilename:= '..'+PathDelim+'libs'+PathDelim+'x86_64'+PathDelim+cfname[high(cfname)];
LazarusIDE.ActiveProject.LazCompilerOptions.CustomOptions:= GetBuildMode('build_x86_64.txt', 2);
LazarusIDE.ActiveProject.LazCompilerOptions.TargetCPU:= 'x86_64';
LazarusIDE.ActiveProject.LazCompilerOptions.Libraries:= GetBuildMode('build_x86_64.txt', 0);
end;
end;
end;
end;
end;
end;