Build-System

Proggen.org - Lernprojekt: Duplikatefinder
Benutzeravatar
fat-lobyte
Beiträge: 1398
Registriert: Sa Jul 05, 2008 12:23 pm
Wohnort: ::1
Kontaktdaten:

Re: Build-System

Beitrag von fat-lobyte » Sa Jul 16, 2011 10:43 pm

Bebu hat geschrieben:Ich möchte unseren Bild-Experten daran erinnern, das uns noch ein find_package für Sqlite fehlt. Ich habe heute vergeblich versucht, so etwas einzubauen und hoffe jetzt, dass du mehr Erfolg hast, als ich.
Hallo, ich hab jetzt versucht ein FindSQLite3.cmake einzubauen. Bitte etwas testen. Ich werde noch ein paar kleine Veränderungen einbauen, aber ich denke es sollte funktionieren.

Könnten mir inzwischen bitte alle aktiven Windows-Entwickler ihren SQLite3 Installationspfad angeben? Dann kann ich den Pfad in die HINTS einbauen sodass die Bibliothek auch auf Windows automatisch gefunden werden kann.
Haters gonna hate, potatoes gonna potate.

Benutzeravatar
Bebu
Beiträge: 562
Registriert: Mi Okt 21, 2009 6:19 pm
Wohnort: In der Nähe von Salzburg - Bin aber kein Österreicher!

Re: Build-System

Beitrag von Bebu » Sa Jul 16, 2011 11:30 pm

fat-lobyte hat geschrieben: Hallo, ich hab jetzt versucht ein FindSQLite3.cmake einzubauen. Bitte etwas testen. Ich werde noch ein paar kleine Veränderungen einbauen, aber ich denke es sollte funktionieren.
Hier unter Debian funktioniert es wunderbar, vielen Dank.

Ich habe schon die nächste Frage zum Buildsystem, speziell zum Thema Boost. Neben den Bibliotheken, besteht Boost ja zum größten Teil aus Headern. Kann man irgendwie abchecken, ob bestimmte Header vorhanden sind?
Wer immer nach dem Unerreichbaren jagt, der wird irgendwann auf die Schnauze fallen!

Benutzeravatar
fat-lobyte
Beiträge: 1398
Registriert: Sa Jul 05, 2008 12:23 pm
Wohnort: ::1
Kontaktdaten:

Re: Build-System

Beitrag von fat-lobyte » So Jul 17, 2011 12:12 am

Bebu hat geschrieben:Hier unter Debian funktioniert es wunderbar, vielen Dank.
Freut mich zu hören. Wie siehts bei den Kollegen aus?
Bebu hat geschrieben:Ich habe schon die nächste Frage zum Buildsystem, speziell zum Thema Boost. Neben den Bibliotheken, besteht Boost ja zum größten Teil aus Headern. Kann man irgendwie abchecken, ob bestimmte Header vorhanden sind?
Ja, mit der Versionsnummer :-)
Nein, es ist so: Wenn "Boost" installiert ist, dann sind auch _alle_ Header installiert. Es kann gar nicht sein, dass welche Fehlen.
Brauchst du aber bestimmte kompilierte Komponenten (filesystem, system, thread, python, program_options, ...) DANN kann man das abfragen. (irgendwie. hoffe ich.) Darf man Fragen wofür du das brauchst.
Haters gonna hate, potatoes gonna potate.

Benutzeravatar
Bebu
Beiträge: 562
Registriert: Mi Okt 21, 2009 6:19 pm
Wohnort: In der Nähe von Salzburg - Bin aber kein Österreicher!

Re: Build-System

Beitrag von Bebu » So Jul 17, 2011 7:59 am

Klar darfst du fragen. Aktuell verwende ich aus Boost die Pfade, sowie das Boost::Function und Boost::Bind. Boost::Path ist aus File_System und das wir auch abgefragt über folgende Zeile:

Code: Alles auswählen

find_package(Boost 1.46 COMPONENTS filesystem REQUIRED)
Nur nach den Headern für den Rest wird nicht explizit gefragt, obwohl ohne die auch nichts läuft.
Wer immer nach dem Unerreichbaren jagt, der wird irgendwann auf die Schnauze fallen!

Benutzeravatar
fat-lobyte
Beiträge: 1398
Registriert: Sa Jul 05, 2008 12:23 pm
Wohnort: ::1
Kontaktdaten:

