diff --git a/cmake/thrift-gen.cmake b/cmake/thrift-gen.cmake index ba7ae3e9fb..3dcbd6fc8e 100644 --- a/cmake/thrift-gen.cmake +++ b/cmake/thrift-gen.cmake @@ -1,8 +1,17 @@ macro(GENERATE_THRIFT_LIB LIB_NAME FILENAME OUTPUTDIR SOURCES) file(MAKE_DIRECTORY ${OUTPUTDIR}) detect_host_triplet(HOST_TRIPLET) - if(EXISTS ${PROJECT_SOURCE_DIR}/MaaDeps/vcpkg/installed/maa-${HOST_TRIPLET}/tools/thrift/thrift${CMAKE_EXECUTABLE_SUFFIX}) - set(THRIFT_COMPILER ${PROJECT_SOURCE_DIR}/MaaDeps/vcpkg/installed/maa-${HOST_TRIPLET}/tools/thrift/thrift${CMAKE_EXECUTABLE_SUFFIX}) + if (CMAKE_CROSSCOMPILING) + if (CMAKE_HOST_WIN32) + set(_host_executable_suffix ".exe") + else() + set(_host_executable_suffix "") + endif() + else() + set(_host_executable_suffix ${CMAKE_EXECUTABLE_SUFFIX}) + endif() + if(EXISTS ${PROJECT_SOURCE_DIR}/MaaDeps/vcpkg/installed/maa-${HOST_TRIPLET}/tools/thrift/thrift${_host_executable_suffix}) + set(THRIFT_COMPILER ${PROJECT_SOURCE_DIR}/MaaDeps/vcpkg/installed/maa-${HOST_TRIPLET}/tools/thrift/thrift${_host_executable_suffix}) else() find_program(THRIFT_COMPILER thrift) endif()