diff options
| author | Robert Schumacher <roschuma@microsoft.com> | 2018-01-18 04:22:18 -0800 |
|---|---|---|
| committer | Robert Schumacher <roschuma@microsoft.com> | 2018-01-18 07:36:50 -0800 |
| commit | 51da0e25fa5af242331d0a5d8b0d8b4137d98fc5 (patch) | |
| tree | 5bb269fc414d6ea579ac9803f5ea1101a92fd310 | |
| parent | d6dc7a078a845bd4e1349a4d4cb77e2070125d4d (diff) | |
| download | vcpkg-51da0e25fa5af242331d0a5d8b0d8b4137d98fc5.tar.gz vcpkg-51da0e25fa5af242331d0a5d8b0d8b4137d98fc5.zip | |
[qscintilla] Fix build against new modular qt
| -rw-r--r-- | ports/qscintilla/CONTROL | 2 | ||||
| -rw-r--r-- | ports/qscintilla/portfile.cmake | 65 |
2 files changed, 57 insertions, 10 deletions
diff --git a/ports/qscintilla/CONTROL b/ports/qscintilla/CONTROL index 32a11a69b..65fa0cd63 100644 --- a/ports/qscintilla/CONTROL +++ b/ports/qscintilla/CONTROL @@ -1,4 +1,4 @@ Source: qscintilla -Version: 2.10-2 +Version: 2.10-3 Description: QScintilla is a port to Qt of the Scintilla editing component. Features syntax highlighting, code-completion and much more (Barebone build without python bindings (missing dependeny PyQt) and without QtDesigner plugin) Build-Depends: qt5-base diff --git a/ports/qscintilla/portfile.cmake b/ports/qscintilla/portfile.cmake index a03ecb7db..fd60a5957 100644 --- a/ports/qscintilla/portfile.cmake +++ b/ports/qscintilla/portfile.cmake @@ -38,13 +38,60 @@ if(VCPKG_LIBRARY_LINKAGE STREQUAL static) ) endif() -vcpkg_configure_qmake( - SOURCE_PATH "${SOURCE_PATH}/Qt4Qt5" - OPTIONS - ${BUILD_OPTIONS} +SET(ENV{PATH} "$ENV{PATH};${CURRENT_INSTALLED_DIR}/bin;${CURRENT_INSTALLED_DIR}/debug/bin") + +#Store build paths +set(DEBUG_DIR "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg") +set(RELEASE_DIR "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel") + +file(REMOVE_RECURSE "${DEBUG_DIR}" "${RELEASE_DIR}") + +#Configure debug +vcpkg_configure_qmake_debug( + SOURCE_PATH ${SOURCE_PATH}/Qt4Qt5 +) + +#First generate the makefiles so we can modify them +vcpkg_build_qmake_debug(TARGETS qmake_all) + +#Store debug makefiles path +file(GLOB_RECURSE DEBUG_MAKEFILES ${DEBUG_DIR}/*Makefile*) + +foreach(DEBUG_MAKEFILE ${DEBUG_MAKEFILES}) + file(READ "${DEBUG_MAKEFILE}" _contents) + string(REPLACE "zlib.lib" "zlibd.lib" _contents "${_contents}") + string(REPLACE "installed\\${TARGET_TRIPLET}\\lib" "installed\\${TARGET_TRIPLET}\\debug\\lib" _contents "${_contents}") + string(REPLACE "/LIBPATH:${NATIVE_INSTALLED_DIR}\\debug\\lib qtmaind.lib" "shell32.lib /LIBPATH:${NATIVE_INSTALLED_DIR}\\debug\\lib\\manual-link qtmaind.lib /LIBPATH:${NATIVE_INSTALLED_DIR}\\debug\\lib" _contents "${_contents}") + file(WRITE "${DEBUG_MAKEFILE}" "${_contents}") +endforeach() + +#Build debug +vcpkg_build_qmake_debug(TARGETS debug) + +#Configure release +vcpkg_configure_qmake_release( + SOURCE_PATH ${SOURCE_PATH}/Qt4Qt5 ) -vcpkg_build_qmake() +#First generate the makefiles so we can modify them +vcpkg_build_qmake_release(TARGETS qmake_all) + +#Store release makefile path +file(GLOB_RECURSE RELEASE_MAKEFILES ${RELEASE_DIR}/*Makefile*) + +foreach(RELEASE_MAKEFILE ${RELEASE_MAKEFILES}) + file(READ "${RELEASE_MAKEFILE}" _contents) + string(REPLACE "/LIBPATH:${NATIVE_INSTALLED_DIR}\\lib qtmain.lib" "shell32.lib /LIBPATH:${NATIVE_INSTALLED_DIR}\\lib\\manual-link qtmain.lib /LIBPATH:${NATIVE_INSTALLED_DIR}\\lib" _contents "${_contents}") + file(WRITE "${RELEASE_MAKEFILE}" "${_contents}") +endforeach() + +#Build release +vcpkg_build_qmake_release(TARGETS release) + +#Set the correct install directory to packages +foreach(MAKEFILE ${RELEASE_MAKEFILES} ${DEBUG_MAKEFILES}) + vcpkg_replace_string(${MAKEFILE} "(INSTALL_ROOT)${INSTALLED_DIR_WITHOUT_DRIVE}" "(INSTALL_ROOT)${PACKAGES_DIR_WITHOUT_DRIVE}") +endforeach() set(BUILD_DIR ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}) @@ -52,25 +99,25 @@ file(GLOB HEADER_FILES ${SOURCE_PATH}/Qt4Qt5/Qsci/*) file(INSTALL ${HEADER_FILES} DESTINATION ${CURRENT_PACKAGES_DIR}/include/Qsci) file(INSTALL - ${BUILD_DIR}/release/qscintilla2_qt5.lib + ${RELEASE_DIR}/release/qscintilla2_qt5.lib DESTINATION ${CURRENT_PACKAGES_DIR}/lib RENAME qscintilla2.lib ) file(INSTALL - ${BUILD_DIR}/debug/qscintilla2_qt5.lib + ${DEBUG_DIR}/debug/qscintilla2_qt5.lib DESTINATION ${CURRENT_PACKAGES_DIR}/debug/lib RENAME qscintilla2.lib ) if(VCPKG_LIBRARY_LINKAGE STREQUAL dynamic) file(INSTALL - ${BUILD_DIR}/release/qscintilla2_qt5.dll + ${RELEASE_DIR}/release/qscintilla2_qt5.dll DESTINATION ${CURRENT_PACKAGES_DIR}/bin ) file(INSTALL - ${BUILD_DIR}/debug/qscintilla2_qt5.dll + ${DEBUG_DIR}/debug/qscintilla2_qt5.dll DESTINATION ${CURRENT_PACKAGES_DIR}/debug/bin ) |
