> I fail to see why that should not work. Producing LLVM bitcode from > C++ with Clang is just adding -emit-llvm flag, right? So, why can't > the SuperBuild configure the child build to use Clang and this flag? > And Bob's your uncle...
Hmm, to be honest I hadn't tried. It works better than expected but... The problem for this particular project is that it doesn't file a very standard compilation process. It compiles to LLVM IR, then to LLVM bitcode and then it invokes and external program to generate source files with the LLVM bitcode embedded in specially named arrays these generated source files then are compiled along with other sources into the projects main library. If I made the external project create OBJECT libraries rather than regular libraries then that might work but when I add the ``-emit-llvm`` flag to CMAKE_C_FLAGS things start breaking..., e.g. ``` include(CheckCCompilerFlag) CHECK_C_COMPILER_FLAG("-g" SUPPORTS_DEBUG) ``` Checking this compiler flag fails if CMAKE_C_FLAGS contains ``-emit-llvm`` due to linking errors. I also need a way of communicating to the outside world where the object files are as they are the final output. Using ``add_library(foo OBJECT ...)`` is just a hack to avoid invoking the linker. Maybe I should use a tool-chain file? I've never used this feature of CMake before but perhaps that would solve these problems. That way I could have CMake use, llvm-link rather than the system linker. Then things wouldn't break when trying to link. Dan. -- 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