[odb-users] libodb with cmake
Alex Beimler
alex-beimler at web.de
Tue Feb 17 21:33:52 EST 2015
Hello,
Is there a Full Support of cmake for libodb, libodb-sqlite, libodb-...
I mean not the odb-Compiler (already solved this Problem) or the
FindPackage-Modul.
Actually i use the ExternProject Module of cmake to build libodb.
ExternalProject_Add(libodb
SOURCE_DIR ${THRIDPARTY_DIR}/libodb
PREFIX ${CMAKE_CURRENT_BINARY_DIR}
CONFIGURE_COMMAND ./configure
--prefix=${CMAKE_CURRENT_BINARY_DIR}
BUILD_COMMAND make install
INSTALL_COMMAND ""
INSTALL_DIR ${CMAKE_CURRENT_BINARY_DIR}
BUILD_IN_SOURCE 1)
ExternalProject_Add(libodb-sqlite
DEPENDS libodb sqlite3
SOURCE_DIR ${THRIDPARTY_DIR}/libodb-sqlite
PREFIX ${CMAKE_CURRENT_BINARY_DIR}
CONFIGURE_COMMAND ./configure --with-libodb=${ODB_LIBRARY_DIR}
--prefix=${CMAKE_CURRENT_BINARY_DIR}
BUILD_COMMAND make install
INSTALL_DIR ${CMAKE_CURRENT_BINARY_DIR}
INSTALL_COMMAND ""
BUILD_IN_SOURCE 1)
or (in older Projects) use FindPackage-Module, compile libodb manually
(./configure, make install into /usr/local) (Not really Cross-platform)
Its works but i have same Problems.
1. the obj-Files are make into the SourceCode-Dir not in the
${CMAKE_CURRENT_BINARY_DIR}.
The Libs just "install" into the ${CMAKE_CURRENT_BINARY_DIR}.
2. Not sure what Variables/Configures are set.
3. Whats about the (Cross)Compiler(Flags), System-include/lib path,
BuildType, ...
4. Dependency Hell, libodb-.. needs libodb, (profile) needs boost, Qt,
... needs DB-lib
5. Switch from shared-lib to static-lib (build only static-lib),
libodb-sqlite.a vs libodb.so
6. Switch/Enable/Disable libodb-DB MySQL vs. PGSQL, SQLite only for
Tests, Develop vs. Productive (separate sql-Statements)
Most of the configurations were so easy to maintain with cmake.
(Variables, Settings, if-statements, cmake-gui, ...)
More information about the odb-users
mailing list