From 8105ddb5aba837036488c2cb6fe40ade1efaa01f Mon Sep 17 00:00:00 2001 From: Jake Turner Date: Mon, 31 Dec 2018 19:43:30 +1300 Subject: [PATCH] osx: for cmake set library output to be lib folder MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit On Apple only set CMAKE_LIBRARY_OUTPUT_DIRECTORY to be “lib” folder instead of “bin” folder Fixes osx problem when launching renderdoccmd not being able to find librenderdoc.dylib RPATH is set to be "@executable_path/../lib" which matches where qrenderdoc.app copies the renderdoc library to qrenderdoc: set library search folder “-L” to be CMAKE_LIBRARY_OUTPUT_DIRECTORY instead of CMAKE_RUNTIME_OUTPUT_DIRECTORY --- CMakeLists.txt | 4 ++++ qrenderdoc/CMakeLists.txt | 2 +- qrenderdoc/qrenderdoc.pro | 2 +- 3 files changed, 6 insertions(+), 2 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index c83ebfaa8..f486dcd62 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -165,7 +165,11 @@ if(ANDROID) message(STATUS "Using Android native API level ${ANDROID_NATIVE_API_LEVEL}") endif() +if(APPLE) +set(CMAKE_LIBRARY_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/lib") +else() set(CMAKE_LIBRARY_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/bin") +endif() set(CMAKE_RUNTIME_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/bin") if(ENABLE_GL) diff --git a/qrenderdoc/CMakeLists.txt b/qrenderdoc/CMakeLists.txt index 4f503e4b5..5a93ce8a8 100644 --- a/qrenderdoc/CMakeLists.txt +++ b/qrenderdoc/CMakeLists.txt @@ -124,7 +124,7 @@ file(WRITE "LIB_SUBFOLDER_TRAIL_SLASH=${LIB_SUBFOLDER_TRAIL_SLASH}\n" "\n" # search for -lrenderdoc here - "LIBS+=-L${CMAKE_RUNTIME_OUTPUT_DIRECTORY}\n" + "LIBS+=-L${CMAKE_LIBRARY_OUTPUT_DIRECTORY}\n" "\n" # include and link against python "INCLUDEPATH+=${PYTHON_INCLUDE_DIR}\n" diff --git a/qrenderdoc/qrenderdoc.pro b/qrenderdoc/qrenderdoc.pro index 99e48beaf..a04807da4 100644 --- a/qrenderdoc/qrenderdoc.pro +++ b/qrenderdoc/qrenderdoc.pro @@ -139,7 +139,7 @@ win32 { DEFINES += RENDERDOC_PLATFORM_POSIX RENDERDOC_PLATFORM_APPLE ICON = $$OSX_ICONFILE - librd.files = $$files($$DESTDIR/librenderdoc.dylib) + librd.files = $$files($$DESTDIR/../lib/librenderdoc.dylib) librd.path = Contents/lib QMAKE_BUNDLE_DATA += librd