zafrada Posted September 30, 2012 Report Share Posted September 30, 2012 (edited) RESUELTO: Para los que les pase lo mismo, es simplemente debido al cache de Cmake, hay que borrar la carpeta build si es que hacen un build externo y volver a compilar, y ahí se soluciona todo :tonto: Miren, escribí este CMakeLists.txt que me funcionaba perfecto (tuve un problema con SQLite pero lo logré solucionar, aunque no muy elegantemente), pero cuando intenté agregar un módulo que ocupa las librerías clutter y clutter-gtk no me funciona. El programa está escrito en Vala, valac genera el código en C perfecto, pero a la hora de compilar con gcc, me manda el típico error de que no encuentra la librería. Bueno, les dejo acá el contenido de mi cmake, si necesitan algún otro archivo o dato, pregunten. El problema está relacionado con el linkeo en si con clutter-gtk, no así con clutter. project(Project) cmake_minimum_required (VERSION 2.8) list(APPEND CMAKE_MODULE_PATH ${CMAKE_SOURCE_DIR}/cmake ) list (APPEND CMAKE_MODULE_PATH ${CMAKE_SOURCE_DIR}/cmake/vala) # # Base bits # set (DATADIR "${CMAKE_INSTALL_PREFIX}/share") set (PKGDATADIR "${DATADIR}/project") set (GETTEXT_PACKAGE "project") set (RELEASE_NAME "Project") set (VERSION "0.1") set (VERSION_INFO "Release") # # Niceties # set (ARCHIVE_NAME project-${VERSION}) add_custom_target (dist COMMAND bzr export --root=${ARCHIVE_NAME} ${CMAKE_BINARY_DIR}/${ARCHIVE_NAME}.tar.bz2 WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} ) add_custom_target (distcheck COMMAND cd ${CMAKE_BINARY_DIR} && rm -rf ${ARCHIVE_NAME} && tar xf ${ARCHIVE_NAME}.tar.bz2 && mkdir ${ARCHIVE_NAME}/build && cd ${ARCHIVE_NAME}/build && cmake -DCMAKE_INSTALL_PREFIX=../install -DGSETTINGS_LOCALINSTALL=ON .. -DCMAKE_MODULE_PATH=/usr/share/cmake && make -j8 && make -j8 install && make check ) add_dependencies(distcheck dist) add_custom_target (uninstall "${CMAKE_COMMAND}" -P "${CMAKE_SOURCE_DIR}/cmake/uninstall.cmake") # # config.h # configure_file (${CMAKE_SOURCE_DIR}/config.h.cmake ${CMAKE_BINARY_DIR}/config.h) add_definitions(-include config.h) # # Data # file (GLOB _imagefiles "${CMAKE_CURRENT_SOURCE_DIR}/data/images/*") install (FILES ${_imagefiles} DESTINATION ${PKGDATADIR}) install(FILES ${CMAKE_CURRENT_SOURCE_DIR}/data/project.desktop DESTINATION /usr/share/applications) # # i18n # add_subdirectory(po) # # SRC # set (PROJECT_DEPS "gobject-2.0;glib-2.0;gio-2.0;gtk+-3.0;granite;gee-1.0;sqlite3;clutter-gtk-1.0;clutter-1.0;") find_package(PkgConfig) pkg_check_modules(CLUTTERGTK REQUIRED "clutter-gtk-1.0 >= 1.0.0") pkg_check_modules(CLUTTER REQUIRED "clutter-1.0 >= 1.0.0") pkg_check_modules(SQLITE3 REQUIRED "sqlite3") pkg_check_modules(GLIB REQUIRED "glib-2.0 >= 2.26.0") pkg_check_modules(GOBJECT REQUIRED "gobject-2.0 >= 2.26.0") pkg_check_modules(GIO REQUIRED "gio-2.0 >= 2.26.0") pkg_check_modules(GTK+ REQUIRED "gtk+-3.0 >= 3.0.8") pkg_check_modules(GEE REQUIRED "gee-1.0 >= 0.5.0") pkg_check_modules(LIBGRANITE REQUIRED "granite") pkg_check_modules(DEPS REQUIRED ${PROJECT_DEPS} gthread-2.0) add_definitions(${DEPS_CFLAGS}) link_libraries(${DEPS_LIBRARIES}) link_directories(${DEPS_LIBRARY_DIRS}) find_package(Vala REQUIRED) include(ValaVersion) ensure_vala_version("0.18.0" MINIMUM) include(ValaPrecompile) vala_precompile(VALA_C etc etc... PACKAGES gtk+-3.0 sqlite3 granite gio-2.0 gee-1.0 clutter-1.0 clutter-gtk-1.0 CUSTOM_VAPIS vapi/config.vapi OPTIONS --thread -g ) add_definitions(${CFLAGS}-Wall -Winit-self -Wwrite-strings -Wunreachable-code -Wstrict-prototypes) add_executable(project ${VALA_C}) target_link_libraries(project ${SQLITE_LIBRARIES}) install(TARGETS project RUNTIME DESTINATION bin) # # GSettings Schema # include(GSettings) add_schema("org.pantheon.Project.gschema.xml") Edited September 30, 2012 by zafrada Link to comment Share on other sites More sharing options...
AshWilliams Posted September 30, 2012 Report Share Posted September 30, 2012 Tema autosolucionado.....procedo al cierre ;) Saludos :krider: Link to comment Share on other sites More sharing options...
Recommended Posts