CMake不会预处理汇编文件

时间:2018-06-15 00:24:24

标签: cmake android-ndk

我们的项目是使用CMake构建的Android NDK库。因为我们现在必须使用较旧版本的CMake,所以我们必须手动设置NDK编译器路径,如下所示:

set(CMAKE_SYSTEM_NAME "Linux")
set(CMAKE_SYSTEM_PROCESSOR "ARM")
set(TARGET_PLATFORM "Android")
set(TARGET_TOOLCHAIN "Clang-aarch64")

set(CMAKE_C_COMPILER "${TOOLCHAIN_PATH}/clang${CMD_SUFFIX}")
set(CMAKE_CXX_COMPILER "${TOOLCHAIN_PATH}/clang++${CMD_SUFFIX}")
set(CMAKE_LINKER "${TOOLCHAIN_PATH}/aarch64-linux-android-ld${EXE_SUFFIX}" CACHE INTERNAL "TEST")
set(CMAKE_AR "${TOOLCHAIN_PATH}/aarch64-linux-android-ar${EXE_SUFFIX}" CACHE INTERNAL "TEST")

unset(CMAKE_C_CREATE_STATIC_LIBRARY)
unset(CMAKE_CXX_CREATE_STATIC_LIBRARY)
set(CMAKE_C_CREATE_STATIC_LIBRARY "<CMAKE_AR> -r <TARGET> <OBJECTS>" CACHE INTERNAL "TEST")
set(CMAKE_CXX_CREATE_STATIC_LIBRARY "<CMAKE_AR> -r <TARGET> <OBJECTS>" CACHE INTERNAL "TEST")

set(CMAKE_C_ARCHIVE_CREATE "<CMAKE_AR> -r <TARGET> <OBJECTS>" CACHE INTERNAL "TEST")
set(CMAKE_C_ARCHIVE_APPEND "<CMAKE_AR> -rs <TARGET> <OBJECTS>" CACHE INTERNAL "TEST")
set(CMAKE_C_ARCHIVE_FINISH "")
set(CMAKE_CXX_ARCHIVE_CREATE "<CMAKE_AR> -r <TARGET> <OBJECTS>" CACHE INTERNAL "TEST")
set(CMAKE_CXX_ARCHIVE_APPEND "<CMAKE_AR> -rs <TARGET> <OBJECTS>" CACHE INTERNAL "TEST")
set(CMAKE_CXX_ARCHIVE_FINISH "")


#====================================================================================================
# Setting up the ASM Compiler
#====================================================================================================
set(CMAKE_AS)
set(CMAKE_ASM_COMPILER "${TOOLCHAIN_PATH}/clang++${CMD_SUFFIX}" CACHE INTERNAL "TEST")
SET(CMAKE_ASM_COMPILER_LOADED 1)
SET(CMAKE_ASM_COMPILER_ENV_VAR "ASM")
SET(CMAKE_ASM_OUTPUT_EXTENSION .o)

问题是,如果我查看正在输出的make文件,则程序集上没有预处理程序步骤。如果我使用较新的Android CMake集成,它可以很好地工作,但同样不是一个选项。

我可以在我的CMake中使用任何命令告诉CMake我希望我的装配进行预处理吗?

0 个答案:

没有答案