diff options
author | Haibo Huang <hhb@google.com> | 2020-02-28 20:02:01 -0800 |
---|---|---|
committer | Haibo Huang <hhb@google.com> | 2020-03-02 18:34:25 +0000 |
commit | eb3a81852f0f032c84257370fd09d12c367d41d6 (patch) | |
tree | f56353e5bc9dfd71f752322818427e530092ea96 | |
parent | 020442632ec1b453961c944f9cefaa2e5b5109e2 (diff) | |
download | ndk-eb3a81852f0f032c84257370fd09d12c367d41d6.tar.gz |
Specify cmake and ninja paths
New cmake will not come with ninja.
Also fix a test. The new cmake does not allow a target with no source
file.
Exempt-From-Owner-Approval: Fixes two more tests
Change-Id: Id091b49670ac888e1a724f9f60398c164596a5f6
-rw-r--r-- | ndk/test/types.py | 30 | ||||
-rw-r--r-- | tests/build/build-assembly-file/CMakeLists.txt | 8 | ||||
-rw-r--r-- | tests/build/build-mode-cmake/CMakeLists.txt | 6 |
3 files changed, 10 insertions, 34 deletions
diff --git a/ndk/test/types.py b/ndk/test/types.py index 92c4a4fb6..f7b8944e0 100644 --- a/ndk/test/types.py +++ b/ndk/test/types.py @@ -398,32 +398,10 @@ def _run_cmake_build_test(test: CMakeBuildTest, obj_dir: str, dist_dir: str, # Add prebuilts to PATH. prebuilts_host_tag = ndk.hosts.get_default_host().value + '-x86' - prebuilts_bin = ndk.paths.android_path( - 'prebuilts', 'cmake', prebuilts_host_tag, 'bin') - env_path = prebuilts_bin + os.pathsep + os.environ['PATH'] - - # Fail if we don't have a working cmake executable, either from the - # prebuilts, or from the SDK, or if a new enough version is installed. - cmake_bin = shutil.which('cmake', path=env_path) - if cmake_bin is None: - return Failure(test, 'cmake executable not found') - - out = subprocess.check_output([cmake_bin, '--version']).decode('utf-8') - version_pattern = r'cmake version (\d+)\.(\d+)\.' - m = re.match(version_pattern, out) - if m is None: - raise RuntimeError('Unable to determine CMake version.') - version = [int(v) for v in m.groups()] - if version < [3, 6]: - return Failure(test, 'cmake 3.6 or above required') - - # Also require a working ninja executable. - ninja_bin = shutil.which('ninja', path=env_path) - if ninja_bin is None: - return Failure(test, 'ninja executable not found') - rc, _ = ndk.ext.subprocess.call_output([ninja_bin, '--version']) - if rc != 0: - return Failure(test, 'ninja --version failed') + cmake_bin = ndk.paths.android_path( + 'prebuilts', 'cmake', prebuilts_host_tag, 'bin', 'cmake') + ninja_bin = ndk.paths.android_path( + 'prebuilts', 'ninja', prebuilts_host_tag, 'ninja') toolchain_file = os.path.join(ndk_path, 'build', 'cmake', 'android.toolchain.cmake') diff --git a/tests/build/build-assembly-file/CMakeLists.txt b/tests/build/build-assembly-file/CMakeLists.txt index bb5f55460..b7170b2f4 100644 --- a/tests/build/build-assembly-file/CMakeLists.txt +++ b/tests/build/build-assembly-file/CMakeLists.txt @@ -10,6 +10,8 @@ elseif(CMAKE_SYSTEM_PROCESSOR STREQUAL mips) set(TEST_SOURCES jni/assembly-mips.S) endif() -add_library(test_build_assembly SHARED ${TEST_SOURCES}) -# Without C or C++ files, CMake doesn't know which linker to use. -set_target_properties(test_build_assembly PROPERTIES LINKER_LANGUAGE C) +if(DEFINED TEST_SOURCES) + add_library(test_build_assembly SHARED ${TEST_SOURCES}) + # Without C or C++ files, CMake doesn't know which linker to use. + set_target_properties(test_build_assembly PROPERTIES LINKER_LANGUAGE C) +endif() diff --git a/tests/build/build-mode-cmake/CMakeLists.txt b/tests/build/build-mode-cmake/CMakeLists.txt index 4c948daa7..faa2f79ef 100644 --- a/tests/build/build-mode-cmake/CMakeLists.txt +++ b/tests/build/build-mode-cmake/CMakeLists.txt @@ -2,10 +2,6 @@ cmake_minimum_required(VERSION 3.6) include(ExternalProject) -find_program(NINJA_PATH - NAMES ninja - DOC "Path to ninja binary") - function(add_test name) cmake_parse_arguments(ARG "CHECK_NEON;CHECK_ARM;CHECK_THUMB2;CHECK_X86" @@ -21,7 +17,7 @@ function(add_test name) -DCHECK_ARM=${ARG_CHECK_ARM} -DCHECK_THUMB2=${ARG_CHECK_THUMB2} -DCHECK_X86=${ARG_CHECK_X86} - -DCMAKE_MAKE_PROGRAM=${NINJA_PATH} + -DCMAKE_MAKE_PROGRAM=${CMAKE_MAKE_PROGRAM} ) if(DEFINED ARG_NEON) list(APPEND args -DANDROID_ARM_NEON=${ARG_NEON}) |