PylonLinkage.h 2.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677
  1. //-----------------------------------------------------------------------------
  2. // Basler pylon SDK
  3. // Copyright (c) 2008-2021 Basler AG
  4. // http://www.baslerweb.com
  5. // Author: JS
  6. //-----------------------------------------------------------------------------
  7. /*!
  8. \file PylonLinkage.h
  9. \brief Adds the pylon (and GenICam) libs to the linker comment record in the object file
  10. */
  11. #ifndef PYLON_LINKAGE_H_INCLUDED_
  12. #define PYLON_LINKAGE_H_INCLUDED_
  13. #pragma once
  14. // needed for COMPILER/COMPILER_STR
  15. #include <pylon/Platform.h>
  16. #if defined(PYLON_WIN_BUILD)
  17. #define PYLON_VERSION_SUFFIX "_v6_3"
  18. #if !defined(PYLON_BUILD_DEBUG)
  19. # if !defined(GENICAM_USER_ALWAYS_LINK_RELEASE)
  20. # define GENICAM_USER_ALWAYS_LINK_RELEASE
  21. # endif
  22. #endif
  23. // should be already included (needed for CONFIGURATION, GENICAM_COMPILER_STR)
  24. #include <GenICamVersion.h>
  25. #include <Base/GCLinkage.h>
  26. //////////////////////////////////////////////////////////////////////////////
  27. // create the Pylon suffix
  28. // The name consists of the following parts
  29. // PylonBased.lib
  30. // [ 1 ] [ 2 ] [ 3 ]
  31. // [module ] [ suffix ]
  32. // [ lib name ]
  33. // 1 = module name
  34. // 2 = configuration
  35. // 3 = extension
  36. #define PYLON_SUFFIX( config, extension ) config "." extension
  37. #if (defined(_DEBUG) || defined(DEBUG)) && defined(PYLON_BUILD_DEBUG)
  38. # define PYLON_CONFIGURATION "d"
  39. #else
  40. # define PYLON_CONFIGURATION ""
  41. #endif
  42. // generic
  43. #define PYLON_LIB_SUFFIX PYLON_SUFFIX( PYLON_VERSION_SUFFIX PYLON_CONFIGURATION, "lib" )
  44. #define PYLON_DLL_SUFFIX PYLON_SUFFIX( PYLON_VERSION_SUFFIX PYLON_CONFIGURATION, "dll" )
  45. // names for Transport Layer
  46. #define PYLON_TL_LIB_SUFFIX PYLON_SUFFIX( PYLON_VERSION_SUFFIX PYLON_CONFIGURATION "_TL", "lib" )
  47. #define PYLON_TL_DLL_SUFFIX PYLON_SUFFIX( PYLON_VERSION_SUFFIX PYLON_CONFIGURATION "_TL", "dll" )
  48. //////////////////////////////////////////////////////////////////////////////
  49. //
  50. #define PYLON_LIB_NAME_NAKED( module ) module PYLON_SUFFIX( PYLON_CONFIGURATION, "lib" )
  51. #define PYLON_DLL_NAME_NAKED( module ) module PYLON_SUFFIX( PYLON_CONFIGURATION, "dll" )
  52. #define PYLON_LIB_NAME( module ) module PYLON_SUFFIX( PYLON_VERSION_SUFFIX PYLON_CONFIGURATION, "lib" )
  53. #define PYLON_DLL_NAME( module ) module PYLON_SUFFIX( PYLON_VERSION_SUFFIX PYLON_CONFIGURATION, "dll" )
  54. #define PYLON_TL_LIB_NAME( module ) module PYLON_TL_LIB_SUFFIX
  55. #define PYLON_TL_DLL_NAME( module ) module PYLON_TL_DLL_SUFFIX
  56. #endif
  57. #endif