jucer_export_target_configuration

Define the settings specific to a configuration associated with an export target.

jucer_export_target_configuration(
  <exporter>

  NAME <configuration_name>
  DEBUG_MODE <ON|OFF>

  [BINARY_NAME <binary_name>]
  [BINARY_LOCATION <binary_location>]
  [HEADER_SEARCH_PATHS <search_path> [<search_path> ...]]
  [EXTRA_LIBRARY_SEARCH_PATHS <search_path> [<search_path> ...]]
  [PREPROCESSOR_DEFINITIONS <preprocessor_definition> [<preprocessor_definition> ...]]

  [LINK_TIME_OPTIMISATION <ON|OFF>]
  [OPTIMISATION <optimisation>]

  [ADD_RECOMMENDED_COMPILER_WARNING_FLAGS <Enabled|Disabled>]  # [3]
  [ADD_RECOMMENDED_COMPILER_WARNING_FLAGS <GCC|GCC 7 and below|LLVM|Disabled>]  # [9]

  [ENABLE_PLUGIN_COPY_STEP <ON|OFF>]  # [1]
  [VST_BINARY_LOCATION <binary_location>]  # [2]
  [VST3_BINARY_LOCATION <binary_location>]  # [1]
  [AU_BINARY_LOCATION <binary_location>]  # [3]
  [RTAS_BINARY_LOCATION <binary_location>]  # [2]
  [AAX_BINARY_LOCATION <binary_location>]  # [2]
  [UNITY_BINARY_LOCATION <binary_location>]  # [1]
  [VST_LEGACY_BINARY_LOCATION <binary_location>]  # [1]

  [MACOS_BASE_SDK <macos_sdk>]  # [4]
  [MACOS_DEPLOYMENT_TARGET <macos_deployment_target>]  # [4]
  [MACOS_ARCHITECTURE <macos_architecture>]  # [4]

  [IOS_BASE_SDK <ios_base_sdk>]  # [5]
  [IOS_DEPLOYMENT_TARGET <ios_deployment_target>]  # [5]

  [CUSTOM_XCODE_FLAGS <xcode_flag> [<xcode_flag> ...]]  # [3]
  [PLIST_PREPROCESSOR_DEFINITIONS <preprocessor_definition> [<preprocessor_definition> ...]]  # [3]
  [CXX_LANGUAGE_STANDARD <cxx_standard>]  # [3]
  [CXX_LIBRARY <cxx_library>]  # [3]
  [CODE_SIGNING_IDENTITY <code_signing_identity>]  # [3]
  [STRIP_LOCAL_SYMBOLS <ON|OFF>]  # [3]

  [DEBUG_INFORMATION_FORMAT <debug_information_format>]  # [6]
  [WARNING_LEVEL <warning_level>]  # [6]
  [TREAT_WARNINGS_AS_ERRORS <ON|OFF>]  # [6]
  [RUNTIME_LIBRARY <runtime_library>]  # [6]
  [WHOLE_PROGRAM_OPTIMISATION <whole_program_optimisation>]  # [6]
  [MULTI_PROCESSOR_COMPILATION <ON|OFF>]  # [6]
  [INCREMENTAL_LINKING <ON|OFF>]  # [6]
  [FORCE_GENERATION_OF_DEBUG_SYMBOLS <ON|OFF>]  # [7]
  [PREBUILD_COMMAND <command_content>]  # [6]
  [POSTBUILD_COMMAND <command_content>]  # [6]
  [GENERATE_MANIFEST <ON|OFF>]  # [6]
  [CHARACTER_SET <character_set>]  # [6]

  [RELAX_IEEE_COMPLIANCE <ON|OFF>]  # [2]

  [ARCHITECTURE <architecture>]  # [8]
)

<exporter> must be one of the supported exporters.

Optional keywords support:

  • [1]: only supported by the "Xcode (macOS)", "Xcode (iOS)", "Visual Studio 2022", "Visual Studio 2019", "Visual Studio 2017", "Visual Studio 2015", "Visual Studio 2013", and "Linux Makefile" exporters.

  • [2]: only supported by the "Xcode (macOS)", "Xcode (iOS)", "Visual Studio 2022", "Visual Studio 2019", "Visual Studio 2017", "Visual Studio 2015", and "Visual Studio 2013" exporters.

  • [3]: only supported by the "Xcode (macOS)" and "Xcode (iOS)" exporters.

  • [4]: only supported by the "Xcode (macOS)" exporter.

  • [5]: only supported by the "Xcode (iOS)" exporter.

  • [6]: only supported by the "Visual Studio 2022", "Visual Studio 2019", "Visual Studio 2017", "Visual Studio 2015", and "Visual Studio 2013" exporters.

  • [7]: only supported by the "Visual Studio 2022", "Visual Studio 2019", "Visual Studio 2017", "Visual Studio 2015", and "Visual Studio 2013" exporters, when DEBUG_MODE is OFF.

  • [8]: only supported by the "Visual Studio 2022", "Visual Studio 2019", "Visual Studio 2017", "Visual Studio 2015", "Visual Studio 2013", "Linux Makefile", "Code::Blocks (Windows)", and "Code::Blocks (Linux)" exporters.

  • [9]: only support by the "Linux Makefile", "Code::Blocks (Windows)", and "Code::Blocks (Linux)" exporters.

Examples

From the NetworkGraphicsDemo extra of JUCE 5.4.3:

176jucer_export_target_configuration(
177  "Xcode (MacOSX)"
178  NAME "Debug"
179  DEBUG_MODE ON
180  BINARY_NAME "JUCE Network Graphics Demo"
181  OSX_DEPLOYMENT_TARGET "10.9"
182)

From the UnitTestRunner extra of JUCE 5.4.3:

277jucer_export_target_configuration(
278  "Visual Studio 2017"
279  NAME "Release"
280  DEBUG_MODE OFF
281  BINARY_NAME "UnitTestRunner"
282  TREAT_WARNINGS_AS_ERRORS ON
283  DEBUG_INFORMATION_FORMAT "None"
284)

From the Projucer extra of JUCE 5.4.3:

726jucer_export_target_configuration(
727  "Linux Makefile"
728  NAME "Debug"
729  DEBUG_MODE ON
730  BINARY_NAME "Projucer"
731  # HEADER_SEARCH_PATHS
732  # EXTRA_LIBRARY_SEARCH_PATHS
733)