QGIS/external/o2/src/CMakeLists.txt

230 lines
4.6 KiB
CMake
Raw Normal View History

2018-06-25 11:39:52 +02:00
cmake_minimum_required(VERSION 2.8.11)
set(CMAKE_AUTOMOC ON)
set(CMAKE_INCLUDE_CURRENT_DIR ON)
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall")
if(o2_WITH_QT5)
find_package(Qt5 COMPONENTS Core Network REQUIRED)
else(o2_WITH_QT5)
set(QT_USE_QTNETWORK true)
set(QT_USE_QTSCRIPT true)
find_package(Qt4 REQUIRED)
endif(o2_WITH_QT5)
#find_package(QJson REQUIRED)
if (NOT o2_WITH_QT5)
include( ${QT_USE_FILE} )
endif(NOT o2_WITH_QT5)
set( o2_SRCS
o2.cpp
o2reply.cpp
o2replyserver.cpp
o2requestor.cpp
o2simplecrypt.cpp
o0settingsstore.cpp
o0baseauth.cpp
)
set( o2_HDRS
o2.h
o2reply.h
o2replyserver.h
o2requestor.h
o0abstractstore.h
o0baseauth.h
o0export.h
o0globals.h
o0requestparameter.h
o0settingsstore.h
o0simplecrypt.h
)
if(o2_WITH_OAUTH1)
set( o2_SRCS
${o2_SRCS}
o1.cpp
o1requestor.cpp
o1timedreply.cpp
)
set( o2_HDRS
${o2_HDRS}
o1.h
o1requestor.h
o1timedreply.h
o1freshbooks.h
)
endif(o2_WITH_OAUTH1)
if(o2_WITH_TWITTER)
set( o2_SRCS
${o2_SRCS}
oxtwitter.cpp
)
set( o2_HDRS
${o2_HDRS}
o1twitter.h
oxtwitter.h
)
endif(o2_WITH_TWITTER)
if(o2_WITH_DROPBOX)
set( o2_HDRS
${o2_HDRS}
o1dropbox.h
)
endif(o2_WITH_DROPBOX)
if(o2_WITH_GOOGLE)
set( o2_SRCS
${o2_SRCS}
o2gft.cpp
o2google.cpp
)
set( o2_HDRS
${o2_HDRS}
o2gft.h
o2google.h
)
endif(o2_WITH_GOOGLE)
if(o2_WITH_FACEBOOK)
set( o2_SRCS
${o2_SRCS}
o2facebook.cpp
)
set( o2_HDRS
${o2_HDRS}
o2facebook.h
)
endif(o2_WITH_FACEBOOK)
if(o2_WITH_SKYDRIVE)
set( o2_SRCS
${o2_SRCS}
o2skydrive.cpp
)
set( o2_HDRS
${o2_HDRS}
o2skydrive.h
)
endif(o2_WITH_SKYDRIVE)
if(o2_WITH_FLICKR)
set( o2_HDRS
${o2_HDRS}
o1flickr.h
)
endif(o2_WITH_FLICKR)
if(o2_WITH_HUBIC)
set( o2_SRCS
${o2_SRCS}
o2hubic.cpp
)
set( o2_HDRS
${o2_HDRS}
o2hubic.h
)
endif(o2_WITH_HUBIC)
if(o2_WITH_SPOTIFY)
set( o2_SRCS
${o2_SRCS}
o2spotify.cpp
)
set( o2_HDRS
${o2_HDRS}
o2spotify.h
)
endif(o2_WITH_SPOTIFY)
if(o2_WITH_SURVEYMONKEY)
set( o2_SRCS
${o2_SRCS}
o2surveymonkey.cpp
)
set( o2_HDRS
${o2_HDRS}
o2surveymonkey.h
)
endif(o2_WITH_SURVEYMONKEY)
if(o2_WITH_KEYCHAIN)
if (Qt5Core_DIR)
find_package(Qt5Keychain REQUIRED)
else()
find_package(QtKeychain REQUIRED)
endif()
if(QTKEYCHAIN_FOUND OR QT5KEYCHAIN_FOUND)
MESSAGE("Found QTKeychain")
list(APPEND LINK_TARGETS ${QTKEYCHAIN_LIBRARY})
include_directories(${QTKEYCHAIN_INCLUDE_DIR})
set( o2_SRCS
${o2_SRCS}
o0keychainstore.cpp
)
set( o2_HDRS
${o2_HDRS}
o0keychainstore.h
)
else()
MESSAGE("Qt5Keychain or QtKeychain is required")
endif()
endif(o2_WITH_KEYCHAIN)
if(NOT o2_WITH_QT5)
add_definitions(${QT4_DEFINITIONS})
endif(NOT o2_WITH_QT5)
if(BUILD_SHARED_LIBS AND APPLE AND POLICY CMP0042) # in CMake >= 2.8.12
cmake_policy(SET CMP0042 OLD)
set(CMAKE_MACOSX_RPATH OFF) # don't embed @rpath in install name
endif(BUILD_SHARED_LIBS AND APPLE AND POLICY CMP0042)
add_library( o2 ${o2_SRCS} ${o2_HDRS} )
if(o2_WITH_QT5)
target_link_libraries( o2 Qt5::Core Qt5::Network ${LINK_TARGETS})
else(o2_WITH_QT5)
target_link_libraries( o2 ${QT_LIBRARIES} ${LINK_TARGETS})
endif(o2_WITH_QT5)
if(BUILD_SHARED_LIBS)
if(APPLE)
set_target_properties(o2
PROPERTIES INSTALL_NAME_DIR ${CMAKE_INSTALL_PREFIX}/lib
)
endif(APPLE)
set_target_properties(o2
PROPERTIES VERSION ${PROJECT_VERSION} SOVERSION ${API_VERSION}
)
else(BUILD_SHARED_LIBS)
# needed for statically linked o2 in shared libs on x86_64
set_target_properties(o2
PROPERTIES POSITION_INDEPENDENT_CODE TRUE
)
endif(BUILD_SHARED_LIBS)
install(TARGETS o2
RUNTIME DESTINATION bin
LIBRARY DESTINATION lib${o2_LIB_SUFFIX}
ARCHIVE DESTINATION lib${o2_LIB_SUFFIX}
)
install(FILES ${o2_HDRS}
DESTINATION ${CMAKE_INSTALL_PREFIX}/include/o2
)
message(STATUS "Writing pkg-config file...")
configure_file(${CMAKE_SOURCE_DIR}/o2.pc.cmake ${CMAKE_BINARY_DIR}/o2.pc @ONLY)
install(FILES ${CMAKE_BINARY_DIR}/o2.pc DESTINATION "${CMAKE_INSTALL_PREFIX}/lib${o2_LIB_SUFFIX}/pkgconfig/")