Warning, /sdk/kdesvn/src/svnqt/CMakeLists.txt is written in an unsupported language. File is not indexed.

0001 ####
0002  #   Copyright (C) 2005-2009 by Rajko Albrecht  ral@alwins-world.de        #
0003  #                                                                         #
0004  #   This program is free software; you can redistribute it and/or modify  #
0005  #   it under the terms of the GNU General Public License as published by  #
0006  #   the Free Software Foundation; either version 2 of the License, or     #
0007  #   (at your option) any later version.                                   #
0008  #                                                                         #
0009  #   This program is distributed in the hope that it will be useful,       #
0010  #   but WITHOUT ANY WARRANTY; without even the implied warranty of        #
0011  #   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the         #
0012  #   GNU General Public License for more details.                          #
0013  #                                                                         #
0014  #   You should have received a copy of the GNU General Public License     #
0015  #   along with this program; if not, write to the                         #
0016  #   Free Software Foundation, Inc.,                                       #
0017  #   51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.         #
0018  ####
0019 
0020 option(OVERRIDE_SVN_API_VERSION "Override the current API version (e.g. to compile against 1.6 api when 1.8 is installed)" OFF)
0021 if(OVERRIDE_SVN_API_VERSION)
0022   set(OVERRIDE_SVN_API_VERSION_STR 0x10600 CACHE STRING "svn api version to use, hex format, two digits per major/minor/patch")
0023 endif()
0024 
0025 set(SOURCES
0026     annotate_line.cpp
0027     apr.cpp
0028     cache/DatabaseException.cpp
0029     cache/LogCache.cpp
0030     cache/ReposConfig.cpp
0031     cache/ReposLog.cpp
0032     client_annotate.cpp
0033     client_annotate_parameter.cpp
0034     client_cat.cpp
0035     client_commit_parameter.cpp
0036     client.cpp
0037     client_diff.cpp
0038     client_impl.cpp
0039     client_lock.cpp
0040     client_ls.cpp
0041     client_merge.cpp
0042     client_modify.cpp
0043     client_parameter.cpp
0044     client_property.cpp
0045     client_status.cpp
0046     client_update_parameter.cpp
0047     commititem.cpp
0048     conflictdescription.cpp
0049     conflictresult.cpp
0050     context.cpp
0051     contextdata.cpp
0052     datetime.cpp
0053     diff_data.cpp
0054     diffoptions.cpp
0055     dirent.cpp
0056     entry.cpp
0057     exception.cpp
0058     info_entry.cpp
0059     lock_entry.cpp
0060     log_entry.cpp
0061     path.cpp
0062     pool.cpp
0063     repository.cpp
0064     repositorydata.cpp
0065     repositorylistener.cpp
0066     reposnotify.cpp
0067     revision.cpp
0068     status.cpp
0069     stringarray.cpp
0070     svnfilestream.cpp
0071     svnstream.cpp
0072     targets.cpp
0073     url.cpp
0074     version_check.cpp
0075     )
0076 
0077 
0078 configure_file(
0079     "${CMAKE_CURRENT_SOURCE_DIR}/svnqt_defines.h.in"
0080     "${CMAKE_CURRENT_BINARY_DIR}/svnqt_defines.h"
0081     IMMEDIATE
0082     @ONLY)
0083 
0084 add_library(svnqt STATIC ${SOURCES})
0085 if(WIN32)
0086     target_compile_definitions(svnqt PUBLIC _USE_32BIT_TIME_T)
0087 endif()
0088 if(OVERRIDE_SVN_API_VERSION)
0089     target_compile_definitions(svnqt PUBLIC OVERRIDE_SVN_API_VERSION=${OVERRIDE_SVN_API_VERSION_STR})
0090 endif()
0091 
0092 set(ALL_LINKFLAGS ${APR_EXTRA_LDFLAGS})
0093 set(ALL_LINKFLAGS "${ALL_LINKFLAGS} ${APU_EXTRA_LDFLAGS}")
0094 
0095 if(WIN32 OR APPLE)
0096     set_property(TARGET svnqt APPEND PROPERTY LINK_FLAGS "${ALL_LINKFLAGS} ${LINK_NO_UNDEFINED}")
0097 else()
0098     set_property(TARGET svnqt APPEND PROPERTY LINK_FLAGS "-Wl,--as-needed ${ALL_LINKFLAGS} ${LINK_NO_UNDEFINED}")
0099 endif()
0100 
0101 target_link_libraries(svnqt
0102     PUBLIC
0103         ${SUBVERSION_ALL_LIBS}
0104         KF5::ConfigCore
0105         Qt::Core
0106         Qt::Sql
0107 )
0108 target_include_directories(svnqt
0109     PUBLIC
0110         ${CMAKE_CURRENT_SOURCE_DIR}/../
0111         ${CMAKE_CURRENT_BINARY_DIR}/../
0112 )
0113 set_property(TARGET svnqt APPEND PROPERTY COMPILE_FLAGS ${APR_CPP_FLAGS})
0114 set_property(TARGET svnqt PROPERTY CXX_VISIBILITY_PRESET hidden)
0115 
0116 if(Backtrace_FOUND)
0117      target_include_directories(svnqt SYSTEM PUBLIC ${Backtrace_INCLUDE_DIRS})
0118      target_link_libraries(svnqt PUBLIC ${Backtrace_LIBRARY})
0119 endif()
0120 
0121 if(WIN32)
0122     target_link_libraries(svnqt wsock32.lib)
0123 endif()
0124 
0125 # Just a small linking test
0126 if(KDE4_BUILD_TESTS)
0127     add_executable(testlink testmain.cpp)
0128     target_link_libraries(testlink svnqt)
0129 endif()
0130 
0131 if(KDE4_BUILD_TESTS)
0132   add_subdirectory(tests)
0133   add_subdirectory(cache/test)
0134 endif()