How to change CMake object file suffix from default '.o'

In order to configure CMake to use an alternate object file suffix (default: .o on Linux) use these lines in your CMakeLists.txt:

CMakeLists.txt
set(CMAKE_C_OUTPUT_EXTENSION ".rel")
set(CMAKE_CXX_OUTPUT_EXTENSION ".rel")

This example changes the output extension from .o to .rel (which is required for the SDCC compiler). Be sure to replace ".rel" by your desired output suffix.

Note that in order for these to take effect, you might need to completely remove CMakeCache.txt, CMakeFiles & cmake_install.cmake:

cleanup_cmake_cache.sh
rm -rf CMakeCache.txt CMakeFiles cmake_install.cmake

Check out similar posts by category: C/C++, CMake