Skip to content

Commit 0786449

Browse files
committed
do not use use_custom_libcxx=true for windows
1 parent aa643b0 commit 0786449

File tree

1 file changed

+19
-16
lines changed

1 file changed

+19
-16
lines changed

CMakeLists.txt

Lines changed: 19 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,8 @@ MESSAGE("PATH = $ENV{PATH}")
4141
find_package(Git)
4242

4343
# webrtc build
44-
set (WEBRTCOBJS ${WEBRTCROOT}/src/out/${CMAKE_BUILD_TYPE}/obj)
44+
set (WEBRTCBUILD ${WEBRTCROOT}/src/out/${CMAKE_BUILD_TYPE})
45+
set (WEBRTCOBJS ${WEBRTCBUILD}/obj)
4546

4647
if (NOT EXISTS ${WEBRTCOBJS}/${CMAKE_STATIC_LIBRARY_PREFIX}webrtc${CMAKE_STATIC_LIBRARY_SUFFIX})
4748
if(GIT_FOUND)
@@ -85,7 +86,7 @@ if (NOT EXISTS ${WEBRTCOBJS}/${CMAKE_STATIC_LIBRARY_PREFIX}webrtc${CMAKE_STATIC_
8586

8687
set (WEBRTCARGS rtc_include_tests=false\nrtc_enable_protobuf=false\nrtc_build_examples=false\nrtc_build_tools=false\ntreat_warnings_as_errors=false\nenable_js_protobuf=false\nuse_glib=false\n)
8788
set (WEBRTCARGS libyuv_use_sme=false\n${WEBRTCARGS})
88-
if (CMAKE_CXX_COMPILER_ID STREQUAL "Clang")
89+
if (CMAKE_CXX_COMPILER_ID STREQUAL "Clang" AND NOT WIN32)
8990
set (WEBRTCARGS use_custom_libcxx=true\n${WEBRTCARGS})
9091
else()
9192
set (WEBRTCARGS use_custom_libcxx=false\n${WEBRTCARGS})
@@ -219,24 +220,26 @@ add_executable (${CMAKE_PROJECT_NAME} ${SOURCE} ${WEBRTCEXTRAOBJS})
219220
target_include_directories(${CMAKE_PROJECT_NAME} PRIVATE inc)
220221

221222
# webrtc
222-
if (CMAKE_CXX_COMPILER_ID STREQUAL "Clang")
223+
if (CMAKE_CXX_COMPILER_ID STREQUAL "Clang" AND NOT WIN32)
223224
message(STATUS "Using Clang: enabling libc++")
224225

225-
if (WIN32)
226-
set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -I${WEBRTCROOT}/src/buildtools/third_party/libc++ -D_LIBCPP_HARDENING_MODE=_LIBCPP_HARDENING_MODE_EXTENSIVE")
226+
if (EXISTS ${WEBRTCBUILD}/gen/third_party/libc++/src/include)
227+
set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -isystem${WEBRTCBUILD}/gen/third_party/libc++/src/include")
227228
else()
228-
set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -I${WEBRTCROOT}/src/buildtools/third_party/libc++ -nostdinc++ -isystem${WEBRTCROOT}/src/third_party/libc++/src/include -isystem${WEBRTCROOT}/src/third_party/libc++abi/src/include -D_LIBCPP_HARDENING_MODE=_LIBCPP_HARDENING_MODE_EXTENSIVE")
229-
find_library(LIBC++ NAMES c++ HINTS "${WEBRTCOBJS}/buildtools/third_party" NO_DEFAULT_PATH)
230-
if (LIBC++)
231-
message(STATUS "Found libc++ library at ${LIBC++}")
232-
target_link_libraries(${CMAKE_PROJECT_NAME} "${LIBC++}")
233-
endif()
234-
find_library(LIBC++ABI NAMES c++abi HINTS "${WEBRTCOBJS}/buildtools/third_party" NO_DEFAULT_PATH)
235-
if (LIBC++ABI)
236-
message(STATUS "Found libc++abi library at ${LIBC++ABI}")
237-
target_link_libraries(${CMAKE_PROJECT_NAME} "${LIBC++ABI}")
238-
endif()
229+
set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -isystem${WEBRTCROOT}/src/third_party/libc++/src/include")
230+
endif()
231+
set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -I${WEBRTCROOT}/src/buildtools/third_party/libc++ -nostdinc++ -isystem${WEBRTCROOT}/src/third_party/libc++abi/src/include -D_LIBCPP_HARDENING_MODE=_LIBCPP_HARDENING_MODE_EXTENSIVE")
232+
find_library(LIBC++ NAMES c++ HINTS "${WEBRTCOBJS}/buildtools/third_party" NO_DEFAULT_PATH)
233+
if (LIBC++)
234+
message(STATUS "Found libc++ library at ${LIBC++}")
235+
target_link_libraries(${CMAKE_PROJECT_NAME} "${LIBC++}")
236+
endif()
237+
find_library(LIBC++ABI NAMES c++abi HINTS "${WEBRTCOBJS}/buildtools/third_party" NO_DEFAULT_PATH)
238+
if (LIBC++ABI)
239+
message(STATUS "Found libc++abi library at ${LIBC++ABI}")
240+
target_link_libraries(${CMAKE_PROJECT_NAME} "${LIBC++ABI}")
239241
endif()
242+
target_compile_options(${CMAKE_PROJECT_NAME} PRIVATE -Wno-nullability-completeness)
240243
endif()
241244

242245
target_include_directories(${CMAKE_PROJECT_NAME} PRIVATE ${WEBRTCROOT}/src ${WEBRTCROOT}/src/third_party/abseil-cpp ${WEBRTCROOT}/src/third_party/jsoncpp/source/include ${WEBRTCROOT}/src/third_party/jsoncpp/generated ${WEBRTCROOT}/src/third_party/libyuv/include)

0 commit comments

Comments
 (0)