Skip to content

Commit

Permalink
Fix macOS build
Browse files Browse the repository at this point in the history
  • Loading branch information
aivve committed Jul 2, 2020
1 parent 20d9b4b commit ef5b1d1
Show file tree
Hide file tree
Showing 3 changed files with 45 additions and 9 deletions.
7 changes: 7 additions & 0 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -111,9 +111,16 @@ jobs:
build-macos:
name: macOS
runs-on: macos-latest
env:
MACOSX_DEPLOYMENT_TARGET: '10.12'
steps:
- uses: actions/checkout@master

- name: Setup Xcode
uses: maxim-lobanov/[email protected]
with:
xcode-version: '10'

- name: Install Qt
uses: jurplel/install-qt-action@v2
with:
Expand Down
45 changes: 37 additions & 8 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -259,15 +259,15 @@ set(WITH_TOOLS OFF CACHE BOOL "No tools")

add_subdirectory(cryptonote/external/miniupnpc EXCLUDE_FROM_ALL)

add_subdirectory(cryptonote/external/zstd EXCLUDE_FROM_ALL)
set_property(TARGET zstd PROPERTY FOLDER "external")

if (WIN32)
if (NOT MSVC)
message(FATAL_ERROR "Only MSVC is supported on this platform")
endif ()
add_definitions(/D_CRT_SECURE_NO_WARNINGS /D_WIN32_WINNT=0x0600 /DSTATICLIB)

add_subdirectory(cryptonote/external/zstd EXCLUDE_FROM_ALL)
set_property(TARGET zstd PROPERTY FOLDER "external")

add_subdirectory(cryptonote/external/rocksdb EXCLUDE_FROM_ALL)
set_property(TARGET rocksdb PROPERTY FOLDER "external")

Expand All @@ -289,13 +289,42 @@ elseif (UNIX)

file(GLOB PLATFORM_POSIX cryptonote/src/Platform/Posix/System/*)
list(APPEND CRYPTONOTE_SOURCES ${PLATFORM_POSIX})

if (APPLE)
SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -mmacosx-version-min=10.12")
SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -mmacosx-version-min=10.12")
execute_process(
COMMAND ${CMAKE_COMMAND} ${CMAKE_CURRENT_SOURCE_DIR}/cryptonote/external/zstd -DCMAKE_C_FLAGS="-mmacosx-version-min=10.12" -DCMAKE_CXX_FLAGS="-mmacosx-version-min=10.12" -B${PROJECT_BINARY_DIR}/zstd
)
else()
execute_process(
COMMAND ${CMAKE_COMMAND} ${CMAKE_CURRENT_SOURCE_DIR}/cryptonote/external/zstd -B${PROJECT_BINARY_DIR}/zstd
)
endif()

execute_process(
COMMAND ${CMAKE_COMMAND} ${CMAKE_CURRENT_SOURCE_DIR}/cryptonote/external/rocksdb -DARCH=${ARCH} -DWITH_ZSTD=${WITH_ZSTD} -DWITH_GFLAGS=0 -DCMAKE_BUILD_TYPE=MinSizeRel -DWITH_TESTS=OFF -DWITH_TOOLS=OFF -DPORTABLE=ON -B${PROJECT_BINARY_DIR}/rocksdb
)
add_custom_target(
zstd
COMMAND $(MAKE) zstd
WORKING_DIRECTORY ${PROJECT_BINARY_DIR}/zstd
)
add_library(zstdlib STATIC IMPORTED GLOBAL)
set_target_properties(zstdlib PROPERTIES IMPORTED_LOCATION ${PROJECT_BINARY_DIR}/zstd/libzstd.a)
add_dependencies(zstdlib zstd)

if (APPLE)
execute_process(
COMMAND ${CMAKE_COMMAND} ${CMAKE_CURRENT_SOURCE_DIR}/cryptonote/external/rocksdb -DARCH=${ARCH} -DWITH_ZSTD=ON -DWITH_GFLAGS=0 -DCMAKE_BUILD_TYPE=MinSizeRel -DWITH_TESTS=OFF -DWITH_TOOLS=OFF -DPORTABLE=ON -DCMAKE_C_FLAGS="-mmacosx-version-min=10.12" -DCMAKE_CXX_FLAGS="-mmacosx-version-min=10.12" -B${PROJECT_BINARY_DIR}/rocksdb
)
else()
execute_process(
COMMAND ${CMAKE_COMMAND} ${CMAKE_CURRENT_SOURCE_DIR}/cryptonote/external/rocksdb -DARCH=${ARCH} -DWITH_ZSTD=ON -DWITH_GFLAGS=0 -DCMAKE_BUILD_TYPE=MinSizeRel -DWITH_TESTS=OFF -DWITH_TOOLS=OFF -DPORTABLE=ON -B${PROJECT_BINARY_DIR}/rocksdb
)
endif()
set_directory_properties(PROPERTIES ADDITIONAL_MAKE_CLEAN_FILES "${PROJECT_BINARY_DIR}/rocksdb/librocksdb.a")

set_property(TARGET upnpc-static zstd PROPERTY FOLDER "external")
#set_property(TARGET upnpc-static zstd PROPERTY FOLDER "external")
set_property(TARGET upnpc-static PROPERTY FOLDER "external")

add_custom_target(
rocksdb
COMMAND $(MAKE) rocksdb
Expand Down Expand Up @@ -479,7 +508,7 @@ set_target_properties(${CRYPTONOTE_LIB} PROPERTIES COMPILE_DEFINITIONS _GNU_SOUR
if (WIN32)
target_link_libraries(${CRYPTONOTE_LIB} rocksdb zstd ${Boost_LIBRARIES})
else ()
target_link_libraries(${CRYPTONOTE_LIB} rocksdblib zstd ${Boost_LIBRARIES} -lresolv)
target_link_libraries(${CRYPTONOTE_LIB} rocksdblib zstdlib ${Boost_LIBRARIES} -lresolv)
endif ()

set_target_properties(Mnemonics PROPERTIES COMPILE_DEFINITIONS _GNU_SOURCE)
Expand Down
2 changes: 1 addition & 1 deletion cryptonote

0 comments on commit ef5b1d1

Please sign in to comment.