Tengo un proyecto CMake que usa FindCurses.cmake
. Estoy en OS X, donde el sistema operativo se envía con un antiguola versión de ncurses (y no parece que incluya los enlaces de C ++) y el código que estoy intentando construir requiere ncurses 5.9. He utilizado Homebrew para instalar 5.9, pero como un buen vecino, Homebrew no sobrescribe los recursos curses / ncurses que vienen con el sistema operativo (ni quiero que lo haga).
Mi instinto es que esto es algo que deberíaser capaz de hacer sin editar los archivos CMake, ¿verdad? (Debido a que este cambio en el comportamiento es específico de mi entorno de compilación y no es un cambio en el proyecto, ¿verdad?) Con un proyecto autoconf probablemente agregaría CFLAGS
y LDFLAGS
variables de entorno antes de ejecutar ./configure
, pero CMake parece tener mucho más en juego.
¿Cuál es la forma idiomática de hacer esto en CMake?
Respuestas
1 para la respuesta № 1Puede proporcionar rutas de búsqueda adicionales a través de CMAKE_PREFIX_PATH
. Caminos dentro CMAKE_PREFIX_PATH
se buscan primero
Puedes especificar CMAKE_PREFIX_PATH
ya sea codificado en el archivo CMakeLists.txt o, preferiblemente, a través de:
cmake -D CMAKE_PREFIX_PATH=/path/where/brew/installed/curses .
0 para la respuesta № 2
Puede agregar en su CMakeLists.txt include_directories y link_directories apuntando a su versión ncurses.
También intentaría encontrar si ncurses 5.9 tiene un módulo pkg-config. Consulte con pkg-config --list-all.