Re: Build-System

Beitrag von fat-lobyte » So Jul 17, 2011 10:17 am

Bebu hat geschrieben:Nur nach den Headern für den Rest wird nicht explizit gefragt, obwohl ohne die auch nichts läuft.
Wie gesagt, was du mit find_package(Boost ...) abfragst sind immer nur die kompilierten Komponenten. Der Rest muss installiert sein, wenn es denn in der Boost Version vorhanden ist. Nachdem Boost.Function und Boost.Bind mittlerweile schon Klassiker geworden sind, sollte das in 1.46 ziemlich sicher drinnen sein.
Haters gonna hate, potatoes gonna potate.

Benutzeravatar
cloidnerux
Moderator
Beiträge: 3085
Registriert: Fr Sep 26, 2008 4:37 pm
Wohnort: Ram (Gibts wirklich)

Re: Build-System

Beitrag von cloidnerux » Mo Jul 18, 2011 2:10 pm

So, hier nochmal die Meldungen von Cmake bei dem Versuch alles aus Trunk zu Configurieren(Win 7 32-Bit, Cmake-gui, Visual Studio 9, boost-librarys sind vorhanden)

Code: Alles auswählen

Check for working CXX compiler using: Visual Studio 9 2008
Check for working CXX compiler using: Visual Studio 9 2008 -- works
Detecting CXX compiler ABI info
Detecting CXX compiler ABI info - done
CMake Error at C:/Program Files/CMake 2.8/share/cmake-2.8/Modules/FindBoost.cmake:1135 (message):
  Unable to find the requested Boost libraries.

  Unable to find the Boost header files.  Please set BOOST_ROOT to the root
  directory containing Boost or BOOST_INCLUDEDIR to the directory containing
  Boost's headers.
Call Stack (most recent call first):
  CMakeLists.txt:12 (find_package)


CMake Error at cmake/FindSQLite3.cmake:55 (MESSAGE):
  Could not find SQLite3
Call Stack (most recent call first):
  dataholding/CMakeLists.txt:5 (find_package)


CMake Error: The following variables are used in this project, but they are set to NOTFOUND.
Please set them or make sure they are set and tested correctly in the CMake files:
Boost_INCLUDE_DIR (ADVANCED)
   used as include directory in directory D:/Users/jochen/Documents/dedupe/dedupe/trunk
   used as include directory in directory D:/Users/jochen/Documents/dedupe/dedupe/trunk/hash
   used as include directory in directory D:/Users/jochen/Documents/dedupe/dedupe/trunk/filesearch
   used as include directory in directory D:/Users/jochen/Documents/dedupe/dedupe/trunk/dataholding

Configuring incomplete, errors occurred!
SQlite und ncurses fehlen mir.

Um meine hashklasse zu Compilieren brauchte ich die Sourcen aus "fileinfo", weswegen ich diese beiden Ordner einzeln konfigurieren lies, daher auch der Fehler mit dem "minimum_requiered_version"
Redundanz macht wiederholen unnötig.
quod erat expectandum

Benutzeravatar
fat-lobyte
Beiträge: 1398
Registriert: Sa Jul 05, 2008 12:23 pm
Wohnort: ::1
Kontaktdaten:

Re: Build-System

Beitrag von fat-lobyte » Mo Jul 18, 2011 2:18 pm

cloidnerux hat geschrieben:So, hier nochmal die Meldungen von Cmake bei dem Versuch alles aus Trunk zu Configurieren(Win 7 32-Bit, Cmake-gui, Visual Studio 9, boost-librarys sind vorhanden)
Ok, die ganzen CMake Finder module sind unter Windows etwas hilflos, da muss man oft den Installationsort mit angeben. Könntest du bitte hier reinposten wo du Boost installiert hast?
Und anschließend fügst du -DBOOST_ROOT=C:\dein\pfad\zu\boost als CMake Argument zur Zeile hinzu.

Zum thema SQlite: Das ding ist noch ganz frisch und noch nicht auf Windows getestet. Schreib mal rein wo du die Libs am liebsten installierst, dann kann ich den Ort zu den "HINTS" hinzufügen, dann sollte es auch bei dir automatisch gefunden werden.
Haters gonna hate, potatoes gonna potate.

Benutzeravatar
cloidnerux
Moderator
Beiträge: 3085
Registriert: Fr Sep 26, 2008 4:37 pm
Wohnort: Ram (Gibts wirklich)

