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

Default CMake builds #6417

Closed
4 of 5 tasks
ppenzin opened this issue Apr 14, 2020 · 0 comments
Closed
4 of 5 tasks

Default CMake builds #6417

ppenzin opened this issue Apr 14, 2020 · 0 comments

Comments

@ppenzin
Copy link
Member

ppenzin commented Apr 14, 2020

On platforms on which ChacoreCore builds via CMake allow the canonical CMake workflow. In the most basic case it would be something like this (ninja generator should be enabled as well):

$ cd build
$ cmake /path/to/ChakraCore/
$ make
  • (Basic workflow)

Extra credit:

  • testing support
  • expose more configuration options to the command line cmake invocation
    • ICU embedding
  • Windows support

Windows support may be too ambitious of a goal at the moment, but projects using CMake (which we expect might embed ChakraCore) often build on Windows as well, and we should not completely rule that out.

ppenzin added a commit to ppenzin/ChakraCore that referenced this issue Apr 15, 2020
Add a direct mode for CMake builds. Add a CMake variable to distinguish
between `build.sh` and direct command line use -- in direct mode the
build would try to pick up reasonable system defaults. Set that variable
to OFF by default and to ON in `build.sh`. ICU is not handled, for
systems with no ICU installed, `-DNO_ICU=ON` would be still needed.

Move DbgController.js.h generation to CMake, make that step conditional
on whether dependencies have changed.

Add testing under control of CMake. Invoking `check` target should
run entire test suite, producing log file in the build directory.

Make some CMake error messages slightly more informative.

Nit: build.sh - "makefiles" is inaccurate, as it supports Ninja as well.

Closes chakra-core#6417
ppenzin added a commit to ppenzin/ChakraCore that referenced this issue Apr 16, 2020
Add a direct mode for CMake builds. Add a CMake variable to distinguish
between `build.sh` and direct command line use -- in direct mode the
build would try to pick up reasonable system defaults. Set that variable
to OFF by default and to ON in `build.sh`. ICU is not handled, for
systems with no ICU installed, `-DNO_ICU=ON` would be still needed.

Move DbgController.js.h generation to CMake, make that step conditional
on whether dependencies have changed.

Add testing under control of CMake. Invoking `check` target should
run entire test suite, producing log file in the build directory.

Make some CMake error messages slightly more informative.

Nit: build.sh - "makefiles" is inaccurate, as it supports Ninja as well.

Closes chakra-core#6417
ppenzin added a commit to ppenzin/ChakraCore that referenced this issue Apr 16, 2020
Add a direct mode for CMake builds. Add a CMake variable to distinguish
between `build.sh` and direct command line use -- in direct mode the
build would try to pick up reasonable system defaults. Set that variable
to OFF by default and to ON in `build.sh`.

Add explicit option for Intl support for direct CMake use and set its
default to `ON`. Add another explicit option for ICU include path
(default to empty), also only under direct CMake. Make sure Intl setting
does not get overriden.

Direct CMake build would not set any explicit ICU options (aside of
declaring a placeholder for its include path), this would default it to
looking for system ICU. Embedding ICU from CMake is not supportec yet,
but can be easily done in the future.

Move DbgController.js.h generation to CMake, make that step conditional
on whether dependencies have changed.

Add testing under control of CMake. Invoking `check` target should
run entire test suite, producing log file in the build directory.

Make some CMake error messages slightly more informative.

Nit: build.sh - "makefiles" is inaccurate, as it supports Ninja as well.

Closes chakra-core#6417
ppenzin added a commit to ppenzin/ChakraCore that referenced this issue Apr 16, 2020
Add a direct mode for CMake builds. Add a CMake variable to distinguish
between `build.sh` and direct command line use -- in direct mode the
build would try to pick up reasonable system defaults. Set that variable
to OFF by default and to ON in `build.sh`.

Add explicit option for Intl support for direct CMake use and set its
default to `ON`. Add another explicit option for ICU include path
(default to empty), also only under direct CMake. Make sure Intl setting
does not get overridden.

By default, direct CMake build would not set any explicit ICU options
(aside of declaring a placeholder for its include path), which means it
would be looking for system ICU. Embedding ICU from CMake is not
supported yet, but can be easily done in the future.

Move DbgController.js.h generation to CMake, make that step conditional
on whether dependencies have changed.

