diff options
| author | Barath Kannan <barathsotd@gmail.com> | 2017-11-06 00:24:29 +1100 |
|---|---|---|
| committer | Barath Kannan <barathsotd@gmail.com> | 2017-11-06 00:24:29 +1100 |
| commit | 9bb4817e32a14647093876cabaf62bbd2be63fc6 (patch) | |
| tree | dbbf4d5766b6484c73f88f002a7fc5232be3ebef | |
| parent | 6b83925dd6b88233410f1511993350bab6ef984a (diff) | |
| download | vcpkg-9bb4817e32a14647093876cabaf62bbd2be63fc6.tar.gz vcpkg-9bb4817e32a14647093876cabaf62bbd2be63fc6.zip | |
use install target in Makefiles; make all portfile uniform
| -rw-r--r-- | ports/qt53d/portfile.cmake | 145 | ||||
| -rw-r--r-- | ports/qt5charts/portfile.cmake | 130 | ||||
| -rw-r--r-- | ports/qt5datavisualization3d/portfile.cmake | 130 | ||||
| -rw-r--r-- | ports/qt5declarative/portfile.cmake | 141 | ||||
| -rw-r--r-- | ports/qt5gamepad/portfile.cmake | 132 | ||||
| -rw-r--r-- | ports/qt5imageformats/portfile.cmake | 124 | ||||
| -rw-r--r-- | ports/qt5multimedia/portfile.cmake | 132 | ||||
| -rw-r--r-- | ports/qt5scxml/portfile.cmake | 137 | ||||
| -rw-r--r-- | ports/qt5serial/portfile.cmake | 130 | ||||
| -rw-r--r-- | ports/qt5speech/portfile.cmake | 132 | ||||
| -rw-r--r-- | ports/qt5svg/portfile.cmake | 132 | ||||
| -rw-r--r-- | ports/qt5tools/CONTROL | 4 | ||||
| -rw-r--r-- | ports/qt5tools/portfile.cmake | 140 | ||||
| -rw-r--r-- | ports/qt5virtualkeyboard/portfile.cmake | 124 | ||||
| -rw-r--r-- | ports/qt5websockets/portfile.cmake | 130 | ||||
| -rw-r--r-- | ports/qt5winextras/portfile.cmake | 130 | ||||
| -rw-r--r-- | ports/qt5xmlpatterns/portfile.cmake | 137 | ||||
| -rw-r--r-- | scripts/cmake/vcpkg_common_functions.cmake | 1 | ||||
| -rw-r--r-- | scripts/cmake/vcpkg_replace_string.cmake | 14 |
19 files changed, 1689 insertions, 456 deletions
diff --git a/ports/qt53d/portfile.cmake b/ports/qt53d/portfile.cmake index d31904043..dd9751650 100644 --- a/ports/qt53d/portfile.cmake +++ b/ports/qt53d/portfile.cmake @@ -31,58 +31,127 @@ endif() # This fixes issues on machines with default codepages that are not ASCII compatible, such as some CJK encodings set(ENV{_CL_} "/utf-8") +#Store build paths +set(DEBUG_DIR "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg") +set(RELEASE_DIR "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel") + +#Find Python and add it to the path +vcpkg_find_acquire_program(PYTHON3) +get_filename_component(PYTHON3_EXE_PATH ${PYTHON3} DIRECTORY) +set(ENV{PATH} "${PYTHON3_EXE_PATH};$ENV{PATH}") +set(_path "$ENV{PATH}") + +#Configure debug vcpkg_configure_qmake_debug( SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/${SRCDIR_NAME} ) +#First generate the makefiles so we can modify them +vcpkg_build_qmake_debug(TARGETS sub-src-qmake_all) + +#Store debug makefiles path +file(GLOB_RECURSE DEBUG_MAKEFILES ${DEBUG_DIR}/*Makefile*) + +#Fix path to Qt5QmlDevTools +foreach(DEBUG_MAKEFILE ${DEBUG_MAKEFILES}) + vcpkg_replace_string(${DEBUG_MAKEFILE} "vcpkg\\installed\\${TARGET_TRIPLET}\\lib\\Qt5QmlDevToolsd.lib" "vcpkg\\installed\\${TARGET_TRIPLET}\\debug\\lib\\Qt5QmlDevToolsd.lib") +endforeach() + +#Build debug vcpkg_build_qmake_debug() +#Configure release vcpkg_configure_qmake_release( SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/${SRCDIR_NAME} ) +#First generate the makefiles so we can modify them +vcpkg_build_qmake_release(TARGETS sub-src-qmake_all) + +#Store release makefile path +file(GLOB_RECURSE RELEASE_MAKEFILES ${RELEASE_DIR}/*Makefile*) + +#Build release vcpkg_build_qmake_release() -vcpkg_find_acquire_program(PYTHON3) -get_filename_component(PYTHON3_EXE_PATH ${PYTHON3} DIRECTORY) -set(ENV{PATH} "${PYTHON3_EXE_PATH};$ENV{PATH}") -set(_path "$ENV{PATH}") +#Fix the cmake files if they exist +if(EXISTS ${RELEASE_DIR}/lib/cmake) + vcpkg_execute_required_process( + COMMAND ${PYTHON3} ${CMAKE_CURRENT_LIST_DIR}/fixcmake.py + WORKING_DIRECTORY ${RELEASE_DIR}/lib/cmake + LOGNAME fix-cmake + ) +endif() -set(DEBUG_DIR "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg") -set(RELEASE_DIR "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel") +#Set the correct install directory to packages +foreach(RELEASE_MAKEFILE ${RELEASE_MAKEFILES}) + vcpkg_replace_string(${RELEASE_MAKEFILE} "(INSTALL_ROOT)\\vcpkg\\installed\\${TARGET_TRIPLET}" "(INSTALL_ROOT)\\vcpkg\\packages\\${PORT}_${TARGET_TRIPLET}") +endforeach() +foreach(DEBUG_MAKEFILE ${DEBUG_MAKEFILES}) + vcpkg_replace_string(${DEBUG_MAKEFILE} "(INSTALL_ROOT)\\vcpkg\\installed\\${TARGET_TRIPLET}" "(INSTALL_ROOT)\\vcpkg\\packages\\${PORT}_${TARGET_TRIPLET}") +endforeach() -vcpkg_execute_required_process( - COMMAND ${PYTHON3} ${CMAKE_CURRENT_LIST_DIR}/fixcmake.py - WORKING_DIRECTORY ${RELEASE_DIR}/lib/cmake - LOGNAME fix-cmake -) +#Install the module files +vcpkg_build_qmake_debug(TARGETS install) +vcpkg_build_qmake_release(TARGETS install) +#Reset the path to the baseline set(ENV{PATH} "${_path}") -file(INSTALL ${DEBUG_DIR}/bin DESTINATION ${CURRENT_PACKAGES_DIR}/debug) -file(INSTALL ${DEBUG_DIR}/lib DESTINATION ${CURRENT_PACKAGES_DIR}/debug) -file(INSTALL ${DEBUG_DIR}/plugins DESTINATION ${CURRENT_PACKAGES_DIR}/debug) -file(INSTALL ${DEBUG_DIR}/include DESTINATION ${CURRENT_PACKAGES_DIR}/share/qt5/debug) -file(INSTALL ${DEBUG_DIR}/mkspecs DESTINATION ${CURRENT_PACKAGES_DIR}/share/qt5/debug) - -file(INSTALL ${RELEASE_DIR}/bin DESTINATION ${CURRENT_PACKAGES_DIR}) -file(INSTALL ${RELEASE_DIR}/lib DESTINATION ${CURRENT_PACKAGES_DIR}) -file(INSTALL ${RELEASE_DIR}/plugins DESTINATION ${CURRENT_PACKAGES_DIR}) -file(INSTALL ${RELEASE_DIR}/include DESTINATION ${CURRENT_PACKAGES_DIR}) -file(INSTALL ${RELEASE_DIR}/mkspecs DESTINATION ${CURRENT_PACKAGES_DIR}/share/qt5) - -file(GLOB BINARY_TOOLS "${CURRENT_PACKAGES_DIR}/bin/*.exe") -file(INSTALL ${BINARY_TOOLS} DESTINATION ${CURRENT_PACKAGES_DIR}/tools/qt5) -file(REMOVE ${BINARY_TOOLS}) -file(GLOB BINARY_TOOLS "${CURRENT_PACKAGES_DIR}/debug/bin/*.exe") -file(INSTALL ${BINARY_TOOLS} DESTINATION ${CURRENT_PACKAGES_DIR}/debug/tools/qt5) -file(REMOVE ${BINARY_TOOLS}) - -file(RENAME ${CURRENT_PACKAGES_DIR}/lib/cmake ${CURRENT_PACKAGES_DIR}/share/cmake) -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/lib/cmake) - -file(GLOB RELEASE_DLLS "${CURRENT_PACKAGES_DIR}/lib/*.dll") -file(GLOB DEBUG_DLLS "${CURRENT_PACKAGES_DIR}/debug/lib/*.dll") -file(REMOVE ${RELEASE_DLLS} ${DEBUG_DLLS}) - -file(INSTALL ${SOURCE_PATH}/LICENSE.LGPLv3 DESTINATION ${CURRENT_PACKAGES_DIR}/share/qt53d RENAME copyright)
\ No newline at end of file +#Remove extra cmake files +if(EXISTS ${CURRENT_PACKAGES_DIR}/lib/cmake) + file(MAKE_DIRECTORY ${CURRENT_PACKAGES_DIR}/share) + file(RENAME ${CURRENT_PACKAGES_DIR}/lib/cmake ${CURRENT_PACKAGES_DIR}/share/cmake) + #Check if there are any libs left over; if not - delete the directory + file(GLOB RELEASE_LIBS ${CURRENT_PACKAGES_DIR}/lib/*) + if(NOT RELEASE_LIBS) + file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/lib) + endif() +endif() +if(EXISTS ${CURRENT_PACKAGES_DIR}/debug/lib/cmake) + file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/lib/cmake) + #Check if there are any libs left over; if not - delete the directory + file(GLOB DEBUG_LIBS ${CURRENT_PACKAGES_DIR}/lib/*) + if(NOT DEBUG_LIBS) + file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/lib) + endif() +endif() + +#Move release and debug dlls to the correct directory +file(GLOB RELEASE_DLLS ${CURRENT_PACKAGES_DIR}/tools/qt5/*.dll) +file(GLOB DEBUG_DLLS ${CURRENT_PACKAGES_DIR}/debug/tools/qt5/*.dll) +if (RELEASE_DLLS) + file(INSTALL ${RELEASE_DLLS} DESTINATION ${CURRENT_PACKAGES_DIR}/bin) + file(REMOVE ${RELEASE_DLLS}) + #Check if there are any binaries left over; if not - delete the directory + file(GLOB RELEASE_BINS ${CURRENT_PACKAGES_DIR}/tools/qt5/*) + if(NOT RELEASE_BINS) + file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/tools) + endif() +endif() +if(DEBUG_DLLS) + file(INSTALL ${DEBUG_DLLS} DESTINATION ${CURRENT_PACKAGES_DIR}/debug/bin) + file(REMOVE ${DEBUG_DLLS}) + #Check if there are any binaries left over; if not - delete the directory + file(GLOB DEBUG_BINS ${CURRENT_PACKAGES_DIR}/debug/tools/qt5/*) + if(NOT DEBUG_BINS) + file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/tools) + endif() +endif() + +#If there are no include files in the module - create an empty one to stop vcpkg from complaining +if(NOT EXISTS ${CURRENT_PACKAGES_DIR}/include) + file(WRITE ${CURRENT_PACKAGES_DIR}/include/.empty_${PORT} "") +endif() + +#Find the relevant license file and install it +if(EXISTS "${SOURCE_PATH}/LICENSE.LGPLv3") + set(LICENSE_PATH "${SOURCE_PATH}/LICENSE.LGPLv3") +elseif(EXISTS "${SOURCE_PATH}/LICENSE.LGPL3") + set(LICENSE_PATH "${SOURCE_PATH}/LICENSE.LGPL3") +elseif(EXISTS "${SOURCE_PATH}/LICENSE.GPLv3") + set(LICENSE_PATH "${SOURCE_PATH}/LICENSE.GPLv3") +elseif(EXISTS "${SOURCE_PATH}/LICENSE.GPL3") + set(LICENSE_PATH "${SOURCE_PATH}/LICENSE.GPL3") +endif() +file(INSTALL ${LICENSE_PATH} DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT}/ RENAME copyright)
\ No newline at end of file diff --git a/ports/qt5charts/portfile.cmake b/ports/qt5charts/portfile.cmake index e9b0d9dda..6e43f92b5 100644 --- a/ports/qt5charts/portfile.cmake +++ b/ports/qt5charts/portfile.cmake @@ -31,49 +31,127 @@ endif() # This fixes issues on machines with default codepages that are not ASCII compatible, such as some CJK encodings set(ENV{_CL_} "/utf-8") +#Store build paths +set(DEBUG_DIR "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg") +set(RELEASE_DIR "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel") + +#Find Python and add it to the path +vcpkg_find_acquire_program(PYTHON3) +get_filename_component(PYTHON3_EXE_PATH ${PYTHON3} DIRECTORY) +set(ENV{PATH} "${PYTHON3_EXE_PATH};$ENV{PATH}") +set(_path "$ENV{PATH}") + +#Configure debug vcpkg_configure_qmake_debug( SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/${SRCDIR_NAME} ) +#First generate the makefiles so we can modify them +vcpkg_build_qmake_debug(TARGETS sub-src-qmake_all) + +#Store debug makefiles path +file(GLOB_RECURSE DEBUG_MAKEFILES ${DEBUG_DIR}/*Makefile*) + +#Fix path to Qt5QmlDevTools +foreach(DEBUG_MAKEFILE ${DEBUG_MAKEFILES}) + vcpkg_replace_string(${DEBUG_MAKEFILE} "vcpkg\\installed\\${TARGET_TRIPLET}\\lib\\Qt5QmlDevToolsd.lib" "vcpkg\\installed\\${TARGET_TRIPLET}\\debug\\lib\\Qt5QmlDevToolsd.lib") +endforeach() + +#Build debug vcpkg_build_qmake_debug() +#Configure release vcpkg_configure_qmake_release( SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/${SRCDIR_NAME} ) +#First generate the makefiles so we can modify them +vcpkg_build_qmake_release(TARGETS sub-src-qmake_all) + +#Store release makefile path +file(GLOB_RECURSE RELEASE_MAKEFILES ${RELEASE_DIR}/*Makefile*) + +#Build release vcpkg_build_qmake_release() -vcpkg_find_acquire_program(PYTHON3) -get_filename_component(PYTHON3_EXE_PATH ${PYTHON3} DIRECTORY) -set(ENV{PATH} "${PYTHON3_EXE_PATH};$ENV{PATH}") -set(_path "$ENV{PATH}") +#Fix the cmake files if they exist +if(EXISTS ${RELEASE_DIR}/lib/cmake) + vcpkg_execute_required_process( + COMMAND ${PYTHON3} ${CMAKE_CURRENT_LIST_DIR}/fixcmake.py + WORKING_DIRECTORY ${RELEASE_DIR}/lib/cmake + LOGNAME fix-cmake + ) +endif() -set(DEBUG_DIR "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg") -set(RELEASE_DIR "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel") +#Set the correct install directory to packages +foreach(RELEASE_MAKEFILE ${RELEASE_MAKEFILES}) + vcpkg_replace_string(${RELEASE_MAKEFILE} "(INSTALL_ROOT)\\vcpkg\\installed\\${TARGET_TRIPLET}" "(INSTALL_ROOT)\\vcpkg\\packages\\${PORT}_${TARGET_TRIPLET}") +endforeach() +foreach(DEBUG_MAKEFILE ${DEBUG_MAKEFILES}) + vcpkg_replace_string(${DEBUG_MAKEFILE} "(INSTALL_ROOT)\\vcpkg\\installed\\${TARGET_TRIPLET}" "(INSTALL_ROOT)\\vcpkg\\packages\\${PORT}_${TARGET_TRIPLET}") +endforeach() -vcpkg_execute_required_process( - COMMAND ${PYTHON3} ${CMAKE_CURRENT_LIST_DIR}/fixcmake.py - WORKING_DIRECTORY ${RELEASE_DIR}/lib/cmake - LOGNAME fix-cmake -) +#Install the module files +vcpkg_build_qmake_debug(TARGETS install) +vcpkg_build_qmake_release(TARGETS install) +#Reset the path to the baseline set(ENV{PATH} "${_path}") -file(INSTALL ${DEBUG_DIR}/bin DESTINATION ${CURRENT_PACKAGES_DIR}/debug) -file(INSTALL ${DEBUG_DIR}/lib DESTINATION ${CURRENT_PACKAGES_DIR}/debug) -file(INSTALL ${DEBUG_DIR}/include DESTINATION ${CURRENT_PACKAGES_DIR}/share/qt5/debug) -file(INSTALL ${DEBUG_DIR}/mkspecs DESTINATION ${CURRENT_PACKAGES_DIR}/share/qt5/debug) - -file(INSTALL ${RELEASE_DIR}/bin DESTINATION ${CURRENT_PACKAGES_DIR}) -file(INSTALL ${RELEASE_DIR}/lib DESTINATION ${CURRENT_PACKAGES_DIR}) -file(INSTALL ${RELEASE_DIR}/include DESTINATION ${CURRENT_PACKAGES_DIR}) -file(INSTALL ${RELEASE_DIR}/mkspecs DESTINATION ${CURRENT_PACKAGES_DIR}/share/qt5) +#Remove extra cmake files +if(EXISTS ${CURRENT_PACKAGES_DIR}/lib/cmake) + file(MAKE_DIRECTORY ${CURRENT_PACKAGES_DIR}/share) + file(RENAME ${CURRENT_PACKAGES_DIR}/lib/cmake ${CURRENT_PACKAGES_DIR}/share/cmake) + #Check if there are any libs left over; if not - delete the directory + file(GLOB RELEASE_LIBS ${CURRENT_PACKAGES_DIR}/lib/*) + if(NOT RELEASE_LIBS) + file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/lib) + endif() +endif() +if(EXISTS ${CURRENT_PACKAGES_DIR}/debug/lib/cmake) + file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/lib/cmake) + #Check if there are any libs left over; if not - delete the directory + file(GLOB DEBUG_LIBS ${CURRENT_PACKAGES_DIR}/lib/*) + if(NOT DEBUG_LIBS) + file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/lib) + endif() +endif() -file(RENAME ${CURRENT_PACKAGES_DIR}/lib/cmake ${CURRENT_PACKAGES_DIR}/share/cmake) -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/lib/cmake) +#Move release and debug dlls to the correct directory +file(GLOB RELEASE_DLLS ${CURRENT_PACKAGES_DIR}/tools/qt5/*.dll) +file(GLOB DEBUG_DLLS ${CURRENT_PACKAGES_DIR}/debug/tools/qt5/*.dll) +if (RELEASE_DLLS) + file(INSTALL ${RELEASE_DLLS} DESTINATION ${CURRENT_PACKAGES_DIR}/bin) + file(REMOVE ${RELEASE_DLLS}) + #Check if there are any binaries left over; if not - delete the directory + file(GLOB RELEASE_BINS ${CURRENT_PACKAGES_DIR}/tools/qt5/*) + if(NOT RELEASE_BINS) + file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/tools) + endif() +endif() +if(DEBUG_DLLS) + file(INSTALL ${DEBUG_DLLS} DESTINATION ${CURRENT_PACKAGES_DIR}/debug/bin) + file(REMOVE ${DEBUG_DLLS}) + #Check if there are any binaries left over; if not - delete the directory + file(GLOB DEBUG_BINS ${CURRENT_PACKAGES_DIR}/debug/tools/qt5/*) + if(NOT DEBUG_BINS) + file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/tools) + endif() +endif() -file(GLOB RELEASE_DLLS "${CURRENT_PACKAGES_DIR}/lib/*.dll") -file(GLOB DEBUG_DLLS "${CURRENT_PACKAGES_DIR}/debug/lib/*.dll") -file(REMOVE ${RELEASE_DLLS} ${DEBUG_DLLS}) +#If there are no include files in the module - create an empty one to stop vcpkg from complaining +if(NOT EXISTS ${CURRENT_PACKAGES_DIR}/include) + file(WRITE ${CURRENT_PACKAGES_DIR}/include/.empty_${PORT} "") +endif() -file(INSTALL ${SOURCE_PATH}/LICENSE.GPL3 DESTINATION ${CURRENT_PACKAGES_DIR}/share/qt5charts RENAME copyright)
\ No newline at end of file +#Find the relevant license file and install it +if(EXISTS "${SOURCE_PATH}/LICENSE.LGPLv3") + set(LICENSE_PATH "${SOURCE_PATH}/LICENSE.LGPLv3") +elseif(EXISTS "${SOURCE_PATH}/LICENSE.LGPL3") + set(LICENSE_PATH "${SOURCE_PATH}/LICENSE.LGPL3") +elseif(EXISTS "${SOURCE_PATH}/LICENSE.GPLv3") + set(LICENSE_PATH "${SOURCE_PATH}/LICENSE.GPLv3") +elseif(EXISTS "${SOURCE_PATH}/LICENSE.GPL3") + set(LICENSE_PATH "${SOURCE_PATH}/LICENSE.GPL3") +endif() +file(INSTALL ${LICENSE_PATH} DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT}/ RENAME copyright)
\ No newline at end of file diff --git a/ports/qt5datavisualization3d/portfile.cmake b/ports/qt5datavisualization3d/portfile.cmake index 85bd0e21b..8a067c524 100644 --- a/ports/qt5datavisualization3d/portfile.cmake +++ b/ports/qt5datavisualization3d/portfile.cmake @@ -31,49 +31,127 @@ endif() # This fixes issues on machines with default codepages that are not ASCII compatible, such as some CJK encodings set(ENV{_CL_} "/utf-8") +#Store build paths +set(DEBUG_DIR "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg") +set(RELEASE_DIR "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel") + +#Find Python and add it to the path +vcpkg_find_acquire_program(PYTHON3) +get_filename_component(PYTHON3_EXE_PATH ${PYTHON3} DIRECTORY) +set(ENV{PATH} "${PYTHON3_EXE_PATH};$ENV{PATH}") +set(_path "$ENV{PATH}") + +#Configure debug vcpkg_configure_qmake_debug( SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/${SRCDIR_NAME} ) +#First generate the makefiles so we can modify them +vcpkg_build_qmake_debug(TARGETS sub-src-qmake_all) + +#Store debug makefiles path +file(GLOB_RECURSE DEBUG_MAKEFILES ${DEBUG_DIR}/*Makefile*) + +#Fix path to Qt5QmlDevTools +foreach(DEBUG_MAKEFILE ${DEBUG_MAKEFILES}) + vcpkg_replace_string(${DEBUG_MAKEFILE} "vcpkg\\installed\\${TARGET_TRIPLET}\\lib\\Qt5QmlDevToolsd.lib" "vcpkg\\installed\\${TARGET_TRIPLET}\\debug\\lib\\Qt5QmlDevToolsd.lib") +endforeach() + +#Build debug vcpkg_build_qmake_debug() +#Configure release vcpkg_configure_qmake_release( SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/${SRCDIR_NAME} ) +#First generate the makefiles so we can modify them +vcpkg_build_qmake_release(TARGETS sub-src-qmake_all) + +#Store release makefile path +file(GLOB_RECURSE RELEASE_MAKEFILES ${RELEASE_DIR}/*Makefile*) + +#Build release vcpkg_build_qmake_release() -vcpkg_find_acquire_program(PYTHON3) -get_filename_component(PYTHON3_EXE_PATH ${PYTHON3} DIRECTORY) -set(ENV{PATH} "${PYTHON3_EXE_PATH};$ENV{PATH}") -set(_path "$ENV{PATH}") +#Fix the cmake files if they exist +if(EXISTS ${RELEASE_DIR}/lib/cmake) + vcpkg_execute_required_process( + COMMAND ${PYTHON3} ${CMAKE_CURRENT_LIST_DIR}/fixcmake.py + WORKING_DIRECTORY ${RELEASE_DIR}/lib/cmake + LOGNAME fix-cmake + ) +endif() -set(DEBUG_DIR "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg") -set(RELEASE_DIR "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel") +#Set the correct install directory to packages +foreach(RELEASE_MAKEFILE ${RELEASE_MAKEFILES}) + vcpkg_replace_string(${RELEASE_MAKEFILE} "(INSTALL_ROOT)\\vcpkg\\installed\\${TARGET_TRIPLET}" "(INSTALL_ROOT)\\vcpkg\\packages\\${PORT}_${TARGET_TRIPLET}") +endforeach() +foreach(DEBUG_MAKEFILE ${DEBUG_MAKEFILES}) + vcpkg_replace_string(${DEBUG_MAKEFILE} "(INSTALL_ROOT)\\vcpkg\\installed\\${TARGET_TRIPLET}" "(INSTALL_ROOT)\\vcpkg\\packages\\${PORT}_${TARGET_TRIPLET}") +endforeach() -vcpkg_execute_required_process( - COMMAND ${PYTHON3} ${CMAKE_CURRENT_LIST_DIR}/fixcmake.py - WORKING_DIRECTORY ${RELEASE_DIR}/lib/cmake - LOGNAME fix-cmake -) +#Install the module files +vcpkg_build_qmake_debug(TARGETS install) +vcpkg_build_qmake_release(TARGETS install) +#Reset the path to the baseline set(ENV{PATH} "${_path}") -file(INSTALL ${DEBUG_DIR}/bin DESTINATION ${CURRENT_PACKAGES_DIR}/debug) -file(INSTALL ${DEBUG_DIR}/lib DESTINATION ${CURRENT_PACKAGES_DIR}/debug) -file(INSTALL ${DEBUG_DIR}/include DESTINATION ${CURRENT_PACKAGES_DIR}/share/qt5/debug) -file(INSTALL ${DEBUG_DIR}/mkspecs DESTINATION ${CURRENT_PACKAGES_DIR}/share/qt5/debug) - -file(INSTALL ${RELEASE_DIR}/bin DESTINATION ${CURRENT_PACKAGES_DIR}) -file(INSTALL ${RELEASE_DIR}/lib DESTINATION ${CURRENT_PACKAGES_DIR}) -file(INSTALL ${RELEASE_DIR}/include DESTINATION ${CURRENT_PACKAGES_DIR}) -file(INSTALL ${RELEASE_DIR}/mkspecs DESTINATION ${CURRENT_PACKAGES_DIR}/share/qt5) +#Remove extra cmake files +if(EXISTS ${CURRENT_PACKAGES_DIR}/lib/cmake) + file(MAKE_DIRECTORY ${CURRENT_PACKAGES_DIR}/share) + file(RENAME ${CURRENT_PACKAGES_DIR}/lib/cmake ${CURRENT_PACKAGES_DIR}/share/cmake) + #Check if there are any libs left over; if not - delete the directory + file(GLOB RELEASE_LIBS ${CURRENT_PACKAGES_DIR}/lib/*) + if(NOT RELEASE_LIBS) + file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/lib) + endif() +endif() +if(EXISTS ${CURRENT_PACKAGES_DIR}/debug/lib/cmake) + file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/lib/cmake) + #Check if there are any libs left over; if not - delete the directory + file(GLOB DEBUG_LIBS ${CURRENT_PACKAGES_DIR}/lib/*) + if(NOT DEBUG_LIBS) + file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/lib) + endif() +endif() -file(RENAME ${CURRENT_PACKAGES_DIR}/lib/cmake ${CURRENT_PACKAGES_DIR}/share/cmake) -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/lib/cmake) +#Move release and debug dlls to the correct directory +file(GLOB RELEASE_DLLS ${CURRENT_PACKAGES_DIR}/tools/qt5/*.dll) +file(GLOB DEBUG_DLLS ${CURRENT_PACKAGES_DIR}/debug/tools/qt5/*.dll) +if (RELEASE_DLLS) + file(INSTALL ${RELEASE_DLLS} DESTINATION ${CURRENT_PACKAGES_DIR}/bin) + file(REMOVE ${RELEASE_DLLS}) + #Check if there are any binaries left over; if not - delete the directory + file(GLOB RELEASE_BINS ${CURRENT_PACKAGES_DIR}/tools/qt5/*) + if(NOT RELEASE_BINS) + file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/tools) + endif() +endif() +if(DEBUG_DLLS) + file(INSTALL ${DEBUG_DLLS} DESTINATION ${CURRENT_PACKAGES_DIR}/debug/bin) + file(REMOVE ${DEBUG_DLLS}) + #Check if there are any binaries left over; if not - delete the directory + file(GLOB DEBUG_BINS ${CURRENT_PACKAGES_DIR}/debug/tools/qt5/*) + if(NOT DEBUG_BINS) + file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/tools) + endif() +endif() -file(GLOB RELEASE_DLLS "${CURRENT_PACKAGES_DIR}/lib/*.dll") -file(GLOB DEBUG_DLLS "${CURRENT_PACKAGES_DIR}/debug/lib/*.dll") -file(REMOVE ${RELEASE_DLLS} ${DEBUG_DLLS}) +#If there are no include files in the module - create an empty one to stop vcpkg from complaining +if(NOT EXISTS ${CURRENT_PACKAGES_DIR}/include) + file(WRITE ${CURRENT_PACKAGES_DIR}/include/.empty_${PORT} "") +endif() -file(INSTALL ${SOURCE_PATH}/LICENSE.GPL3 DESTINATION ${CURRENT_PACKAGES_DIR}/share/qt5datavisualization3d RENAME copyright)
\ No newline at end of file +#Find the relevant license file and install it +if(EXISTS "${SOURCE_PATH}/LICENSE.LGPLv3") + set(LICENSE_PATH "${SOURCE_PATH}/LICENSE.LGPLv3") +elseif(EXISTS "${SOURCE_PATH}/LICENSE.LGPL3") + set(LICENSE_PATH "${SOURCE_PATH}/LICENSE.LGPL3") +elseif(EXISTS "${SOURCE_PATH}/LICENSE.GPLv3") + set(LICENSE_PATH "${SOURCE_PATH}/LICENSE.GPLv3") +elseif(EXISTS "${SOURCE_PATH}/LICENSE.GPL3") + set(LICENSE_PATH "${SOURCE_PATH}/LICENSE.GPL3") +endif() +file(INSTALL ${LICENSE_PATH} DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT}/ RENAME copyright)
\ No newline at end of file diff --git a/ports/qt5declarative/portfile.cmake b/ports/qt5declarative/portfile.cmake index 70c502dfa..29ff3e759 100644 --- a/ports/qt5declarative/portfile.cmake +++ b/ports/qt5declarative/portfile.cmake @@ -31,57 +31,130 @@ endif() # This fixes issues on machines with default codepages that are not ASCII compatible, such as some CJK encodings set(ENV{_CL_} "/utf-8") +#Store build paths +set(DEBUG_DIR "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg") +set(RELEASE_DIR "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel") + +#Find Python and add it to the path vcpkg_find_acquire_program(PYTHON3) get_filename_component(PYTHON3_EXE_PATH ${PYTHON3} DIRECTORY) set(ENV{PATH} "${PYTHON3_EXE_PATH};$ENV{PATH}") +set(_path "$ENV{PATH}") +#Configure debug vcpkg_configure_qmake_debug( SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/${SRCDIR_NAME} ) +#First generate the makefiles so we can modify them +vcpkg_build_qmake_debug(TARGETS sub-src-qmake_all) + +#Store debug makefiles path +file(GLOB_RECURSE DEBUG_MAKEFILES ${DEBUG_DIR}/*Makefile*) + +#Fix path to Qt5QmlDevTools +foreach(DEBUG_MAKEFILE ${DEBUG_MAKEFILES}) + vcpkg_replace_string(${DEBUG_MAKEFILE} "vcpkg\\installed\\${TARGET_TRIPLET}\\lib\\Qt5QmlDevToolsd.lib" "vcpkg\\installed\\${TARGET_TRIPLET}\\debug\\lib\\Qt5QmlDevToolsd.lib") +endforeach() + +#Build debug vcpkg_build_qmake_debug() +#Configure release vcpkg_configure_qmake_release( SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/${SRCDIR_NAME} ) +#First generate the makefiles so we can modify them +vcpkg_build_qmake_release(TARGETS sub-src-qmake_all) + +#Store release makefile path +file(GLOB_RECURSE RELEASE_MAKEFILES ${RELEASE_DIR}/*Makefile*) + +#Build release vcpkg_build_qmake_release() -set(DEBUG_DIR "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg") -set(RELEASE_DIR "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel") +#Fix the cmake files if they exist +if(EXISTS ${RELEASE_DIR}/lib/cmake) + vcpkg_execute_required_process( + COMMAND ${PYTHON3} ${CMAKE_CURRENT_LIST_DIR}/fixcmake.py + WORKING_DIRECTORY ${RELEASE_DIR}/lib/cmake + LOGNAME fix-cmake + ) +endif() -vcpkg_execute_required_process( - COMMAND ${PYTHON3} ${CMAKE_CURRENT_LIST_DIR}/fixcmake.py - WORKING_DIRECTORY ${RELEASE_DIR}/lib/cmake - LOGNAME fix-cmake -) +#Set the correct install directory to packages +foreach(RELEASE_MAKEFILE ${RELEASE_MAKEFILES}) + vcpkg_replace_string(${RELEASE_MAKEFILE} "(INSTALL_ROOT)\\vcpkg\\installed\\${TARGET_TRIPLET}" "(INSTALL_ROOT)\\vcpkg\\packages\\${PORT}_${TARGET_TRIPLET}") +endforeach() +foreach(DEBUG_MAKEFILE ${DEBUG_MAKEFILES}) + vcpkg_replace_string(${DEBUG_MAKEFILE} "(INSTALL_ROOT)\\vcpkg\\installed\\${TARGET_TRIPLET}" "(INSTALL_ROOT)\\vcpkg\\packages\\${PORT}_${TARGET_TRIPLET}") +endforeach() + +#Install the module files +vcpkg_build_qmake_debug(TARGETS install) +vcpkg_build_qmake_release(TARGETS install) +#Reset the path to the baseline set(ENV{PATH} "${_path}") -file(GLOB BINARY_TOOLS "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel/bin/*.exe") -file(INSTALL ${BINARY_TOOLS} DESTINATION ${CURRENT_PACKAGES_DIR}/tools/qt5) -file(REMOVE ${BINARY_TOOLS}) -file(GLOB BINARY_TOOLS "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg/bin/*.exe") -file(INSTALL ${BINARY_TOOLS} DESTINATION ${CURRENT_PACKAGES_DIR}/debug/tools/qt5) -file(REMOVE ${BINARY_TOOLS}) - -file(INSTALL ${DEBUG_DIR}/bin DESTINATION ${CURRENT_PACKAGES_DIR}/debug) -file(INSTALL ${DEBUG_DIR}/lib DESTINATION ${CURRENT_PACKAGES_DIR}/debug) -file(INSTALL ${DEBUG_DIR}/plugins DESTINATION ${CURRENT_PACKAGES_DIR}/debug) -file(INSTALL ${DEBUG_DIR}/include DESTINATION ${CURRENT_PACKAGES_DIR}/share/qt5/debug) -file(INSTALL ${DEBUG_DIR}/mkspecs DESTINATION ${CURRENT_PACKAGES_DIR}/share/qt5/debug) - -file(INSTALL ${RELEASE_DIR}/bin DESTINATION ${CURRENT_PACKAGES_DIR}) -file(INSTALL ${RELEASE_DIR}/lib DESTINATION ${CURRENT_PACKAGES_DIR}) -file(INSTALL ${RELEASE_DIR}/plugins DESTINATION ${CURRENT_PACKAGES_DIR}) -file(INSTALL ${RELEASE_DIR}/include DESTINATION ${CURRENT_PACKAGES_DIR}) -file(INSTALL ${RELEASE_DIR}/mkspecs DESTINATION ${CURRENT_PACKAGES_DIR}/share/qt5) - -file(RENAME ${CURRENT_PACKAGES_DIR}/lib/cmake ${CURRENT_PACKAGES_DIR}/share/cmake) -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/lib/cmake) - -file(GLOB RELEASE_DLLS "${CURRENT_PACKAGES_DIR}/lib/*.dll") -file(GLOB DEBUG_DLLS "${CURRENT_PACKAGES_DIR}/debug/lib/*.dll") -file(REMOVE ${RELEASE_DLLS} ${DEBUG_DLLS}) - -file(INSTALL ${SOURCE_PATH}/LICENSE.LGPL3 DESTINATION ${CURRENT_PACKAGES_DIR}/share/qt5declarative RENAME copyright)
\ No newline at end of file +#Remove extra cmake files +if(EXISTS ${CURRENT_PACKAGES_DIR}/lib/cmake) + file(MAKE_DIRECTORY ${CURRENT_PACKAGES_DIR}/share) + file(RENAME ${CURRENT_PACKAGES_DIR}/lib/cmake ${CURRENT_PACKAGES_DIR}/share/cmake) + #Check if there are any libs left over; if not - delete the directory + file(GLOB RELEASE_LIBS ${CURRENT_PACKAGES_DIR}/lib/*) + if(NOT RELEASE_LIBS) + file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/lib) + endif() +endif() +if(EXISTS ${CURRENT_PACKAGES_DIR}/debug/lib/cmake) + file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/lib/cmake) + #Check if there are any libs left over; if not - delete the directory + file(GLOB DEBUG_LIBS ${CURRENT_PACKAGES_DIR}/lib/*) + if(NOT DEBUG_LIBS) + file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/lib) + endif() +endif() + +#Move release and debug dlls to the correct directory +file(GLOB RELEASE_DLLS ${CURRENT_PACKAGES_DIR}/tools/qt5/*.dll) +file(GLOB DEBUG_DLLS ${CURRENT_PACKAGES_DIR}/debug/tools/qt5/*.dll) +if (RELEASE_DLLS) + file(INSTALL ${RELEASE_DLLS} DESTINATION ${CURRENT_PACKAGES_DIR}/bin) + file(REMOVE ${RELEASE_DLLS}) + #Check if there are any binaries left over; if not - delete the directory + file(GLOB RELEASE_BINS ${CURRENT_PACKAGES_DIR}/tools/qt5/*) + if(NOT RELEASE_BINS) + file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/tools) + endif() +endif() +if(DEBUG_DLLS) + file(INSTALL ${DEBUG_DLLS} DESTINATION ${CURRENT_PACKAGES_DIR}/debug/bin) + file(REMOVE ${DEBUG_DLLS}) + #Check if there are any binaries left over; if not - delete the directory + file(GLOB DEBUG_BINS ${CURRENT_PACKAGES_DIR}/debug/tools/qt5/*) + if(NOT DEBUG_BINS) + file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/tools) + endif() +endif() + +#If there are no include files in the module - create an empty one to stop vcpkg from complaining +if(NOT EXISTS ${CURRENT_PACKAGES_DIR}/include) + file(WRITE ${CURRENT_PACKAGES_DIR}/include/.empty_${PORT} "") +endif() + +#Find the relevant license file and install it +if(EXISTS "${SOURCE_PATH}/LICENSE.LGPLv3") + set(LICENSE_PATH "${SOURCE_PATH}/LICENSE.LGPLv3") +elseif(EXISTS "${SOURCE_PATH}/LICENSE.LGPL3") + set(LICENSE_PATH "${SOURCE_PATH}/LICENSE.LGPL3") +elseif(EXISTS "${SOURCE_PATH}/LICENSE.GPLv3") + set(LICENSE_PATH "${SOURCE_PATH}/LICENSE.GPLv3") +elseif(EXISTS "${SOURCE_PATH}/LICENSE.GPL3") + set(LICENSE_PATH "${SOURCE_PATH}/LICENSE.GPL3") +endif() +file(INSTALL ${LICENSE_PATH} DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT}/ RENAME copyright) + +#Fix incorrectly placed file(s) +file(RENAME ${CURRENT_PACKAGES_DIR}/lib/Qt5QmlDevToolsd.lib ${CURRENT_PACKAGES_DIR}/debug/lib/Qt5QmlDevToolsd.lib)
\ No newline at end of file diff --git a/ports/qt5gamepad/portfile.cmake b/ports/qt5gamepad/portfile.cmake index 3492e78de..68ab01e6d 100644 --- a/ports/qt5gamepad/portfile.cmake +++ b/ports/qt5gamepad/portfile.cmake @@ -31,51 +31,127 @@ endif() # This fixes issues on machines with default codepages that are not ASCII compatible, such as some CJK encodings set(ENV{_CL_} "/utf-8") +#Store build paths +set(DEBUG_DIR "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg") +set(RELEASE_DIR "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel") + +#Find Python and add it to the path +vcpkg_find_acquire_program(PYTHON3) +get_filename_component(PYTHON3_EXE_PATH ${PYTHON3} DIRECTORY) +set(ENV{PATH} "${PYTHON3_EXE_PATH};$ENV{PATH}") +set(_path "$ENV{PATH}") + +#Configure debug vcpkg_configure_qmake_debug( SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/${SRCDIR_NAME} ) +#First generate the makefiles so we can modify them +vcpkg_build_qmake_debug(TARGETS sub-src-qmake_all) + +#Store debug makefiles path +file(GLOB_RECURSE DEBUG_MAKEFILES ${DEBUG_DIR}/*Makefile*) + +#Fix path to Qt5QmlDevTools +foreach(DEBUG_MAKEFILE ${DEBUG_MAKEFILES}) + vcpkg_replace_string(${DEBUG_MAKEFILE} "vcpkg\\installed\\${TARGET_TRIPLET}\\lib\\Qt5QmlDevToolsd.lib" "vcpkg\\installed\\${TARGET_TRIPLET}\\debug\\lib\\Qt5QmlDevToolsd.lib") +endforeach() + +#Build debug vcpkg_build_qmake_debug() +#Configure release vcpkg_configure_qmake_release( SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/${SRCDIR_NAME} ) +#First generate the makefiles so we can modify them +vcpkg_build_qmake_release(TARGETS sub-src-qmake_all) + +#Store release makefile path +file(GLOB_RECURSE RELEASE_MAKEFILES ${RELEASE_DIR}/*Makefile*) + +#Build release vcpkg_build_qmake_release() -vcpkg_find_acquire_program(PYTHON3) -get_filename_component(PYTHON3_EXE_PATH ${PYTHON3} DIRECTORY) -set(ENV{PATH} "${PYTHON3_EXE_PATH};$ENV{PATH}") -set(_path "$ENV{PATH}") +#Fix the cmake files if they exist +if(EXISTS ${RELEASE_DIR}/lib/cmake) + vcpkg_execute_required_process( + COMMAND ${PYTHON3} ${CMAKE_CURRENT_LIST_DIR}/fixcmake.py + WORKING_DIRECTORY ${RELEASE_DIR}/lib/cmake + LOGNAME fix-cmake + ) +endif() -set(DEBUG_DIR "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg") -set(RELEASE_DIR "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel") +#Set the correct install directory to packages +foreach(RELEASE_MAKEFILE ${RELEASE_MAKEFILES}) + vcpkg_replace_string(${RELEASE_MAKEFILE} "(INSTALL_ROOT)\\vcpkg\\installed\\${TARGET_TRIPLET}" "(INSTALL_ROOT)\\vcpkg\\packages\\${PORT}_${TARGET_TRIPLET}") +endforeach() +foreach(DEBUG_MAKEFILE ${DEBUG_MAKEFILES}) + vcpkg_replace_string(${DEBUG_MAKEFILE} "(INSTALL_ROOT)\\vcpkg\\installed\\${TARGET_TRIPLET}" "(INSTALL_ROOT)\\vcpkg\\packages\\${PORT}_${TARGET_TRIPLET}") +endforeach() -vcpkg_execute_required_process( - COMMAND ${PYTHON3} ${CMAKE_CURRENT_LIST_DIR}/fixcmake.py - WORKING_DIRECTORY ${RELEASE_DIR}/lib/cmake - LOGNAME fix-cmake -) +#Install the module files +vcpkg_build_qmake_debug(TARGETS install) +vcpkg_build_qmake_release(TARGETS install) +#Reset the path to the baseline set(ENV{PATH} "${_path}") -file(INSTALL ${DEBUG_DIR}/bin DESTINATION ${CURRENT_PACKAGES_DIR}/debug) -file(INSTALL ${DEBUG_DIR}/lib DESTINATION ${CURRENT_PACKAGES_DIR}/debug) -file(INSTALL ${DEBUG_DIR}/plugins DESTINATION ${CURRENT_PACKAGES_DIR}/debug) -file(INSTALL ${DEBUG_DIR}/include DESTINATION ${CURRENT_PACKAGES_DIR}/share/qt5/debug) -file(INSTALL ${DEBUG_DIR}/mkspecs DESTINATION ${CURRENT_PACKAGES_DIR}/share/qt5/debug) - -file(INSTALL ${RELEASE_DIR}/bin DESTINATION ${CURRENT_PACKAGES_DIR}) -file(INSTALL ${RELEASE_DIR}/lib DESTINATION ${CURRENT_PACKAGES_DIR}) -file(INSTALL ${RELEASE_DIR}/plugins DESTINATION ${CURRENT_PACKAGES_DIR}) -file(INSTALL ${RELEASE_DIR}/include DESTINATION ${CURRENT_PACKAGES_DIR}) -file(INSTALL ${RELEASE_DIR}/mkspecs DESTINATION ${CURRENT_PACKAGES_DIR}/share/qt5) +#Remove extra cmake files +if(EXISTS ${CURRENT_PACKAGES_DIR}/lib/cmake) + file(MAKE_DIRECTORY ${CURRENT_PACKAGES_DIR}/share) + file(RENAME ${CURRENT_PACKAGES_DIR}/lib/cmake ${CURRENT_PACKAGES_DIR}/share/cmake) + #Check if there are any libs left over; if not - delete the directory + file(GLOB RELEASE_LIBS ${CURRENT_PACKAGES_DIR}/lib/*) + if(NOT RELEASE_LIBS) + file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/lib) + endif() +endif() +if(EXISTS ${CURRENT_PACKAGES_DIR}/debug/lib/cmake) + file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/lib/cmake) + #Check if there are any libs left over; if not - delete the directory + file(GLOB DEBUG_LIBS ${CURRENT_PACKAGES_DIR}/lib/*) + if(NOT DEBUG_LIBS) + file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/lib) + endif() +endif() -file(RENAME ${CURRENT_PACKAGES_DIR}/lib/cmake ${CURRENT_PACKAGES_DIR}/share/cmake) -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/lib/cmake) +#Move release and debug dlls to the correct directory +file(GLOB RELEASE_DLLS ${CURRENT_PACKAGES_DIR}/tools/qt5/*.dll) +file(GLOB DEBUG_DLLS ${CURRENT_PACKAGES_DIR}/debug/tools/qt5/*.dll) +if (RELEASE_DLLS) + file(INSTALL ${RELEASE_DLLS} DESTINATION ${CURRENT_PACKAGES_DIR}/bin) + file(REMOVE ${RELEASE_DLLS}) + #Check if there are any binaries left over; if not - delete the directory + file(GLOB RELEASE_BINS ${CURRENT_PACKAGES_DIR}/tools/qt5/*) + if(NOT RELEASE_BINS) + file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/tools) + endif() +endif() +if(DEBUG_DLLS) + file(INSTALL ${DEBUG_DLLS} DESTINATION ${CURRENT_PACKAGES_DIR}/debug/bin) + file(REMOVE ${DEBUG_DLLS}) + #Check if there are any binaries left over; if not - delete the directory + file(GLOB DEBUG_BINS ${CURRENT_PACKAGES_DIR}/debug/tools/qt5/*) + if(NOT DEBUG_BINS) + file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/tools) + endif() +endif() -file(GLOB RELEASE_DLLS "${CURRENT_PACKAGES_DIR}/lib/*.dll") -file(GLOB DEBUG_DLLS "${CURRENT_PACKAGES_DIR}/debug/lib/*.dll") -file(REMOVE ${RELEASE_DLLS} ${DEBUG_DLLS}) +#If there are no include files in the module - create an empty one to stop vcpkg from complaining +if(NOT EXISTS ${CURRENT_PACKAGES_DIR}/include) + file(WRITE ${CURRENT_PACKAGES_DIR}/include/.empty_${PORT} "") +endif() -file(INSTALL ${SOURCE_PATH}/LICENSE.LGPLv3 DESTINATION ${CURRENT_PACKAGES_DIR}/share/qt5gamepad RENAME copyright)
\ No newline at end of file +#Find the relevant license file and install it +if(EXISTS "${SOURCE_PATH}/LICENSE.LGPLv3") + set(LICENSE_PATH "${SOURCE_PATH}/LICENSE.LGPLv3") +elseif(EXISTS "${SOURCE_PATH}/LICENSE.LGPL3") + set(LICENSE_PATH "${SOURCE_PATH}/LICENSE.LGPL3") +elseif(EXISTS "${SOURCE_PATH}/LICENSE.GPLv3") + set(LICENSE_PATH "${SOURCE_PATH}/LICENSE.GPLv3") +elseif(EXISTS "${SOURCE_PATH}/LICENSE.GPL3") + set(LICENSE_PATH "${SOURCE_PATH}/LICENSE.GPL3") +endif() +file(INSTALL ${LICENSE_PATH} DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT}/ RENAME copyright)
\ No newline at end of file diff --git a/ports/qt5imageformats/portfile.cmake b/ports/qt5imageformats/portfile.cmake index 059f8ae6a..612178ff8 100644 --- a/ports/qt5imageformats/portfile.cmake +++ b/ports/qt5imageformats/portfile.cmake @@ -31,43 +31,127 @@ endif() # This fixes issues on machines with default codepages that are not ASCII compatible, such as some CJK encodings set(ENV{_CL_} "/utf-8") +#Store build paths +set(DEBUG_DIR "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg") +set(RELEASE_DIR "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel") + +#Find Python and add it to the path +vcpkg_find_acquire_program(PYTHON3) +get_filename_component(PYTHON3_EXE_PATH ${PYTHON3} DIRECTORY) +set(ENV{PATH} "${PYTHON3_EXE_PATH};$ENV{PATH}") +set(_path "$ENV{PATH}") + +#Configure debug vcpkg_configure_qmake_debug( SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/${SRCDIR_NAME} ) +#First generate the makefiles so we can modify them +vcpkg_build_qmake_debug(TARGETS sub-src-qmake_all) + +#Store debug makefiles path +file(GLOB_RECURSE DEBUG_MAKEFILES ${DEBUG_DIR}/*Makefile*) + +#Fix path to Qt5QmlDevTools +foreach(DEBUG_MAKEFILE ${DEBUG_MAKEFILES}) + vcpkg_replace_string(${DEBUG_MAKEFILE} "vcpkg\\installed\\${TARGET_TRIPLET}\\lib\\Qt5QmlDevToolsd.lib" "vcpkg\\installed\\${TARGET_TRIPLET}\\debug\\lib\\Qt5QmlDevToolsd.lib") +endforeach() + +#Build debug vcpkg_build_qmake_debug() +#Configure release vcpkg_configure_qmake_release( SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/${SRCDIR_NAME} ) +#First generate the makefiles so we can modify them +vcpkg_build_qmake_release(TARGETS sub-src-qmake_all) + +#Store release makefile path +file(GLOB_RECURSE RELEASE_MAKEFILES ${RELEASE_DIR}/*Makefile*) + +#Build release vcpkg_build_qmake_release() -vcpkg_find_acquire_program(PYTHON3) -get_filename_component(PYTHON3_EXE_PATH ${PYTHON3} DIRECTORY) -set(ENV{PATH} "${PYTHON3_EXE_PATH};$ENV{PATH}") -set(_path "$ENV{PATH}") +#Fix the cmake files if they exist +if(EXISTS ${RELEASE_DIR}/lib/cmake) + vcpkg_execute_required_process( + COMMAND ${PYTHON3} ${CMAKE_CURRENT_LIST_DIR}/fixcmake.py + WORKING_DIRECTORY ${RELEASE_DIR}/lib/cmake + LOGNAME fix-cmake + ) +endif() -set(DEBUG_DIR "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg") -set(RELEASE_DIR "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel") +#Set the correct install directory to packages +foreach(RELEASE_MAKEFILE ${RELEASE_MAKEFILES}) + vcpkg_replace_string(${RELEASE_MAKEFILE} "(INSTALL_ROOT)\\vcpkg\\installed\\${TARGET_TRIPLET}" "(INSTALL_ROOT)\\vcpkg\\packages\\${PORT}_${TARGET_TRIPLET}") +endforeach() +foreach(DEBUG_MAKEFILE ${DEBUG_MAKEFILES}) + vcpkg_replace_string(${DEBUG_MAKEFILE} "(INSTALL_ROOT)\\vcpkg\\installed\\${TARGET_TRIPLET}" "(INSTALL_ROOT)\\vcpkg\\packages\\${PORT}_${TARGET_TRIPLET}") +endforeach() -vcpkg_execute_required_process( - COMMAND ${PYTHON3} ${CMAKE_CURRENT_LIST_DIR}/fixcmake.py - WORKING_DIRECTORY ${RELEASE_DIR}/lib/cmake - LOGNAME fix-cmake -) +#Install the module files +vcpkg_build_qmake_debug(TARGETS install) +vcpkg_build_qmake_release(TARGETS install) +#Reset the path to the baseline set(ENV{PATH} "${_path}") -file(INSTALL ${DEBUG_DIR}/plugins DESTINATION ${CURRENT_PACKAGES_DIR}/debug) -file(INSTALL ${DEBUG_DIR}/mkspecs DESTINATION ${CURRENT_PACKAGES_DIR}/share/qt5/debug) - -file(INSTALL ${RELEASE_DIR}/plugins DESTINATION ${CURRENT_PACKAGES_DIR}) -file(INSTALL ${RELEASE_DIR}/mkspecs DESTINATION ${CURRENT_PACKAGES_DIR}/share/qt5) +#Remove extra cmake files +if(EXISTS ${CURRENT_PACKAGES_DIR}/lib/cmake) + file(MAKE_DIRECTORY ${CURRENT_PACKAGES_DIR}/share) + file(RENAME ${CURRENT_PACKAGES_DIR}/lib/cmake ${CURRENT_PACKAGES_DIR}/share/cmake) + #Check if there are any libs left over; if not - delete the directory + file(GLOB RELEASE_LIBS ${CURRENT_PACKAGES_DIR}/lib/*) + if(NOT RELEASE_LIBS) + file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/lib) + endif() +endif() +if(EXISTS ${CURRENT_PACKAGES_DIR}/debug/lib/cmake) + file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/lib/cmake) + #Check if there are any libs left over; if not - delete the directory + file(GLOB DEBUG_LIBS ${CURRENT_PACKAGES_DIR}/lib/*) + if(NOT DEBUG_LIBS) + file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/lib) + endif() +endif() -file(INSTALL ${RELEASE_DIR}/lib/cmake DESTINATION ${CURRENT_PACKAGES_DIR}/share) +#Move release and debug dlls to the correct directory +file(GLOB RELEASE_DLLS ${CURRENT_PACKAGES_DIR}/tools/qt5/*.dll) +file(GLOB DEBUG_DLLS ${CURRENT_PACKAGES_DIR}/debug/tools/qt5/*.dll) +if (RELEASE_DLLS) + file(INSTALL ${RELEASE_DLLS} DESTINATION ${CURRENT_PACKAGES_DIR}/bin) + file(REMOVE ${RELEASE_DLLS}) + #Check if there are any binaries left over; if not - delete the directory + file(GLOB RELEASE_BINS ${CURRENT_PACKAGES_DIR}/tools/qt5/*) + if(NOT RELEASE_BINS) + file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/tools) + endif() +endif() +if(DEBUG_DLLS) + file(INSTALL ${DEBUG_DLLS} DESTINATION ${CURRENT_PACKAGES_DIR}/debug/bin) + file(REMOVE ${DEBUG_DLLS}) + #Check if there are any binaries left over; if not - delete the directory + file(GLOB DEBUG_BINS ${CURRENT_PACKAGES_DIR}/debug/tools/qt5/*) + if(NOT DEBUG_BINS) + file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/tools) + endif() +endif() -#Create an empty include file so that vcpkg doesn't complain -file(WRITE ${CURRENT_PACKAGES_DIR}/include/.empty_qt5imageformats "") +#If there are no include files in the module - create an empty one to stop vcpkg from complaining +if(NOT EXISTS ${CURRENT_PACKAGES_DIR}/include) + file(WRITE ${CURRENT_PACKAGES_DIR}/include/.empty_${PORT} "") +endif() -file(INSTALL ${SOURCE_PATH}/LICENSE.LGPLv3 DESTINATION ${CURRENT_PACKAGES_DIR}/share/qt5imageformats RENAME copyright)
\ No newline at end of file +#Find the relevant license file and install it +if(EXISTS "${SOURCE_PATH}/LICENSE.LGPLv3") + set(LICENSE_PATH "${SOURCE_PATH}/LICENSE.LGPLv3") +elseif(EXISTS "${SOURCE_PATH}/LICENSE.LGPL3") + set(LICENSE_PATH "${SOURCE_PATH}/LICENSE.LGPL3") +elseif(EXISTS "${SOURCE_PATH}/LICENSE.GPLv3") + set(LICENSE_PATH "${SOURCE_PATH}/LICENSE.GPLv3") +elseif(EXISTS "${SOURCE_PATH}/LICENSE.GPL3") + set(LICENSE_PATH "${SOURCE_PATH}/LICENSE.GPL3") +endif() +file(INSTALL ${LICENSE_PATH} DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT}/ RENAME copyright)
\ No newline at end of file diff --git a/ports/qt5multimedia/portfile.cmake b/ports/qt5multimedia/portfile.cmake index d326bb783..5eb7c4ff1 100644 --- a/ports/qt5multimedia/portfile.cmake +++ b/ports/qt5multimedia/portfile.cmake @@ -31,51 +31,127 @@ endif() # This fixes issues on machines with default codepages that are not ASCII compatible, such as some CJK encodings set(ENV{_CL_} "/utf-8") +#Store build paths +set(DEBUG_DIR "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg") +set(RELEASE_DIR "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel") + +#Find Python and add it to the path +vcpkg_find_acquire_program(PYTHON3) +get_filename_component(PYTHON3_EXE_PATH ${PYTHON3} DIRECTORY) +set(ENV{PATH} "${PYTHON3_EXE_PATH};$ENV{PATH}") +set(_path "$ENV{PATH}") + +#Configure debug vcpkg_configure_qmake_debug( SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/${SRCDIR_NAME} ) +#First generate the makefiles so we can modify them +vcpkg_build_qmake_debug(TARGETS sub-src-qmake_all) + +#Store debug makefiles path +file(GLOB_RECURSE DEBUG_MAKEFILES ${DEBUG_DIR}/*Makefile*) + +#Fix path to Qt5QmlDevTools +foreach(DEBUG_MAKEFILE ${DEBUG_MAKEFILES}) + vcpkg_replace_string(${DEBUG_MAKEFILE} "vcpkg\\installed\\${TARGET_TRIPLET}\\lib\\Qt5QmlDevToolsd.lib" "vcpkg\\installed\\${TARGET_TRIPLET}\\debug\\lib\\Qt5QmlDevToolsd.lib") +endforeach() + +#Build debug vcpkg_build_qmake_debug() +#Configure release vcpkg_configure_qmake_release( SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/${SRCDIR_NAME} ) +#First generate the makefiles so we can modify them +vcpkg_build_qmake_release(TARGETS sub-src-qmake_all) + +#Store release makefile path +file(GLOB_RECURSE RELEASE_MAKEFILES ${RELEASE_DIR}/*Makefile*) + +#Build release vcpkg_build_qmake_release() -vcpkg_find_acquire_program(PYTHON3) -get_filename_component(PYTHON3_EXE_PATH ${PYTHON3} DIRECTORY) -set(ENV{PATH} "${PYTHON3_EXE_PATH};$ENV{PATH}") -set(_path "$ENV{PATH}") +#Fix the cmake files if they exist +if(EXISTS ${RELEASE_DIR}/lib/cmake) + vcpkg_execute_required_process( + COMMAND ${PYTHON3} ${CMAKE_CURRENT_LIST_DIR}/fixcmake.py + WORKING_DIRECTORY ${RELEASE_DIR}/lib/cmake + LOGNAME fix-cmake + ) +endif() -set(DEBUG_DIR "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg") -set(RELEASE_DIR "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel") +#Set the correct install directory to packages +foreach(RELEASE_MAKEFILE ${RELEASE_MAKEFILES}) + vcpkg_replace_string(${RELEASE_MAKEFILE} "(INSTALL_ROOT)\\vcpkg\\installed\\${TARGET_TRIPLET}" "(INSTALL_ROOT)\\vcpkg\\packages\\${PORT}_${TARGET_TRIPLET}") +endforeach() +foreach(DEBUG_MAKEFILE ${DEBUG_MAKEFILES}) + vcpkg_replace_string(${DEBUG_MAKEFILE} "(INSTALL_ROOT)\\vcpkg\\installed\\${TARGET_TRIPLET}" "(INSTALL_ROOT)\\vcpkg\\packages\\${PORT}_${TARGET_TRIPLET}") +endforeach() -vcpkg_execute_required_process( - COMMAND ${PYTHON3} ${CMAKE_CURRENT_LIST_DIR}/fixcmake.py - WORKING_DIRECTORY ${RELEASE_DIR}/lib/cmake - LOGNAME fix-cmake -) +#Install the module files +vcpkg_build_qmake_debug(TARGETS install) +vcpkg_build_qmake_release(TARGETS install) +#Reset the path to the baseline set(ENV{PATH} "${_path}") -file(INSTALL ${DEBUG_DIR}/bin DESTINATION ${CURRENT_PACKAGES_DIR}/debug) -file(INSTALL ${DEBUG_DIR}/lib DESTINATION ${CURRENT_PACKAGES_DIR}/debug) -file(INSTALL ${DEBUG_DIR}/plugins DESTINATION ${CURRENT_PACKAGES_DIR}/debug) -file(INSTALL ${DEBUG_DIR}/include DESTINATION ${CURRENT_PACKAGES_DIR}/share/qt5/debug) -file(INSTALL ${DEBUG_DIR}/mkspecs DESTINATION ${CURRENT_PACKAGES_DIR}/share/qt5/debug) - -file(INSTALL ${RELEASE_DIR}/bin DESTINATION ${CURRENT_PACKAGES_DIR}) -file(INSTALL ${RELEASE_DIR}/lib DESTINATION ${CURRENT_PACKAGES_DIR}) -file(INSTALL ${RELEASE_DIR}/plugins DESTINATION ${CURRENT_PACKAGES_DIR}) -file(INSTALL ${RELEASE_DIR}/include DESTINATION ${CURRENT_PACKAGES_DIR}) -file(INSTALL ${RELEASE_DIR}/mkspecs DESTINATION ${CURRENT_PACKAGES_DIR}/share/qt5) +#Remove extra cmake files +if(EXISTS ${CURRENT_PACKAGES_DIR}/lib/cmake) + file(MAKE_DIRECTORY ${CURRENT_PACKAGES_DIR}/share) + file(RENAME ${CURRENT_PACKAGES_DIR}/lib/cmake ${CURRENT_PACKAGES_DIR}/share/cmake) + #Check if there are any libs left over; if not - delete the directory + file(GLOB RELEASE_LIBS ${CURRENT_PACKAGES_DIR}/lib/*) + if(NOT RELEASE_LIBS) + file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/lib) + endif() +endif() +if(EXISTS ${CURRENT_PACKAGES_DIR}/debug/lib/cmake) + file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/lib/cmake) + #Check if there are any libs left over; if not - delete the directory + file(GLOB DEBUG_LIBS ${CURRENT_PACKAGES_DIR}/lib/*) + if(NOT DEBUG_LIBS) + file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/lib) + endif() +endif() -file(RENAME ${CURRENT_PACKAGES_DIR}/lib/cmake ${CURRENT_PACKAGES_DIR}/share/cmake) -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/lib/cmake) +#Move release and debug dlls to the correct directory +file(GLOB RELEASE_DLLS ${CURRENT_PACKAGES_DIR}/tools/qt5/*.dll) +file(GLOB DEBUG_DLLS ${CURRENT_PACKAGES_DIR}/debug/tools/qt5/*.dll) +if (RELEASE_DLLS) + file(INSTALL ${RELEASE_DLLS} DESTINATION ${CURRENT_PACKAGES_DIR}/bin) + file(REMOVE ${RELEASE_DLLS}) + #Check if there are any binaries left over; if not - delete the directory + file(GLOB RELEASE_BINS ${CURRENT_PACKAGES_DIR}/tools/qt5/*) + if(NOT RELEASE_BINS) + file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/tools) + endif() +endif() +if(DEBUG_DLLS) + file(INSTALL ${DEBUG_DLLS} DESTINATION ${CURRENT_PACKAGES_DIR}/debug/bin) + file(REMOVE ${DEBUG_DLLS}) + #Check if there are any binaries left over; if not - delete the directory + file(GLOB DEBUG_BINS ${CURRENT_PACKAGES_DIR}/debug/tools/qt5/*) + if(NOT DEBUG_BINS) + file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/tools) + endif() +endif() -file(GLOB RELEASE_DLLS "${CURRENT_PACKAGES_DIR}/lib/*.dll") -file(GLOB DEBUG_DLLS "${CURRENT_PACKAGES_DIR}/debug/lib/*.dll") -file(REMOVE ${RELEASE_DLLS} ${DEBUG_DLLS}) +#If there are no include files in the module - create an empty one to stop vcpkg from complaining +if(NOT EXISTS ${CURRENT_PACKAGES_DIR}/include) + file(WRITE ${CURRENT_PACKAGES_DIR}/include/.empty_${PORT} "") +endif() -file(INSTALL ${SOURCE_PATH}/LICENSE.LGPL3 DESTINATION ${CURRENT_PACKAGES_DIR}/share/qt5multimedia RENAME copyright)
\ No newline at end of file +#Find the relevant license file and install it +if(EXISTS "${SOURCE_PATH}/LICENSE.LGPLv3") + set(LICENSE_PATH "${SOURCE_PATH}/LICENSE.LGPLv3") +elseif(EXISTS "${SOURCE_PATH}/LICENSE.LGPL3") + set(LICENSE_PATH "${SOURCE_PATH}/LICENSE.LGPL3") +elseif(EXISTS "${SOURCE_PATH}/LICENSE.GPLv3") + set(LICENSE_PATH "${SOURCE_PATH}/LICENSE.GPLv3") +elseif(EXISTS "${SOURCE_PATH}/LICENSE.GPL3") + set(LICENSE_PATH "${SOURCE_PATH}/LICENSE.GPL3") +endif() +file(INSTALL ${LICENSE_PATH} DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT}/ RENAME copyright)
\ No newline at end of file diff --git a/ports/qt5scxml/portfile.cmake b/ports/qt5scxml/portfile.cmake index db2f385af..03de826cf 100644 --- a/ports/qt5scxml/portfile.cmake +++ b/ports/qt5scxml/portfile.cmake @@ -31,56 +31,127 @@ endif() # This fixes issues on machines with default codepages that are not ASCII compatible, such as some CJK encodings set(ENV{_CL_} "/utf-8") +#Store build paths +set(DEBUG_DIR "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg") +set(RELEASE_DIR "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel") + +#Find Python and add it to the path +vcpkg_find_acquire_program(PYTHON3) +get_filename_component(PYTHON3_EXE_PATH ${PYTHON3} DIRECTORY) +set(ENV{PATH} "${PYTHON3_EXE_PATH};$ENV{PATH}") +set(_path "$ENV{PATH}") + +#Configure debug vcpkg_configure_qmake_debug( SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/${SRCDIR_NAME} ) +#First generate the makefiles so we can modify them +vcpkg_build_qmake_debug(TARGETS sub-src-qmake_all) + +#Store debug makefiles path +file(GLOB_RECURSE DEBUG_MAKEFILES ${DEBUG_DIR}/*Makefile*) + +#Fix path to Qt5QmlDevTools +foreach(DEBUG_MAKEFILE ${DEBUG_MAKEFILES}) + vcpkg_replace_string(${DEBUG_MAKEFILE} "vcpkg\\installed\\${TARGET_TRIPLET}\\lib\\Qt5QmlDevToolsd.lib" "vcpkg\\installed\\${TARGET_TRIPLET}\\debug\\lib\\Qt5QmlDevToolsd.lib") +endforeach() + +#Build debug vcpkg_build_qmake_debug() +#Configure release vcpkg_configure_qmake_release( SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/${SRCDIR_NAME} ) -vcpkg_build_qmake_release() +#First generate the makefiles so we can modify them +vcpkg_build_qmake_release(TARGETS sub-src-qmake_all) -vcpkg_find_acquire_program(PYTHON3) -get_filename_component(PYTHON3_EXE_PATH ${PYTHON3} DIRECTORY) -set(ENV{PATH} "${PYTHON3_EXE_PATH};$ENV{PATH}") -set(_path "$ENV{PATH}") +#Store release makefile path +file(GLOB_RECURSE RELEASE_MAKEFILES ${RELEASE_DIR}/*Makefile*) -set(DEBUG_DIR "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg") -set(RELEASE_DIR "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel") +#Build release +vcpkg_build_qmake_release() -vcpkg_execute_required_process( - COMMAND ${PYTHON3} ${CMAKE_CURRENT_LIST_DIR}/fixcmake.py - WORKING_DIRECTORY ${RELEASE_DIR}/lib/cmake - LOGNAME fix-cmake -) +#Fix the cmake files if they exist +if(EXISTS ${RELEASE_DIR}/lib/cmake) + vcpkg_execute_required_process( + COMMAND ${PYTHON3} ${CMAKE_CURRENT_LIST_DIR}/fixcmake.py + WORKING_DIRECTORY ${RELEASE_DIR}/lib/cmake + LOGNAME fix-cmake + ) +endif() -set(ENV{PATH} "${_path}") +#Set the correct install directory to packages +foreach(RELEASE_MAKEFILE ${RELEASE_MAKEFILES}) + vcpkg_replace_string(${RELEASE_MAKEFILE} "(INSTALL_ROOT)\\vcpkg\\installed\\${TARGET_TRIPLET}" "(INSTALL_ROOT)\\vcpkg\\packages\\${PORT}_${TARGET_TRIPLET}") +endforeach() +foreach(DEBUG_MAKEFILE ${DEBUG_MAKEFILES}) + vcpkg_replace_string(${DEBUG_MAKEFILE} "(INSTALL_ROOT)\\vcpkg\\installed\\${TARGET_TRIPLET}" "(INSTALL_ROOT)\\vcpkg\\packages\\${PORT}_${TARGET_TRIPLET}") +endforeach() -file(GLOB BINARY_TOOLS "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel/bin/*.exe") -file(INSTALL ${BINARY_TOOLS} DESTINATION ${CURRENT_PACKAGES_DIR}/tools/qt5) -file(REMOVE ${BINARY_TOOLS}) -file(GLOB BINARY_TOOLS "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg/bin/*.exe") -file(INSTALL ${BINARY_TOOLS} DESTINATION ${CURRENT_PACKAGES_DIR}/debug/tools/qt5) -file(REMOVE ${BINARY_TOOLS}) +#Install the module files +vcpkg_build_qmake_debug(TARGETS install) +vcpkg_build_qmake_release(TARGETS install) -file(INSTALL ${DEBUG_DIR}/bin DESTINATION ${CURRENT_PACKAGES_DIR}/debug) -file(INSTALL ${DEBUG_DIR}/lib DESTINATION ${CURRENT_PACKAGES_DIR}/debug) -file(INSTALL ${DEBUG_DIR}/include DESTINATION ${CURRENT_PACKAGES_DIR}/share/qt5/debug) -file(INSTALL ${DEBUG_DIR}/mkspecs DESTINATION ${CURRENT_PACKAGES_DIR}/share/qt5/debug) +#Reset the path to the baseline +set(ENV{PATH} "${_path}") -file(INSTALL ${RELEASE_DIR}/bin DESTINATION ${CURRENT_PACKAGES_DIR}) -file(INSTALL ${RELEASE_DIR}/lib DESTINATION ${CURRENT_PACKAGES_DIR}) -file(INSTALL ${RELEASE_DIR}/include DESTINATION ${CURRENT_PACKAGES_DIR}) -file(INSTALL ${RELEASE_DIR}/mkspecs DESTINATION ${CURRENT_PACKAGES_DIR}/share/qt5) +#Remove extra cmake files +if(EXISTS ${CURRENT_PACKAGES_DIR}/lib/cmake) + file(MAKE_DIRECTORY ${CURRENT_PACKAGES_DIR}/share) + file(RENAME ${CURRENT_PACKAGES_DIR}/lib/cmake ${CURRENT_PACKAGES_DIR}/share/cmake) + #Check if there are any libs left over; if not - delete the directory + file(GLOB RELEASE_LIBS ${CURRENT_PACKAGES_DIR}/lib/*) + if(NOT RELEASE_LIBS) + file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/lib) + endif() +endif() +if(EXISTS ${CURRENT_PACKAGES_DIR}/debug/lib/cmake) + file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/lib/cmake) + #Check if there are any libs left over; if not - delete the directory + file(GLOB DEBUG_LIBS ${CURRENT_PACKAGES_DIR}/lib/*) + if(NOT DEBUG_LIBS) + file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/lib) + endif() +endif() -file(RENAME ${CURRENT_PACKAGES_DIR}/lib/cmake ${CURRENT_PACKAGES_DIR}/share/cmake) -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/lib/cmake) +#Move release and debug dlls to the correct directory +file(GLOB RELEASE_DLLS ${CURRENT_PACKAGES_DIR}/tools/qt5/*.dll) +file(GLOB DEBUG_DLLS ${CURRENT_PACKAGES_DIR}/debug/tools/qt5/*.dll) +if (RELEASE_DLLS) + file(INSTALL ${RELEASE_DLLS} DESTINATION ${CURRENT_PACKAGES_DIR}/bin) + file(REMOVE ${RELEASE_DLLS}) + #Check if there are any binaries left over; if not - delete the directory + file(GLOB RELEASE_BINS ${CURRENT_PACKAGES_DIR}/tools/qt5/*) + if(NOT RELEASE_BINS) + file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/tools) + endif() +endif() +if(DEBUG_DLLS) + file(INSTALL ${DEBUG_DLLS} DESTINATION ${CURRENT_PACKAGES_DIR}/debug/bin) + file(REMOVE ${DEBUG_DLLS}) + #Check if there are any binaries left over; if not - delete the directory + file(GLOB DEBUG_BINS ${CURRENT_PACKAGES_DIR}/debug/tools/qt5/*) + if(NOT DEBUG_BINS) + file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/tools) + endif() +endif() -file(GLOB RELEASE_DLLS "${CURRENT_PACKAGES_DIR}/lib/*.dll") -file(GLOB DEBUG_DLLS "${CURRENT_PACKAGES_DIR}/debug/lib/*.dll") -file(REMOVE ${RELEASE_DLLS} ${DEBUG_DLLS}) +#If there are no include files in the module - create an empty one to stop vcpkg from complaining +if(NOT EXISTS ${CURRENT_PACKAGES_DIR}/include) + file(WRITE ${CURRENT_PACKAGES_DIR}/include/.empty_${PORT} "") +endif() -file(INSTALL ${SOURCE_PATH}/LICENSE.LGPL3 DESTINATION ${CURRENT_PACKAGES_DIR}/share/qt5scxml RENAME copyright)
\ No newline at end of file +#Find the relevant license file and install it +if(EXISTS "${SOURCE_PATH}/LICENSE.LGPLv3") + set(LICENSE_PATH "${SOURCE_PATH}/LICENSE.LGPLv3") +elseif(EXISTS "${SOURCE_PATH}/LICENSE.LGPL3") + set(LICENSE_PATH "${SOURCE_PATH}/LICENSE.LGPL3") +elseif(EXISTS "${SOURCE_PATH}/LICENSE.GPLv3") + set(LICENSE_PATH "${SOURCE_PATH}/LICENSE.GPLv3") +elseif(EXISTS "${SOURCE_PATH}/LICENSE.GPL3") + set(LICENSE_PATH "${SOURCE_PATH}/LICENSE.GPL3") +endif() +file(INSTALL ${LICENSE_PATH} DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT}/ RENAME copyright)
\ No newline at end of file diff --git a/ports/qt5serial/portfile.cmake b/ports/qt5serial/portfile.cmake index edcd4b20a..1d47b5d0a 100644 --- a/ports/qt5serial/portfile.cmake +++ b/ports/qt5serial/portfile.cmake @@ -31,49 +31,127 @@ endif() # This fixes issues on machines with default codepages that are not ASCII compatible, such as some CJK encodings set(ENV{_CL_} "/utf-8") +#Store build paths +set(DEBUG_DIR "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg") +set(RELEASE_DIR "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel") + +#Find Python and add it to the path +vcpkg_find_acquire_program(PYTHON3) +get_filename_component(PYTHON3_EXE_PATH ${PYTHON3} DIRECTORY) +set(ENV{PATH} "${PYTHON3_EXE_PATH};$ENV{PATH}") +set(_path "$ENV{PATH}") + +#Configure debug vcpkg_configure_qmake_debug( SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/${SRCDIR_NAME} ) +#First generate the makefiles so we can modify them +vcpkg_build_qmake_debug(TARGETS sub-src-qmake_all) + +#Store debug makefiles path +file(GLOB_RECURSE DEBUG_MAKEFILES ${DEBUG_DIR}/*Makefile*) + +#Fix path to Qt5QmlDevTools +foreach(DEBUG_MAKEFILE ${DEBUG_MAKEFILES}) + vcpkg_replace_string(${DEBUG_MAKEFILE} "vcpkg\\installed\\${TARGET_TRIPLET}\\lib\\Qt5QmlDevToolsd.lib" "vcpkg\\installed\\${TARGET_TRIPLET}\\debug\\lib\\Qt5QmlDevToolsd.lib") +endforeach() + +#Build debug vcpkg_build_qmake_debug() +#Configure release vcpkg_configure_qmake_release( SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/${SRCDIR_NAME} ) +#First generate the makefiles so we can modify them +vcpkg_build_qmake_release(TARGETS sub-src-qmake_all) + +#Store release makefile path +file(GLOB_RECURSE RELEASE_MAKEFILES ${RELEASE_DIR}/*Makefile*) + +#Build release vcpkg_build_qmake_release() -vcpkg_find_acquire_program(PYTHON3) -get_filename_component(PYTHON3_EXE_PATH ${PYTHON3} DIRECTORY) -set(ENV{PATH} "${PYTHON3_EXE_PATH};$ENV{PATH}") -set(_path "$ENV{PATH}") +#Fix the cmake files if they exist +if(EXISTS ${RELEASE_DIR}/lib/cmake) + vcpkg_execute_required_process( + COMMAND ${PYTHON3} ${CMAKE_CURRENT_LIST_DIR}/fixcmake.py + WORKING_DIRECTORY ${RELEASE_DIR}/lib/cmake + LOGNAME fix-cmake + ) +endif() -set(DEBUG_DIR "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg") -set(RELEASE_DIR "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel") +#Set the correct install directory to packages +foreach(RELEASE_MAKEFILE ${RELEASE_MAKEFILES}) + vcpkg_replace_string(${RELEASE_MAKEFILE} "(INSTALL_ROOT)\\vcpkg\\installed\\${TARGET_TRIPLET}" "(INSTALL_ROOT)\\vcpkg\\packages\\${PORT}_${TARGET_TRIPLET}") +endforeach() +foreach(DEBUG_MAKEFILE ${DEBUG_MAKEFILES}) + vcpkg_replace_string(${DEBUG_MAKEFILE} "(INSTALL_ROOT)\\vcpkg\\installed\\${TARGET_TRIPLET}" "(INSTALL_ROOT)\\vcpkg\\packages\\${PORT}_${TARGET_TRIPLET}") +endforeach() -vcpkg_execute_required_process( - COMMAND ${PYTHON3} ${CMAKE_CURRENT_LIST_DIR}/fixcmake.py - WORKING_DIRECTORY ${RELEASE_DIR}/lib/cmake - LOGNAME fix-cmake -) +#Install the module files +vcpkg_build_qmake_debug(TARGETS install) +vcpkg_build_qmake_release(TARGETS install) +#Reset the path to the baseline set(ENV{PATH} "${_path}") -file(INSTALL ${DEBUG_DIR}/bin DESTINATION ${CURRENT_PACKAGES_DIR}/debug) -file(INSTALL ${DEBUG_DIR}/lib DESTINATION ${CURRENT_PACKAGES_DIR}/debug) -file(INSTALL ${DEBUG_DIR}/include DESTINATION ${CURRENT_PACKAGES_DIR}/share/qt5/debug) -file(INSTALL ${DEBUG_DIR}/mkspecs DESTINATION ${CURRENT_PACKAGES_DIR}/share/qt5/debug) - -file(INSTALL ${RELEASE_DIR}/bin DESTINATION ${CURRENT_PACKAGES_DIR}) -file(INSTALL ${RELEASE_DIR}/lib DESTINATION ${CURRENT_PACKAGES_DIR}) -file(INSTALL ${RELEASE_DIR}/include DESTINATION ${CURRENT_PACKAGES_DIR}) -file(INSTALL ${RELEASE_DIR}/mkspecs DESTINATION ${CURRENT_PACKAGES_DIR}/share/qt5) +#Remove extra cmake files +if(EXISTS ${CURRENT_PACKAGES_DIR}/lib/cmake) + file(MAKE_DIRECTORY ${CURRENT_PACKAGES_DIR}/share) + file(RENAME ${CURRENT_PACKAGES_DIR}/lib/cmake ${CURRENT_PACKAGES_DIR}/share/cmake) + #Check if there are any libs left over; if not - delete the directory + file(GLOB RELEASE_LIBS ${CURRENT_PACKAGES_DIR}/lib/*) + if(NOT RELEASE_LIBS) + file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/lib) + endif() +endif() +if(EXISTS ${CURRENT_PACKAGES_DIR}/debug/lib/cmake) + file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/lib/cmake) + #Check if there are any libs left over; if not - delete the directory + file(GLOB DEBUG_LIBS ${CURRENT_PACKAGES_DIR}/lib/*) + if(NOT DEBUG_LIBS) + file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/lib) + endif() +endif() -file(RENAME ${CURRENT_PACKAGES_DIR}/lib/cmake ${CURRENT_PACKAGES_DIR}/share/cmake) -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/lib/cmake) +#Move release and debug dlls to the correct directory +file(GLOB RELEASE_DLLS ${CURRENT_PACKAGES_DIR}/tools/qt5/*.dll) +file(GLOB DEBUG_DLLS ${CURRENT_PACKAGES_DIR}/debug/tools/qt5/*.dll) +if (RELEASE_DLLS) + file(INSTALL ${RELEASE_DLLS} DESTINATION ${CURRENT_PACKAGES_DIR}/bin) + file(REMOVE ${RELEASE_DLLS}) + #Check if there are any binaries left over; if not - delete the directory + file(GLOB RELEASE_BINS ${CURRENT_PACKAGES_DIR}/tools/qt5/*) + if(NOT RELEASE_BINS) + file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/tools) + endif() +endif() +if(DEBUG_DLLS) + file(INSTALL ${DEBUG_DLLS} DESTINATION ${CURRENT_PACKAGES_DIR}/debug/bin) + file(REMOVE ${DEBUG_DLLS}) + #Check if there are any binaries left over; if not - delete the directory + file(GLOB DEBUG_BINS ${CURRENT_PACKAGES_DIR}/debug/tools/qt5/*) + if(NOT DEBUG_BINS) + file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/tools) + endif() +endif() -file(GLOB RELEASE_DLLS "${CURRENT_PACKAGES_DIR}/lib/*.dll") -file(GLOB DEBUG_DLLS "${CURRENT_PACKAGES_DIR}/debug/lib/*.dll") -file(REMOVE ${RELEASE_DLLS} ${DEBUG_DLLS}) +#If there are no include files in the module - create an empty one to stop vcpkg from complaining +if(NOT EXISTS ${CURRENT_PACKAGES_DIR}/include) + file(WRITE ${CURRENT_PACKAGES_DIR}/include/.empty_${PORT} "") +endif() -file(INSTALL ${SOURCE_PATH}/LICENSE.LGPLv3 DESTINATION ${CURRENT_PACKAGES_DIR}/share/qt5serial RENAME copyright)
\ No newline at end of file +#Find the relevant license file and install it +if(EXISTS "${SOURCE_PATH}/LICENSE.LGPLv3") + set(LICENSE_PATH "${SOURCE_PATH}/LICENSE.LGPLv3") +elseif(EXISTS "${SOURCE_PATH}/LICENSE.LGPL3") + set(LICENSE_PATH "${SOURCE_PATH}/LICENSE.LGPL3") +elseif(EXISTS "${SOURCE_PATH}/LICENSE.GPLv3") + set(LICENSE_PATH "${SOURCE_PATH}/LICENSE.GPLv3") +elseif(EXISTS "${SOURCE_PATH}/LICENSE.GPL3") + set(LICENSE_PATH "${SOURCE_PATH}/LICENSE.GPL3") +endif() +file(INSTALL ${LICENSE_PATH} DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT}/ RENAME copyright)
\ No newline at end of file diff --git a/ports/qt5speech/portfile.cmake b/ports/qt5speech/portfile.cmake index 39b52ff58..fa80da81d 100644 --- a/ports/qt5speech/portfile.cmake +++ b/ports/qt5speech/portfile.cmake @@ -31,51 +31,127 @@ endif() # This fixes issues on machines with default codepages that are not ASCII compatible, such as some CJK encodings set(ENV{_CL_} "/utf-8") +#Store build paths +set(DEBUG_DIR "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg") +set(RELEASE_DIR "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel") + +#Find Python and add it to the path +vcpkg_find_acquire_program(PYTHON3) +get_filename_component(PYTHON3_EXE_PATH ${PYTHON3} DIRECTORY) +set(ENV{PATH} "${PYTHON3_EXE_PATH};$ENV{PATH}") +set(_path "$ENV{PATH}") + +#Configure debug vcpkg_configure_qmake_debug( SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/${SRCDIR_NAME} ) +#First generate the makefiles so we can modify them +vcpkg_build_qmake_debug(TARGETS sub-src-qmake_all) + +#Store debug makefiles path +file(GLOB_RECURSE DEBUG_MAKEFILES ${DEBUG_DIR}/*Makefile*) + +#Fix path to Qt5QmlDevTools +foreach(DEBUG_MAKEFILE ${DEBUG_MAKEFILES}) + vcpkg_replace_string(${DEBUG_MAKEFILE} "vcpkg\\installed\\${TARGET_TRIPLET}\\lib\\Qt5QmlDevToolsd.lib" "vcpkg\\installed\\${TARGET_TRIPLET}\\debug\\lib\\Qt5QmlDevToolsd.lib") +endforeach() + +#Build debug vcpkg_build_qmake_debug() +#Configure release vcpkg_configure_qmake_release( SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/${SRCDIR_NAME} ) +#First generate the makefiles so we can modify them +vcpkg_build_qmake_release(TARGETS sub-src-qmake_all) + +#Store release makefile path +file(GLOB_RECURSE RELEASE_MAKEFILES ${RELEASE_DIR}/*Makefile*) + +#Build release vcpkg_build_qmake_release() -vcpkg_find_acquire_program(PYTHON3) -get_filename_component(PYTHON3_EXE_PATH ${PYTHON3} DIRECTORY) -set(ENV{PATH} "${PYTHON3_EXE_PATH};$ENV{PATH}") -set(_path "$ENV{PATH}") +#Fix the cmake files if they exist +if(EXISTS ${RELEASE_DIR}/lib/cmake) + vcpkg_execute_required_process( + COMMAND ${PYTHON3} ${CMAKE_CURRENT_LIST_DIR}/fixcmake.py + WORKING_DIRECTORY ${RELEASE_DIR}/lib/cmake + LOGNAME fix-cmake + ) +endif() -set(DEBUG_DIR "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg") -set(RELEASE_DIR "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel") +#Set the correct install directory to packages +foreach(RELEASE_MAKEFILE ${RELEASE_MAKEFILES}) + vcpkg_replace_string(${RELEASE_MAKEFILE} "(INSTALL_ROOT)\\vcpkg\\installed\\${TARGET_TRIPLET}" "(INSTALL_ROOT)\\vcpkg\\packages\\${PORT}_${TARGET_TRIPLET}") +endforeach() +foreach(DEBUG_MAKEFILE ${DEBUG_MAKEFILES}) + vcpkg_replace_string(${DEBUG_MAKEFILE} "(INSTALL_ROOT)\\vcpkg\\installed\\${TARGET_TRIPLET}" "(INSTALL_ROOT)\\vcpkg\\packages\\${PORT}_${TARGET_TRIPLET}") +endforeach() -vcpkg_execute_required_process( - COMMAND ${PYTHON3} ${CMAKE_CURRENT_LIST_DIR}/fixcmake.py - WORKING_DIRECTORY ${RELEASE_DIR}/lib/cmake - LOGNAME fix-cmake -) +#Install the module files +vcpkg_build_qmake_debug(TARGETS install) +vcpkg_build_qmake_release(TARGETS install) +#Reset the path to the baseline set(ENV{PATH} "${_path}") -file(INSTALL ${DEBUG_DIR}/bin DESTINATION ${CURRENT_PACKAGES_DIR}/debug) -file(INSTALL ${DEBUG_DIR}/lib DESTINATION ${CURRENT_PACKAGES_DIR}/debug) -file(INSTALL ${DEBUG_DIR}/plugins DESTINATION ${CURRENT_PACKAGES_DIR}/debug) -file(INSTALL ${DEBUG_DIR}/include DESTINATION ${CURRENT_PACKAGES_DIR}/share/qt5/debug) -file(INSTALL ${DEBUG_DIR}/mkspecs DESTINATION ${CURRENT_PACKAGES_DIR}/share/qt5/debug) - -file(INSTALL ${RELEASE_DIR}/bin DESTINATION ${CURRENT_PACKAGES_DIR}) -file(INSTALL ${RELEASE_DIR}/lib DESTINATION ${CURRENT_PACKAGES_DIR}) -file(INSTALL ${RELEASE_DIR}/plugins DESTINATION ${CURRENT_PACKAGES_DIR}) -file(INSTALL ${RELEASE_DIR}/include DESTINATION ${CURRENT_PACKAGES_DIR}) -file(INSTALL ${RELEASE_DIR}/mkspecs DESTINATION ${CURRENT_PACKAGES_DIR}/share/qt5) +#Remove extra cmake files +if(EXISTS ${CURRENT_PACKAGES_DIR}/lib/cmake) + file(MAKE_DIRECTORY ${CURRENT_PACKAGES_DIR}/share) + file(RENAME ${CURRENT_PACKAGES_DIR}/lib/cmake ${CURRENT_PACKAGES_DIR}/share/cmake) + #Check if there are any libs left over; if not - delete the directory + file(GLOB RELEASE_LIBS ${CURRENT_PACKAGES_DIR}/lib/*) + if(NOT RELEASE_LIBS) + file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/lib) + endif() +endif() +if(EXISTS ${CURRENT_PACKAGES_DIR}/debug/lib/cmake) + file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/lib/cmake) + #Check if there are any libs left over; if not - delete the directory + file(GLOB DEBUG_LIBS ${CURRENT_PACKAGES_DIR}/lib/*) + if(NOT DEBUG_LIBS) + file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/lib) + endif() +endif() -file(RENAME ${CURRENT_PACKAGES_DIR}/lib/cmake ${CURRENT_PACKAGES_DIR}/share/cmake) -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/lib/cmake) +#Move release and debug dlls to the correct directory +file(GLOB RELEASE_DLLS ${CURRENT_PACKAGES_DIR}/tools/qt5/*.dll) +file(GLOB DEBUG_DLLS ${CURRENT_PACKAGES_DIR}/debug/tools/qt5/*.dll) +if (RELEASE_DLLS) + file(INSTALL ${RELEASE_DLLS} DESTINATION ${CURRENT_PACKAGES_DIR}/bin) + file(REMOVE ${RELEASE_DLLS}) + #Check if there are any binaries left over; if not - delete the directory + file(GLOB RELEASE_BINS ${CURRENT_PACKAGES_DIR}/tools/qt5/*) + if(NOT RELEASE_BINS) + file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/tools) + endif() +endif() +if(DEBUG_DLLS) + file(INSTALL ${DEBUG_DLLS} DESTINATION ${CURRENT_PACKAGES_DIR}/debug/bin) + file(REMOVE ${DEBUG_DLLS}) + #Check if there are any binaries left over; if not - delete the directory + file(GLOB DEBUG_BINS ${CURRENT_PACKAGES_DIR}/debug/tools/qt5/*) + if(NOT DEBUG_BINS) + file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/tools) + endif() +endif() -file(GLOB RELEASE_DLLS "${CURRENT_PACKAGES_DIR}/lib/*.dll") -file(GLOB DEBUG_DLLS "${CURRENT_PACKAGES_DIR}/debug/lib/*.dll") -file(REMOVE ${RELEASE_DLLS} ${DEBUG_DLLS}) +#If there are no include files in the module - create an empty one to stop vcpkg from complaining +if(NOT EXISTS ${CURRENT_PACKAGES_DIR}/include) + file(WRITE ${CURRENT_PACKAGES_DIR}/include/.empty_${PORT} "") +endif() -file(INSTALL ${SOURCE_PATH}/LICENSE.LGPLv3 DESTINATION ${CURRENT_PACKAGES_DIR}/share/qt5speech RENAME copyright)
\ No newline at end of file +#Find the relevant license file and install it +if(EXISTS "${SOURCE_PATH}/LICENSE.LGPLv3") + set(LICENSE_PATH "${SOURCE_PATH}/LICENSE.LGPLv3") +elseif(EXISTS "${SOURCE_PATH}/LICENSE.LGPL3") + set(LICENSE_PATH "${SOURCE_PATH}/LICENSE.LGPL3") +elseif(EXISTS "${SOURCE_PATH}/LICENSE.GPLv3") + set(LICENSE_PATH "${SOURCE_PATH}/LICENSE.GPLv3") +elseif(EXISTS "${SOURCE_PATH}/LICENSE.GPL3") + set(LICENSE_PATH "${SOURCE_PATH}/LICENSE.GPL3") +endif() +file(INSTALL ${LICENSE_PATH} DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT}/ RENAME copyright)
\ No newline at end of file diff --git a/ports/qt5svg/portfile.cmake b/ports/qt5svg/portfile.cmake index 13ea3d1e7..2b838714e 100644 --- a/ports/qt5svg/portfile.cmake +++ b/ports/qt5svg/portfile.cmake @@ -31,51 +31,127 @@ endif() # This fixes issues on machines with default codepages that are not ASCII compatible, such as some CJK encodings set(ENV{_CL_} "/utf-8") +#Store build paths +set(DEBUG_DIR "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg") +set(RELEASE_DIR "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel") + +#Find Python and add it to the path +vcpkg_find_acquire_program(PYTHON3) +get_filename_component(PYTHON3_EXE_PATH ${PYTHON3} DIRECTORY) +set(ENV{PATH} "${PYTHON3_EXE_PATH};$ENV{PATH}") +set(_path "$ENV{PATH}") + +#Configure debug vcpkg_configure_qmake_debug( SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/${SRCDIR_NAME} ) +#First generate the makefiles so we can modify them +vcpkg_build_qmake_debug(TARGETS sub-src-qmake_all) + +#Store debug makefiles path +file(GLOB_RECURSE DEBUG_MAKEFILES ${DEBUG_DIR}/*Makefile*) + +#Fix path to Qt5QmlDevTools +foreach(DEBUG_MAKEFILE ${DEBUG_MAKEFILES}) + vcpkg_replace_string(${DEBUG_MAKEFILE} "vcpkg\\installed\\${TARGET_TRIPLET}\\lib\\Qt5QmlDevToolsd.lib" "vcpkg\\installed\\${TARGET_TRIPLET}\\debug\\lib\\Qt5QmlDevToolsd.lib") +endforeach() + +#Build debug vcpkg_build_qmake_debug() +#Configure release vcpkg_configure_qmake_release( SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/${SRCDIR_NAME} ) +#First generate the makefiles so we can modify them +vcpkg_build_qmake_release(TARGETS sub-src-qmake_all) + +#Store release makefile path +file(GLOB_RECURSE RELEASE_MAKEFILES ${RELEASE_DIR}/*Makefile*) + +#Build release vcpkg_build_qmake_release() -vcpkg_find_acquire_program(PYTHON3) -get_filename_component(PYTHON3_EXE_PATH ${PYTHON3} DIRECTORY) -set(ENV{PATH} "${PYTHON3_EXE_PATH};$ENV{PATH}") -set(_path "$ENV{PATH}") +#Fix the cmake files if they exist +if(EXISTS ${RELEASE_DIR}/lib/cmake) + vcpkg_execute_required_process( + COMMAND ${PYTHON3} ${CMAKE_CURRENT_LIST_DIR}/fixcmake.py + WORKING_DIRECTORY ${RELEASE_DIR}/lib/cmake + LOGNAME fix-cmake + ) +endif() -set(DEBUG_DIR "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg") -set(RELEASE_DIR "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel") +#Set the correct install directory to packages +foreach(RELEASE_MAKEFILE ${RELEASE_MAKEFILES}) + vcpkg_replace_string(${RELEASE_MAKEFILE} "(INSTALL_ROOT)\\vcpkg\\installed\\${TARGET_TRIPLET}" "(INSTALL_ROOT)\\vcpkg\\packages\\${PORT}_${TARGET_TRIPLET}") +endforeach() +foreach(DEBUG_MAKEFILE ${DEBUG_MAKEFILES}) + vcpkg_replace_string(${DEBUG_MAKEFILE} "(INSTALL_ROOT)\\vcpkg\\installed\\${TARGET_TRIPLET}" "(INSTALL_ROOT)\\vcpkg\\packages\\${PORT}_${TARGET_TRIPLET}") +endforeach() -vcpkg_execute_required_process( - COMMAND ${PYTHON3} ${CMAKE_CURRENT_LIST_DIR}/fixcmake.py - WORKING_DIRECTORY ${RELEASE_DIR}/lib/cmake - LOGNAME fix-cmake -) +#Install the module files +vcpkg_build_qmake_debug(TARGETS install) +vcpkg_build_qmake_release(TARGETS install) +#Reset the path to the baseline set(ENV{PATH} "${_path}") -file(INSTALL ${DEBUG_DIR}/bin DESTINATION ${CURRENT_PACKAGES_DIR}/debug) -file(INSTALL ${DEBUG_DIR}/lib DESTINATION ${CURRENT_PACKAGES_DIR}/debug) -file(INSTALL ${DEBUG_DIR}/plugins DESTINATION ${CURRENT_PACKAGES_DIR}/debug) -file(INSTALL ${DEBUG_DIR}/include DESTINATION ${CURRENT_PACKAGES_DIR}/share/qt5/debug) -file(INSTALL ${DEBUG_DIR}/mkspecs DESTINATION ${CURRENT_PACKAGES_DIR}/share/qt5/debug) - -file(INSTALL ${RELEASE_DIR}/bin DESTINATION ${CURRENT_PACKAGES_DIR}) -file(INSTALL ${RELEASE_DIR}/lib DESTINATION ${CURRENT_PACKAGES_DIR}) -file(INSTALL ${RELEASE_DIR}/plugins DESTINATION ${CURRENT_PACKAGES_DIR}) -file(INSTALL ${RELEASE_DIR}/include DESTINATION ${CURRENT_PACKAGES_DIR}) -file(INSTALL ${RELEASE_DIR}/mkspecs DESTINATION ${CURRENT_PACKAGES_DIR}/share/qt5) +#Remove extra cmake files +if(EXISTS ${CURRENT_PACKAGES_DIR}/lib/cmake) + file(MAKE_DIRECTORY ${CURRENT_PACKAGES_DIR}/share) + file(RENAME ${CURRENT_PACKAGES_DIR}/lib/cmake ${CURRENT_PACKAGES_DIR}/share/cmake) + #Check if there are any libs left over; if not - delete the directory + file(GLOB RELEASE_LIBS ${CURRENT_PACKAGES_DIR}/lib/*) + if(NOT RELEASE_LIBS) + file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/lib) + endif() +endif() +if(EXISTS ${CURRENT_PACKAGES_DIR}/debug/lib/cmake) + file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/lib/cmake) + #Check if there are any libs left over; if not - delete the directory + file(GLOB DEBUG_LIBS ${CURRENT_PACKAGES_DIR}/lib/*) + if(NOT DEBUG_LIBS) + file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/lib) + endif() +endif() -file(RENAME ${CURRENT_PACKAGES_DIR}/lib/cmake ${CURRENT_PACKAGES_DIR}/share/cmake) -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/lib/cmake) +#Move release and debug dlls to the correct directory +file(GLOB RELEASE_DLLS ${CURRENT_PACKAGES_DIR}/tools/qt5/*.dll) +file(GLOB DEBUG_DLLS ${CURRENT_PACKAGES_DIR}/debug/tools/qt5/*.dll) +if (RELEASE_DLLS) + file(INSTALL ${RELEASE_DLLS} DESTINATION ${CURRENT_PACKAGES_DIR}/bin) + file(REMOVE ${RELEASE_DLLS}) + #Check if there are any binaries left over; if not - delete the directory + file(GLOB RELEASE_BINS ${CURRENT_PACKAGES_DIR}/tools/qt5/*) + if(NOT RELEASE_BINS) + file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/tools) + endif() +endif() +if(DEBUG_DLLS) + file(INSTALL ${DEBUG_DLLS} DESTINATION ${CURRENT_PACKAGES_DIR}/debug/bin) + file(REMOVE ${DEBUG_DLLS}) + #Check if there are any binaries left over; if not - delete the directory + file(GLOB DEBUG_BINS ${CURRENT_PACKAGES_DIR}/debug/tools/qt5/*) + if(NOT DEBUG_BINS) + file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/tools) + endif() +endif() -file(GLOB RELEASE_DLLS "${CURRENT_PACKAGES_DIR}/lib/*.dll") -file(GLOB DEBUG_DLLS "${CURRENT_PACKAGES_DIR}/debug/lib/*.dll") -file(REMOVE ${RELEASE_DLLS} ${DEBUG_DLLS}) +#If there are no include files in the module - create an empty one to stop vcpkg from complaining +if(NOT EXISTS ${CURRENT_PACKAGES_DIR}/include) + file(WRITE ${CURRENT_PACKAGES_DIR}/include/.empty_${PORT} "") +endif() -file(INSTALL ${SOURCE_PATH}/LICENSE.LGPLv3 DESTINATION ${CURRENT_PACKAGES_DIR}/share/qt5svg RENAME copyright)
\ No newline at end of file +#Find the relevant license file and install it +if(EXISTS "${SOURCE_PATH}/LICENSE.LGPLv3") + set(LICENSE_PATH "${SOURCE_PATH}/LICENSE.LGPLv3") +elseif(EXISTS "${SOURCE_PATH}/LICENSE.LGPL3") + set(LICENSE_PATH "${SOURCE_PATH}/LICENSE.LGPL3") +elseif(EXISTS "${SOURCE_PATH}/LICENSE.GPLv3") + set(LICENSE_PATH "${SOURCE_PATH}/LICENSE.GPLv3") +elseif(EXISTS "${SOURCE_PATH}/LICENSE.GPL3") + set(LICENSE_PATH "${SOURCE_PATH}/LICENSE.GPL3") +endif() +file(INSTALL ${LICENSE_PATH} DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT}/ RENAME copyright)
\ No newline at end of file diff --git a/ports/qt5tools/CONTROL b/ports/qt5tools/CONTROL index 20c100ce9..702d4d68e 100644 --- a/ports/qt5tools/CONTROL +++ b/ports/qt5tools/CONTROL @@ -1,4 +1,4 @@ Source: qt5tools Version: 5.9.2-0 -Description: Qt5 Tools Module. Includes deployment tools and helpers, Qt Designer, Assistant, and other applications -Build-Depends: qt5base +Description: Qt5 Tools Module; Includes deployment tools and helpers, Qt Designer, Assistant, and other applications +Build-Depends: qt5base, qt5declarative
\ No newline at end of file diff --git a/ports/qt5tools/portfile.cmake b/ports/qt5tools/portfile.cmake index b0bf93f29..2dcd4a3c3 100644 --- a/ports/qt5tools/portfile.cmake +++ b/ports/qt5tools/portfile.cmake @@ -31,55 +31,127 @@ endif() # This fixes issues on machines with default codepages that are not ASCII compatible, such as some CJK encodings set(ENV{_CL_} "/utf-8") +#Store build paths +set(DEBUG_DIR "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg") +set(RELEASE_DIR "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel") + +#Find Python and add it to the path +vcpkg_find_acquire_program(PYTHON3) +get_filename_component(PYTHON3_EXE_PATH ${PYTHON3} DIRECTORY) +set(ENV{PATH} "${PYTHON3_EXE_PATH};$ENV{PATH}") +set(_path "$ENV{PATH}") + +#Configure debug vcpkg_configure_qmake_debug( - SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/${SRCDIR_NAME} + SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/${SRCDIR_NAME} ) +#First generate the makefiles so we can modify them +vcpkg_build_qmake_debug(TARGETS sub-src-qmake_all) + +#Store debug makefiles path +file(GLOB_RECURSE DEBUG_MAKEFILES ${DEBUG_DIR}/*Makefile*) + +#Fix path to Qt5QmlDevTools +foreach(DEBUG_MAKEFILE ${DEBUG_MAKEFILES}) + vcpkg_replace_string(${DEBUG_MAKEFILE} "vcpkg\\installed\\${TARGET_TRIPLET}\\lib\\Qt5QmlDevToolsd.lib" "vcpkg\\installed\\${TARGET_TRIPLET}\\debug\\lib\\Qt5QmlDevToolsd.lib") +endforeach() + +#Build debug vcpkg_build_qmake_debug() +#Configure release vcpkg_configure_qmake_release( - SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/${SRCDIR_NAME} + SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/${SRCDIR_NAME} ) -vcpkg_build_qmake_release() +#First generate the makefiles so we can modify them +vcpkg_build_qmake_release(TARGETS sub-src-qmake_all) -vcpkg_find_acquire_program(PYTHON3) -get_filename_component(PYTHON3_EXE_PATH ${PYTHON3} DIRECTORY) -set(ENV{PATH} "${PYTHON3_EXE_PATH};$ENV{PATH}") +#Store release makefile path +file(GLOB_RECURSE RELEASE_MAKEFILES ${RELEASE_DIR}/*Makefile*) -set(DEBUG_DIR "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg") -set(RELEASE_DIR "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel") +#Build release +vcpkg_build_qmake_release() -vcpkg_execute_required_process( - COMMAND ${PYTHON3} ${CMAKE_CURRENT_LIST_DIR}/fixcmake.py - WORKING_DIRECTORY ${RELEASE_DIR}/lib/cmake - LOGNAME fix-cmake -) +#Fix the cmake files if they exist +if(EXISTS ${RELEASE_DIR}/lib/cmake) + vcpkg_execute_required_process( + COMMAND ${PYTHON3} ${CMAKE_CURRENT_LIST_DIR}/fixcmake.py + WORKING_DIRECTORY ${RELEASE_DIR}/lib/cmake + LOGNAME fix-cmake + ) +endif() -set(ENV{PATH} "${_path}") +#Set the correct install directory to packages +foreach(RELEASE_MAKEFILE ${RELEASE_MAKEFILES}) + vcpkg_replace_string(${RELEASE_MAKEFILE} "(INSTALL_ROOT)\\vcpkg\\installed\\${TARGET_TRIPLET}" "(INSTALL_ROOT)\\vcpkg\\packages\\${PORT}_${TARGET_TRIPLET}") +endforeach() +foreach(DEBUG_MAKEFILE ${DEBUG_MAKEFILES}) + vcpkg_replace_string(${DEBUG_MAKEFILE} "(INSTALL_ROOT)\\vcpkg\\installed\\${TARGET_TRIPLET}" "(INSTALL_ROOT)\\vcpkg\\packages\\${PORT}_${TARGET_TRIPLET}") +endforeach() -file(GLOB BINARY_TOOLS "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel/bin/*.exe") -file(INSTALL ${BINARY_TOOLS} DESTINATION ${CURRENT_PACKAGES_DIR}/tools/qt5) -file(REMOVE ${BINARY_TOOLS}) -file(GLOB BINARY_TOOLS "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg/bin/*.exe") -file(INSTALL ${BINARY_TOOLS} DESTINATION ${CURRENT_PACKAGES_DIR}/debug/tools/qt5) -file(REMOVE ${BINARY_TOOLS}) +#Install the module files +vcpkg_build_qmake_debug(TARGETS install) +vcpkg_build_qmake_release(TARGETS install) -file(INSTALL ${DEBUG_DIR}/bin DESTINATION ${CURRENT_PACKAGES_DIR}/debug) -file(INSTALL ${DEBUG_DIR}/lib DESTINATION ${CURRENT_PACKAGES_DIR}/debug) -file(INSTALL ${DEBUG_DIR}/include DESTINATION ${CURRENT_PACKAGES_DIR}/share/qt5/debug) -file(INSTALL ${DEBUG_DIR}/mkspecs DESTINATION ${CURRENT_PACKAGES_DIR}/share/qt5/debug) +#Reset the path to the baseline +set(ENV{PATH} "${_path}") -file(INSTALL ${RELEASE_DIR}/bin DESTINATION ${CURRENT_PACKAGES_DIR}) -file(INSTALL ${RELEASE_DIR}/lib DESTINATION ${CURRENT_PACKAGES_DIR}) -file(INSTALL ${RELEASE_DIR}/include DESTINATION ${CURRENT_PACKAGES_DIR}) -file(INSTALL ${RELEASE_DIR}/mkspecs DESTINATION ${CURRENT_PACKAGES_DIR}/share/qt5) +#Remove extra cmake files +if(EXISTS ${CURRENT_PACKAGES_DIR}/lib/cmake) + file(MAKE_DIRECTORY ${CURRENT_PACKAGES_DIR}/share) + file(RENAME ${CURRENT_PACKAGES_DIR}/lib/cmake ${CURRENT_PACKAGES_DIR}/share/cmake) + #Check if there are any libs left over; if not - delete the directory + file(GLOB RELEASE_LIBS ${CURRENT_PACKAGES_DIR}/lib/*) + if(NOT RELEASE_LIBS) + file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/lib) + endif() +endif() +if(EXISTS ${CURRENT_PACKAGES_DIR}/debug/lib/cmake) + file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/lib/cmake) + #Check if there are any libs left over; if not - delete the directory + file(GLOB DEBUG_LIBS ${CURRENT_PACKAGES_DIR}/lib/*) + if(NOT DEBUG_LIBS) + file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/lib) + endif() +endif() -file(RENAME ${CURRENT_PACKAGES_DIR}/lib/cmake ${CURRENT_PACKAGES_DIR}/share/cmake) -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/lib/cmake) +#Move release and debug dlls to the correct directory +file(GLOB RELEASE_DLLS ${CURRENT_PACKAGES_DIR}/tools/qt5/*.dll) +file(GLOB DEBUG_DLLS ${CURRENT_PACKAGES_DIR}/debug/tools/qt5/*.dll) +if (RELEASE_DLLS) + file(INSTALL ${RELEASE_DLLS} DESTINATION ${CURRENT_PACKAGES_DIR}/bin) + file(REMOVE ${RELEASE_DLLS}) + #Check if there are any binaries left over; if not - delete the directory + file(GLOB RELEASE_BINS ${CURRENT_PACKAGES_DIR}/tools/qt5/*) + if(NOT RELEASE_BINS) + file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/tools) + endif() +endif() +if(DEBUG_DLLS) + file(INSTALL ${DEBUG_DLLS} DESTINATION ${CURRENT_PACKAGES_DIR}/debug/bin) + file(REMOVE ${DEBUG_DLLS}) + #Check if there are any binaries left over; if not - delete the directory + file(GLOB DEBUG_BINS ${CURRENT_PACKAGES_DIR}/debug/tools/qt5/*) + if(NOT DEBUG_BINS) + file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/tools) + endif() +endif() -file(GLOB RELEASE_DLLS "${CURRENT_PACKAGES_DIR}/lib/*.dll") -file(GLOB DEBUG_DLLS "${CURRENT_PACKAGES_DIR}/debug/lib/*.dll") -file(REMOVE ${RELEASE_DLLS} ${DEBUG_DLLS}) +#If there are no include files in the module - create an empty one to stop vcpkg from complaining +if(NOT EXISTS ${CURRENT_PACKAGES_DIR}/include) + file(WRITE ${CURRENT_PACKAGES_DIR}/include/.empty_${PORT} "") +endif() -file(INSTALL ${SOURCE_PATH}/LICENSE.LGPL3 DESTINATION ${CURRENT_PACKAGES_DIR}/share/qt5tools RENAME copyright)
\ No newline at end of file +#Find the relevant license file and install it +if(EXISTS "${SOURCE_PATH}/LICENSE.LGPLv3") + set(LICENSE_PATH "${SOURCE_PATH}/LICENSE.LGPLv3") +elseif(EXISTS "${SOURCE_PATH}/LICENSE.LGPL3") + set(LICENSE_PATH "${SOURCE_PATH}/LICENSE.LGPL3") +elseif(EXISTS "${SOURCE_PATH}/LICENSE.GPLv3") + set(LICENSE_PATH "${SOURCE_PATH}/LICENSE.GPLv3") +elseif(EXISTS "${SOURCE_PATH}/LICENSE.GPL3") + set(LICENSE_PATH "${SOURCE_PATH}/LICENSE.GPL3") +endif() +file(INSTALL ${LICENSE_PATH} DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT}/ RENAME copyright)
\ No newline at end of file diff --git a/ports/qt5virtualkeyboard/portfile.cmake b/ports/qt5virtualkeyboard/portfile.cmake index 6a4c921cb..a2f0b1999 100644 --- a/ports/qt5virtualkeyboard/portfile.cmake +++ b/ports/qt5virtualkeyboard/portfile.cmake @@ -31,43 +31,127 @@ endif() # This fixes issues on machines with default codepages that are not ASCII compatible, such as some CJK encodings set(ENV{_CL_} "/utf-8") +#Store build paths +set(DEBUG_DIR "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg") +set(RELEASE_DIR "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel") + +#Find Python and add it to the path +vcpkg_find_acquire_program(PYTHON3) +get_filename_component(PYTHON3_EXE_PATH ${PYTHON3} DIRECTORY) +set(ENV{PATH} "${PYTHON3_EXE_PATH};$ENV{PATH}") +set(_path "$ENV{PATH}") + +#Configure debug vcpkg_configure_qmake_debug( SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/${SRCDIR_NAME} ) +#First generate the makefiles so we can modify them +vcpkg_build_qmake_debug(TARGETS sub-src-qmake_all) + +#Store debug makefiles path +file(GLOB_RECURSE DEBUG_MAKEFILES ${DEBUG_DIR}/*Makefile*) + +#Fix path to Qt5QmlDevTools +foreach(DEBUG_MAKEFILE ${DEBUG_MAKEFILES}) + vcpkg_replace_string(${DEBUG_MAKEFILE} "vcpkg\\installed\\${TARGET_TRIPLET}\\lib\\Qt5QmlDevToolsd.lib" "vcpkg\\installed\\${TARGET_TRIPLET}\\debug\\lib\\Qt5QmlDevToolsd.lib") +endforeach() + +#Build debug vcpkg_build_qmake_debug() +#Configure release vcpkg_configure_qmake_release( SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/${SRCDIR_NAME} ) +#First generate the makefiles so we can modify them +vcpkg_build_qmake_release(TARGETS sub-src-qmake_all) + +#Store release makefile path +file(GLOB_RECURSE RELEASE_MAKEFILES ${RELEASE_DIR}/*Makefile*) + +#Build release vcpkg_build_qmake_release() -vcpkg_find_acquire_program(PYTHON3) -get_filename_component(PYTHON3_EXE_PATH ${PYTHON3} DIRECTORY) -set(ENV{PATH} "${PYTHON3_EXE_PATH};$ENV{PATH}") -set(_path "$ENV{PATH}") +#Fix the cmake files if they exist +if(EXISTS ${RELEASE_DIR}/lib/cmake) + vcpkg_execute_required_process( + COMMAND ${PYTHON3} ${CMAKE_CURRENT_LIST_DIR}/fixcmake.py + WORKING_DIRECTORY ${RELEASE_DIR}/lib/cmake + LOGNAME fix-cmake + ) +endif() -set(DEBUG_DIR "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg") -set(RELEASE_DIR "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel") +#Set the correct install directory to packages +foreach(RELEASE_MAKEFILE ${RELEASE_MAKEFILES}) + vcpkg_replace_string(${RELEASE_MAKEFILE} "(INSTALL_ROOT)\\vcpkg\\installed\\${TARGET_TRIPLET}" "(INSTALL_ROOT)\\vcpkg\\packages\\${PORT}_${TARGET_TRIPLET}") +endforeach() +foreach(DEBUG_MAKEFILE ${DEBUG_MAKEFILES}) + vcpkg_replace_string(${DEBUG_MAKEFILE} "(INSTALL_ROOT)\\vcpkg\\installed\\${TARGET_TRIPLET}" "(INSTALL_ROOT)\\vcpkg\\packages\\${PORT}_${TARGET_TRIPLET}") +endforeach() -vcpkg_execute_required_process( - COMMAND ${PYTHON3} ${CMAKE_CURRENT_LIST_DIR}/fixcmake.py - WORKING_DIRECTORY ${RELEASE_DIR}/lib/cmake - LOGNAME fix-cmake -) +#Install the module files +vcpkg_build_qmake_debug(TARGETS install) +vcpkg_build_qmake_release(TARGETS install) +#Reset the path to the baseline set(ENV{PATH} "${_path}") -file(INSTALL ${DEBUG_DIR}/plugins DESTINATION ${CURRENT_PACKAGES_DIR}/debug) -file(INSTALL ${DEBUG_DIR}/mkspecs DESTINATION ${CURRENT_PACKAGES_DIR}/share/qt5/debug) - -file(INSTALL ${RELEASE_DIR}/plugins DESTINATION ${CURRENT_PACKAGES_DIR}) -file(INSTALL ${RELEASE_DIR}/mkspecs DESTINATION ${CURRENT_PACKAGES_DIR}/share/qt5) +#Remove extra cmake files +if(EXISTS ${CURRENT_PACKAGES_DIR}/lib/cmake) + file(MAKE_DIRECTORY ${CURRENT_PACKAGES_DIR}/share) + file(RENAME ${CURRENT_PACKAGES_DIR}/lib/cmake ${CURRENT_PACKAGES_DIR}/share/cmake) + #Check if there are any libs left over; if not - delete the directory + file(GLOB RELEASE_LIBS ${CURRENT_PACKAGES_DIR}/lib/*) + if(NOT RELEASE_LIBS) + file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/lib) + endif() +endif() +if(EXISTS ${CURRENT_PACKAGES_DIR}/debug/lib/cmake) + file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/lib/cmake) + #Check if there are any libs left over; if not - delete the directory + file(GLOB DEBUG_LIBS ${CURRENT_PACKAGES_DIR}/lib/*) + if(NOT DEBUG_LIBS) + file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/lib) + endif() +endif() -file(INSTALL ${RELEASE_DIR}/lib/cmake DESTINATION ${CURRENT_PACKAGES_DIR}/share) +#Move release and debug dlls to the correct directory +file(GLOB RELEASE_DLLS ${CURRENT_PACKAGES_DIR}/tools/qt5/*.dll) +file(GLOB DEBUG_DLLS ${CURRENT_PACKAGES_DIR}/debug/tools/qt5/*.dll) +if (RELEASE_DLLS) + file(INSTALL ${RELEASE_DLLS} DESTINATION ${CURRENT_PACKAGES_DIR}/bin) + file(REMOVE ${RELEASE_DLLS}) + #Check if there are any binaries left over; if not - delete the directory + file(GLOB RELEASE_BINS ${CURRENT_PACKAGES_DIR}/tools/qt5/*) + if(NOT RELEASE_BINS) + file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/tools) + endif() +endif() +if(DEBUG_DLLS) + file(INSTALL ${DEBUG_DLLS} DESTINATION ${CURRENT_PACKAGES_DIR}/debug/bin) + file(REMOVE ${DEBUG_DLLS}) + #Check if there are any binaries left over; if not - delete the directory + file(GLOB DEBUG_BINS ${CURRENT_PACKAGES_DIR}/debug/tools/qt5/*) + if(NOT DEBUG_BINS) + file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/tools) + endif() +endif() -#Create an empty include file so that vcpkg doesn't complain -file(WRITE ${CURRENT_PACKAGES_DIR}/include/.empty_qt5virtualkeyboard "") +#If there are no include files in the module - create an empty one to stop vcpkg from complaining +if(NOT EXISTS ${CURRENT_PACKAGES_DIR}/include) + file(WRITE ${CURRENT_PACKAGES_DIR}/include/.empty_${PORT} "") +endif() -file(INSTALL ${SOURCE_PATH}/LICENSE.GPL3 DESTINATION ${CURRENT_PACKAGES_DIR}/share/qt5virtualkeyboard RENAME copyright)
\ No newline at end of file +#Find the relevant license file and install it +if(EXISTS "${SOURCE_PATH}/LICENSE.LGPLv3") + set(LICENSE_PATH "${SOURCE_PATH}/LICENSE.LGPLv3") +elseif(EXISTS "${SOURCE_PATH}/LICENSE.LGPL3") + set(LICENSE_PATH "${SOURCE_PATH}/LICENSE.LGPL3") +elseif(EXISTS "${SOURCE_PATH}/LICENSE.GPLv3") + set(LICENSE_PATH "${SOURCE_PATH}/LICENSE.GPLv3") +elseif(EXISTS "${SOURCE_PATH}/LICENSE.GPL3") + set(LICENSE_PATH "${SOURCE_PATH}/LICENSE.GPL3") +endif() +file(INSTALL ${LICENSE_PATH} DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT}/ RENAME copyright)
\ No newline at end of file diff --git a/ports/qt5websockets/portfile.cmake b/ports/qt5websockets/portfile.cmake index 333483a74..64f9bf374 100644 --- a/ports/qt5websockets/portfile.cmake +++ b/ports/qt5websockets/portfile.cmake @@ -31,49 +31,127 @@ endif() # This fixes issues on machines with default codepages that are not ASCII compatible, such as some CJK encodings set(ENV{_CL_} "/utf-8") +#Store build paths +set(DEBUG_DIR "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg") +set(RELEASE_DIR "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel") + +#Find Python and add it to the path +vcpkg_find_acquire_program(PYTHON3) +get_filename_component(PYTHON3_EXE_PATH ${PYTHON3} DIRECTORY) +set(ENV{PATH} "${PYTHON3_EXE_PATH};$ENV{PATH}") +set(_path "$ENV{PATH}") + +#Configure debug vcpkg_configure_qmake_debug( SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/${SRCDIR_NAME} ) +#First generate the makefiles so we can modify them +vcpkg_build_qmake_debug(TARGETS sub-src-qmake_all) + +#Store debug makefiles path +file(GLOB_RECURSE DEBUG_MAKEFILES ${DEBUG_DIR}/*Makefile*) + +#Fix path to Qt5QmlDevTools +foreach(DEBUG_MAKEFILE ${DEBUG_MAKEFILES}) + vcpkg_replace_string(${DEBUG_MAKEFILE} "vcpkg\\installed\\${TARGET_TRIPLET}\\lib\\Qt5QmlDevToolsd.lib" "vcpkg\\installed\\${TARGET_TRIPLET}\\debug\\lib\\Qt5QmlDevToolsd.lib") +endforeach() + +#Build debug vcpkg_build_qmake_debug() +#Configure release vcpkg_configure_qmake_release( SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/${SRCDIR_NAME} ) +#First generate the makefiles so we can modify them +vcpkg_build_qmake_release(TARGETS sub-src-qmake_all) + +#Store release makefile path +file(GLOB_RECURSE RELEASE_MAKEFILES ${RELEASE_DIR}/*Makefile*) + +#Build release vcpkg_build_qmake_release() -vcpkg_find_acquire_program(PYTHON3) -get_filename_component(PYTHON3_EXE_PATH ${PYTHON3} DIRECTORY) -set(ENV{PATH} "${PYTHON3_EXE_PATH};$ENV{PATH}") -set(_path "$ENV{PATH}") +#Fix the cmake files if they exist +if(EXISTS ${RELEASE_DIR}/lib/cmake) + vcpkg_execute_required_process( + COMMAND ${PYTHON3} ${CMAKE_CURRENT_LIST_DIR}/fixcmake.py + WORKING_DIRECTORY ${RELEASE_DIR}/lib/cmake + LOGNAME fix-cmake + ) +endif() -set(DEBUG_DIR "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg") -set(RELEASE_DIR "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel") +#Set the correct install directory to packages +foreach(RELEASE_MAKEFILE ${RELEASE_MAKEFILES}) + vcpkg_replace_string(${RELEASE_MAKEFILE} "(INSTALL_ROOT)\\vcpkg\\installed\\${TARGET_TRIPLET}" "(INSTALL_ROOT)\\vcpkg\\packages\\${PORT}_${TARGET_TRIPLET}") +endforeach() +foreach(DEBUG_MAKEFILE ${DEBUG_MAKEFILES}) + vcpkg_replace_string(${DEBUG_MAKEFILE} "(INSTALL_ROOT)\\vcpkg\\installed\\${TARGET_TRIPLET}" "(INSTALL_ROOT)\\vcpkg\\packages\\${PORT}_${TARGET_TRIPLET}") +endforeach() -vcpkg_execute_required_process( - COMMAND ${PYTHON3} ${CMAKE_CURRENT_LIST_DIR}/fixcmake.py - WORKING_DIRECTORY ${RELEASE_DIR}/lib/cmake - LOGNAME fix-cmake -) +#Install the module files +vcpkg_build_qmake_debug(TARGETS install) +vcpkg_build_qmake_release(TARGETS install) +#Reset the path to the baseline set(ENV{PATH} "${_path}") -file(INSTALL ${DEBUG_DIR}/bin DESTINATION ${CURRENT_PACKAGES_DIR}/debug) -file(INSTALL ${DEBUG_DIR}/lib DESTINATION ${CURRENT_PACKAGES_DIR}/debug) -file(INSTALL ${DEBUG_DIR}/include DESTINATION ${CURRENT_PACKAGES_DIR}/share/qt5/debug) -file(INSTALL ${DEBUG_DIR}/mkspecs DESTINATION ${CURRENT_PACKAGES_DIR}/share/qt5/debug) - -file(INSTALL ${RELEASE_DIR}/bin DESTINATION ${CURRENT_PACKAGES_DIR}) -file(INSTALL ${RELEASE_DIR}/lib DESTINATION ${CURRENT_PACKAGES_DIR}) -file(INSTALL ${RELEASE_DIR}/include DESTINATION ${CURRENT_PACKAGES_DIR}) -file(INSTALL ${RELEASE_DIR}/mkspecs DESTINATION ${CURRENT_PACKAGES_DIR}/share/qt5) +#Remove extra cmake files +if(EXISTS ${CURRENT_PACKAGES_DIR}/lib/cmake) + file(MAKE_DIRECTORY ${CURRENT_PACKAGES_DIR}/share) + file(RENAME ${CURRENT_PACKAGES_DIR}/lib/cmake ${CURRENT_PACKAGES_DIR}/share/cmake) + #Check if there are any libs left over; if not - delete the directory + file(GLOB RELEASE_LIBS ${CURRENT_PACKAGES_DIR}/lib/*) + if(NOT RELEASE_LIBS) + file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/lib) + endif() +endif() +if(EXISTS ${CURRENT_PACKAGES_DIR}/debug/lib/cmake) + file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/lib/cmake) + #Check if there are any libs left over; if not - delete the directory + file(GLOB DEBUG_LIBS ${CURRENT_PACKAGES_DIR}/lib/*) + if(NOT DEBUG_LIBS) + file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/lib) + endif() +endif() -file(RENAME ${CURRENT_PACKAGES_DIR}/lib/cmake ${CURRENT_PACKAGES_DIR}/share/cmake) -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/lib/cmake) +#Move release and debug dlls to the correct directory +file(GLOB RELEASE_DLLS ${CURRENT_PACKAGES_DIR}/tools/qt5/*.dll) +file(GLOB DEBUG_DLLS ${CURRENT_PACKAGES_DIR}/debug/tools/qt5/*.dll) +if (RELEASE_DLLS) + file(INSTALL ${RELEASE_DLLS} DESTINATION ${CURRENT_PACKAGES_DIR}/bin) + file(REMOVE ${RELEASE_DLLS}) + #Check if there are any binaries left over; if not - delete the directory + file(GLOB RELEASE_BINS ${CURRENT_PACKAGES_DIR}/tools/qt5/*) + if(NOT RELEASE_BINS) + file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/tools) + endif() +endif() +if(DEBUG_DLLS) + file(INSTALL ${DEBUG_DLLS} DESTINATION ${CURRENT_PACKAGES_DIR}/debug/bin) + file(REMOVE ${DEBUG_DLLS}) + #Check if there are any binaries left over; if not - delete the directory + file(GLOB DEBUG_BINS ${CURRENT_PACKAGES_DIR}/debug/tools/qt5/*) + if(NOT DEBUG_BINS) + file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/tools) + endif() +endif() -file(GLOB RELEASE_DLLS "${CURRENT_PACKAGES_DIR}/lib/*.dll") -file(GLOB DEBUG_DLLS "${CURRENT_PACKAGES_DIR}/debug/lib/*.dll") -file(REMOVE ${RELEASE_DLLS} ${DEBUG_DLLS}) +#If there are no include files in the module - create an empty one to stop vcpkg from complaining +if(NOT EXISTS ${CURRENT_PACKAGES_DIR}/include) + file(WRITE ${CURRENT_PACKAGES_DIR}/include/.empty_${PORT} "") +endif() -file(INSTALL ${SOURCE_PATH}/LICENSE.LGPL3 DESTINATION ${CURRENT_PACKAGES_DIR}/share/qt5websockets RENAME copyright)
\ No newline at end of file +#Find the relevant license file and install it +if(EXISTS "${SOURCE_PATH}/LICENSE.LGPLv3") + set(LICENSE_PATH "${SOURCE_PATH}/LICENSE.LGPLv3") +elseif(EXISTS "${SOURCE_PATH}/LICENSE.LGPL3") + set(LICENSE_PATH "${SOURCE_PATH}/LICENSE.LGPL3") +elseif(EXISTS "${SOURCE_PATH}/LICENSE.GPLv3") + set(LICENSE_PATH "${SOURCE_PATH}/LICENSE.GPLv3") +elseif(EXISTS "${SOURCE_PATH}/LICENSE.GPL3") + set(LICENSE_PATH "${SOURCE_PATH}/LICENSE.GPL3") +endif() +file(INSTALL ${LICENSE_PATH} DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT}/ RENAME copyright)
\ No newline at end of file diff --git a/ports/qt5winextras/portfile.cmake b/ports/qt5winextras/portfile.cmake index b5842494a..04b55327f 100644 --- a/ports/qt5winextras/portfile.cmake +++ b/ports/qt5winextras/portfile.cmake @@ -31,49 +31,127 @@ endif() # This fixes issues on machines with default codepages that are not ASCII compatible, such as some CJK encodings set(ENV{_CL_} "/utf-8") +#Store build paths +set(DEBUG_DIR "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg") +set(RELEASE_DIR "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel") + +#Find Python and add it to the path +vcpkg_find_acquire_program(PYTHON3) +get_filename_component(PYTHON3_EXE_PATH ${PYTHON3} DIRECTORY) +set(ENV{PATH} "${PYTHON3_EXE_PATH};$ENV{PATH}") +set(_path "$ENV{PATH}") + +#Configure debug vcpkg_configure_qmake_debug( SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/${SRCDIR_NAME} ) +#First generate the makefiles so we can modify them +vcpkg_build_qmake_debug(TARGETS sub-src-qmake_all) + +#Store debug makefiles path +file(GLOB_RECURSE DEBUG_MAKEFILES ${DEBUG_DIR}/*Makefile*) + +#Fix path to Qt5QmlDevTools +foreach(DEBUG_MAKEFILE ${DEBUG_MAKEFILES}) + vcpkg_replace_string(${DEBUG_MAKEFILE} "vcpkg\\installed\\${TARGET_TRIPLET}\\lib\\Qt5QmlDevToolsd.lib" "vcpkg\\installed\\${TARGET_TRIPLET}\\debug\\lib\\Qt5QmlDevToolsd.lib") +endforeach() + +#Build debug vcpkg_build_qmake_debug() +#Configure release vcpkg_configure_qmake_release( SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/${SRCDIR_NAME} ) +#First generate the makefiles so we can modify them +vcpkg_build_qmake_release(TARGETS sub-src-qmake_all) + +#Store release makefile path +file(GLOB_RECURSE RELEASE_MAKEFILES ${RELEASE_DIR}/*Makefile*) + +#Build release vcpkg_build_qmake_release() -vcpkg_find_acquire_program(PYTHON3) -get_filename_component(PYTHON3_EXE_PATH ${PYTHON3} DIRECTORY) -set(ENV{PATH} "${PYTHON3_EXE_PATH};$ENV{PATH}") -set(_path "$ENV{PATH}") +#Fix the cmake files if they exist +if(EXISTS ${RELEASE_DIR}/lib/cmake) + vcpkg_execute_required_process( + COMMAND ${PYTHON3} ${CMAKE_CURRENT_LIST_DIR}/fixcmake.py + WORKING_DIRECTORY ${RELEASE_DIR}/lib/cmake + LOGNAME fix-cmake + ) +endif() -set(DEBUG_DIR "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg") -set(RELEASE_DIR "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel") +#Set the correct install directory to packages +foreach(RELEASE_MAKEFILE ${RELEASE_MAKEFILES}) + vcpkg_replace_string(${RELEASE_MAKEFILE} "(INSTALL_ROOT)\\vcpkg\\installed\\${TARGET_TRIPLET}" "(INSTALL_ROOT)\\vcpkg\\packages\\${PORT}_${TARGET_TRIPLET}") +endforeach() +foreach(DEBUG_MAKEFILE ${DEBUG_MAKEFILES}) + vcpkg_replace_string(${DEBUG_MAKEFILE} "(INSTALL_ROOT)\\vcpkg\\installed\\${TARGET_TRIPLET}" "(INSTALL_ROOT)\\vcpkg\\packages\\${PORT}_${TARGET_TRIPLET}") +endforeach() -vcpkg_execute_required_process( - COMMAND ${PYTHON3} ${CMAKE_CURRENT_LIST_DIR}/fixcmake.py - WORKING_DIRECTORY ${RELEASE_DIR}/lib/cmake - LOGNAME fix-cmake -) +#Install the module files +vcpkg_build_qmake_debug(TARGETS install) +vcpkg_build_qmake_release(TARGETS install) +#Reset the path to the baseline set(ENV{PATH} "${_path}") -file(INSTALL ${DEBUG_DIR}/bin DESTINATION ${CURRENT_PACKAGES_DIR}/debug) -file(INSTALL ${DEBUG_DIR}/lib DESTINATION ${CURRENT_PACKAGES_DIR}/debug) -file(INSTALL ${DEBUG_DIR}/include DESTINATION ${CURRENT_PACKAGES_DIR}/share/qt5/debug) -file(INSTALL ${DEBUG_DIR}/mkspecs DESTINATION ${CURRENT_PACKAGES_DIR}/share/qt5/debug) - -file(INSTALL ${RELEASE_DIR}/bin DESTINATION ${CURRENT_PACKAGES_DIR}) -file(INSTALL ${RELEASE_DIR}/lib DESTINATION ${CURRENT_PACKAGES_DIR}) -file(INSTALL ${RELEASE_DIR}/include DESTINATION ${CURRENT_PACKAGES_DIR}) -file(INSTALL ${RELEASE_DIR}/mkspecs DESTINATION ${CURRENT_PACKAGES_DIR}/share/qt5) +#Remove extra cmake files +if(EXISTS ${CURRENT_PACKAGES_DIR}/lib/cmake) + file(MAKE_DIRECTORY ${CURRENT_PACKAGES_DIR}/share) + file(RENAME ${CURRENT_PACKAGES_DIR}/lib/cmake ${CURRENT_PACKAGES_DIR}/share/cmake) + #Check if there are any libs left over; if not - delete the directory + file(GLOB RELEASE_LIBS ${CURRENT_PACKAGES_DIR}/lib/*) + if(NOT RELEASE_LIBS) + file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/lib) + endif() +endif() +if(EXISTS ${CURRENT_PACKAGES_DIR}/debug/lib/cmake) + file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/lib/cmake) + #Check if there are any libs left over; if not - delete the directory + file(GLOB DEBUG_LIBS ${CURRENT_PACKAGES_DIR}/lib/*) + if(NOT DEBUG_LIBS) + file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/lib) + endif() +endif() -file(RENAME ${CURRENT_PACKAGES_DIR}/lib/cmake ${CURRENT_PACKAGES_DIR}/share/cmake) -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/lib/cmake) +#Move release and debug dlls to the correct directory +file(GLOB RELEASE_DLLS ${CURRENT_PACKAGES_DIR}/tools/qt5/*.dll) +file(GLOB DEBUG_DLLS ${CURRENT_PACKAGES_DIR}/debug/tools/qt5/*.dll) +if (RELEASE_DLLS) + file(INSTALL ${RELEASE_DLLS} DESTINATION ${CURRENT_PACKAGES_DIR}/bin) + file(REMOVE ${RELEASE_DLLS}) + #Check if there are any binaries left over; if not - delete the directory + file(GLOB RELEASE_BINS ${CURRENT_PACKAGES_DIR}/tools/qt5/*) + if(NOT RELEASE_BINS) + file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/tools) + endif() +endif() +if(DEBUG_DLLS) + file(INSTALL ${DEBUG_DLLS} DESTINATION ${CURRENT_PACKAGES_DIR}/debug/bin) + file(REMOVE ${DEBUG_DLLS}) + #Check if there are any binaries left over; if not - delete the directory + file(GLOB DEBUG_BINS ${CURRENT_PACKAGES_DIR}/debug/tools/qt5/*) + if(NOT DEBUG_BINS) + file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/tools) + endif() +endif() -file(GLOB RELEASE_DLLS "${CURRENT_PACKAGES_DIR}/lib/*.dll") -file(GLOB DEBUG_DLLS "${CURRENT_PACKAGES_DIR}/debug/lib/*.dll") -file(REMOVE ${RELEASE_DLLS} ${DEBUG_DLLS}) +#If there are no include files in the module - create an empty one to stop vcpkg from complaining +if(NOT EXISTS ${CURRENT_PACKAGES_DIR}/include) + file(WRITE ${CURRENT_PACKAGES_DIR}/include/.empty_${PORT} "") +endif() -file(INSTALL ${SOURCE_PATH}/LICENSE.LGPLv3 DESTINATION ${CURRENT_PACKAGES_DIR}/share/qt5winextras RENAME copyright)
\ No newline at end of file +#Find the relevant license file and install it +if(EXISTS "${SOURCE_PATH}/LICENSE.LGPLv3") + set(LICENSE_PATH "${SOURCE_PATH}/LICENSE.LGPLv3") +elseif(EXISTS "${SOURCE_PATH}/LICENSE.LGPL3") + set(LICENSE_PATH "${SOURCE_PATH}/LICENSE.LGPL3") +elseif(EXISTS "${SOURCE_PATH}/LICENSE.GPLv3") + set(LICENSE_PATH "${SOURCE_PATH}/LICENSE.GPLv3") +elseif(EXISTS "${SOURCE_PATH}/LICENSE.GPL3") + set(LICENSE_PATH "${SOURCE_PATH}/LICENSE.GPL3") +endif() +file(INSTALL ${LICENSE_PATH} DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT}/ RENAME copyright)
\ No newline at end of file diff --git a/ports/qt5xmlpatterns/portfile.cmake b/ports/qt5xmlpatterns/portfile.cmake index 0bf42b19d..764628c5e 100644 --- a/ports/qt5xmlpatterns/portfile.cmake +++ b/ports/qt5xmlpatterns/portfile.cmake @@ -31,56 +31,127 @@ endif() # This fixes issues on machines with default codepages that are not ASCII compatible, such as some CJK encodings set(ENV{_CL_} "/utf-8") +#Store build paths +set(DEBUG_DIR "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg") +set(RELEASE_DIR "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel") + +#Find Python and add it to the path +vcpkg_find_acquire_program(PYTHON3) +get_filename_component(PYTHON3_EXE_PATH ${PYTHON3} DIRECTORY) +set(ENV{PATH} "${PYTHON3_EXE_PATH};$ENV{PATH}") +set(_path "$ENV{PATH}") + +#Configure debug vcpkg_configure_qmake_debug( SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/${SRCDIR_NAME} ) +#First generate the makefiles so we can modify them +vcpkg_build_qmake_debug(TARGETS sub-src-qmake_all) + +#Store debug makefiles path +file(GLOB_RECURSE DEBUG_MAKEFILES ${DEBUG_DIR}/*Makefile*) + +#Fix path to Qt5QmlDevTools +foreach(DEBUG_MAKEFILE ${DEBUG_MAKEFILES}) + vcpkg_replace_string(${DEBUG_MAKEFILE} "vcpkg\\installed\\${TARGET_TRIPLET}\\lib\\Qt5QmlDevToolsd.lib" "vcpkg\\installed\\${TARGET_TRIPLET}\\debug\\lib\\Qt5QmlDevToolsd.lib") +endforeach() + +#Build debug vcpkg_build_qmake_debug() +#Configure release vcpkg_configure_qmake_release( SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/${SRCDIR_NAME} ) -vcpkg_build_qmake_release() +#First generate the makefiles so we can modify them +vcpkg_build_qmake_release(TARGETS sub-src-qmake_all) -vcpkg_find_acquire_program(PYTHON3) -get_filename_component(PYTHON3_EXE_PATH ${PYTHON3} DIRECTORY) -set(ENV{PATH} "${PYTHON3_EXE_PATH};$ENV{PATH}") -set(_path "$ENV{PATH}") +#Store release makefile path +file(GLOB_RECURSE RELEASE_MAKEFILES ${RELEASE_DIR}/*Makefile*) -set(DEBUG_DIR "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg") -set(RELEASE_DIR "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel") +#Build release +vcpkg_build_qmake_release() -vcpkg_execute_required_process( - COMMAND ${PYTHON3} ${CMAKE_CURRENT_LIST_DIR}/fixcmake.py - WORKING_DIRECTORY ${RELEASE_DIR}/lib/cmake - LOGNAME fix-cmake -) +#Fix the cmake files if they exist +if(EXISTS ${RELEASE_DIR}/lib/cmake) + vcpkg_execute_required_process( + COMMAND ${PYTHON3} ${CMAKE_CURRENT_LIST_DIR}/fixcmake.py + WORKING_DIRECTORY ${RELEASE_DIR}/lib/cmake + LOGNAME fix-cmake + ) +endif() -set(ENV{PATH} "${_path}") +#Set the correct install directory to packages +foreach(RELEASE_MAKEFILE ${RELEASE_MAKEFILES}) + vcpkg_replace_string(${RELEASE_MAKEFILE} "(INSTALL_ROOT)\\vcpkg\\installed\\${TARGET_TRIPLET}" "(INSTALL_ROOT)\\vcpkg\\packages\\${PORT}_${TARGET_TRIPLET}") +endforeach() +foreach(DEBUG_MAKEFILE ${DEBUG_MAKEFILES}) + vcpkg_replace_string(${DEBUG_MAKEFILE} "(INSTALL_ROOT)\\vcpkg\\installed\\${TARGET_TRIPLET}" "(INSTALL_ROOT)\\vcpkg\\packages\\${PORT}_${TARGET_TRIPLET}") +endforeach() -file(INSTALL ${DEBUG_DIR}/bin DESTINATION ${CURRENT_PACKAGES_DIR}/debug) -file(INSTALL ${DEBUG_DIR}/lib DESTINATION ${CURRENT_PACKAGES_DIR}/debug) -file(INSTALL ${DEBUG_DIR}/include DESTINATION ${CURRENT_PACKAGES_DIR}/share/qt5/debug) -file(INSTALL ${DEBUG_DIR}/mkspecs DESTINATION ${CURRENT_PACKAGES_DIR}/share/qt5/debug) +#Install the module files +vcpkg_build_qmake_debug(TARGETS install) +vcpkg_build_qmake_release(TARGETS install) -file(INSTALL ${RELEASE_DIR}/bin DESTINATION ${CURRENT_PACKAGES_DIR}) -file(INSTALL ${RELEASE_DIR}/lib DESTINATION ${CURRENT_PACKAGES_DIR}) -file(INSTALL ${RELEASE_DIR}/include DESTINATION ${CURRENT_PACKAGES_DIR}) -file(INSTALL ${RELEASE_DIR}/mkspecs DESTINATION ${CURRENT_PACKAGES_DIR}/share/qt5) +#Reset the path to the baseline +set(ENV{PATH} "${_path}") -file(GLOB BINARY_TOOLS "${CURRENT_PACKAGES_DIR}/bin/*.exe") -file(INSTALL ${BINARY_TOOLS} DESTINATION ${CURRENT_PACKAGES_DIR}/tools/qt5) -file(REMOVE ${BINARY_TOOLS}) -file(GLOB BINARY_TOOLS "${CURRENT_PACKAGES_DIR}/debug/bin/*.exe") -file(INSTALL ${BINARY_TOOLS} DESTINATION ${CURRENT_PACKAGES_DIR}/debug/tools/qt5) -file(REMOVE ${BINARY_TOOLS}) +#Remove extra cmake files +if(EXISTS ${CURRENT_PACKAGES_DIR}/lib/cmake) + file(MAKE_DIRECTORY ${CURRENT_PACKAGES_DIR}/share) + file(RENAME ${CURRENT_PACKAGES_DIR}/lib/cmake ${CURRENT_PACKAGES_DIR}/share/cmake) + #Check if there are any libs left over; if not - delete the directory + file(GLOB RELEASE_LIBS ${CURRENT_PACKAGES_DIR}/lib/*) + if(NOT RELEASE_LIBS) + file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/lib) + endif() +endif() +if(EXISTS ${CURRENT_PACKAGES_DIR}/debug/lib/cmake) + file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/lib/cmake) + #Check if there are any libs left over; if not - delete the directory + file(GLOB DEBUG_LIBS ${CURRENT_PACKAGES_DIR}/lib/*) + if(NOT DEBUG_LIBS) + file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/lib) + endif() +endif() -file(RENAME ${CURRENT_PACKAGES_DIR}/lib/cmake ${CURRENT_PACKAGES_DIR}/share/cmake) -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/lib/cmake) +#Move release and debug dlls to the correct directory +file(GLOB RELEASE_DLLS ${CURRENT_PACKAGES_DIR}/tools/qt5/*.dll) +file(GLOB DEBUG_DLLS ${CURRENT_PACKAGES_DIR}/debug/tools/qt5/*.dll) +if (RELEASE_DLLS) + file(INSTALL ${RELEASE_DLLS} DESTINATION ${CURRENT_PACKAGES_DIR}/bin) + file(REMOVE ${RELEASE_DLLS}) + #Check if there are any binaries left over; if not - delete the directory + file(GLOB RELEASE_BINS ${CURRENT_PACKAGES_DIR}/tools/qt5/*) + if(NOT RELEASE_BINS) + file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/tools) + endif() +endif() +if(DEBUG_DLLS) + file(INSTALL ${DEBUG_DLLS} DESTINATION ${CURRENT_PACKAGES_DIR}/debug/bin) + file(REMOVE ${DEBUG_DLLS}) + #Check if there are any binaries left over; if not - delete the directory + file(GLOB DEBUG_BINS ${CURRENT_PACKAGES_DIR}/debug/tools/qt5/*) + if(NOT DEBUG_BINS) + file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/tools) + endif() +endif() -file(GLOB RELEASE_DLLS "${CURRENT_PACKAGES_DIR}/lib/*.dll") -file(GLOB DEBUG_DLLS "${CURRENT_PACKAGES_DIR}/debug/lib/*.dll") -file(REMOVE ${RELEASE_DLLS} ${DEBUG_DLLS}) +#If there are no include files in the module - create an empty one to stop vcpkg from complaining +if(NOT EXISTS ${CURRENT_PACKAGES_DIR}/include) + file(WRITE ${CURRENT_PACKAGES_DIR}/include/.empty_${PORT} "") +endif() -file(INSTALL ${SOURCE_PATH}/LICENSE.LGPLv3 DESTINATION ${CURRENT_PACKAGES_DIR}/share/qt5xmlpatterns RENAME copyright)
\ No newline at end of file +#Find the relevant license file and install it +if(EXISTS "${SOURCE_PATH}/LICENSE.LGPLv3") + set(LICENSE_PATH "${SOURCE_PATH}/LICENSE.LGPLv3") +elseif(EXISTS "${SOURCE_PATH}/LICENSE.LGPL3") + set(LICENSE_PATH "${SOURCE_PATH}/LICENSE.LGPL3") +elseif(EXISTS "${SOURCE_PATH}/LICENSE.GPLv3") + set(LICENSE_PATH "${SOURCE_PATH}/LICENSE.GPLv3") +elseif(EXISTS "${SOURCE_PATH}/LICENSE.GPL3") + set(LICENSE_PATH "${SOURCE_PATH}/LICENSE.GPL3") +endif() +file(INSTALL ${LICENSE_PATH} DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT}/ RENAME copyright)
\ No newline at end of file diff --git a/scripts/cmake/vcpkg_common_functions.cmake b/scripts/cmake/vcpkg_common_functions.cmake index 5dabd446e..e48b5e442 100644 --- a/scripts/cmake/vcpkg_common_functions.cmake +++ b/scripts/cmake/vcpkg_common_functions.cmake @@ -26,3 +26,4 @@ include(vcpkg_get_program_files_32_bit) include(vcpkg_get_program_files_platform_bitness) include(vcpkg_get_windows_sdk) include(vcpkg_acquire_depot_tools) +include(vcpkg_replace_string) diff --git a/scripts/cmake/vcpkg_replace_string.cmake b/scripts/cmake/vcpkg_replace_string.cmake new file mode 100644 index 000000000..3eb18d0bf --- /dev/null +++ b/scripts/cmake/vcpkg_replace_string.cmake @@ -0,0 +1,14 @@ +#.rst: +# .. command:: vcpkg_replace_string +# +# Replace a string in a file. +# +# :: +# vcpkg_replace_string(filename match_string replace_string) +# +# +function(vcpkg_replace_string filename match_string replace_string) + file(READ ${filename} _contents) + string(REPLACE "${match_string}" "${replace_string}" _contents "${_contents}") + file(WRITE ${filename} "${_contents}") +endfunction() |
