== Project Settings Reference == === Compiler and Linker === **Debug-ARM825 and Release-ARM825 build configurations** If properties sheet has a "Cross Settings" section set: Prefix: **aarch64-none-linux-gnu-** ||=Tool Settings=||=Command=|| ||Cross G++ Compiler||g++|| ||Cross GCC Compiler ,,1,,||gcc|| ||Cross G++ Linker||g++|| ||Cross GCC Assembler ,,1,,||as|| ,,1,, "Cross GCC Compiler" and "Cross GCC Assembler" items may not be present in all projects. If properties sheet does not have "Cross Settings" section: ||=Tool Settings=||=Command=|| ||GCC C++ Compiler||aarch64-none-linux-gnu-g++|| ||GCC C Compiler ,,1,,||aarch64-none-linux-gnu-gcc|| ||GCC C++ Linker||aarch64-none-linux-gnu-g++|| ||GCC Assembler ,,1,,||aarch64-none-linux-gnu-as|| ,,1,, "GCC C Compiler" and "GCC Assembler" items may not be present in all projects. === Preprocessor === **Debug-ARM825 build configuration** ||=Defined symbols=||=Description=|| ||DEBUG|| || ||ARM64=1|| || **Release-ARM825 build configuration** ||=Defined symbols=||=Description=|| ||ARM64=1|| || === Includes === **Debug-ARM825 and Release-ARM825 build configurations** ||=Includes=||=Description=|| ||"${workspace_loc:/lib825ev/inc}" ,,1,,||Main 825 library|| ||"${workspace_loc:/lib825lang/inc}" ,,2,,||825 Multi language|| ||"${workspace_loc:/lib825sql/inc}" ,,3,,||825 SQLite|| ||"${workspace_loc:/lib825db/inc}" ,,4,,||825 SQLite/MySQL|| ||/opt/arm64include|| || ,,1,, Older apps may use //lib825// instead of //lib825ev//. In this case use "${workspace_loc:/lib825/inc}" Some older apps that use //lib825// also use //libapp//. In this case the additional include path "${workspace_loc:/libapp/inc}" will be needed. ,,2,, //825lang// is used by newer apps. This is not needed for recompile of older apps. ,,3,, Older recompiled apps may instead use //sql// or //sql3_7_9//. If it is //sql// it is recommended to change it to use //sql3_7_9//. To use //sql3_7_9// library change include path "${workspace_loc:/libsql3_7_9/inc}". ,,4,, Newer apps may be updated to use //lib825db// instead of //lib825sql//. //lib825db// use will require code changes, but allows for support of SQLite and MySQL databases using mostly common code. Refer to [wiki:Docs/Prog/Manual/ApplicationLibraries/lib825db lib825db] === Libraries === **Debug-ARM825 and Release-ARM825 build configurations** ||= Library =||= Description =|| ||825ev ,,1,,||Main 825 library|| ||825lang ,,2,,||825 Multi language|| ||825sql ,,3,,||825 SQLite|| ||825db ,,4,,||825 SQLite/MySQL|| ||sqlite3 ,,3,,||SQLite|| ||mysqlclient ,,4,,||MySQL|| ||${UI_LIBS}|| || ||${CAIRO_LIBS}|| || ||${GLIB_LIBS}|| || ||${PRT_LIBS} ,,5,,|| || ||${CURL_LIBS} ,,6,,|| || ,,1,, Older apps may use //825// instead of //825ev//. Some older apps that use //825// also use //app//. In this case the additional library //app// will be needed. ,,2,, //825lang// is used by newer 825 Gen2 apps. This is not needed for recompile of older apps. ,,3,, For newer apps it is preferred to use //825sql// and //sqlite3// for dynamically linked SQLite shared object that is already on 825 Gen2. Older recompiled apps may use //sql3_7_9// instead of //825sql// and remove //sqlite3// line. //sql3_7_9// is statically linked and includes the //sqlite3// library. ,,4,, New apps may use //825db//, //sqlite3//, and //mysqlclient// instead of //825sql//. This will require code changes, but offers ability to make apps support SQLite or MySQL with common code. Refer to [wiki:Docs/Prog/Manual/ApplicationLibraries/lib825db lib825db] ,,5,, The development VM may need to be updated to have the //PRT_LIBS// environment variable. Refer to [wiki:Docs/825gen2/Dev/DevVMTechnical VM technical information] ,,6,, Include this for apps that retrieve data using //libcurl// such as for image capture from IP cameras or data from web sites. [[br]] **Debug-ARM825 build configuration** ||=Library search path=|| ||${workspace_loc:/lib825ev/Debug-ARM825} ,,1,,|| ||${workspace_loc:/lib825lang/Debug-ARM825} ,,2,,|| ||${workspace_loc:/lib825sql/Debug-ARM825} ,,3,,|| ||${workspace_loc:/lib825db/Debug-ARM825} ,,4,,|| ||/opt/arm64lib|| ,,1,, Older apps may use //lib825// instead of //lib825ev//. In this case use search path: ${workspace_loc:/lib825/Debug-ARM825} Some older apps that use //lib825// also use //libapp//. In this case the additional library search path ${workspace_loc:/libapp/Debug-ARM825} will be needed. ,,2,, //825lang// is used by newer 825 Gen2 apps. This is not needed for recompile of older apps. ,,3,, If //sql3_7_9// library is used change search path to "${workspace_loc:/libsql3_7_9/Debug-ARM825}". ,,4,, If using //lib825db// specify this path instead of the //lib825sql// path. **Release-ARM825 build configuration** ||= Library search path =|| ||${workspace_loc:/lib825ev/Release-ARM825} ,,1,,|| ||${workspace_loc:/lib825lang/Release-ARM825} ,,2,,|| ||${workspace_loc:/lib825sql/Release-ARM825} ,,3,,|| ||${workspace_loc:/lib825db/Release-ARM825} ,,4,,|| ||/opt/arm64lib|| ,,1,, Older apps may use //lib825// instead of //lib825ev//. In this case use search path: ${workspace_loc:/lib825/Release-ARM825} Some older apps that use //lib825// also use //libapp//. In this case the additional library search path ${workspace_loc:/libapp/Release-ARM825} will be needed. ,,2,, //825lang// is used by newer 825 Gen2 apps. This is not needed for recompile of older apps. ,,3,, If //sql3_7_9// library is used change search path to "${workspace_loc:/libsql3_7_9/Release-ARM825}". ,,4,, If using //lib825db// specify this path instead of the //lib825sql// path. === Build Artifact === Make sure the directory ///srv/nfs/arm825/mnt/nand/apps//// exists in the development VM for the compiled files. **Debug-ARM825 build configuration** ||Artifact Name:||_dbg|| ||Output prefix:||/srv/nfs/arm825/mnt/nand/apps//|| //Be sure the "Output prefix:" has the trailing slash "/".// **Release-ARM825 build configuration** ||Artifact Name:|||| ||Output prefix:||/srv/nfs/arm825/mnt/nand/apps//|| //Be sure the "Output prefix:" has the trailing slash "/".// === Build Steps === ** Release-ARM825 ** Post-build steps[[BR]] Command:[[BR]] /srv/nfs/appsign64 "" /srv/nfs/arm825/mnt/nand/apps// //This will create the app signature file for distribution. Be sure to have a signature configuration provided by Cardinal for your organization installed in your development VM.//