2026-03-28 16:54:11 +11:00
|
|
|
# ANSIO — IO Box communication DLL (cJSON + mbedtls)
|
|
|
|
|
add_library(ANSIO SHARED
|
|
|
|
|
dllmain.cpp
|
|
|
|
|
pch.cpp
|
|
|
|
|
pch.h
|
|
|
|
|
framework.h
|
|
|
|
|
# IOBox sources (embedded)
|
|
|
|
|
IOBox/cJSON.c
|
|
|
|
|
IOBox/cJSON_Utils.c
|
|
|
|
|
IOBox/iobox_api.cpp
|
|
|
|
|
IOBox/iobox_api.h
|
|
|
|
|
IOBox/mbedtls/aes.c
|
|
|
|
|
IOBox/mbedtls/base64.c
|
|
|
|
|
IOBox/mbedtls/sha256.c
|
|
|
|
|
)
|
|
|
|
|
|
|
|
|
|
target_include_directories(ANSIO PUBLIC
|
|
|
|
|
${CMAKE_CURRENT_SOURCE_DIR}
|
|
|
|
|
${SHARED_INCLUDE_DIR}
|
|
|
|
|
)
|
|
|
|
|
|
|
|
|
|
target_include_directories(ANSIO PRIVATE
|
|
|
|
|
${CMAKE_CURRENT_SOURCE_DIR}/IOBox
|
|
|
|
|
)
|
|
|
|
|
|
|
|
|
|
target_link_libraries(ANSIO
|
|
|
|
|
PRIVATE ANSLicensingSystem
|
|
|
|
|
PRIVATE anslicensing
|
|
|
|
|
PRIVATE labview
|
|
|
|
|
)
|
|
|
|
|
|
2026-03-28 17:52:25 +11:00
|
|
|
target_compile_definitions(ANSIO PRIVATE UNICODE _UNICODE NOMINMAX ANSIO_EXPORTS _USRDLL)
|
2026-03-28 16:54:11 +11:00
|
|
|
if(WIN32)
|
|
|
|
|
target_link_libraries(ANSIO PRIVATE ${WIN_COMMON_LIBS})
|
|
|
|
|
else()
|
|
|
|
|
target_link_libraries(ANSIO PRIVATE ${UNIX_COMMON_LIBS})
|
|
|
|
|
endif()
|
2026-03-28 17:52:25 +11:00
|
|
|
|
|
|
|
|
# C files must skip C++ precompiled headers and compile as C
|
|
|
|
|
set_source_files_properties(
|
|
|
|
|
IOBox/cJSON.c IOBox/cJSON_Utils.c
|
|
|
|
|
IOBox/mbedtls/aes.c IOBox/mbedtls/base64.c IOBox/mbedtls/sha256.c
|
|
|
|
|
PROPERTIES SKIP_PRECOMPILE_HEADERS ON LANGUAGE C
|
|
|
|
|
)
|
|
|
|
|
|
2026-03-28 16:54:11 +11:00
|
|
|
target_precompile_headers(ANSIO PRIVATE pch.h)
|