Hi,
I am reposting the below email. Your help is highly appreciated. We are working towards creating a toolchain file for an ANDROID compiler We understand that the flow in CMAKE, when CMAKE_SYSTEM_NAME is specified in Android, is different when compared to specifying CMAKE_SYSTEM_NAME as IOS or LINUX Please validate our current understanding when a toolchain file or command-line option sets CMAKE_SYSTEM_NAME to "Android" * CMakeDetermineSystem.cmake loads this file: Android-Determine.cmake * Next is the platform-specific initialization step: CMakeSystemSpecificInitialize.cmake which loads Android-Initialize.cmake to select the sysroot. * A "determine" step also runs for each language when it is first enabled in a new build tree: Android-Determine-C.cmake Android-Determine-CXX.cmake * The language files go here: Determine-Compiler.cmake Determine-Compiler-NDK.cmake * The latter file is where we parse a bunch of information from the NDK. The results persist in CMakeFiles/$v/CMake${lang}Compiler.cmake for future runs. Next is the language-specific initialization step. For Example - in case {lang} is C : CMakeCInformation.cmake That loads one of these: Android-GNU-C.cmake Android-Clang-C.cmake which loads one of these: Android-GNU.cmake Android-Clang.cmake Determine-Compiler-NDK.cmake is where cmake looks for versions of clang or gcc or llvm toolchains and sets the appropriate compiler. Our Requirement and Problem statement When we tried manually setting a c and cxx compiler from a toolchain file, cmake would not allow us to point to our own compilers. Ideally, we want our toolchain file to tell cmake the libraries to include/link and the compilers to use. But once, System has been determined as android, cmake goes through the above sequence of events and expects toolchains to be specified for either clang, gcc or llvm compilers. We would probably need to make changes in the following files to accommodate cmake to use our own compilers. Determine-Compiler-NDK.cmake - We would need to add support for an "NewCompiler Toolchain" which would contain android libraries and compilers. New Android-{NewCompiler}-C.cmake, Android-{ NewCompiler }-CXX.cmake, Android-{ NewCompiler }.cmake and another appropriate toolchain file to set target architecture and compiler flags. Can you please provide your suggestions and validate the understanding as well Thanks & Regards, Ramya
-- Powered by www.kitware.com Please keep messages on-topic and check the CMake FAQ at: http://www.cmake.org/Wiki/CMake_FAQ Kitware offers various services to support the CMake community. For more information on each offering, please visit: CMake Support: http://cmake.org/cmake/help/support.html CMake Consulting: http://cmake.org/cmake/help/consulting.html CMake Training Courses: http://cmake.org/cmake/help/training.html Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Follow this link to subscribe/unsubscribe: http://public.kitware.com/mailman/listinfo/cmake