.circleci/config.yml | 2 - CMakeLists.txt | 60 +++++++++++++++++++++++++++++++++------------------ util/options.cc | 2 - 3 files changed, 41 insertions(+), 23 deletions(-)
New commits: commit 4c4a9fc8617fed9bc1a7805c9aed294b4f6b66ea Author: Behdad Esfahbod <beh...@behdad.org> Date: Wed Jan 17 09:47:50 2018 -0800 Typo Fixes https://github.com/harfbuzz/harfbuzz/issues/711 diff --git a/util/options.cc b/util/options.cc index f4ac445f..d9486f8a 100644 --- a/util/options.cc +++ b/util/options.cc @@ -546,7 +546,7 @@ font_options_t::add_options (option_parser_t *parser) }; parser->add_group (entries2, "variations", - "Varitions options:", + "Variations options:", "Options for font variations used", this); } commit 90f01bad637c8b1214f46d4df6d9552a6a728e29 Author: Ebrahim Byagowi <ebra...@gnu.org> Date: Tue Jan 16 22:00:21 2018 +0330 [cmake] don't link to libstdc++ (#707) diff --git a/CMakeLists.txt b/CMakeLists.txt index 9c4b0f09..d75bb58c 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -519,6 +519,19 @@ endif () add_library(harfbuzz ${project_sources} ${project_extra_sources} ${project_headers}) target_link_libraries(harfbuzz ${THIRD_PARTY_LIBS}) +if (UNIX OR MINGW) + # Make symbols link locally + link_libraries(-Bsymbolic-functions) + + # Make sure we don't link to libstdc++ + set (CMAKE_CXX_FLAGS "-fno-rtti -fno-exceptions ${CMAKE_CXX_FLAGS}") + if (NOT APPLE) + set (CMAKE_CXX_IMPLICIT_LINK_LIBRARIES "") + set (CMAKE_CXX_IMPLICIT_LINK_DIRECTORIES "") + set_target_properties(harfbuzz PROPERTIES LINKER_LANGUAGE C) + endif () +endif () + ## Define harfbuzz-gobject library if (HB_HAVE_GOBJECT) @@ -767,34 +780,33 @@ endif () ## Tests -if (UNIX) +if (UNIX OR MINGW) if (BUILD_SHARED_LIBS) # does some "make" stuff inside #add_test(NAME check-defs.sh COMMAND ${PROJECT_SOURCE_DIR}/src/check-defs.sh) - #add_test(NAME check-libstdc++.sh COMMAND ${PROJECT_SOURCE_DIR}/src/check-libstdc++.sh) - #set_tests_properties(check-defs.sh check-libstdc++.sh PROPERTIES ENVIRONMENT "libs=.") + #set_tests_properties(check-defs.sh PROPERTIES ENVIRONMENT "libs=.") add_test(NAME check-symbols.sh COMMAND ${PROJECT_SOURCE_DIR}/src/check-symbols.sh) set_tests_properties(check-symbols.sh PROPERTIES ENVIRONMENT "libs=.") if (NOT APPLE) + add_test(NAME check-libstdc++.sh COMMAND ${PROJECT_SOURCE_DIR}/src/check-libstdc++.sh) add_test(NAME check-static-inits.sh COMMAND ${PROJECT_SOURCE_DIR}/src/check-static-inits.sh WORKING_DIRECTORY ${PROJECT_BINARY_DIR}/CMakeFiles/harfbuzz.dir/src # ugly hack ) - set_tests_properties(check-static-inits.sh PROPERTIES ENVIRONMENT "libs=.") + set_tests_properties(check-libstdc++.sh check-static-inits.sh + PROPERTIES ENVIRONMENT "libs=.") endif () - else () - message(WARN "Enable BUILD_SHARED_LIBS for more tests.") - endif () - - if (IN_HB_DIST) - add_test(NAME check-c-linkage-decls.sh COMMAND ./check-c-linkage-decls.sh WORKING_DIRECTORY ${PROJECT_SOURCE_DIR}/src) - add_test(NAME check-header-guards.sh COMMAND ./check-header-guards.sh WORKING_DIRECTORY ${PROJECT_SOURCE_DIR}/src) endif () - add_test(NAME check-externs.sh COMMAND ./check-externs.sh WORKING_DIRECTORY ${PROJECT_SOURCE_DIR}/src) - add_test(NAME check-includes.sh COMMAND ./check-includes.sh WORKING_DIRECTORY ${PROJECT_SOURCE_DIR}/src) + add_test(NAME check-c-linkage-decls.sh COMMAND ./check-c-linkage-decls.sh) + add_test(NAME check-header-guards.sh COMMAND ./check-header-guards.sh) + add_test(NAME check-externs.sh COMMAND ./check-externs.sh) + add_test(NAME check-includes.sh COMMAND ./check-includes.sh) + set_tests_properties( + check-c-linkage-decls.sh check-header-guards.sh check-externs.sh check-includes.sh + PROPERTIES WORKING_DIRECTORY ${PROJECT_SOURCE_DIR}/src) endif () # Needs to come last so that variables defined above are passed to commit 5e14e5f65d3dd1ed471ed73fab7e3207ae04e8fb Author: rdb <r...@users.noreply.github.com> Date: Tue Jan 16 17:04:33 2018 +0100 [cmake] Fix for CMake 3.0 and below (#706) diff --git a/CMakeLists.txt b/CMakeLists.txt index f8391d5f..9c4b0f09 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -493,7 +493,7 @@ file(WRITE "${PROJECT_BINARY_DIR}/try_compile_intel_atomic_primitives.c" ") try_compile(HB_HAVE_INTEL_ATOMIC_PRIMITIVES ${PROJECT_BINARY_DIR}/try_compile_intel_atomic_primitives - SOURCES ${PROJECT_BINARY_DIR}/try_compile_intel_atomic_primitives.c) + ${PROJECT_BINARY_DIR}/try_compile_intel_atomic_primitives.c) if (HB_HAVE_INTEL_ATOMIC_PRIMITIVES) add_definitions(-DHAVE_INTEL_ATOMIC_PRIMITIVES) endif () @@ -509,7 +509,7 @@ file(WRITE "${PROJECT_BINARY_DIR}/try_compile_solaris_atomic_ops.c" ") try_compile(HB_HAVE_SOLARIS_ATOMIC_OPS ${PROJECT_BINARY_DIR}/try_compile_solaris_atomic_ops - SOURCES ${PROJECT_BINARY_DIR}/try_compile_solaris_atomic_ops.c) + ${PROJECT_BINARY_DIR}/try_compile_solaris_atomic_ops.c) if (HB_HAVE_SOLARIS_ATOMIC_OPS) add_definitions(-DHAVE_SOLARIS_ATOMIC_OPS) endif () @@ -799,4 +799,4 @@ endif () # Needs to come last so that variables defined above are passed to # subdirectories. -add_subdirectory(test) \ No newline at end of file +add_subdirectory(test) commit c97a7eca7f7b6fc1c50a4ac7fccf3fa2d777430e Author: Ebrahim Byagowi <ebra...@gnu.org> Date: Tue Jan 16 14:18:09 2018 +0330 [cmake] Fix symbols visibility and enable check-symbols.sh test (#705) diff --git a/.circleci/config.yml b/.circleci/config.yml index 6f9a5c42..cd54b659 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -44,7 +44,7 @@ jobs: steps: - checkout - run: apt update && apt install -y pkg-config ragel gtk-doc-tools libfreetype6-dev libglib2.0-dev libcairo2-dev libicu-dev libgraphite2-dev - - run: cmake -DHB_HAVE_FREETYPE=ON -DHB_HAVE_GRAPHITE2=ON -DHB_BUILTIN_UCDN=ON -DHB_HAVE_GLIB=ON -DHB_HAVE_ICU=ON -DHB_BUILD_UTILS=ON -Bbuild -H. -GNinja + - run: cmake -DHB_CHECK=ON -Bbuild -H. -GNinja - run: ninja -Cbuild - run: CTEST_OUTPUT_ON_FAILURE=1 ninja -Cbuild test - run: ninja -Cbuild install diff --git a/CMakeLists.txt b/CMakeLists.txt index 4d52668b..f8391d5f 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -5,7 +5,8 @@ enable_testing() ## Limit framework build to Xcode generator if (BUILD_FRAMEWORK) - # for a framework on macOS, use `cmake .. -DBUILD_FRAMEWORK:BOOL=true -G Xcode` + # for a framework build on macOS, use: + # cmake -DBUILD_FRAMEWORK=ON -Bbuild -H. -GXcode && cmake --build build if (NOT "${CMAKE_GENERATOR}" STREQUAL "Xcode") message(FATAL_ERROR "You should use Xcode generator with BUILD_FRAMEWORK enabled") @@ -121,8 +122,14 @@ if (MSVC) add_definitions(-wd4244 -wd4267 -D_CRT_SECURE_NO_WARNINGS -D_CRT_NONSTDC_NO_WARNINGS) endif () -if (WIN32 AND NOT MINGW AND BUILD_SHARED_LIBS) - add_definitions("-DHB_EXTERN=__declspec(dllexport) extern") +if (BUILD_SHARED_LIBS) + if (WIN32 AND NOT MINGW) + add_definitions("-DHB_EXTERN=__declspec(dllexport) extern") + else () + set (CMAKE_CXX_FLAGS "-fvisibility=hidden ${CMAKE_CXX_FLAGS}") + set (CMAKE_C_FLAGS "-fvisibility=hidden ${CMAKE_CXX_FLAGS}") + add_definitions("-DHB_EXTERN=__attribute__((visibility(\"default\"))) extern") + endif () endif () @@ -764,12 +771,11 @@ if (UNIX) if (BUILD_SHARED_LIBS) # does some "make" stuff inside #add_test(NAME check-defs.sh COMMAND ${PROJECT_SOURCE_DIR}/src/check-defs.sh) - #set_tests_properties(check-defs.sh PROPERTIES ENVIRONMENT "libs=.") - - # broken on cmake builds right now :( - #add_test(NAME check-symbols.sh COMMAND ${PROJECT_SOURCE_DIR}/src/check-symbols.sh) #add_test(NAME check-libstdc++.sh COMMAND ${PROJECT_SOURCE_DIR}/src/check-libstdc++.sh) - #set_tests_properties(check-symbols.sh check-libstdc++.sh PROPERTIES ENVIRONMENT "libs=.") + #set_tests_properties(check-defs.sh check-libstdc++.sh PROPERTIES ENVIRONMENT "libs=.") + + add_test(NAME check-symbols.sh COMMAND ${PROJECT_SOURCE_DIR}/src/check-symbols.sh) + set_tests_properties(check-symbols.sh PROPERTIES ENVIRONMENT "libs=.") if (NOT APPLE) add_test(NAME check-static-inits.sh _______________________________________________ HarfBuzz mailing list HarfBuzz@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/harfbuzz