mirror of
https://onedev.site.tesses.net/crosslang
synced 2026-05-10 17:00:20 +00:00
63 lines
2.3 KiB
CMake
63 lines
2.3 KiB
CMake
function(CROSSLANG_LINK_DEPS CROSSLANG_TARGET_NAME)
|
|
target_include_directories(${CROSSLANG_TARGET_NAME}
|
|
PUBLIC
|
|
"$<BUILD_INTERFACE:${CMAKE_CURRENT_BINARY_DIR}/include>"
|
|
"$<INSTALL_INTERFACE:${CMAKE_INSTALL_INCLUDEDIR}>"
|
|
)
|
|
if(CROSSLANG_ENABLE_FFI AND CROSSLANG_ENABLE_SHARED)
|
|
|
|
target_compile_definitions(${CROSSLANG_TARGET_NAME} PUBLIC CROSSLANG_ENABLE_FFI)
|
|
target_link_libraries(${CROSSLANG_TARGET_NAME} PUBLIC PkgConfig::LIBFFI)
|
|
|
|
endif()
|
|
if(CROSSLANG_ENABLE_SUPERSLIM)
|
|
|
|
target_compile_definitions(${CROSSLANG_TARGET_NAME} PUBLIC CROSSLANG_ENABLE_SUPERSLIM)
|
|
endif()
|
|
if(CROSSLANG_ENABLE_TIME)
|
|
target_compile_definitions(${CROSSLANG_TARGET_NAME} PUBLIC CROSSLANG_ENABLE_TIME)
|
|
endif()
|
|
if(CROSSLANG_ENABLE_CONFIG_ENVVAR)
|
|
target_compile_definitions(${CROSSLANG_TARGET_NAME} PUBLIC CROSSLANG_ENABLE_CONFIG_ENVVAR)
|
|
endif()
|
|
if(CROSSLANG_ENABLE_PROCESS)
|
|
target_compile_definitions(${CROSSLANG_TARGET_NAME} PUBLIC CROSSLANG_ENABLE_PROCESS)
|
|
endif()
|
|
if(CROSSLANG_ENABLE_THREADING)
|
|
target_compile_definitions(${CROSSLANG_TARGET_NAME} PUBLIC CROSSLANG_ENABLE_THREADING)
|
|
endif()
|
|
if(CROSSLANG_ENABLE_TERMIOS)
|
|
target_compile_definitions(${CROSSLANG_TARGET_NAME} PUBLIC CROSSLANG_ENABLE_TERMIOS)
|
|
endif()
|
|
|
|
if(CROSSLANG_ENABLE_SQLITE)
|
|
target_compile_definitions(${CROSSLANG_TARGET_NAME} PUBLIC CROSSLANG_ENABLE_SQLITE)
|
|
endif()
|
|
|
|
if(CROSSLANG_CUSTOM_CONSOLE)
|
|
target_compile_definitions(${CROSSLANG_TARGET_NAME} PUBLIC CROSSLANG_CUSTOM_CONSOLE)
|
|
endif()
|
|
if(CROSSLANG_ENABLE_PLATFORM_FOLDERS)
|
|
target_compile_definitions(${CROSSLANG_TARGET_NAME} PUBLIC CROSSLANG_ENABLE_PLATFORM_FOLDERS)
|
|
endif()
|
|
if(CROSSLANG_ENABLE_SHARED)
|
|
target_compile_definitions(${CROSSLANG_TARGET_NAME} PUBLIC CROSSLANG_ENABLE_SHARED)
|
|
|
|
endif()
|
|
if("${CMAKE_SYSTEM_NAME}" STREQUAL "NintendoWii" OR "${CMAKE_SYSTEM_NAME}" STREQUAL "NintendoGameCube")
|
|
target_link_libraries(${CROSSLANG_TARGET_NAME} PUBLIC fat)
|
|
endif()
|
|
if("${CMAKE_SYSTEM_NAME}" STREQUAL "NintendoWii")
|
|
target_link_libraries(${CROSSLANG_TARGET_NAME} PUBLIC wiisocket)
|
|
endif()
|
|
if(CROSSLANG_ENABLE_SHARED AND NOT ("${CMAKE_SYSTEM_NAME}" STREQUAL "Windows"))
|
|
target_link_libraries(${CROSSLANG_TARGET_NAME} PUBLIC dl)
|
|
endif()
|
|
target_include_directories(${CROSSLANG_TARGET_NAME}
|
|
PUBLIC
|
|
"$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include>"
|
|
"$<INSTALL_INTERFACE:${CMAKE_INSTALL_INCLUDEDIR}>"
|
|
)
|
|
|
|
endfunction()
|