# Platform-specific project settings/references

**URL:** https://talk.remobjects.com/t/platform-specific-project-settings-references/15992
**Category:** Fire
**Created:** [April 2, 2018, 5:56pm UTC](https://talk.remobjects.com/t/platform-specific-project-settings-references/15992 "2018-04-02T17:56:29Z")
**Posts on this page:** 12
**Page:** 1

<div class="post-metadata">

### Author: ![bbousquet](https://talk.remobjects.com/letter_avatar_proxy/v4/letter/b/58956e/32.png) [@bbousquet](https://talk.remobjects.com/u/bbousquet)
#### Post date: [April 2, 2018, 5:56pm UTC](https://talk.remobjects.com/t/platform-specific-project-settings-references/15992/1 "2018-04-02T17:56:30Z")

</div>

I have a solution which contains a number of subprojects. The “main” one is a Cooper/Silver JavaFX test application. Since it has a reference to jfxrt (in a specific folder on my Mac’s drive), bringing the project over to my Windows VM forces me to remove the invalid reference to jfxrt and add a new one pointing to the proper location on the Windows drive. Is there a better way to manage this?

Also, my macOS shared library project (dylib) is used for JNI and, as a standard, needs to have the jnilib extension instead of dylib. I don’t think there’s any place in the project settings that would cover this (and this would have to be platform-specific, again)

---

<div class="post-metadata">

### Author: ![mh](https://talk.remobjects.com/user_avatar/talk.remobjects.com/mh/32/18050_2.png) [@mh](https://talk.remobjects.com/u/mh)
#### Post date: [April 2, 2018, 9:16pm UTC](https://talk.remobjects.com/t/platform-specific-project-settings-references/15992/2 "2018-04-02T21:16:24Z")

</div>

> [@bbousquet](#):
>
> Is there a better way to manage this?

Indeed there is. Add a new .xml file in `/Users/mh/Library/Application Support/RemObjects Software/Elements/Reference Paths/Cooper` and configure in it the path where you want Fire to locate your Java references. Do the same in `%APPDATA%\RemObjects Software\Elements\Reference Paths\Cooper` on Windows.

> [@bbousquet](#):
>
> Also, my macOS shared library project (dylib) is used for JNI and, as a standard, needs to have the jnilib extension instead of dylib. I don’t think there’s any place in the project settings that would cover this (and this would have to be platform-specific, again)

Hmm. Currently we dont have an option to influence the file extension of the output — I wasn’t aware that’s a valid thing, to have those not be .dylib. I’ll add an option for vNext. I assume this is only needed for macOS dynamic, libraries, not for Island/Windows/Linux?

**Update** : Done, setting is called `BinaryExtension`.

---

<div class="post-metadata">

### Author: ![bbousquet](https://talk.remobjects.com/letter_avatar_proxy/v4/letter/b/58956e/32.png) [@bbousquet](https://talk.remobjects.com/u/bbousquet)
#### Post date: [April 2, 2018, 9:24pm UTC](https://talk.remobjects.com/t/platform-specific-project-settings-references/15992/3 "2018-04-02T21:24:04Z")

</div>

> [@mh](#):
>
> Indeed there is. Add a new .xml file in `/Users/mh/Library/Application Support/RemObjects Software/Elements/Reference Paths/Cooper` and configure in it the path where you want Fire to locate your Java references. Do the same in `%APPDATA%\RemObjects Software\Elements\Reference Paths\Cooper` on Windows.

Great. I’ll take a look at this.

> [@mh](#):
>
> Hmm. Currently we dont have an option to influence the file extension of the output — I wasn’t aware that’s a valid thing, to have those not be .dylib. I’ll add an option for vNext. I assume this is only needed for macOS dynamic, libraries, not for Island/Windows/Linux?
> 
> **Update** : Done, setting is called `BinaryExtension`.

This is more of a cosmetic/nice to have setting. I’m sure there are some instances where this could be useful on other platforms. Thanks for adding it!

---

<div class="post-metadata">

### Author: ![mh](https://talk.remobjects.com/user_avatar/talk.remobjects.com/mh/32/18050_2.png) [@mh](https://talk.remobjects.com/u/mh)
#### Post date: [April 2, 2018, 9:25pm UTC](https://talk.remobjects.com/t/platform-specific-project-settings-references/15992/4 "2018-04-02T21:25:13Z")

</div>

> [@bbousquet](#):
>
> Great. I’ll take a look at this.

Make sure to check out [Reference Search Path XMLs](https://docs.elementscompiler.com/Projects/References/ReferencesXMLPaths/), as well as the other topics under “References”, as well.

---

<div class="post-metadata">

### Author: ![bbousquet](https://talk.remobjects.com/letter_avatar_proxy/v4/letter/b/58956e/32.png) [@bbousquet](https://talk.remobjects.com/u/bbousquet)
#### Post date: [April 3, 2018, 8:25pm UTC](https://talk.remobjects.com/t/platform-specific-project-settings-references/15992/5 "2018-04-03T20:25:36Z")

</div>

As the jfxrt.jar file is always in lib/ext (under the JRE folder that Fire/Water already know about), shouldn’t there be a way to specify it in the .elements project file directly (say, using something like $(JRERoot)/lib/ext/jfxrt.jar) ?

---

<div class="post-metadata">

### Author: ![mh](https://talk.remobjects.com/user_avatar/talk.remobjects.com/mh/32/18050_2.png) [@mh](https://talk.remobjects.com/u/mh)
#### Post date: [April 3, 2018, 8:28pm UTC](https://talk.remobjects.com/t/platform-specific-project-settings-references/15992/6 "2018-04-03T20:28:29Z")

</div>

Hmm, if its in JRE/lib, kit should be found… I’ll check if maybe I need to add recursion there…

But wait, but is this the Toffee/macOS JNI project we’re talking about, or the Java “host” project?

---

<div class="post-metadata">

### Author: ![mh](https://talk.remobjects.com/user_avatar/talk.remobjects.com/mh/32/18050_2.png) [@mh](https://talk.remobjects.com/u/mh)
#### Post date: [April 3, 2018, 8:36pm UTC](https://talk.remobjects.com/t/platform-specific-project-settings-references/15992/7 "2018-04-03T20:36:59Z")

</div>

Fixed, vNext will check recursively in all JRE/lib subfolders for references.

---

<div class="post-metadata">

### Author: ![bbousquet](https://talk.remobjects.com/letter_avatar_proxy/v4/letter/b/58956e/32.png) [@bbousquet](https://talk.remobjects.com/u/bbousquet)
#### Post date: [April 3, 2018, 8:41pm UTC](https://talk.remobjects.com/t/platform-specific-project-settings-references/15992/8 "2018-04-03T20:41:38Z")

</div>

> [@mh](#):
>
> But wait, but is this the Toffee/macOS JNI project we’re talking about, or the Java “host” project?

It was the Java host project. Adding recursion should address the issue. I assume this means the reference entry will no longer need the hint location.

---

<div class="post-metadata">

### Author: ![mh](https://talk.remobjects.com/user_avatar/talk.remobjects.com/mh/32/18050_2.png) [@mh](https://talk.remobjects.com/u/mh)
#### Post date: [April 3, 2018, 8:45pm UTC](https://talk.remobjects.com/t/platform-specific-project-settings-references/15992/9 "2018-04-03T20:45:53Z")

</div>

> [@bbousquet](#):
>
> I assume this means the reference entry will no longer need the hint location.

Correct. the refs will work w/o HintPath (if one is present and valid, it’ll still be used, if its present but invalid it will be ignored). Add References in Fire and Water will also show them,

---

<div class="post-metadata">

### Author: ![bbousquet](https://talk.remobjects.com/letter_avatar_proxy/v4/letter/b/58956e/32.png) [@bbousquet](https://talk.remobjects.com/u/bbousquet)
#### Post date: [April 6, 2018, 5:57pm UTC](https://talk.remobjects.com/t/platform-specific-project-settings-references/15992/10 "2018-04-06T17:57:56Z")

</div>

I can confirm this works properly in 2271

---

<div class="post-metadata">

### Author: ![bbousquet](https://talk.remobjects.com/letter_avatar_proxy/v4/letter/b/58956e/32.png) [@bbousquet](https://talk.remobjects.com/u/bbousquet)
#### Post date: [April 6, 2018, 7:14pm UTC](https://talk.remobjects.com/t/platform-specific-project-settings-references/15992/11 "2018-04-06T19:14:43Z")

</div>

I haven’t found the BinaryExtension option in my macOS shared library project. Is this something that can only be edited within the .elements file?

Anyhow, it worked when I added the option to the project file with a text editor.

---

<div class="post-metadata">

### Author: ![mh](https://talk.remobjects.com/user_avatar/talk.remobjects.com/mh/32/18050_2.png) [@mh](https://talk.remobjects.com/u/mh)
#### Post date: [April 6, 2018, 7:45pm UTC](https://talk.remobjects.com/t/platform-specific-project-settings-references/15992/12 "2018-04-06T19:45:08Z")

</div>

> [@bbousquet](#):
>
> Is this something that can only be edited within the .elements file?

Correct, this is not (and probably will not be) an officially supported/exposed option, you need to manually add it to the project.
