Граф коммитов

46 Коммитов

Автор SHA1 Сообщение Дата
Tom Finegan 67b5a30ddd Support CONFIG_ANALYZER in the cmake build.
- Use the FindwxWidgets (the cmake module) to detect library
  flags and handle include paths.
- Update target to link in the libs located by FindwxWidgets.
- Enable CONFIG_INSPECTION and warn at generation time when it's
  not present and CONFIG_ANALYZER is enabled.

BUG=https://bugs.chromium.org/p/aomedia/issues/detail?id=76

Change-Id: Ica949107d199af9d8241ca639cc27753d4a30dfc
2017-03-10 16:29:16 +00:00
Nathan E. Egge 1a0d5ea03e Add analyzer to build system.
Change-Id: I93da53eae42d91419cc5bb4d55e7ce87eadd2551
2017-03-09 19:50:56 +00:00
Michael Bebenita f4f27feb75 Add inspect CLI tool and Emscripten build tools.
Change-Id: Id9159456084582b393c66c1b2c0bbb0a783350b0
2017-03-07 16:57:44 +00:00
Tom Finegan 606f646edd Handle pthreads correctly in the cmake build.
BUG=https://bugs.chromium.org/p/aomedia/issues/detail?id=374

Change-Id: I03ee53cd36b2630eac3f6114e526953596ff3504
2017-03-06 20:29:09 +00:00
Tom Finegan 03e80211f0 Set cmake minimum version to that which is really required.
The use of target_sources in combination with generator expressions
is not supported before v3.5. Set min required version to v3.5.

BUG=https://bugs.chromium.org/p/aomedia/issues/detail?id=76

