На самом деле то, что вы делаете, должно работать. Если компилятор не может найти библиотеку, он может просто не быть в стандартных путях библиотеки. Вы можете использовать следующую справку, чтобы указать другой link_directories
(-L/some/path
параметр для компилятора).
cmake --help-command link_directories
Еще одна полезная вещь, которую вы можете сделать при отладке сборок CMake, это распечатать команды, с которыми он запускает компилятор:
make VERBOSE=1
Затем вы можете взять команды и настроить их вручную. После этого нужно изменить CMAKE_C_FLAGS
/ include_directories
/ link_directories