Re: Build-System

Beitrag von cloidnerux » Mo Jul 18, 2011 2:33 pm

Ok, die ganzen CMake Finder module sind unter Windows etwas hilflos, da muss man oft den Installationsort mit angeben. Könntest du bitte hier reinposten wo du Boost installiert hast?
Und anschließend fügst du -DBOOST_ROOT=C:\dein\pfad\zu\boost als CMake Argument zur Zeile hinzu.
Ich habe jetzt erstmal getestet und BOOST_ROOT und BOOST_LIBRARYDIR angeben(pfad im Ouput)
Aber Cmake findet boost immer noch nicht?

Code: Alles auswählen

CMake Error at C:/Program Files/CMake 2.8/share/cmake-2.8/Modules/FindBoost.cmake:1135 (message):
  Unable to find the requested Boost libraries.

  Boost version: 1.47.0

  Boost include path: D:/Users/jochen/Documents/Visual Studio
  2008/boost_1_47_0

  The following Boost libraries could not be found:

          boost_filesystem
          boost_system

  No Boost libraries were found.  You may need to set BOOST_LIBRARYDIR to the
  directory containing Boost libraries or BOOST_ROOT to the location of
  Boost.
Call Stack (most recent call first):
  CMakeLists.txt:12 (find_package)


CMake Error at cmake/FindSQLite3.cmake:55 (MESSAGE):
  Could not find SQLite3
Call Stack (most recent call first):
  dataholding/CMakeLists.txt:5 (find_package)


Configuring incomplete, errors occurred!
Zum thema SQlite: Das ding ist noch ganz frisch und noch nicht auf Windows getestet. Schreib mal rein wo du die Libs am liebsten installierst, dann kann ich den Ort zu den "HINTS" hinzufügen, dann sollte es auch bei dir automatisch gefunden werden.
Kann es sein, das es für SQLite unter Windows keine Header gibt? Habe nur den Quellcode und librarys/dlls gefunden?
Ansonsten entweder in den Include/Lib-Dirs von Visual Studio oder unter C.
Redundanz macht wiederholen unnötig.
quod erat expectandum

Benutzeravatar
fat-lobyte
Beiträge: 1398
Registriert: Sa Jul 05, 2008 12:23 pm
Wohnort: ::1
Kontaktdaten:

Re: Build-System

Beitrag von fat-lobyte » Mo Jul 18, 2011 3:16 pm

cloidnerux hat geschrieben: Ich habe jetzt erstmal getestet und BOOST_ROOT und BOOST_LIBRARYDIR angeben(pfad im Ouput)
Aber Cmake findet boost immer noch nicht?
Aaahhh Ja. Er kennt ja 1.47 nicht. Nochmal "-DBOOST_ADDITIONAL_VERSIONS=1.47 1.47.0" hinzufügen.
Ansonsten, hast du skype dass wir das bei dir hinkriegen könnten?
Kann es sein, das es für SQLite unter Windows keine Header gibt? Habe nur den Quellcode und librarys/dlls gefunden?
Ansonsten entweder in den Include/Lib-Dirs von Visual Studio oder unter C.
Nein. Quellcode zusätzlich herunterladen: http://www.sqlite.org/sqlite-amalgamation-3070701.zip
fat-lobyte hat geschrieben:Zum thema SQlite: Das ding ist noch ganz frisch und noch nicht auf Windows getestet. Schreib mal rein wo du die Libs am liebsten installierst, dann kann ich den Ort zu den "HINTS" hinzufügen, dann sollte es auch bei dir automatisch gefunden werden.
Sorry, das ist falsch rübergekommen. SQLite3 ist nicht frisch, was frisch ist ist FindSQLite3.cmake, das ich vorgestern hinzugefügt habe.
Haters gonna hate, potatoes gonna potate.

Benutzeravatar
fat-lobyte
Beiträge: 1398
Registriert: Sa Jul 05, 2008 12:23 pm
Wohnort: ::1
Kontaktdaten:

Re: Build-System

Beitrag von fat-lobyte » Mo Jul 18, 2011 10:14 pm

Sorry, ich muss die Windowsentwickler leider vertrösten. Da gehört noch einiges gefixt bis ich mit reinem Gewissen sagen kann "tut mal!". Bis die Tage.
mfg, fat-lobyte
Haters gonna hate, potatoes gonna potate.

Antworten