mirror of
https://github.com/palera1n/palera1n.git
synced 2026-10-21 09:47:01 +02:00
61 lines
2.5 KiB
CMake
61 lines
2.5 KiB
CMake
# =========================
|
|||
|
|
# MARK: NON-CMAKE DEPENDENCIES: CIDERRAIN
|
||
|
|
# =========================
|
||
|
|
|
||
|
|
message(STATUS "Building with Ciderra1n support")
|
||
|
|
|
||
|
|
# TODO: get rid
|
||
|
|
execute_process(
|
||
|
|
COMMAND patch --batch --forward -p1 -i ${CMAKE_SOURCE_DIR}/patches/liteusb/0001-cpp-compatible.patch
|
||
|
|
WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}/1stparty/libciderra1n/external/liteusb
|
||
|
|
RESULT_VARIABLE LITEUSB_PATCH_RESULT
|
||
|
|
)
|
||
|
|
|
||
|
|
if(IOS)
|
||
|
|
execute_process(
|
||
|
|
COMMAND xcrun --sdk iphoneos --show-sdk-path
|
||
|
|
OUTPUT_VARIABLE IOS_SDK
|
||
|
|
OUTPUT_STRIP_TRAILING_WHITESPACE
|
||
|
|
)
|
||
|
|
|
||
|
|
execute_process(
|
||
|
|
COMMAND ${CMAKE_COMMAND} -E env
|
||
|
|
"EXTRA_CFLAGS=-isysroot ${IOS_SDK} -arch arm64 -miphoneos-version-min=${CMAKE_OSX_DEPLOYMENT_TARGET} -I${CMAKE_SOURCE_DIR}/apple-include-iphoneos"
|
||
|
|
"CXXFLAGS=-isysroot ${IOS_SDK} -arch arm64 -miphoneos-version-min=${CMAKE_OSX_DEPLOYMENT_TARGET} -I${CMAKE_SOURCE_DIR}/apple-include-iphoneos"
|
||
|
|
"LDFLAGS=-isysroot ${IOS_SDK} -arch arm64 -miphoneos-version-min=${CMAKE_OSX_DEPLOYMENT_TARGET}"
|
||
|
|
make CC=${CMAKE_C_COMPILER} CXX=${CMAKE_CXX_COMPILER} AR=${CMAKE_AR}
|
||
|
|
WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}/1stparty/libciderra1n
|
||
|
|
RESULT_VARIABLE CIDERRA1N_BUILD_RESULT
|
||
|
|
)
|
||
|
|
elseif(APPLE)
|
||
|
|
execute_process(
|
||
|
|
COMMAND make CC=${CMAKE_C_COMPILER} CXX=${CMAKE_CXX_COMPILER} EXTRA_CFLAGS=-mmacosx-version-min=${CMAKE_OSX_DEPLOYMENT_TARGET}
|
||
|
|
WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}/1stparty/libciderra1n
|
||
|
|
RESULT_VARIABLE CIDERRA1N_BUILD_RESULT
|
||
|
|
)
|
||
|
|
else()
|
||
|
|
execute_process(
|
||
|
|
COMMAND make CC=${CMAKE_C_COMPILER} CXX=${CMAKE_CXX_COMPILER}
|
||
|
|
WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}/1stparty/libciderra1n
|
||
|
|
RESULT_VARIABLE CIDERRA1N_BUILD_RESULT
|
||
|
|
)
|
||
|
|
endif()
|
||
|
|
|
||
|
|
if(NOT CIDERRA1N_BUILD_RESULT EQUAL 0)
|
||
|
|
message(FATAL_ERROR "Failed to build Ciderra1n.")
|
||
|
|
endif()
|
||
|
|
|
||
|
|
set(CIDERRAIN_INCLUDE_DIR "${CMAKE_SOURCE_DIR}/1stparty/libciderra1n/build/include")
|
||
|
|
set(CIDERRAIN_LIB "${CMAKE_SOURCE_DIR}/1stparty/libciderra1n/build/lib/ciderra1n/libciderra1n.a")
|
||
|
|
target_include_directories(palera1n PRIVATE ${CIDERRAIN_INCLUDE_DIR})
|
||
|
|
target_link_libraries(palera1n PRIVATE "${CIDERRAIN_LIB}")
|
||
|
|
|
||
|
|
if(IOS)
|
||
|
|
target_include_directories(palera1n PRIVATE "${CMAKE_SOURCE_DIR}/apple-include-iphoneos")
|
||
|
|
endif()
|
||
|
|
|
||
|
|
if(LINUX)
|
||
|
|
set(LITEUSB_INCLUDE_DIR "${CMAKE_SOURCE_DIR}/1stparty/libciderra1n/external/liteusb/include")
|
||
|
|
target_compile_definitions(palera1n PRIVATE LITEUSB_PLATFORM_LINUX)
|
||
|
|
target_include_directories(palera1n PRIVATE ${LITEUSB_INCLUDE_DIR})
|
||
|
|
endif()
|