Add testing under control of CMake. Invoking `check` target should
run entire test suite, producing log file in the build directory.

Make some CMake error messages slightly more informative.

Nit: build.sh - "makefiles" is inaccurate, as it supports Ninja as well.

Closes chakra-core#6417
ppenzin added a commit to ppenzin/ChakraCore that referenced this issue Apr 23, 2020
Add a direct mode for CMake builds. Add a CMake variable to distinguish
between `build.sh` and direct command line use -- in direct mode the
build would try to pick up reasonable system defaults. Set that variable
to OFF by default and to ON in `build.sh`.

Add explicit option for Intl support for direct CMake use and set its
default to `ON`. Add another explicit option for ICU include path
(default to empty), also only under direct CMake. Make sure Intl setting
does not get overridden.

By default, direct CMake build would not set any explicit ICU options
(aside of declaring a placeholder for its include path), which means it
would be looking for system ICU. Embedding ICU from CMake is not
supported yet, but can be easily done in the future.

Move DbgController.js.h generation to CMake, make that step conditional
on whether dependencies have changed.

Add testing under control of CMake. Invoking `check` target should
run entire test suite, producing log file in the build directory.

Make some CMake error messages slightly more informative.

Nit: build.sh - "makefiles" is inaccurate, as it supports Ninja as well.

Closes chakra-core#6417
ppenzin added a commit to ppenzin/ChakraCore that referenced this issue May 8, 2020
Add a direct mode for CMake builds. Add a CMake variable to distinguish
between `build.sh` and direct command line use -- in direct mode the
build would try to pick up reasonable system defaults. Set that variable
to OFF by default and to ON in `build.sh`.

Add explicit option for Intl support for direct CMake use and set its
default to `ON`. Add another explicit option for ICU include path
(default to empty), also only under direct CMake. Make sure Intl setting
does not get overridden.

Expose some ICU build options - embedding (default to OFF), Intl
(default to ON), and ICU include path (default to empty).

Move DbgController.js.h generation to CMake, make that step conditional
on whether dependencies have changed.

Add testing under control of CMake. Invoking `check` target should
run entire test suite, producing log file in the build directory.

Make some CMake error messages slightly more informative.

Nit: build.sh - "makefiles" is inaccurate, as it supports Ninja as well.

Closes chakra-core#6417
ppenzin added a commit to ppenzin/ChakraCore that referenced this issue May 9, 2020
Add a direct mode for CMake builds. Add a CMake variable to distinguish
between `build.sh` and direct command line use -- in direct mode the
build would try to pick up reasonable system defaults. Set that variable
to OFF by default and to ON in `build.sh`.

Add explicit option for Intl support for direct CMake use and set its
default to `ON`. Add another explicit option for ICU include path
(default to empty), also only under direct CMake. Make sure Intl setting
does not get overridden.

Expose some ICU build options - embedding (default to OFF), Intl
(default to ON), and ICU include path (default to empty).

Move DbgController.js.h generation to CMake, make that step conditional
on whether dependencies have changed.

Add testing under control of CMake. Invoking `check` target should
run entire test suite, producing log file in the build directory.
Exclude tests dependent on ICU for non-ICU builds.

Make some CMake error messages slightly more informative.

Nit: build.sh - "makefiles" is inaccurate, as it supports Ninja as well.

Closes chakra-core#6417
ppenzin added a commit to ppenzin/ChakraCore that referenced this issue May 12, 2020
Add a direct mode for CMake builds. Add a CMake variable to distinguish
between `build.sh` and direct command line use -- in direct mode the
build would try to pick up reasonable system defaults. Set that variable
to OFF by default and to ON in `build.sh`.

Add explicit option for Intl support for direct CMake use and set its
default to `ON`. Add another explicit option for ICU include path
(default to empty), also only under direct CMake. Make sure Intl setting
does not get overridden.

Expose some ICU build options - embedding (default to OFF), Intl
(default to ON), and ICU include path (default to empty).

Move DbgController.js.h generation to CMake, make that step conditional
on whether dependencies have changed.

Add testing under control of CMake. Invoking `check` target should
run entire test suite, producing log file in the build directory.
Exclude tests dependent on ICU for non-ICU builds.

Make some CMake error messages slightly more informative.

Nit: build.sh - "makefiles" is inaccurate, as it supports Ninja as well.

Closes chakra-core#6417
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant