[cmake] Make build of tests and subset optional (#1329)

This commit is contained in:
Ebrahim Byagowi 2018-10-30 10:19:40 +03:30 committed by GitHub
parent b186274362
commit 1b7bfb5e18
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 7 additions and 14 deletions

View File

@ -37,7 +37,7 @@ jobs:
# not needed to be a framework but we like to test that also # not needed to be a framework but we like to test that also
# TODO: wrong way of targeting iOS as it doesn't point to iOS headers thus building # TODO: wrong way of targeting iOS as it doesn't point to iOS headers thus building
# CoreText support is not possible, after the fix feel free HB_IOS from CMake altogether # CoreText support is not possible, after the fix feel free HB_IOS from CMake altogether
- run: cmake -DBUILD_FRAMEWORK=ON -H. -Bbuild -GXcode -DHB_IOS=ON - run: cmake -DBUILD_FRAMEWORK=ON -H. -Bbuild -GXcode -DHB_HAVE_CORETEXT=OFF -DHB_BUILD_SUBSET=OFF -DHB_BUILD_TESTS=OFF
- run: cd build && xcodebuild -sdk iphoneos12.0 -configuration Release build -arch arm64 - run: cd build && xcodebuild -sdk iphoneos12.0 -configuration Release build -arch arm64
distcheck: distcheck:

View File

@ -52,6 +52,9 @@ if (HB_BUILD_UTILS)
set (HB_HAVE_FREETYPE ON) set (HB_HAVE_FREETYPE ON)
endif () endif ()
option(HB_BUILD_SUBSET "Build harfbuzz-subset" ON)
option(HB_BUILD_TESTS "Build harfbuzz tests" ON)
option(HB_HAVE_GOBJECT "Enable GObject Bindings" OFF) option(HB_HAVE_GOBJECT "Enable GObject Bindings" OFF)
if (HB_HAVE_GOBJECT) if (HB_HAVE_GOBJECT)
set (HB_HAVE_GLIB ON) set (HB_HAVE_GLIB ON)
@ -82,16 +85,6 @@ if (HB_CHECK)
endif () endif ()
endif () endif ()
set (HB_DISABLE_SUBSET OFF)
set (HB_DISABLE_TESTS OFF)
option(HB_IOS "Apply iOS specific build flags" OFF)
if (HB_IOS)
# We should fix their issue and enable them
set (HB_DISABLE_SUBSET ON)
set (HB_DISABLE_TESTS ON)
set (HB_HAVE_CORETEXT OFF)
endif ()
include_directories(AFTER include_directories(AFTER
${PROJECT_SOURCE_DIR}/src ${PROJECT_SOURCE_DIR}/src
${PROJECT_BINARY_DIR}/src ${PROJECT_BINARY_DIR}/src
@ -556,7 +549,7 @@ add_library(harfbuzz ${project_sources} ${project_extra_sources} ${project_heade
target_link_libraries(harfbuzz ${THIRD_PARTY_LIBS}) target_link_libraries(harfbuzz ${THIRD_PARTY_LIBS})
## Define harfbuzz-subset library ## Define harfbuzz-subset library
if (NOT HB_DISABLE_SUBSET) if (HB_BUILD_SUBSET)
add_library(harfbuzz-subset ${subset_project_sources} ${subset_project_headers}) add_library(harfbuzz-subset ${subset_project_sources} ${subset_project_headers})
add_dependencies(harfbuzz-subset harfbuzz) add_dependencies(harfbuzz-subset harfbuzz)
target_link_libraries(harfbuzz-subset harfbuzz ${THIRD_PARTY_LIBS}) target_link_libraries(harfbuzz-subset harfbuzz ${THIRD_PARTY_LIBS})
@ -580,7 +573,7 @@ if (UNIX OR MINGW)
set (CMAKE_CXX_IMPLICIT_LINK_LIBRARIES "m") # libm set (CMAKE_CXX_IMPLICIT_LINK_LIBRARIES "m") # libm
set (CMAKE_CXX_IMPLICIT_LINK_DIRECTORIES "") set (CMAKE_CXX_IMPLICIT_LINK_DIRECTORIES "")
set_target_properties(harfbuzz PROPERTIES LINKER_LANGUAGE C) set_target_properties(harfbuzz PROPERTIES LINKER_LANGUAGE C)
if (NOT HB_DISABLE_SUBSET) if (HB_BUILD_SUBSET)
set_target_properties(harfbuzz-subset PROPERTIES LINKER_LANGUAGE C) set_target_properties(harfbuzz-subset PROPERTIES LINKER_LANGUAGE C)
endif () endif ()
@ -861,7 +854,7 @@ if (UNIX AND CMAKE_GENERATOR STREQUAL "Ninja")
endif () endif ()
if (NOT HB_DISABLE_TESTS) if (HB_BUILD_TESTS)
## src/ executables ## src/ executables
foreach (prog main test test-would-substitute test-size-params test-buffer-serialize hb-ot-tag test-unicode-ranges) foreach (prog main test test-would-substitute test-size-params test-buffer-serialize hb-ot-tag test-unicode-ranges)
set (prog_name ${prog}) set (prog_name ${prog})