From 5d3887b918874cf8679d4c713acf3bc7cab1e1fd Mon Sep 17 00:00:00 2001 From: Axel Isouard Date: Sun, 19 Mar 2017 04:30:25 -0700 Subject: [PATCH] No prefix file for gn command anymore, set the right directory for IDE config --- CMakeLists.txt | 10 +++++++++- CMakeModules/Gn.cmake | 19 ++++--------------- webrtc/CMakeLists.txt.in | 2 +- 3 files changed, 14 insertions(+), 17 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 64f00c1..350d0a3 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -80,6 +80,14 @@ ExternalProject_Add( -DWEBRTC_ROOT_DIR:PATH=${CMAKE_BINARY_DIR} ) +if (MSVC OR XCODE) + set(_CONFIG $<$:Debug>$<$:Release>$<$:Release>$<$:Release>) +elseif (CMAKE_BUILD_TYPE MATCHES Debug) + set(_CONFIG Debug) +else (MSVC OR XCODE) + set(_CONFIG Release) +endif (MSVC OR XCODE) + ExternalProject_Add( libwebrtc DEPENDS webrtc-src @@ -91,7 +99,7 @@ ExternalProject_Add( CMAKE_ARGS -DLIBRARY_TYPE:STRING=${LIBRARY_TYPE} -DTARGET_OS:STRING=${TARGET_OS} - -DWEBRTC_OUTPUT_DIR:PATH=${CMAKE_BINARY_DIR}/webrtc/src/out/Default + -DWEBRTC_OUTPUT_DIR:PATH=${CMAKE_BINARY_DIR}/webrtc/src/out/$<$:Debug>$<$:Release>$<$:Release>$<$:Release> -DWEBRTC_SOURCE_DIR:PATH=${CMAKE_BINARY_DIR}/webrtc/src/webrtc -DCMAKE_INSTALL_PREFIX:PATH=${CMAKE_BINARY_DIR} -DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE} diff --git a/CMakeModules/Gn.cmake b/CMakeModules/Gn.cmake index aa92c93..dfbe09e 100644 --- a/CMakeModules/Gn.cmake +++ b/CMakeModules/Gn.cmake @@ -2,10 +2,13 @@ set(_GEN_ARGS "use_gold=false target_cpu=\\\"${TARGET_CPU}\\\" target_os=\\\"${T if (MSVC OR XCODE) set(_GEN_ARGS ${_GEN_ARGS} is_debug=$<$:true>$<$:false>$<$:false>$<$:false>) + set(_NINJA_BUILD_DIR out/$<$:Debug>$<$:Release>$<$:Release>$<$:Release>) elseif (CMAKE_BUILD_TYPE MATCHES Debug) set(_GEN_ARGS "${_GEN_ARGS} is_debug=true") + set(_NINJA_BUILD_DIR out/Debug) else (MSVC OR XCODE) set(_GEN_ARGS "${_GEN_ARGS} is_debug=false") + set(_NINJA_BUILD_DIR out/Release) endif (MSVC OR XCODE) if (BUILD_TESTS) @@ -18,18 +21,4 @@ if (GN_EXTRA_ARGS) set(_GEN_ARGS "${_GEN_ARGS} ${GN_EXTRA_ARGS}") endif (GN_EXTRA_ARGS) -set(_GN_OUT_DIR out/Default) -set(_GEN_COMMAND_LINE gn gen ${_GN_OUT_DIR} --args=\"${_GEN_ARGS}\") - -if (WIN32) - set(_SCRIPT_SUFFIX .bat) -elseif (UNIX) - set(_SCRIPT_SUFFIX .sh) - set(_GEN_COMMAND sh) -endif (WIN32) - -string(REPLACE ";" " " _GEN_COMMAND_STR "${_GEN_COMMAND_LINE}") -set(_GN_SCRIPT_FILENAME ${WEBRTC_PARENT_DIR}/gn-gen${_SCRIPT_SUFFIX}) -file(WRITE ${_GN_SCRIPT_FILENAME} ${_GEN_COMMAND_STR}) - -set(_GEN_COMMAND ${_GEN_COMMAND} ${_GN_SCRIPT_FILENAME}) +set(_GEN_COMMAND gn gen ${_NINJA_BUILD_DIR} --args=\"${_GEN_ARGS}\") diff --git a/webrtc/CMakeLists.txt.in b/webrtc/CMakeLists.txt.in index fef47bf..8b22d93 100644 --- a/webrtc/CMakeLists.txt.in +++ b/webrtc/CMakeLists.txt.in @@ -95,7 +95,7 @@ libwebrtc_command( DEPENDS webrtc-clang ${_DEPENDENCIES} ) -set(_NINJA_COMMAND ninja ${NINJA_ARGS} -C out/Default pc) +set(_NINJA_COMMAND ninja ${NINJA_ARGS} -C ${_NINJA_BUILD_DIR} pc) libwebrtc_command( NAME webrtc-build COMMAND ${_NINJA_COMMAND}