diff options
Diffstat (limited to 'src/svnqt/CMakeLists.txt')
-rw-r--r-- | src/svnqt/CMakeLists.txt | 205 |
1 files changed, 205 insertions, 0 deletions
diff --git a/src/svnqt/CMakeLists.txt b/src/svnqt/CMakeLists.txt new file mode 100644 index 0000000..bf50a6f --- /dev/null +++ b/src/svnqt/CMakeLists.txt @@ -0,0 +1,205 @@ +SET(SOURCES + apr.cpp + client_annotate.cpp + client_cat.cpp + client.cpp + client_diff.cpp + client_ls.cpp + client_modify.cpp + client_property.cpp + client_status.cpp + context.cpp + datetime.cpp + dirent.cpp + entry.cpp + exception.cpp + log_entry.cpp + path.cpp + pool.cpp + revision.cpp + status.cpp + targets.cpp + url.cpp + version_check.cpp + wc.cpp + lock_entry.cpp + client_lock.cpp + info_entry.cpp + client_impl.cpp + contextdata.cpp + commititem.cpp + repository.cpp + repositorydata.cpp + repositorylistener.cpp + svnstream.cpp + diff_data.cpp + svnfilestream.cpp + stringarray.cpp + diffoptions.cpp + conflictdescription.cpp + conflictresult.cpp + client_merge.cpp + cache/LogCache.cpp + cache/ReposLog.cpp + cache/DatabaseException.hpp + cache/DatabaseException.cpp + ) + +IF (NOT QT4_FOUND) + IF (SQLITE_FOUND) + MESSAGE(STATUS "Build own sqlite3 database modul") + SET(SOURCES + ${SOURCES} + cache/sqlite3/qsqlcachedresult.cpp + cache/sqlite3/qsql_sqlite3.cpp + cache/sqlite3/qsqlcachedresult.h + cache/sqlite3/qsql_sqlite3.h + ) + ELSE (SQLITE_FOUND) + MESSAGE(SEND_ERROR "The QT3 version requires sqlite3 but could not found") + ENDIF (SQLITE_FOUND) +ELSE (NOT QT4_FOUND) + MESSAGE(STATUS "Build with QT4.") + ADD_DEFINITIONS(-DNO_SQLITE3) +ENDIF (NOT QT4_FOUND) + +SET(CACHEINST_HEADERS + cache/LogCache.hpp + cache/ReposLog.hpp + cache/DatabaseException.hpp +) + +SET(INST_HEADERS + annotate_line.hpp + apr.hpp + check.hpp + client.hpp + commititem.hpp + context.hpp + context_listener.hpp + datetime.hpp + dirent.hpp + entry.hpp + exception.hpp + info_entry.hpp + lock_entry.hpp + log_entry.hpp + path.hpp + pool.hpp + repository.hpp + repositorylistener.hpp + revision.hpp + smart_pointer.hpp + shared_pointer.hpp + status.hpp + svnfilestream.hpp + svnstream.hpp + svnqttypes.hpp + targets.hpp + url.hpp + version_check.hpp + wc.hpp + stringarray.hpp + diffoptions.hpp + conflictdescription.hpp + conflictresult.hpp + ) + +FILE(GLOB svnhdr RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} "*.hpp") +SET(svnhdr ${svnhdr} ${CACHE_INST_HEADERS}) + +IF(QT4_FOUND) + MESSAGE(STATUS "Qt: ${QT_LIBRARY_DIR}") + MESSAGE(STATUS "Qt: ${QT_QTCORE_LIBRARY}") + SET(TOUTF8 "toUtf8") + SET(FROMUTF8 "fromUtf8") + SET(QLIST "QList") + SET(TOASCII "toAscii") + SET(HOMEDIR "homePath") + SET(svnqt-name svnqt-qt4) + SET(QDATABASE "QSqlDatabase") + SET(QLONG "qlonglong") +ELSE(QT4_FOUND) + IF(QT_FOUND) + SET(TOUTF8 "utf8") + SET(FROMUTF8 "fromUtf8") + SET(QLIST "QValueList") + SET(TOASCII "latin1") + SET(HOMEDIR "homeDirPath") + SET(QDATABASE "QSqlDatabase*") + SET(QLONG "Q_LLONG") + ENDIF(QT_FOUND) + SET(svnqt-name svnqt) +ENDIF(QT4_FOUND) + +IF (HAVE_GCC_VISIBILITY) + SET(_SVNQT_EXPORT "__attribute__ ((visibility(\"default\")))") + SET(_SVNQT_NOEXPORT "__attribute__ ((visibility(\"hidden\")))") +ENDIF (HAVE_GCC_VISIBILITY) +IF (WIN32) + SET(_SVNQT_EXPORT "__declspec(dllexport)") +ENDIF (WIN32) + +CONFIGURE_FILE( + "${CMAKE_CURRENT_SOURCE_DIR}/svnqt_defines.hpp.in" + "${CMAKE_CURRENT_BINARY_DIR}/svnqt_defines.hpp" + IMMEDIATE + @ONLY) + +SET(INST_HEADERS ${INST_HEADERS} ${CMAKE_CURRENT_BINARY_DIR}/svnqt_defines.hpp) +INCLUDE_DIRECTORIES(BEFORE ${CMAKE_CURRENT_BINARY_DIR}) + +ADD_LIBRARY(${svnqt-name} SHARED ${SOURCES} ${svnhdr}) +IF(WIN32) + ADD_DEFINITIONS(-D_USE_32BIT_TIME_T) +ELSE(WIN32) + SET(LIBRARY_OUTPUT_PATH ${PROJECT_BINARY_DIR}/lib${LIB_SUFFIX}) + SET_TARGET_PROPERTIES(${svnqt-name} + PROPERTIES + COMPILE_FLAGS ${CMAKE_SHARED_LIBRARY_CXX_FLAGS}) +ENDIF(WIN32) + +SET(LIB_MAJOR 4) +SET(LIB_MINOR 2) +SET(LIB_RELEASE 2) + +SET(_soversion ${LIB_MAJOR}.${LIB_MINOR}.${LIB_RELEASE}) + +SET_TARGET_PROPERTIES(${svnqt-name} PROPERTIES + SOVERSION ${LIB_MAJOR} + VERSION ${_soversion}) + +SET(ALL_LINKFLAGS ${APR_EXTRA_LIBFLAGS}) +SET(ALL_LINKFLAGS "${ALL_LINKFLAGS} ${APU_EXTRA_LIBFLAGS}") +SET_TARGET_PROPERTIES(${svnqt-name} PROPERTIES LINK_FLAGS "${ALL_LINKFLAGS} ${LINK_NO_UNDEFINED}") +TARGET_LINK_LIBRARIES(${svnqt-name} ${QT_LIBRARIES} ${SUBVERSION_ALL_LIBS}) + +IF (SQLITE_FOUND AND NOT QT4_FOUND) + TARGET_LINK_LIBRARIES(${svnqt-name} ${SQLITE_LIBRARIES}) + INCLUDE_DIRECTORIES(SQLITE_INCLUDE_DIR) +ELSE (SQLITE_FOUND AND NOT QT4_FOUND) + TARGET_LINK_LIBRARIES(${svnqt-name} ${QT_QTSQL_LIBRARY}) +ENDIF (SQLITE_FOUND AND NOT QT4_FOUND) + +IF (WIN32) + TARGET_LINK_LIBRARIES( ${svnqt-name} wsock32.lib ) +ENDIF (WIN32) + +# Just a small linking test +IF (BUILD_TESTS) + ADD_EXECUTABLE(testlink testmain.cpp) + TARGET_LINK_LIBRARIES(testlink ${svnqt-name}) +ENDIF (BUILD_TESTS) + +# install rules +# in win32 we don't install it +IF(NOT WIN32) + INSTALL(TARGETS ${svnqt-name} DESTINATION ${LIB_INSTALL_DIR}) + INSTALL(FILES ${INST_HEADERS} DESTINATION include/${svnqt-name}) + INSTALL(FILES ${CACHEINST_HEADERS} DESTINATION include/${svnqt-name}/cache) +ENDIF(NOT WIN32) + +IF (BUILD_TESTS) + ADD_SUBDIRECTORY(tests) + ADD_SUBDIRECTORY(cache/test) +ENDIF (BUILD_TESTS) |