mirror of
https://github.com/shaka-project/shaka-packager.git
synced 2024-10-22 07:44:56 +00:00
84009d82ef
They can still be skipped by passing `-DSKIP_INTEGRATION_TESTS=ON` for the build configuration. Fix integration tests so they run correctly when building out of tree. Use FindPython3 in CMake to fix build and integration tests on Windows.
46 lines
1.9 KiB
CMake
46 lines
1.9 KiB
CMake
# Copyright 2023 Google LLC. All rights reserved.
|
|
#
|
|
# Use of this source code is governed by a BSD-style
|
|
# license that can be found in the LICENSE file or at
|
|
# https://developers.google.com/open-source/licenses/bsd
|
|
|
|
# If we're building a shared library, make sure it works. We only do this for
|
|
# a shared library because the static library won't wrap the third-party
|
|
# dependencies like absl.
|
|
if(BUILD_SHARED_LIBS)
|
|
# Install the library and headers to a temporary location.
|
|
set(TEST_INSTALL_DIR ${CMAKE_BINARY_DIR}/test-install)
|
|
|
|
# Custom commands aren't targets, but have outputs.
|
|
add_custom_command(
|
|
DEPENDS mpd_generator packager libpackager pssh_box_py
|
|
WORKING_DIRECTORY ${CMAKE_BINARY_DIR}
|
|
OUTPUT ${TEST_INSTALL_DIR}
|
|
COMMAND
|
|
${CMAKE_COMMAND} --install . --prefix ${TEST_INSTALL_DIR} --config "$<CONFIG>")
|
|
|
|
# Custom targets with commands run every time, no matter what. A custom
|
|
# target with no command, but which depends on a custom command's output,
|
|
# gets us something that acts like a real target and doesn't re-run every
|
|
# time.
|
|
add_custom_target(test-install ALL DEPENDS ${TEST_INSTALL_DIR})
|
|
|
|
# Then try to build a very simplistic test app to prove that we can include
|
|
# the headers and link the library.
|
|
add_executable(packager_link_test test.cc)
|
|
|
|
# Both of these are needed. The first is a basic dependency to make sure
|
|
# test-install runs first, whereas the second treats test.cc as dirty if
|
|
# test-install runs again.
|
|
add_dependencies(packager_link_test test-install)
|
|
set_source_files_properties(test.cc PROPERTIES OBJECT_DEPENDS ${TEST_INSTALL_DIR})
|
|
|
|
target_link_directories(packager_link_test PRIVATE ${TEST_INSTALL_DIR}/lib)
|
|
target_include_directories(packager_link_test PRIVATE ${TEST_INSTALL_DIR}/include)
|
|
if(NOT MSVC)
|
|
target_link_libraries(packager_link_test -lpackager)
|
|
else()
|
|
target_link_libraries(packager_link_test ${TEST_INSTALL_DIR}/lib/libpackager.lib)
|
|
endif()
|
|
endif()
|