Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Cmake Fixes #2084

Closed
wants to merge 22 commits into from
Closed

Cmake Fixes #2084

wants to merge 22 commits into from

Conversation

kphillisjr
Copy link
Contributor

@kphillisjr kphillisjr commented Nov 23, 2016

This includes many of the changes/fixes outlined in bug report #1616. This also includes a solution to bug report #1811.

NOTE 1: many of the changes in this pull request need testing on windows.
NOTE 2: This should include fixes to help with running Static Library on windows, Just remember to call the new Jsrt calls before running any other jsrt function.

…ables.

This is the initial commit in changes that are meant to avoid variable
pollution by ChakraCore in CMake.
This script will generate and launch eclipse projects for ChakraCore.
The arguments for this script are similar to the build.sh script.
This causes cmake to properly handle specifying building ChakraCore
as a static library or shared library using Options.
Use CC_ENABLE_JIT configuration option to enable and disable JIT
support with CMakeList.
This copies the headers that ChakraCore uses to the cmake build directory.
This Option will Automatically configure CPU options for CMake.
When this option is set to true, cmake will find pkg_config and use
the recommended method for detecting the Internationalization libraries.
The appropriate headers where not being copied when including ChakraCore
using the add_subdirectory command.
This should help in reducing linking errors for projects wishing to
link to ChakraCore library.
These functions are the basis for the new ChakraCore library
initialization and finalization steps.
This fixes shared library builds of ChakraCore. This takes place
in two steps...

Step 1: Initialize Process/Runtime using JsInitializeRuntime.
Step 2: Remember to Finalize runtime by calling JsFinalizeRuntime
after all other contexts are destroyed.
This is a merge of all changes from Upstream ChakraCore.
Add the two newly created functions to the Jsrt common exports.
@msftclas
Copy link

Hi @kphillisjr, I'm your friendly neighborhood Microsoft Pull Request Bot (You can call me MSBOT). Thanks for your contribution!

In order for us to evaluate and accept your PR, we ask that you sign a contribution license agreement. It's all electronic and will take just minutes. I promise there's no faxing. https://cla.microsoft.com.

TTYL, MSBOT;

This should fix the windows compile by defining the missing elements.
This fixes some whitespace errors that appeared in the changes I added.
This is just minor whitespace error fixes.
The location of Static builds has changed, this fixes the detection
of static library builds.
@obastemur
Copy link
Collaborator

@kphillisjr couple of pointers;

  • We can and should fix shared lib initialization without introducing new API to Jsrt
  • Unless there is a serious reason, we wouldn't like to update preprocessors we have
  • CMake defs with _SH ending are there because of CMake Cache cleanup. We would like to keep that.
  • We have more flags on ICU support, including no-icu and static. We wouldn't like to break them.
  • Shared library should be capable of initialization of the config flags as given from xplat: Make shared library usage requirements more reasonable #1811
  • We tend to have a single commit / PR per issue

Thanks

@kphillisjr
Copy link
Contributor Author

@obastemur, I'll rework the patches and push a new set of commits. Some of the commits are no longer needed anymore.

@kphillisjr
Copy link
Contributor Author

I reworked the automatic configuration to avoid directly modifying CMakeListst.txt. The new code is found in pull #2111.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants