Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
18 changes: 15 additions & 3 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -91,11 +91,23 @@ add_compile_flags("C;CXX" ${PREFIX_MAP_FLAGS})
set(DEPENDENCY_CFLAGS "${DEPENDENCY_CFLAGS} ${PREFIX_MAP_FLAGS}")
set(DEPENDENCY_CXXFLAGS "${DEPENDENCY_CXXFLAGS} ${PREFIX_MAP_FLAGS}")

if(APPLE AND NOT CMAKE_OSX_SYSROOT)
execute_process(
COMMAND xcrun --show-sdk-path
OUTPUT_VARIABLE OSX_SDK_PATH
OUTPUT_STRIP_TRAILING_WHITESPACE
)
set(CMAKE_OSX_SYSROOT "${OSX_SDK_PATH}" CACHE PATH "macOS SDK path" FORCE)
message(STATUS "Using macOS SDK: ${CMAKE_OSX_SYSROOT}")
endif()

# We need this for bundled SASL & LDAP libs (in fact, for any autotools-based project)
if(APPLE)
set(DEPENDENCY_CFLAGS "${DEPENDENCY_CFLAGS} ${CMAKE_C_SYSROOT_FLAG} ${CMAKE_OSX_SYSROOT}")
set(DEPENDENCY_CPPFLAGS "${DEPENDENCY_CPPFLAGS} ${CMAKE_C_SYSROOT_FLAG} ${CMAKE_OSX_SYSROOT}")
set(DEPENDENCY_CXXFLAGS "${DEPENDENCY_CXXFLAGS} ${CMAKE_C_SYSROOT_FLAG} ${CMAKE_OSX_SYSROOT}")
if(CMAKE_OSX_SYSROOT)
set(DEPENDENCY_CFLAGS "${DEPENDENCY_CFLAGS} ${CMAKE_C_SYSROOT_FLAG} ${CMAKE_OSX_SYSROOT}")
set(DEPENDENCY_CPPFLAGS "${DEPENDENCY_CPPFLAGS} ${CMAKE_C_SYSROOT_FLAG} ${CMAKE_OSX_SYSROOT}")
set(DEPENDENCY_CXXFLAGS "${DEPENDENCY_CXXFLAGS} ${CMAKE_C_SYSROOT_FLAG} ${CMAKE_OSX_SYSROOT}")
endif()
endif()

# Gcc 15 sets --std=gnu23 by default, breaking many dependencies.
Expand Down
2 changes: 1 addition & 1 deletion cmake/BuildLibXXhash.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ macro(libxxhash_build)
# Remaining properties are the same as for zstd
# (see cmake/BuildZSTD.cmake).
set_source_files_properties(${xxhash_src}
PROPERTIES COMPILE_FLAGS "${DEPENDENCY_CFLAGS} -Ofast -DXXH_NAMESPACE=tnt_")
PROPERTIES COMPILE_FLAGS "${DEPENDENCY_CFLAGS} -O3 -DXXH_NAMESPACE=tnt_")

add_library(xxhash STATIC ${xxhash_src})
set(XXHASH_LIBRARIES xxhash)
Expand Down
2 changes: 1 addition & 1 deletion cmake/compiler.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -158,7 +158,7 @@ option(ENABLE_BUNDLED_LIBUNWIND "Bundled libunwind will be built"
# In Clang there is no '-static-libstdc++' flag and its use will raise
# the following error:
# clang: error: argument unused during compilation: '-static-libstdc++'
if(BUILD_STATIC AND NOT CMAKE_CXX_COMPILER_ID STREQUAL "Clang")
if(BUILD_STATIC AND NOT (CMAKE_CXX_COMPILER_ID MATCHES "Clang"))
# Static linking for c++ routines
add_compile_flags("C;CXX" "-static-libstdc++")
endif()
Expand Down
19 changes: 19 additions & 0 deletions src/lib/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,25 @@ add_subdirectory(bit)
add_subdirectory(bitset)
set(SMALL_EMBEDDED ON)
add_subdirectory(small)

# Remove only src/lib/small (the root with the VERSION file),
# but leave src/lib/small/include and src/lib/small/include/small
foreach(tgt IN ITEMS small small_shared small.perftest)
if(TARGET ${tgt})
get_target_property(dirs ${tgt} INCLUDE_DIRECTORIES)
if(dirs)
set(new_dirs "")
foreach(d ${dirs})
# убираем только если путь совпадает ровно с корнем сабмодуля
if(NOT d STREQUAL "${CMAKE_CURRENT_SOURCE_DIR}/small")
list(APPEND new_dirs "${d}")
endif()
endforeach()
set_target_properties(${tgt} PROPERTIES INCLUDE_DIRECTORIES "${new_dirs}")
endif()
endif()
endforeach()

add_subdirectory(salad)
add_subdirectory(csv)
add_subdirectory(json)
Expand Down
10 changes: 10 additions & 0 deletions static-build/cmake/AddTarantoolProject.cmake
Original file line number Diff line number Diff line change
@@ -1,5 +1,15 @@
include(ExternalProject)

# On macOS, we explicitly throw the SDK into a child project
if (APPLE)
execute_process(
COMMAND xcrun --show-sdk-path
OUTPUT_VARIABLE OSX_SYSROOT
OUTPUT_STRIP_TRAILING_WHITESPACE
)
list(APPEND TARANTOOL_ARGS -DCMAKE_OSX_SYSROOT=${OSX_SYSROOT})
endif()

ExternalProject_Add(tarantool
DEPENDS ${TARANTOOL_DEPENDS}
SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/..
Expand Down