Skip to content

Commit 35e7711

Browse files
committed
Fixes for xcode project builds
1 parent 3420d30 commit 35e7711

File tree

3 files changed

+17
-1
lines changed

3 files changed

+17
-1
lines changed

cpp/CMakeLists.txt

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -395,6 +395,14 @@ set(LIBRARY_OUTPUT_DIRECTORY "${BUILD_OUTPUT_ROOT_DIRECTORY}")
395395
# where to put generated binaries
396396
set(EXECUTABLE_OUTPUT_PATH "${BUILD_OUTPUT_ROOT_DIRECTORY}")
397397

398+
if(CMAKE_GENERATOR STREQUAL Xcode)
399+
# Xcode projects support multi-configuration builds. This forces a single output directory
400+
# when building with Xcode that is consistent with single-configuration Makefile driven build.
401+
set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY_${CMAKE_BUILD_TYPE} "${BUILD_OUTPUT_ROOT_DIRECTORY}")
402+
set(CMAKE_LIBRARY_OUTPUT_DIRECTORY_${CMAKE_BUILD_TYPE} "${BUILD_OUTPUT_ROOT_DIRECTORY}")
403+
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY_${CMAKE_BUILD_TYPE} "${BUILD_OUTPUT_ROOT_DIRECTORY}")
404+
endif()
405+
398406
#
399407
# Dependencies
400408
#

cpp/cmake_modules/ThirdpartyToolchain.cmake

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1469,6 +1469,14 @@ macro(build_gtest)
14691469
set(GTEST_CMAKE_ARGS ${GTEST_CMAKE_ARGS} "-DCMAKE_MACOSX_RPATH:BOOL=ON")
14701470
endif()
14711471

1472+
if(CMAKE_GENERATOR STREQUAL "Xcode")
1473+
# Xcode projects support multi-configuration builds. This forces the gtest build
1474+
# to use the same output directory as a single-configuration Makefile driven build.
1475+
set(GTEST_CMAKE_ARGS
1476+
${GTEST_CMAKE_ARGS} "-DCMAKE_LIBRARY_OUTPUT_DIRECTORY=${_GTEST_LIBRARY_DIR}"
1477+
"-DCMAKE_LIBRARY_OUTPUT_DIRECTORY_${CMAKE_BUILD_TYPE}=${_GTEST_RUNTIME_DIR}")
1478+
endif()
1479+
14721480
if(MSVC)
14731481
if(NOT ("${CMAKE_GENERATOR}" STREQUAL "Ninja"))
14741482
set(_GTEST_RUNTIME_DIR ${_GTEST_RUNTIME_DIR}/${CMAKE_BUILD_TYPE})

cpp/src/gandiva/jni/CMakeLists.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -84,7 +84,7 @@ add_arrow_lib(gandiva_jni
8484
EXTRA_INCLUDES
8585
$<INSTALL_INTERFACE:include>
8686
$<BUILD_INTERFACE:${CMAKE_SOURCE_DIR}/include>
87-
${JNI_HEADERS_DIR}
87+
$<BUILD_INTERFACE:${JNI_HEADERS_DIR}>
8888
PRIVATE_INCLUDES
8989
${JNI_INCLUDE_DIRS}
9090
${CMAKE_CURRENT_BINARY_DIR})

0 commit comments

Comments
 (0)