Difference between revisions of "IDE Macros in paths and filenames"

From Free Pascal wiki
Jump to navigationJump to search
m (List reorganization)
(Usage example and better formatting)
Line 1: Line 1:
 
{{IDE Macros in paths and filenames}}
 
{{IDE Macros in paths and filenames}}
  
General Purpose
+
Macros are used in the following format. Replacing the ''macro-name'' part with one of the macros listed below.
* Col - current column in source editor
 
* Row - current row in source editor
 
* CurToken - current token at the cursor in the source editor
 
* EdFile - current filename in the source editor
 
* MakeExe - path to the 'make' program (gmake under BSD)
 
* Params - run parameters of the current project
 
* Prompt - ask the user for a value. This is an interactive macro.
 
* RunCmdLine - the command to launch the project
 
* Save - save current file in source editor
 
* SaveAll - save all
 
* TargetCmdLine - the project executable plus run parameters
 
  
Filename Parts
+
  $(macro-name)
* Env(name) - macro function for environment variables given to the IDE (not project nor debugger) (since 0.9.27)
 
* Ext() - macro function for ExtractFileExt
 
* MakeDir() - macro function for AppendPathDelim
 
* MakeFile() - macro function for ChompPathDelim
 
* Name() - macro function for ExtractFileName
 
* NameOnly() - macro function for ExtractFileNameOnly
 
* Path() - macro function for ExtractFilePath
 
  
Pathes and Parts
+
For example: This Unit Output directory format is ofter used for Lazarus Packages:
 +
 
 +
  lib/$(TargetCPU)-$(TargetOS)
 +
 
 +
under a x86 Linux 32-bit system that would equate to:  '''lib/i386-linux''' <br>
 +
under a x86 Linux 64-bit system that would equate to:  '''lib/x86_64-linux'''
 +
 
 +
==General Purpose==
 +
* '''Col''' - current column in source editor
 +
* '''Row''' - current row in source editor
 +
* '''CurToken''' - current token at the cursor in the source editor
 +
* '''EdFile''' - current filename in the source editor
 +
* '''MakeExe''' - path to the 'make' program (gmake under BSD)
 +
* '''Params''' - run parameters of the current project
 +
* '''Prompt''' - ask the user for a value. This is an interactive macro.
 +
* '''RunCmdLine''' - the command to launch the project
 +
* '''Save''' - save current file in source editor
 +
* '''SaveAll''' - save all
 +
* '''TargetCmdLine''' - the project executable plus run parameters
 +
 
 +
==Filename Parts==
 +
* '''Env(name)''' - macro function for environment variables given to the IDE (not project nor debugger) (since 0.9.27)
 +
* '''Ext()''' - macro function for ExtractFileExt
 +
* '''MakeDir()''' - macro function for AppendPathDelim
 +
* '''MakeFile()''' - macro function for ChompPathDelim
 +
* '''Name()''' - macro function for ExtractFileName
 +
* '''NameOnly()''' - macro function for ExtractFileNameOnly
 +
* '''Path()''' - macro function for ExtractFilePath
 +
 
 +
==Paths and Parts==
 
* CompPath - compiler path set in the environment options
 
* CompPath - compiler path set in the environment options
 
* ConfDir - directory where the IDE stores its config files
 
* ConfDir - directory where the IDE stores its config files

Revision as of 10:09, 11 September 2009

Deutsch (de) English (en) español (es) français (fr) português (pt) русский (ru)

Macros are used in the following format. Replacing the macro-name part with one of the macros listed below.

 $(macro-name)

For example: This Unit Output directory format is ofter used for Lazarus Packages:

 lib/$(TargetCPU)-$(TargetOS)

under a x86 Linux 32-bit system that would equate to: lib/i386-linux
under a x86 Linux 64-bit system that would equate to: lib/x86_64-linux

General Purpose

  • Col - current column in source editor
  • Row - current row in source editor
  • CurToken - current token at the cursor in the source editor
  • EdFile - current filename in the source editor
  • MakeExe - path to the 'make' program (gmake under BSD)
  • Params - run parameters of the current project
  • Prompt - ask the user for a value. This is an interactive macro.
  • RunCmdLine - the command to launch the project
  • Save - save current file in source editor
  • SaveAll - save all
  • TargetCmdLine - the project executable plus run parameters

Filename Parts

  • Env(name) - macro function for environment variables given to the IDE (not project nor debugger) (since 0.9.27)
  • Ext() - macro function for ExtractFileExt
  • MakeDir() - macro function for AppendPathDelim
  • MakeFile() - macro function for ChompPathDelim
  • Name() - macro function for ExtractFileName
  • NameOnly() - macro function for ExtractFileNameOnly
  • Path() - macro function for ExtractFilePath

Paths and Parts

  • CompPath - compiler path set in the environment options
  • ConfDir - directory where the IDE stores its config files
  • ExeExt - executable file extension
  • FPCSrcDir - FPC source directory set in environment options
  • FPCVer - FPC version (since 0.9.25). For example '2.2.2'.
  • LanguageID - IDE language, for example en for english, de for german
  • LanguageName - IDE language name, the translated name of the current language. For instance: Deutsch for german.
  • LazarusDir - Lazarus source directory set in environment options
  • LCLWidgetType - LCL widgetset of the current project
  • ProjFile - the full filename of the main source of the current project (.lpr)
  • ProjPath - the project directory (the directory of the .lpi file)
  • TargetFile - the output file of the current project (e.g. the executable or the library)
  • TestDir - Test directory set in the environment options
  • PkgDir() - macro function for the directory (location of the .lpk) of a package ID given as parameter
  • PkgIncPath() - macro function for the include path of a package ID given as parameter
  • PkgOutDir() - macro function for the output directory of a package (e.g. where the ppu files are created)
  • PkgSrcPath() - macro function for the source path of a package ID given as parameter
  • PkgUnitPath() - macro function for the unit path of a package ID given as parameter
  • Project() - macro function for various values
    • Project(UnitPath) - unit path of project directory
    • Project(SrcPath) - source path of project directory
    • Project(IncPath) - include path of project directory
    • Project(InfoFile) - filename of the project information file (.lpi) (since r15287, 0.9.25)
    • Project(OutputDir) - directory where the project's ppu files are created (since 0.9.27)
  • ProjIncPath - include path of project directory
  • ProjOutDir - path of project output directory (e.g. where the .ppu files are created) (since 0.9.27)
  • ProjPublishDir - publishing directory of the current project
  • ProjSrcPath - source path of project directory
  • ProjUnitPath - unit path of project directory
  • SrcOS - 'unix' for linux, darwin, bsd. 'win' for win32, win64, wince
  • TargetCPU - Target CPU of the current project
  • TargetOS - Target OS of the current project