Dear Cerberus X User!
As we prepare to transition the forum ownership from Mike to Phil (TripleHead GmbH), we need your explicit consent to transfer your user data in accordance with our amended Terms and Rules in order to be compliant with data protection laws.
Please read the new Terms and Rules below, check the box to agree, and click "Accept" to continue enjoying your Cerberus X Forum experience. The deadline for consent is April 5, 2024.
Do not accept the amended Terms and Rules if you do not wish your personal data to be transferred to the future forum owner!
Accepting ensures:
- Continued access to your account with a short break for the actual transfer.
- Retention of your data under the same terms.
Without consent:
- You don't have further access to your forum user account.
- Your account and personal data will be deleted after April 5, 2024.
- Public posts remain, but usernames indicating real identity will be anonymized. If you disagree with a fictitious name you have the option to contact us so we can find a name that is acceptable to you.
We hope to keep you in our community and see you on the forum soon!
All the best
Your Cerberus X Team
I will have to have a look to see permission can be copied on the C/C++ side for *nix systems using stat/lstat/fstat without too much trouble.Well with me it was the template. Once i chmodded its permission
int CopyFile( String srcpath,String dstpath ){
#if _WIN32
if( CopyFileW( OS_STR(srcpath),OS_STR(dstpath),FALSE ) ) return 1;
return 0;
#elif __APPLE__
// Would like to use COPY_ALL here, but it breaks trans on MacOS - produces weird 'pch out of date' error with copied projects.
//
// Ranlib strikes back!
//
// DAWLANE - Added file attributes COPYFILE_XATTR | COPYFILE_STAT (NEEDS CONFIRMING)
if( copyfile( OS_STR(srcpath),OS_STR(dstpath),0,COPYFILE_XATTR | COPYFILE_STAT | COPYFILE_DATA )>=0 ) return 1;
return 0;
#else
int err=-1;
if( FILE *srcp=_fopen( OS_STR( srcpath ),OS_STR( "rb" ) ) ){
err=-2;
if( FILE *dstp=_fopen( OS_STR( dstpath ),OS_STR( "wb" ) ) ){
err=0;
char buf[1024];
while( int n=fread( buf,1,1024,srcp ) ){
if( fwrite( buf,1,n,dstp )!=n ){
err=-3;
break;
}
}
fclose( dstp );
// DAWLANE - Copy over the file attributes.
struct stat st;
stat( OS_STR( srcpath ), &st );
chmod( OS_STR( dstpath ), st.st_mode );
}else{
// printf( "FOPEN 'wb' for CopyFile(%s,%s) failed\n",C_STR(srcpath),C_STR(dstpath) );
fflush( stdout );
}
fclose( srcp );
}else{
// printf( "FOPEN 'rb' for CopyFile(%s,%s) failed\n",C_STR(srcpath),C_STR(dstpath) );
fflush( stdout );
}
return err==0;
#endif
}
If HostOS = "winnt"
gradle="gradlew"
Else
gradle="./gradlew"
Endif
If Not( Execute( gradle+" clean " + gradlecfg, False ) )
You could have just. Have just made the change to os.cpp and rebuilt transcc with transcc, tested the binary and if it worked, replace the old transcc.build directory with the new build. And set the execute permission to the gradletemplate.In short, in addition to correcting the "CopyFile" function in the "os.cpp" and "main.cpp" files, you must change the permission to execute in the "gradlew" file, which is in the directory "targets/android/template/gradletemplate".