Clang has -nostdlib++, which can be used more effectively than disabling all and then hardcoding linking against libgcc (which we do not have) --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -105,7 +105,7 @@ set_target_properties(graphite2 PROPERTIES PUBLIC_HEADER "${GRAPHITE_HEADERS}" if (${CMAKE_SYSTEM_NAME} STREQUAL "Linux") set_target_properties(graphite2 PROPERTIES COMPILE_FLAGS "-Wall -Wextra -Wno-unknown-pragmas -Wendif-labels -Wshadow -Wctor-dtor-privacy -Wnon-virtual-dtor -fno-rtti -fno-exceptions -fvisibility=hidden -fvisibility-inlines-hidden" - LINK_FLAGS "-nodefaultlibs ${GRAPHITE_LINK_FLAGS}" + LINK_FLAGS "-nostdlib++ ${GRAPHITE_LINK_FLAGS}" LINKER_LANGUAGE C) if (${CMAKE_SYSTEM_PROCESSOR} MATCHES "x86|i.86") add_definitions(-mfpmath=sse -msse2) @@ -117,19 +117,7 @@ if (${CMAKE_SYSTEM_NAME} STREQUAL "Linux") if (${CMAKE_CXX_COMPILER_ID} STREQUAL "Clang") add_definitions(-Wimplicit-fallthrough -Wshorten-64-to-32) endif() - if (${CMAKE_CXX_COMPILER} MATCHES ".*mingw.*") - target_link_libraries(graphite2 kernel32 msvcr90 mingw32 gcc user32) - else (${CMAKE_CXX_COMPILER} MATCHES ".*mingw.*") - if (GRAPHITE2_SANITIZERS) - target_link_libraries(graphite2 c gcc_s) - else () - target_link_libraries(graphite2 c gcc) - endif () - endif() include(Graphite) - if (BUILD_SHARED_LIBS) - nolib_test(stdc++ $) - endif () set(CMAKE_CXX_IMPLICIT_LINK_LIBRARIES "") CREATE_LIBTOOL_FILE(graphite2 "/lib${LIB_SUFFIX}") endif() --- a/tests/CMakeLists.txt +++ b/tests/CMakeLists.txt @@ -47,12 +47,12 @@ else (${CMAKE_SYSTEM_NAME} STREQUAL "Windows") set_target_properties(graphite2-base PROPERTIES COMPILE_FLAGS "-Wall -Wextra -Wno-class-memaccess -fno-rtti -fno-exceptions" COMPILE_DEFINITIONS "GRAPHITE2_NTRACING" - LINK_FLAGS "-nodefaultlibs ${GRAPHITE_LINK_FLAGS}" + LINK_FLAGS "-nostdlib++ ${GRAPHITE_LINK_FLAGS}" LINKER_LANGUAGE C) set_target_properties(graphite2-file PROPERTIES COMPILE_FLAGS "-Wall -Wextra -Wno-class-memaccess -fno-rtti -fno-exceptions" COMPILE_DEFINITIONS "GRAPHITE2_NTRACING${TELEMETRY}" - LINK_FLAGS "-nodefaultlibs ${GRAPHITE_LINK_FLAGS}" + LINK_FLAGS "-nostdlib++ ${GRAPHITE_LINK_FLAGS}" LINKER_LANGUAGE C) endif()