chore: archive old C++ CMake build to .deprecated-cmake/; Rust is now canonical

This commit is contained in:
2026-04-28 22:47:45 +08:00
parent b7f756bc2b
commit 313315cd3f
9 changed files with 0 additions and 0 deletions
+58
View File
@@ -0,0 +1,58 @@
cmake_minimum_required(VERSION 3.16)
project(craftlabs_auth_bitanswer LANGUAGES C CXX)
set(CMAKE_C_STANDARD 11)
set(CMAKE_C_STANDARD_REQUIRED ON)
set(CMAKE_CXX_STANDARD 17)
set(CMAKE_CXX_STANDARD_REQUIRED ON)
set(CRAFTLABS_AUTH_SRC_DIR "${CMAKE_CURRENT_SOURCE_DIR}")
option(CRAFTLABS_BUILD_JNI "Build JNI bridge (requires JDK)" ON)
option(CRAFTLABS_BUILD_TESTS "Build native smoke tests" ON)
set(CRAFTLABS_AUTH_CORE_SOURCES
"${CRAFTLABS_AUTH_SRC_DIR}/src/craftlabs_auth.cpp"
"${CRAFTLABS_AUTH_SRC_DIR}/src/bitanswer/bitanswer_adapter.cpp"
"${CRAFTLABS_AUTH_SRC_DIR}/src/selfhosted/http_client.cpp"
"${CRAFTLABS_AUTH_SRC_DIR}/src/selfhosted/selfhosted_adapter.cpp"
)
if(CRAFTLABS_BUILD_JNI)
find_package(JNI REQUIRED)
list(APPEND CRAFTLABS_AUTH_CORE_SOURCES
"${CRAFTLABS_AUTH_SRC_DIR}/src/jni/jni_bridge.cpp")
endif()
add_library(craftlabs_auth_bitanswer SHARED ${CRAFTLABS_AUTH_CORE_SOURCES})
target_include_directories(craftlabs_auth_bitanswer
PUBLIC
"${CRAFTLABS_AUTH_SRC_DIR}/include"
PRIVATE
"${CRAFTLABS_AUTH_SRC_DIR}/src"
)
if(CRAFTLABS_BUILD_JNI)
target_include_directories(craftlabs_auth_bitanswer PRIVATE ${JNI_INCLUDE_DIRS})
endif()
if(WIN32)
target_compile_definitions(craftlabs_auth_bitanswer PRIVATE CRAFTLABS_AUTH_PLATFORM_WINDOWS=1)
elseif(APPLE)
target_compile_definitions(craftlabs_auth_bitanswer PRIVATE CRAFTLABS_AUTH_PLATFORM_MACOS=1)
else()
target_compile_definitions(craftlabs_auth_bitanswer PRIVATE CRAFTLABS_AUTH_PLATFORM_LINUX=1)
endif()
if(CRAFTLABS_BUILD_TESTS)
enable_testing()
add_executable(craftlabs_auth_smoke
"${CRAFTLABS_AUTH_SRC_DIR}/tests/smoke_test.cpp")
target_link_libraries(craftlabs_auth_smoke PRIVATE craftlabs_auth_bitanswer)
target_include_directories(craftlabs_auth_smoke PRIVATE
"${CRAFTLABS_AUTH_SRC_DIR}/include")
set_target_properties(craftlabs_auth_smoke PROPERTIES
BUILD_RPATH "$<TARGET_FILE_DIR:craftlabs_auth_bitanswer>")
add_test(NAME craftlabs_auth_smoke COMMAND craftlabs_auth_smoke)
endif()