Change-Id: Ifa1ea25e17ac58d631436c31ab9d4d9231e689f2
2017-03-03 17:00:22 +00:00
Tom Finegan b7d025400d Move aom_util cmake commands to aom_util/aom_util.cmake.
Also adds CONFIG_BITSTREAM_DEBUG support (because it was in
aom_util/aom_util.mk, and that's partly the guidance here).

BUG=https://bugs.chromium.org/p/aomedia/issues/detail?id=76

Change-Id: I971b4025e345fd7d6d766526059f74d8b6ff2ebd
2017-03-02 22:09:03 -08:00
Tom Finegan f0d1444f98 Move aom_scale cmake commands to aom_scale/aom_scale.cmake.
Also, add TODO for rtcd target setup.

BUG=https://bugs.chromium.org/p/aomedia/issues/detail?id=76

Change-Id: Ib2e4ecb30f0d2ce9b538986efdb1ac3117bd59df
2017-03-03 06:04:20 +00:00
Tom Finegan 507e2e1b12 Move aom_ports build commands into aom_ports/aom_ports.cmake.
- Stop abuse of the aom_util target to expose aom_ports includes
  to IDEs.
- Create aom_ports target only on appropriate platforms.
- Otherwise add the include only sources to the libaom target (aka abuse
  the libaom target instead of the aom_util target).

BUG=https://bugs.chromium.org/p/aomedia/issues/detail?id=76

Change-Id: I82a27a0fc2d6ab13ea273726a4777e21ebdbd247
2017-03-03 06:04:04 +00:00
Tom Finegan dd6d0574ca Move aom_mem build commands into aom_mem/aom_mem.cmake.
BUG=https://bugs.chromium.org/p/aomedia/issues/detail?id=76

Change-Id: Ic9072ba53bc7b0b13b227a576ca3d4a691926385
2017-03-03 06:03:38 +00:00
Tom Finegan 44916e7e87 Move av1 cmake support into av1/av1.cmake.
BUG=https://bugs.chromium.org/p/aomedia/issues/detail?id=76

Change-Id: Id5b5d42199897c441549eb2115a4443e93f1989b
2017-03-01 15:24:50 +00:00
Tom Finegan 188880b69f Remove test support from aom_dsp.cmake.
Removes a dupe. The CONFIG_MOTION_VAR testing support exists
in test/test.cmake.

- Remove the source file references.
- Remove setup_aom_dsp_test_targets().

Change-Id: Ifa034582223641d6d89a3274ff293c1e65cbb73d
2017-03-01 15:24:05 +00:00
Tom Finegan 4db04d3678 Move cmake build setup for testing into test/test.cmake.
- Move source list vars.
- Split source list vars into common/decoder/encoder sources.
- Move target definitions into function.
- Split targets into common/decoder/encoder targets.
- Update CMakeLists.txt to include test.cmake and call
  setup_aom_test_targets() at the appropriate time.

BUG=https://bugs.chromium.org/p/aomedia/issues/detail?id=76

Change-Id: Icd9ce67593c2de7ebd5c8ef921e31517b6d20945
2017-02-27 12:06:40 -08:00
Tom Finegan 1d848474ff Make updates to aom app targets in cmake additive.
Don't smash the value when assigning in CMakeLists.txt in
case the list needs an update from elsewhere in the build.

Change-Id: Icf1720f6bb4508e6a557c16dc229170f82d740b9
2017-02-24 14:22:00 -08:00
Tom Finegan 85ac13e4b2 Move aom_dsp cmake stuff into aom_dsp/aom_dsp.cmake.
- Move source list vars.
- Split source list vars into common/decoder/encoder sources.
- Move target definitions into function.
- Split targets into common/decoder/encoder targets.
- Update CMakeLists.txt to include aom_dsp.cmake and call
  setup_aom_dsp_targets() at the appropriate time.

BUG=https://bugs.chromium.org/p/aomedia/issues/detail?id=76

Change-Id: I434d2e76b04cbccdbdcec7ca818b36b8ee1f840e
2017-02-23 16:42:03 +00:00
Jean-Marc Valin 0143513080 Merging the dering and clpf experiments into a single experiment: CDEF
The result is identical to enabling both deringing and CLPF

Change-Id: I71db5ba9e21fcaf11ad87e94841eaf80be58c0a8
2017-02-18 21:30:54 +00:00
Tom Finegan 1ba9bd89d7 Add MSVC win32 support to the cmake build.
BUG=https://bugs.chromium.org/p/aomedia/issues/detail?id=76

Change-Id: I3179fe9ec45ff1aab06cc8828d2bb34c141cca55
2017-02-15 17:58:31 +00:00
Tom Finegan 87fdc289d4 Add MSVC support to the cmake build.
BUG=https://bugs.chromium.org/p/aomedia/issues/detail?id=76

Change-Id: Iced0b69e669aa39ff33a6ffa1dfc804d7ec9345f
2017-02-14 17:49:46 +00:00
Tom Finegan a7ed143aa6 Remove RTCD sources from cmake targets other than aom_rtcd.
Change-Id: I1f715581e801f098097b44000d8e200a7d50f016
2017-02-13 10:14:35 -08:00
Tom Finegan e0157bc80b Add CONFIG_MOTION_VAR support to the cmake build.
BUG=https://bugs.chromium.org/p/aomedia/issues/detail?id=76

Change-Id: I196e343c25e31caffc214f609e5a2f7703b1202e
2017-02-13 10:14:25 -08:00
Tom Finegan 5cc19c231b Add CONFIG_EXT_INTER support to the cmake build.
BUG=https://bugs.chromium.org/p/aomedia/issues/detail?id=76

Change-Id: Ieec0ba8a7a6aec87a531a3daea09591034bb6d0f
2017-02-13 10:14:10 -08:00
Tom Finegan 64e8537ec5 Add CONFIG_ANS support to the cmake build.
BUG=https://bugs.chromium.org/p/aomedia/issues/detail?id=76

Change-Id: I917896f377ce16bc7035311c3ecc2a6a3414b93c
2017-02-13 10:14:00 -08:00
Tom Finegan e0abcb82f1 Add CONFIG_ACCOUNTING support to the cmake build.
BUG=https://bugs.chromium.org/p/aomedia/issues/detail?id=76

Change-Id: Ia60540f27e2e3d286528f5be3e3d7044e3f615d1
2017-02-13 10:13:49 -08:00
Tom Finegan 3e24dc5855 Add CONFIG_CLPF support to the cmake build.
BUG=https://bugs.chromium.org/p/aomedia/issues/detail?id=76

Change-Id: I6fa298e6b9dd6b40bd2322a1b78c79d35a34fa93
2017-02-13 18:11:22 +00:00
Tom Finegan 7a07ece23b Include googletest cmake support.
- Same googletest release (v1.8.0), new root in third_party.
- Update Android.mk and make build (include and file locations).
- Update cmake build (use googletest's cmake support).
- Update gtest include in all tests.

BUG=https://bugs.chromium.org/p/aomedia/issues/detail?id=76

Change-Id: I5491a2ff3c8869263cd885872c815402236c20b1
2017-02-13 18:11:11 +00:00
Tom Finegan 17ce8b170f Remove file base name collisions.
Change-Id: I1bf9002c159563d0e5238b26d1515ef305d416dc
2017-02-13 18:07:27 +00:00
Tom Finegan 0115691e3b Add CONFIG_INTERNAL_STATS support to the cmake build.
Includes CONFIG_AOM_HIGHBITDEPTH support for same.

BUG=https://bugs.chromium.org/p/aomedia/issues/detail?id=76

Change-Id: I99893c8c3c7e163383f7297d0df777c9c21822fd
2017-02-07 08:53:33 -08:00
Tom Finegan 633b9539cd Add high bit depth support to the cmake build.
BUG=https://bugs.chromium.org/p/aomedia/issues/detail?id=76

Change-Id: Ibb5564989bd02cf3fec7b8e1d61d2dee1a96c42d
2017-02-07 16:33:58 +00:00
Tom Finegan ce4bcebed2 Fix cmake test_libaom build with CONFIG_AOM_HIGHBITDEPTH enabled.
- Comment out the sources that require CONFIG_MOTION_VAR.
- Add missing preproc wrap at the sites in test sources that
  require CONFIG_MOTION_VAR.

Change-Id: I703c2bfd829a579793ad55ae713973d327354473
2017-02-07 16:33:48 +00:00
Tom Finegan 263b39b873 Fix gtest build in cmake.
Change-Id: Ic6a99b82e92f8512bdd40d002aa6b904b768ae9a
2017-02-03 08:29:29 -08:00
Tom Finegan a488727fcf Remove CONFIG_AV1_TEMPORAL_DENOISING.
Clean up. Remove dead experiment/whatever.

Change-Id: I03cae9c9240e917595aa4a38b1d6d29a2ec19115
2017-02-03 08:21:21 -08:00
Tom Finegan e0578d1e93 Enable build of some sse2, ssse3, and sse4.1 tests via cmake.
Applies only to the tests that require only the presence of
compiler support. Tests that require an instrinsic flag and an
enabled experiment not included.

BUG=https://bugs.chromium.org/p/aomedia/issues/detail?id=76

Change-Id: I1ba6ee80cadc3064068db04c15caf8cc2384ab3b
2017-02-03 08:20:33 -08:00
Tom Finegan 9412ec39ed Enable use of the Xcode IDE via cmake.
Xcode needs special handling when an executable target contains
no C++ sources, but links C++ dependencies.

BUG=https://bugs.chromium.org/p/aomedia/issues/detail?id=76

Change-Id: Ifd4f6208c8f96386194691d45279df1e70a8fc17
2017-02-03 16:15:08 +00:00
Tom Finegan 81279803a1 Add cmake app targets to a list variable.
Allows for looping over app targets when all targets need
the same update.

BUG=https://bugs.chromium.org/p/aomedia/issues/detail?id=76

Change-Id: If9e3f6ab50f06c8c26104942455e6bbfac485cb1
2017-02-03 16:14:59 +00:00
Tom Finegan a0c21f0455 Fix RTCD dependency problems in cmake make build.
Fixes make clean && make runs (single and multi job) via addition of
new target aom_rtcd that all lib targets depend on. Target includes
the RTCD definition perl files, the output H files, the C files and
rtcd.pl itself.

Also,
- Adds list of lib targets (used to propagate the aom_rtcd dep)
- Use the correct symbol for av1 RTCD gen (aom_av1_rtcd -> av1_rtcd)

BUG=https://bugs.chromium.org/p/aomedia/issues/detail?id=76

Change-Id: Ia0e858220c4c2877c6e5f5ffed853be15c6cd711
2017-02-03 16:14:41 +00:00
Tom Finegan 50c5a7e9af Add support for x86_64 assembly and intrinsics to the cmake build.
Darwin/Linux x86_64 only.

BUG=https://bugs.chromium.org/p/aomedia/issues/detail?id=76

Change-Id: I1500c085f26066ac0108017b5155aba0f003427c
2017-02-02 09:58:33 -08:00
Tom Finegan 0d3aeda300 Remove unused assembly sources and associated tests.
Change-Id: Ic8386743b1852ca1074528d04e2adc1d191b091b
2017-02-02 17:48:17 +00:00
Tom Finegan 7ba9ba80f0 Add test support to the cmake build.
BUG=https://bugs.chromium.org/p/aomedia/issues/detail?id=76

Change-Id: I713c8743a0a4fde4bfc860a5c2d73d53dd9645d9
2017-01-24 00:02:53 +00:00
Tom Finegan a89fe0e2fe Add support for aomdec and aomenc to the cmake build.
BUG=https://bugs.chromium.org/p/aomedia/issues/detail?id=76

Change-Id: I762c7b8506833689e9bc356c4205840d4ee15cc8
2017-01-20 00:35:35 +00:00
Tom Finegan 5b29d8de99 Fix cmake build.
Add CONFIG_UNPOISON_PARTITION_CTX to cmake configuration. Also, remove
deleted file from CMakeLists.txt.

BUG=https://bugs.chromium.org/p/aomedia/issues/detail?id=76

Change-Id: Ic26c19c0a12d638eebe94fd1eecda4a3e6c85bfc
2017-01-19 23:30:47 +00:00
Tom Finegan 9cd9700d0f cmake: Add libyuv support
BUG=https://bugs.chromium.org/p/aomedia/issues/detail?id=76

Change-Id: I4fb81e606eb995951bd097c1746d1dea76718189
2016-11-11 16:04:42 +00:00
Tom Finegan 957fe82bc5 cmake: Add libwebm support.
BUG=https://bugs.chromium.org/p/aomedia/issues/detail?id=76

Change-Id: I91c0d86902e3ece290b3b23ba104df426cab51a6
2016-11-11 16:04:24 +00:00
Tom Finegan 03f6ca7664 cmake: Hook up example executable targets.
- Add object libraries for util sources shared by the examples.
- Excludes aomdec/aomenc.

BUG=https://bugs.chromium.org/p/aomedia/issues/detail?id=76

Change-Id: Ica3758c25e3c735ea6f12317a6e93cd657550a35
2016-11-11 16:01:25 +00:00
Tom Finegan 6e9d0c150d cmake: Add RTCD generation.
Generic only.

BUG=https://bugs.chromium.org/p/aomedia/issues/detail?id=76

Change-Id: Ic4e3119be7febec5428a3b5f915a885745c2a36d
2016-11-10 20:37:20 +00:00
Tom Finegan 23b120db22 cmake: Update source lists.
Update source file lists to stay in sync with the rest of aom.

BUG=https://bugs.chromium.org/p/aomedia/issues/detail?id=76

Change-Id: Ief04b0d96949719bc6ff9ff10686f5f34c4d742c
2016-11-09 20:35:01 +00:00
Tom Finegan 973d4d56fa cmake: Add partial configure.
- Add minimal compiler flag testing.
- Generate aom_config.c and aom_config.h. Note: hard coded
  to generic-gnu values for now.
- Still a work in progress. This will not build anything.

BUG=https://bugs.chromium.org/p/aomedia/issues/detail?id=76

Change-Id: Id65b42ea9f4c4f744d788660e2de7234886ce039
2016-11-08 01:51:12 +00:00
Tom Finegan fc6f23647d cmake support: A starting point.
Start adding cmake build support. This is based on the generic-gnu
target and will not build anything. It simply produces a project file
(when generating for a IDE) that can be loaded and that allows for
interaction with (most of) the aom sources used in a generic-gnu
build.

Notable missing pieces:
- flag testing
- config generation
- experiment configuration
- enable/disable encoder/decoder
- aomenc/aomdec
- all third party library build integration
- all tests

Change-Id: Iaeda0b03d58591a26a8fb54f63a2aa3b5354e3a6
2016-10-31 16:46:05 -07:00