v0.15.0
Loading...
Searching...
No Matches
Macros | Functions | Variables
CMakeCXXCompilerId.cpp File Reference

Go to the source code of this file.

Macros

#define COMPILER_ID   ""
 
#define STRINGIFY_HELPER(X)   #X
 
#define STRINGIFY(X)   STRINGIFY_HELPER(X)
 
#define PLATFORM_ID   ""
 
#define ARCHITECTURE_ID   ""
 
#define DEC(n)
 
#define HEX(n)
 

Functions

int main (int argc, char *argv[])
 

Variables

char const * info_compiler = "INFO" ":" "compiler[" "" "]"
 
char const * info_platform = "INFO" ":" "platform[" "" "]"
 
char const * info_arch = "INFO" ":" "arch[" "" "]"
 
const char * info_language_dialect_default
 

Macro Definition Documentation

◆ ARCHITECTURE_ID

#define ARCHITECTURE_ID   ""

Definition at line 411 of file CMakeCXXCompilerId.cpp.

◆ COMPILER_ID

#define COMPILER_ID   ""

Definition at line 248 of file CMakeCXXCompilerId.cpp.

◆ DEC

#define DEC (   n)
Value:
('0' + (((n) / 10000000)%10)), \
('0' + (((n) / 1000000)%10)), \
('0' + (((n) / 100000)%10)), \
('0' + (((n) / 10000)%10)), \
('0' + (((n) / 1000)%10)), \
('0' + (((n) / 100)%10)), \
('0' + (((n) / 10)%10)), \
('0' + ((n) % 10))
const double n
refractive index of diffusive medium

Definition at line 415 of file CMakeCXXCompilerId.cpp.

437 {
438 'I', 'N', 'F', 'O', ':',
439 'c','o','m','p','i','l','e','r','_','v','e','r','s','i','o','n','[',
440 COMPILER_VERSION_MAJOR,
441# ifdef COMPILER_VERSION_MINOR
442 '.', COMPILER_VERSION_MINOR,
443# ifdef COMPILER_VERSION_PATCH
444 '.', COMPILER_VERSION_PATCH,
445# ifdef COMPILER_VERSION_TWEAK
446 '.', COMPILER_VERSION_TWEAK,
447# endif
448# endif
449# endif
450 ']','\0'};
451#endif
452
453/* Construct a string literal encoding the version number components. */
454#ifdef SIMULATE_VERSION_MAJOR
455char const info_simulate_version[] = {
456 'I', 'N', 'F', 'O', ':',
457 's','i','m','u','l','a','t','e','_','v','e','r','s','i','o','n','[',
458 SIMULATE_VERSION_MAJOR,
459# ifdef SIMULATE_VERSION_MINOR
460 '.', SIMULATE_VERSION_MINOR,
461# ifdef SIMULATE_VERSION_PATCH
462 '.', SIMULATE_VERSION_PATCH,
463# ifdef SIMULATE_VERSION_TWEAK
464 '.', SIMULATE_VERSION_TWEAK,
465# endif
466# endif
467# endif
468 ']','\0'};
469#endif
470
471/* Construct the string literal in pieces to prevent the source from
472 getting matched. Store it in a pointer rather than an array
473 because some compilers will just produce instructions to fill the
474 array rather than assigning a pointer to a static array. */
475char const* info_platform = "INFO" ":" "platform[" PLATFORM_ID "]";
476char const* info_arch = "INFO" ":" "arch[" ARCHITECTURE_ID "]";
477
478
479
480
481const char* info_language_dialect_default = "INFO" ":" "dialect_default["
482#if __cplusplus >= 201402L
483 "14"
484#elif __cplusplus >= 201103L
485 "11"
486#else
487 "98"
488#endif
489"]";
490
491/*--------------------------------------------------------------------------*/
492
493int main(int argc, char* argv[])
494{
495 int require = 0;
496 require += info_compiler[argc];
497 require += info_platform[argc];
498#ifdef COMPILER_VERSION_MAJOR
499 require += info_version[argc];
500#endif
501#ifdef SIMULATE_ID
502 require += info_simulate[argc];
503#endif
504#ifdef SIMULATE_VERSION_MAJOR
505 require += info_simulate_version[argc];
506#endif
507 require += info_language_dialect_default[argc];
508 (void)argv;
509 return require;
510}
const char * info_language_dialect_default
char const * info_platform
char const * info_compiler
char const * info_arch
#define ARCHITECTURE_ID
#define PLATFORM_ID
int main()

◆ HEX

#define HEX (   n)
Value:
('0' + ((n)>>28 & 0xF)), \
('0' + ((n)>>24 & 0xF)), \
('0' + ((n)>>20 & 0xF)), \
('0' + ((n)>>16 & 0xF)), \
('0' + ((n)>>12 & 0xF)), \
('0' + ((n)>>8 & 0xF)), \
('0' + ((n)>>4 & 0xF)), \
('0' + ((n) & 0xF))

Definition at line 426 of file CMakeCXXCompilerId.cpp.

◆ PLATFORM_ID

#define PLATFORM_ID   ""

Definition at line 361 of file CMakeCXXCompilerId.cpp.

◆ STRINGIFY

#define STRINGIFY (   X)    STRINGIFY_HELPER(X)

Definition at line 265 of file CMakeCXXCompilerId.cpp.

◆ STRINGIFY_HELPER

#define STRINGIFY_HELPER (   X)    #X

Definition at line 264 of file CMakeCXXCompilerId.cpp.

Function Documentation

◆ main()

int main ( int  argc,
char *  argv[] 
)

Definition at line 494 of file CMakeCXXCompilerId.cpp.

495{
496 int require = 0;
497 require += info_compiler[argc];
498 require += info_platform[argc];
499#ifdef COMPILER_VERSION_MAJOR
500 require += info_version[argc];
501#endif
502#ifdef SIMULATE_ID
503 require += info_simulate[argc];
504#endif
505#ifdef SIMULATE_VERSION_MAJOR
506 require += info_simulate_version[argc];
507#endif
508 require += info_language_dialect_default[argc];
509 (void)argv;
510 return require;
511}

Variable Documentation

◆ info_arch

char const* info_arch = "INFO" ":" "arch[" "" "]"

Definition at line 477 of file CMakeCXXCompilerId.cpp.

◆ info_compiler

char const* info_compiler = "INFO" ":" "compiler[" "" "]"

Definition at line 255 of file CMakeCXXCompilerId.cpp.

◆ info_language_dialect_default

const char* info_language_dialect_default
Initial value:
= "INFO" ":" "dialect_default["
"98"
"]"

Definition at line 482 of file CMakeCXXCompilerId.cpp.

◆ info_platform

char const* info_platform = "INFO" ":" "platform[" "" "]"

Definition at line 476 of file CMakeCXXCompilerId.cpp.