summaryrefslogtreecommitdiff
path: root/CMakeLists.txt
diff options
context:
space:
mode:
Diffstat (limited to 'CMakeLists.txt')
-rw-r--r--CMakeLists.txt127
1 files changed, 86 insertions, 41 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 603f420..34c2018 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -21,7 +21,7 @@ SET(CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/cmake")
SET(BT_VERSION_MAJOR "2")
SET(BT_VERSION_MINOR "9")
-SET(BT_VERSION_PATCH "1")
+SET(BT_VERSION_PATCH "2")
#SET(BT_VERSION_BUILD "") # Temporarily uncomment this line for release procedures
@@ -51,18 +51,35 @@ ELSE (NOT CMAKE_BUILD_TYPE STREQUAL "Release")
ENDIF (NOT CMAKE_BUILD_TYPE STREQUAL "Release")
#Non-English locales to be processed and installed for UI, handbook and howto
-LIST(APPEND MESSAGE_LOCALE_LANGS ar cs da de en_GB es et fi fr hu it nl nn_NO pl pt pt_BR ro ru sk zh_TW)
+LIST(APPEND MESSAGE_LOCALE_LANGS ar da de en_GB es et fi fr hu it nl pt pt_BR ru sk zh_TW)
#WARNING: If you modify HANDBOOK_LOCALE_LANGS or HOWTO_LOCALE_LANGS,
#also modify the po4a conf files in cmake/docs/ to make sure all languages are processed.
-LIST(APPEND HANDBOOK_LOCALE_LANGS ar cs de es fi fr hu it nl pt_BR)
+LIST(APPEND HANDBOOK_LOCALE_LANGS ar cs de es hu it pt_BR)
LIST(APPEND HOWTO_LOCALE_LANGS ar bg cs da de es fi fr it hu ko nl pt_BR ru)
+IF(NOT BT_FORCE_USE_QT4)
+# Automatically use Qt5 if available
+FIND_PACKAGE(Qt5Core QUIET)
+ENDIF()
+
# Find required packages
-SET(QT_MIN_VERSION 4.5.0)
-SET(QT_USE_QTXML 1)
-SET(QT_USE_QTWEBKIT 1)
-SET(QT_USE_QTMAIN 1)
-FIND_PACKAGE(Qt4 REQUIRED)
+IF (Qt5Core_FOUND)
+ FIND_PACKAGE(Qt5LinguistTools REQUIRED)
+ FIND_PACKAGE(Qt5PrintSupport REQUIRED)
+ FIND_PACKAGE(Qt5WebKit REQUIRED)
+ FIND_PACKAGE(Qt5WebKitWidgets REQUIRED)
+ FIND_PACKAGE(Qt5Widgets REQUIRED)
+ FIND_PACKAGE(Qt5Xml REQUIRED)
+ MESSAGE( "-- Found Qt5")
+ELSE (Qt5Core_FOUND)
+ SET(QT_MIN_VERSION 4.5.0)
+ SET(QT_USE_QTXML 1)
+ SET(QT_USE_QTWEBKIT 1)
+ SET(QT_USE_QTMAIN 1)
+ FIND_PACKAGE(Qt4 REQUIRED)
+ MESSAGE( "-- Found Qt4")
+ENDIF (Qt5Core_FOUND)
+
IF (QT_QTDBUS_FOUND AND NOT APPLE)
SET(QT_USE_QTDBUS 1)
MESSAGE(STATUS "Using DBUS")
@@ -91,6 +108,7 @@ SET(BT_SHARE_PATH "share/")
IF (APPLE)
SET(BT_DESTINATION "../MacOS/")
SET(BT_SHARE_PATH "../share/")
+ SET(CMAKE_CXX_COMPILER "/usr/bin/g++")
ENDIF (APPLE)
# Define $bibletime_SOURCES
@@ -99,19 +117,35 @@ INCLUDE("${CMAKE_CURRENT_SOURCE_DIR}/cmake/BTSourceFileList.cmake")
#
# The actual build options
#
-INCLUDE_DIRECTORIES(
- ${CMAKE_CURRENT_BINARY_DIR} #for .h files generated from .ui
- ${CMAKE_CURRENT_SOURCE_DIR}/src # so that include paths like "frontend/..." work
- ${CLUCENE_INCLUDE_DIR} #CLucene headers
- ${CLUCENE_LIBRARY_DIR} #CLucene/clucene-config.h
- ${SWORD_INCLUDE_DIR}
-)
-
-# this will run uic on .ui files:
-QT4_WRAP_UI(bibletime_UIS_H ${bibletime_UIS})
+IF (Qt5Core_FOUND)
+ INCLUDE_DIRECTORIES(
+ ${CMAKE_CURRENT_BINARY_DIR} #for .h files generated from .ui
+ ${CMAKE_CURRENT_SOURCE_DIR}/src # so that include paths like "frontend/..." work
+ ${CLUCENE_INCLUDE_DIR} #CLucene headers
+ ${CLUCENE_LIBRARY_DIR} #CLucene/clucene-config.h
+ ${SWORD_INCLUDE_DIR}
+ ${Qt5PrintSupport_INCLUDE_DIRS}
+ ${Qt5WebKitWidgets_INCLUDE_DIRS}
+ ${Qt5Widgets_INCLUDE_DIRS}
+ ${Qt5Xml_INCLUDE_DIRS}
+ )
+ELSE (Qt5Core_FOUND)
+ INCLUDE_DIRECTORIES(
+ ${CMAKE_CURRENT_BINARY_DIR} #for .h files generated from .ui
+ ${CMAKE_CURRENT_SOURCE_DIR}/src # so that include paths like "frontend/..." work
+ ${CLUCENE_INCLUDE_DIR} #CLucene headers
+ ${CLUCENE_LIBRARY_DIR} #CLucene/clucene-config.h
+ ${SWORD_INCLUDE_DIR}
+ )
+ENDIF (Qt5Core_FOUND)
-# this will run moc on source files
-QT4_WRAP_CPP(bibletime_MOC_SOURCES ${bibletime_MOCABLE_HEADERS})
+IF (Qt5Core_FOUND)
+ QT5_WRAP_UI(bibletime_UIS_H ${bibletime_UIS})
+ QT5_WRAP_CPP(bibletime_MOC_SOURCES ${bibletime_MOCABLE_HEADERS})
+ELSE (Qt5Core_FOUND)
+ QT4_WRAP_UI(bibletime_UIS_H ${bibletime_UIS})
+ QT4_WRAP_CPP(bibletime_MOC_SOURCES ${bibletime_MOCABLE_HEADERS})
+ENDIF (Qt5Core_FOUND)
SOURCE_GROUP("QM Files" REGULAR_EXPRESSION ".*\\.qm")
@@ -160,27 +194,44 @@ ENDIF (MSVC)
# )
#ENDIF (CMAKE_BUILD_TYPE STREQUAL "Release")
-INCLUDE(${QT_USE_FILE})
-TARGET_LINK_LIBRARIES(${EXECUTABLE_NAME}
- ${QT_LIBRARIES}
- ${CLUCENE_LIBRARY}
- ${CURL_LIBRARIES} # optional, empty if not found
- ${ICU_LIBRARIES} # optional, empty if not found
- ${ICU_I18N_LIBRARIES} # optional, empty if not found
- ${ZLIB_LIBRARIES} # optional, empty if not found
- ${SWORD_LIBRARY}
-)
+IF (Qt5Core_FOUND)
+ TARGET_LINK_LIBRARIES(${EXECUTABLE_NAME}
+ ${Qt5Widgets_LIBRARIES}
+ ${Qt5Xml_LIBRARIES}
+ ${Qt5Core_LIBRARIES}
+ ${Qt5WebKitWidgets_LIBRARIES}
+ ${Qt5WebKit_LIBRARIES}
+ ${Qt5PrintSupport_LIBRARIES}
+ ${CLUCENE_LIBRARY}
+ ${CURL_LIBRARIES} # optional, empty if not found
+ ${ICU_LIBRARIES} # optional, empty if not found
+ ${ICU_I18N_LIBRARIES} # optional, empty if not found
+ ${ZLIB_LIBRARIES} # optional, empty if not found
+ ${SWORD_LIBRARY}
+ )
+ qt5_use_modules(${EXECUTABLE_NAME} Widgets WebKit Network)
+ELSE (Qt5Core_FOUND)
+ INCLUDE(${QT_USE_FILE})
+ TARGET_LINK_LIBRARIES(${EXECUTABLE_NAME}
+ ${QT_LIBRARIES}
+ ${CLUCENE_LIBRARY}
+ ${CURL_LIBRARIES} # optional, empty if not found
+ ${ICU_LIBRARIES} # optional, empty if not found
+ ${ICU_I18N_LIBRARIES} # optional, empty if not found
+ ${ZLIB_LIBRARIES} # optional, empty if not found
+ ${SWORD_LIBRARY}
+ )
+ENDIF (Qt5Core_FOUND)
IF (APPLE)
# enable support MacOS 10.5+
SET_TARGET_PROPERTIES(${EXECUTABLE_NAME}
PROPERTIES
- COMPILE_FLAGS "-mmacosx-version-min=10.5 -isysroot /Developer/SDKs/MacOSX10.5.sdk"
- LINK_FLAGS "-mmacosx-version-min=10.5 -isysroot /Developer/SDKs/MacOSX10.5.sdk"
+ COMPILE_FLAGS "-mmacosx-version-min=10.5 -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.8.sdk/"
+ LINK_FLAGS "-mmacosx-version-min=10.5 -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.8.sdk/ -F /Library/Frameworks/"
)
ENDIF (APPLE)
-
IF (CMAKE_INSTALL_PREFIX_INITIALIZED_TO_DEFAULT)
SET(CMAKE_INSTALL_PREFIX "install/") #install to ./build/install, allow override
ENDIF (CMAKE_INSTALL_PREFIX_INITIALIZED_TO_DEFAULT)
@@ -216,14 +267,8 @@ INSTALL(FILES ${INSTALL_ICONS_LIST_PNG}
DESTINATION "${BT_SHARE_PATH}bibletime/icons/"
)
# display templates
-FILE(GLOB INSTALL_DISPLAY_TEMPLATES_LIST ${CMAKE_CURRENT_SOURCE_DIR}/src/display-templates/*.tmpl)
-INSTALL(FILES ${INSTALL_DISPLAY_TEMPLATES_LIST}
- DESTINATION "${BT_SHARE_PATH}bibletime/display-templates/"
-)
-FILE(GLOB INSTALL_DISPLAY_CSS_LIST ${CMAKE_CURRENT_SOURCE_DIR}/src/display-templates/*.css)
-INSTALL(FILES ${INSTALL_DISPLAY_CSS_LIST}
- DESTINATION "${BT_SHARE_PATH}bibletime/display-templates/"
-)
+INSTALL(DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/src/display-templates/
+ DESTINATION "${BT_SHARE_PATH}bibletime/display-templates/")
# javascript
INSTALL(FILES "src/frontend/display/bthtml.js"
DESTINATION "${BT_SHARE_PATH}bibletime/javascript/"