Skip to content

Commit

Permalink
Some minor cleaning up.
Browse files Browse the repository at this point in the history
  • Loading branch information
agarny committed Jun 14, 2020
1 parent ca22dd8 commit c5c2c2c
Show file tree
Hide file tree
Showing 5 changed files with 46 additions and 58 deletions.
18 changes: 9 additions & 9 deletions CMakeLists.txt
Expand Up @@ -253,8 +253,8 @@ if( NOT ${QT_VERSION_MAJOR} EQUAL ${REQUIRED_QT_LTS_VERSION_MAJOR}
endif()

set(QT_DIR ${_qt5Core_install_prefix})
set(QT_BINARY_DIR ${QT_DIR}/bin)
set(QT_LIBRARY_DIR ${QT_DIR}/lib)
set(QT_BINARIES_DIR ${QT_DIR}/bin)
set(QT_LIBRARIES_DIR ${QT_DIR}/lib)
set(QT_PLUGINS_DIR ${QT_DIR}/plugins)

get_target_property(QMAKE ${Qt5Core_QMAKE_EXECUTABLE} IMPORTED_LOCATION)
Expand Down Expand Up @@ -600,7 +600,7 @@ elseif(NOT WIN32)
# within Qt Creator...
endif()

set(LINK_FLAGS_PROPERTIES "${LINK_FLAGS_PROPERTIES} -Wl,-rpath-link,${QT_LIBRARY_DIR} ${LINK_RPATH_FLAG}")
set(LINK_FLAGS_PROPERTIES "${LINK_FLAGS_PROPERTIES} -Wl,-rpath-link,${QT_LIBRARIES_DIR} ${LINK_RPATH_FLAG}")
endif()

# Show what we are about to build
Expand Down Expand Up @@ -1268,8 +1268,8 @@ else()
set(ORIG_MESA_FILENAME opengl32sw.dll)
set(DEST_MESA_FILENAME opengl32.dll)

copy_file_to_build_dir(DIRECT ${QT_BINARY_DIR} . ${ORIG_MESA_FILENAME} ${DEST_MESA_FILENAME})
copy_file_to_build_dir(DIRECT ${QT_BINARY_DIR} bin ${ORIG_MESA_FILENAME} ${DEST_MESA_FILENAME})
copy_file_to_build_dir(DIRECT ${QT_BINARIES_DIR} . ${ORIG_MESA_FILENAME} ${DEST_MESA_FILENAME})
copy_file_to_build_dir(DIRECT ${QT_BINARIES_DIR} bin ${ORIG_MESA_FILENAME} ${DEST_MESA_FILENAME})
endif()
endif()

Expand Down Expand Up @@ -1322,19 +1322,19 @@ if(WIN32)

install(FILES ${ADDITIONAL_FILES}
DESTINATION bin)
install(FILES ${QT_BINARY_DIR}/${ORIG_MESA_FILENAME}
install(FILES ${QT_BINARIES_DIR}/${ORIG_MESA_FILENAME}
DESTINATION bin
RENAME ${DEST_MESA_FILENAME})

# Qt libraries required by OpenCOR

foreach(QT_LIBRARY ${QT_LIBRARIES})
windows_deploy_qt_library(Qt5${QT_LIBRARY})
windows_deploy_qt_library(${QT_LIBRARY})
endforeach()

if(USE_PREBUILT_QTWEBKIT_PACKAGE)
foreach(QT_LIBRARY icudt icuin icuuc)
windows_deploy_qt_library(${QT_LIBRARY}${ICU_VERSION})
foreach(ICU_LIBRARY dt in uc)
windows_deploy_icu_library(${ICU_LIBRARY})
endforeach()
endif()

Expand Down
76 changes: 32 additions & 44 deletions cmake/common.cmake
Expand Up @@ -103,14 +103,14 @@ macro(update_language_files TARGET_NAME)
set(QM_FILE ${PROJECT_BUILD_DIR}/${LANGUAGE_FILE}.qm)

if(EXISTS ${PROJECT_SOURCE_DIR}/${TS_FILE})
execute_process(COMMAND ${QT_BINARY_DIR}/lupdate -no-obsolete ${INPUT_FILES}
-ts ${TS_FILE}
-I ${CMAKE_SOURCE_DIR}/src/misc
execute_process(COMMAND ${QT_BINARIES_DIR}/lupdate -no-obsolete ${INPUT_FILES}
-ts ${TS_FILE}
-I ${CMAKE_SOURCE_DIR}/src/misc
WORKING_DIRECTORY ${PROJECT_SOURCE_DIR}
OUTPUT_QUIET
ERROR_QUIET)
execute_process(COMMAND ${QT_BINARY_DIR}/lrelease ${PROJECT_SOURCE_DIR}/${TS_FILE}
-qm ${QM_FILE}
execute_process(COMMAND ${QT_BINARIES_DIR}/lrelease ${PROJECT_SOURCE_DIR}/${TS_FILE}
-qm ${QM_FILE}
OUTPUT_QUIET)

track_files(${QM_FILE})
Expand Down Expand Up @@ -624,53 +624,41 @@ endmacro()

#===============================================================================

macro(windows_deploy_qt_library LIBRARY_NAME)
# Copy the Qt library to both the build and build/bin folders, so we can
macro(windows_deploy_binary_file DIRNAME FILENAME)
# Copy the binary file to both the build and build/bin folders, so we can
# test things both from within Qt Creator and without first having to deploy
# OpenCOR

if( "${LIBRARY_NAME}" STREQUAL "Qt5WebKit"
OR "${LIBRARY_NAME}" STREQUAL "Qt5WebKitWidgets"
OR "${LIBRARY_NAME}" STREQUAL "icudt${ICU_VERSION}"
OR "${LIBRARY_NAME}" STREQUAL "icuin${ICU_VERSION}"
OR "${LIBRARY_NAME}" STREQUAL "icuuc${ICU_VERSION}")
set(REAL_QT_BINARY_DIR ${QTWEBKIT_BINARIES_DIR})
else()
set(REAL_QT_BINARY_DIR ${QT_BINARY_DIR})
endif()
copy_file_to_build_dir(DIRECT ${DIRNAME} . ${FILENAME})
copy_file_to_build_dir(DIRECT ${DIRNAME} bin ${FILENAME})

set(LIBRARY_RELEASE_FILENAME ${CMAKE_SHARED_LIBRARY_PREFIX}${LIBRARY_NAME}${CMAKE_SHARED_LIBRARY_SUFFIX})
# Deploy the binary file

if("${LIBRARY_NAME}" STREQUAL "icudt${ICU_VERSION}")
set(LIBRARY_DEBUG_FILENAME ${CMAKE_SHARED_LIBRARY_PREFIX}icudtd${ICU_VERSION}${CMAKE_SHARED_LIBRARY_SUFFIX})
elseif("${LIBRARY_NAME}" STREQUAL "icuin${ICU_VERSION}")
set(LIBRARY_DEBUG_FILENAME ${CMAKE_SHARED_LIBRARY_PREFIX}icuind${ICU_VERSION}${CMAKE_SHARED_LIBRARY_SUFFIX})
elseif("${LIBRARY_NAME}" STREQUAL "icuuc${ICU_VERSION}")
set(LIBRARY_DEBUG_FILENAME ${CMAKE_SHARED_LIBRARY_PREFIX}icuucd${ICU_VERSION}${CMAKE_SHARED_LIBRARY_SUFFIX})
else()
set(LIBRARY_DEBUG_FILENAME ${CMAKE_SHARED_LIBRARY_PREFIX}${LIBRARY_NAME}d${CMAKE_SHARED_LIBRARY_SUFFIX})
endif()
install(FILES ${DIRNAME}/${FILENAME}
DESTINATION bin)
endmacro()

if(NOT EXISTS ${REAL_QT_BINARY_DIR}/${LIBRARY_DEBUG_FILENAME})
# No debug version of the Qt library exists, so use its release version
# instead
#===============================================================================

set(LIBRARY_DEBUG_FILENAME ${LIBRARY_RELEASE_FILENAME})
endif()
macro(windows_deploy_qt_library LIBRARY_NAME)
# Deploy the Qt library

if(RELEASE_MODE)
set(LIBRARY_FILENAME ${LIBRARY_RELEASE_FILENAME})
if( "${LIBRARY_NAME}" STREQUAL "WebKit"
OR "${LIBRARY_NAME}" STREQUAL "WebKitWidgets")
set(BINARIES_DIR ${QTWEBKIT_BINARIES_DIR})
else()
set(LIBRARY_FILENAME ${LIBRARY_DEBUG_FILENAME})
set(BINARIES_DIR ${QT_BINARIES_DIR})
endif()

copy_file_to_build_dir(DIRECT ${REAL_QT_BINARY_DIR} . ${LIBRARY_FILENAME})
copy_file_to_build_dir(DIRECT ${REAL_QT_BINARY_DIR} bin ${LIBRARY_FILENAME})
windows_deploy_binary_file(${BINARIES_DIR} Qt5${LIBRARY_NAME}${DEBUG_TAG}${CMAKE_SHARED_LIBRARY_SUFFIX})
endmacro()

# Deploy the Qt library
#===============================================================================

install(FILES ${REAL_QT_BINARY_DIR}/${LIBRARY_FILENAME}
DESTINATION bin)
macro(windows_deploy_icu_library LIBRARY_NAME)
# Deploy the ICU library

windows_deploy_binary_file(${QTWEBKIT_BINARIES_DIR} icu${LIBRARY_NAME}${DEBUG_TAG}${CMAKE_SHARED_LIBRARY_SUFFIX})
endmacro()

#===============================================================================
Expand All @@ -681,7 +669,7 @@ macro(windows_deploy_qt_plugins PLUGIN_CATEGORY)

set(PLUGIN_ORIG_DIRNAME ${QT_PLUGINS_DIR}/${PLUGIN_CATEGORY})
set(PLUGIN_DEST_DIRNAME plugins/${PLUGIN_CATEGORY})
set(PLUGIN_FILENAME ${CMAKE_SHARED_LIBRARY_PREFIX}${PLUGIN_NAME}${DEBUG_TAG}${CMAKE_SHARED_LIBRARY_SUFFIX})
set(PLUGIN_FILENAME ${PLUGIN_NAME}${DEBUG_TAG}${CMAKE_SHARED_LIBRARY_SUFFIX})

copy_file_to_build_dir(DIRECT ${PLUGIN_ORIG_DIRNAME} ${PLUGIN_DEST_DIRNAME} ${PLUGIN_FILENAME})

Expand Down Expand Up @@ -744,7 +732,7 @@ macro(linux_deploy_qt_library LIBRARY_NAME)
OR "${LIBRARY_NAME}" STREQUAL "${WEBKITWIDGETS}")
set(ORIG_DIRNAME ${QTWEBKIT_LIBRARIES_DIR})
else()
set(ORIG_DIRNAME ${QT_LIBRARY_DIR})
set(ORIG_DIRNAME ${QT_LIBRARIES_DIR})
endif()

linux_deploy_binary_file(DIRECT ${ORIG_DIRNAME} lib ${CMAKE_SHARED_LIBRARY_PREFIX}Qt${QT_VERSION_MAJOR}${LIBRARY_NAME}${CMAKE_SHARED_LIBRARY_SUFFIX}.${QT_VERSION_MAJOR})
Expand Down Expand Up @@ -819,12 +807,12 @@ macro(macos_deploy_qt_library LIBRARY_NAME)

if( "${QT_LIBRARY_NAME}" STREQUAL "Qt${WEBKIT}"
OR "${QT_LIBRARY_NAME}" STREQUAL "Qt${WEBKITWIDGETS}")
set(REAL_QT_LIBRARY_DIR ${QTWEBKIT_LIBRARIES_DIR})
set(REAL_QT_LIBRARIES_DIR ${QTWEBKIT_LIBRARIES_DIR})
else()
set(REAL_QT_LIBRARY_DIR ${QT_LIBRARY_DIR})
set(REAL_QT_LIBRARIES_DIR ${QT_LIBRARIES_DIR})
endif()

macos_deploy_qt_file(${REAL_QT_LIBRARY_DIR}/${QT_FRAMEWORK_DIR}
macos_deploy_qt_file(${REAL_QT_LIBRARIES_DIR}/${QT_FRAMEWORK_DIR}
${PROJECT_BUILD_DIR}/${CMAKE_PROJECT_NAME}.app/Contents/Frameworks/${QT_FRAMEWORK_DIR}
${QT_LIBRARY_NAME})
endmacro()
Expand Down
4 changes: 2 additions & 2 deletions src/plugins/miscellaneous/HelpWindow/CMakeLists.txt
Expand Up @@ -8,8 +8,8 @@ add_dependencies(GenerateQtHelpFiles ${DOCUMENTATION_BUILD_TARGET})

add_custom_command(TARGET GenerateQtHelpFiles
COMMAND ${SILENTRUN}
${QT_BINARY_DIR}/qhelpgenerator ${PROJECT_BUILD_DIR}/doc/${CMAKE_PROJECT_NAME}.qhcp
-o ${PROJECT_BUILD_DIR}/${CMAKE_PROJECT_NAME}.qhc)
${QT_BINARIES_DIR}/qhelpgenerator ${PROJECT_BUILD_DIR}/doc/${CMAKE_PROJECT_NAME}.qhcp
-o ${PROJECT_BUILD_DIR}/${CMAKE_PROJECT_NAME}.qhc)

track_files(
${PROJECT_BUILD_DIR}/${CMAKE_PROJECT_NAME}.qch
Expand Down
2 changes: 1 addition & 1 deletion src/plugins/thirdParty/QScintilla/CMakeLists.txt
Expand Up @@ -138,7 +138,7 @@ else()

if(APPLE)
ExternalProject_Add_Step(${PACKAGE_BUILD} fixRpath
COMMAND install_name_tool -delete_rpath ${QT_LIBRARY_DIR} ${SHARED_LIBRARY}
COMMAND install_name_tool -delete_rpath ${QT_LIBRARIES_DIR} ${SHARED_LIBRARY}
WORKING_DIRECTORY ${EXTERNAL_BINARIES_DIR}
DEPENDEES copyLibrary)
else()
Expand Down
4 changes: 2 additions & 2 deletions src/plugins/thirdParty/Qwt/CMakeLists.txt
Expand Up @@ -159,8 +159,8 @@ else()

if(APPLE)
ExternalProject_Add_Step(${PACKAGE_BUILD} fixRpath
COMMAND install_name_tool -delete_rpath ${QT_LIBRARY_DIR} ${QWT_SHARED_LIBRARY}
COMMAND install_name_tool -delete_rpath ${QT_LIBRARY_DIR} ${QWTMATHML_SHARED_LIBRARY}
COMMAND install_name_tool -delete_rpath ${QT_LIBRARIES_DIR} ${QWT_SHARED_LIBRARY}
COMMAND install_name_tool -delete_rpath ${QT_LIBRARIES_DIR} ${QWTMATHML_SHARED_LIBRARY}
COMMAND install_name_tool -change ${QWT_SHARED_LIBRARY}
@rpath/${QWT_SHARED_LIBRARY}
${QWTMATHML_SHARED_LIBRARY}
Expand Down

0 comments on commit c5c2c2c

Please sign in to comment.