mirror of https://github.com/microsoft/vcpkg.git
[vcpkg-build-qmake][vcpkg-configure-qmake] Collapse config-specific versions.
This commit is contained in:
parent
51da0e25fa
commit
b47b4346f8
|
|
@ -1,4 +1,4 @@
|
|||
Source: qscintilla
|
||||
Version: 2.10-3
|
||||
Version: 2.10-4
|
||||
Description: QScintilla is a port to Qt of the Scintilla editing component. Features syntax highlighting, code-completion and much more (Barebone build without python bindings (missing dependeny PyQt) and without QtDesigner plugin)
|
||||
Build-Depends: qt5-base
|
||||
|
|
|
|||
|
|
@ -1,15 +1,3 @@
|
|||
# Common Ambient Variables:
|
||||
# CURRENT_BUILDTREES_DIR = ${VCPKG_ROOT_DIR}\buildtrees\${PORT}
|
||||
# CURRENT_PACKAGES_DIR = ${VCPKG_ROOT_DIR}\packages\${PORT}_${TARGET_TRIPLET}
|
||||
# CURRENT_PORT DIR = ${VCPKG_ROOT_DIR}\ports\${PORT}
|
||||
# PORT = current port name (zlib, etc)
|
||||
# TARGET_TRIPLET = current triplet (x86-windows, x64-windows-static, etc)
|
||||
# VCPKG_CRT_LINKAGE = C runtime linkage type (static, dynamic)
|
||||
# VCPKG_LIBRARY_LINKAGE = target library linkage type (static, dynamic)
|
||||
# VCPKG_ROOT_DIR = <C:\path\to\current\vcpkg>
|
||||
# VCPKG_TARGET_ARCHITECTURE = target architecture (x64, x86, arm)
|
||||
#
|
||||
|
||||
include(vcpkg_common_functions)
|
||||
set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/QScintilla_gpl-2.10)
|
||||
vcpkg_download_distfile(ARCHIVE
|
||||
|
|
@ -31,70 +19,24 @@ set(BUILD_OPTIONS
|
|||
CONFIG-=hide_symbols
|
||||
)
|
||||
|
||||
if(VCPKG_LIBRARY_LINKAGE STREQUAL static)
|
||||
set(BUILD_OPTIONS
|
||||
${BUILD_OPTIONS}
|
||||
CONFIG+=staticlib
|
||||
)
|
||||
endif()
|
||||
|
||||
SET(ENV{PATH} "$ENV{PATH};${CURRENT_INSTALLED_DIR}/bin;${CURRENT_INSTALLED_DIR}/debug/bin")
|
||||
|
||||
#Store build paths
|
||||
set(DEBUG_DIR "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg")
|
||||
set(RELEASE_DIR "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel")
|
||||
|
||||
file(REMOVE_RECURSE "${DEBUG_DIR}" "${RELEASE_DIR}")
|
||||
|
||||
#Configure debug
|
||||
vcpkg_configure_qmake_debug(
|
||||
vcpkg_configure_qmake(
|
||||
SOURCE_PATH ${SOURCE_PATH}/Qt4Qt5
|
||||
OPTIONS
|
||||
CONFIG+=build_all
|
||||
CONFIG-=hide_symbols
|
||||
)
|
||||
|
||||
#First generate the makefiles so we can modify them
|
||||
vcpkg_build_qmake_debug(TARGETS qmake_all)
|
||||
|
||||
#Store debug makefiles path
|
||||
file(GLOB_RECURSE DEBUG_MAKEFILES ${DEBUG_DIR}/*Makefile*)
|
||||
|
||||
foreach(DEBUG_MAKEFILE ${DEBUG_MAKEFILES})
|
||||
file(READ "${DEBUG_MAKEFILE}" _contents)
|
||||
string(REPLACE "zlib.lib" "zlibd.lib" _contents "${_contents}")
|
||||
string(REPLACE "installed\\${TARGET_TRIPLET}\\lib" "installed\\${TARGET_TRIPLET}\\debug\\lib" _contents "${_contents}")
|
||||
string(REPLACE "/LIBPATH:${NATIVE_INSTALLED_DIR}\\debug\\lib qtmaind.lib" "shell32.lib /LIBPATH:${NATIVE_INSTALLED_DIR}\\debug\\lib\\manual-link qtmaind.lib /LIBPATH:${NATIVE_INSTALLED_DIR}\\debug\\lib" _contents "${_contents}")
|
||||
file(WRITE "${DEBUG_MAKEFILE}" "${_contents}")
|
||||
endforeach()
|
||||
|
||||
#Build debug
|
||||
vcpkg_build_qmake_debug(TARGETS debug)
|
||||
|
||||
#Configure release
|
||||
vcpkg_configure_qmake_release(
|
||||
SOURCE_PATH ${SOURCE_PATH}/Qt4Qt5
|
||||
vcpkg_build_qmake(
|
||||
RELEASE_TARGETS release
|
||||
DEBUG_TARGETS debug
|
||||
)
|
||||
|
||||
#First generate the makefiles so we can modify them
|
||||
vcpkg_build_qmake_release(TARGETS qmake_all)
|
||||
|
||||
#Store release makefile path
|
||||
file(GLOB_RECURSE RELEASE_MAKEFILES ${RELEASE_DIR}/*Makefile*)
|
||||
|
||||
foreach(RELEASE_MAKEFILE ${RELEASE_MAKEFILES})
|
||||
file(READ "${RELEASE_MAKEFILE}" _contents)
|
||||
string(REPLACE "/LIBPATH:${NATIVE_INSTALLED_DIR}\\lib qtmain.lib" "shell32.lib /LIBPATH:${NATIVE_INSTALLED_DIR}\\lib\\manual-link qtmain.lib /LIBPATH:${NATIVE_INSTALLED_DIR}\\lib" _contents "${_contents}")
|
||||
file(WRITE "${RELEASE_MAKEFILE}" "${_contents}")
|
||||
endforeach()
|
||||
|
||||
#Build release
|
||||
vcpkg_build_qmake_release(TARGETS release)
|
||||
|
||||
#Set the correct install directory to packages
|
||||
foreach(MAKEFILE ${RELEASE_MAKEFILES} ${DEBUG_MAKEFILES})
|
||||
vcpkg_replace_string(${MAKEFILE} "(INSTALL_ROOT)${INSTALLED_DIR_WITHOUT_DRIVE}" "(INSTALL_ROOT)${PACKAGES_DIR_WITHOUT_DRIVE}")
|
||||
endforeach()
|
||||
|
||||
set(BUILD_DIR ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET})
|
||||
|
||||
file(GLOB HEADER_FILES ${SOURCE_PATH}/Qt4Qt5/Qsci/*)
|
||||
file(INSTALL ${HEADER_FILES} DESTINATION ${CURRENT_PACKAGES_DIR}/include/Qsci)
|
||||
|
||||
|
|
@ -120,11 +62,10 @@ if(VCPKG_LIBRARY_LINKAGE STREQUAL dynamic)
|
|||
${DEBUG_DIR}/debug/qscintilla2_qt5.dll
|
||||
DESTINATION ${CURRENT_PACKAGES_DIR}/debug/bin
|
||||
)
|
||||
endif()
|
||||
|
||||
vcpkg_copy_pdbs()
|
||||
|
||||
endif()
|
||||
|
||||
# Handle copyright
|
||||
file(COPY ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/qscintilla)
|
||||
file(RENAME ${CURRENT_PACKAGES_DIR}/share/qscintilla/LICENSE ${CURRENT_PACKAGES_DIR}/share/qscintilla/copyright)
|
||||
|
|
|
|||
|
|
@ -1,3 +1,3 @@
|
|||
Source: qt5-modularscripts
|
||||
Version: 0
|
||||
Version: 1
|
||||
Description: Vcpkg helpers to package qt5 modules
|
||||
|
|
|
|||
|
|
@ -34,8 +34,6 @@ function(qt_modular_library NAME HASH)
|
|||
set(DEBUG_DIR "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg")
|
||||
set(RELEASE_DIR "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel")
|
||||
|
||||
file(REMOVE_RECURSE "${DEBUG_DIR}" "${RELEASE_DIR}")
|
||||
|
||||
#Find Python and add it to the path
|
||||
vcpkg_find_acquire_program(PYTHON2)
|
||||
get_filename_component(PYTHON2_EXE_PATH ${PYTHON2} DIRECTORY)
|
||||
|
|
@ -43,51 +41,14 @@ function(qt_modular_library NAME HASH)
|
|||
|
||||
file(TO_NATIVE_PATH "${CURRENT_INSTALLED_DIR}" NATIVE_INSTALLED_DIR)
|
||||
file(TO_NATIVE_PATH "${CURRENT_PACKAGES_DIR}" NATIVE_PACKAGES_DIR)
|
||||
|
||||
|
||||
string(SUBSTRING "${NATIVE_INSTALLED_DIR}" 2 -1 INSTALLED_DIR_WITHOUT_DRIVE)
|
||||
string(SUBSTRING "${NATIVE_PACKAGES_DIR}" 2 -1 PACKAGES_DIR_WITHOUT_DRIVE)
|
||||
|
||||
#Configure debug
|
||||
vcpkg_configure_qmake_debug(
|
||||
SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/${SRCDIR_NAME}
|
||||
)
|
||||
#Configure debug+release
|
||||
vcpkg_configure_qmake(SOURCE_PATH ${SOURCE_PATH})
|
||||
|
||||
#First generate the makefiles so we can modify them
|
||||
vcpkg_build_qmake_debug(TARGETS qmake_all)
|
||||
|
||||
#Store debug makefiles path
|
||||
file(GLOB_RECURSE DEBUG_MAKEFILES ${DEBUG_DIR}/*Makefile*)
|
||||
|
||||
foreach(DEBUG_MAKEFILE ${DEBUG_MAKEFILES})
|
||||
file(READ "${DEBUG_MAKEFILE}" _contents)
|
||||
string(REPLACE "zlib.lib" "zlibd.lib" _contents "${_contents}")
|
||||
string(REPLACE "installed\\${TARGET_TRIPLET}\\lib" "installed\\${TARGET_TRIPLET}\\debug\\lib" _contents "${_contents}")
|
||||
string(REPLACE "/LIBPATH:${NATIVE_INSTALLED_DIR}\\debug\\lib qtmaind.lib" "shell32.lib /LIBPATH:${NATIVE_INSTALLED_DIR}\\debug\\lib\\manual-link qtmaind.lib /LIBPATH:${NATIVE_INSTALLED_DIR}\\debug\\lib" _contents "${_contents}")
|
||||
file(WRITE "${DEBUG_MAKEFILE}" "${_contents}")
|
||||
endforeach()
|
||||
|
||||
#Build debug
|
||||
vcpkg_build_qmake_debug()
|
||||
|
||||
#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 qmake_all)
|
||||
|
||||
#Store release makefile path
|
||||
file(GLOB_RECURSE RELEASE_MAKEFILES ${RELEASE_DIR}/*Makefile*)
|
||||
|
||||
foreach(RELEASE_MAKEFILE ${RELEASE_MAKEFILES})
|
||||
file(READ "${RELEASE_MAKEFILE}" _contents)
|
||||
string(REPLACE "/LIBPATH:${NATIVE_INSTALLED_DIR}\\lib qtmain.lib" "shell32.lib /LIBPATH:${NATIVE_INSTALLED_DIR}\\lib\\manual-link qtmain.lib /LIBPATH:${NATIVE_INSTALLED_DIR}\\lib" _contents "${_contents}")
|
||||
file(WRITE "${RELEASE_MAKEFILE}" "${_contents}")
|
||||
endforeach()
|
||||
|
||||
#Build release
|
||||
vcpkg_build_qmake_release()
|
||||
vcpkg_build_qmake()
|
||||
|
||||
#Fix the cmake files if they exist
|
||||
if(EXISTS ${RELEASE_DIR}/lib/cmake)
|
||||
|
|
@ -97,15 +58,16 @@ function(qt_modular_library NAME HASH)
|
|||
LOGNAME fix-cmake
|
||||
)
|
||||
endif()
|
||||
|
||||
|
||||
file(GLOB_RECURSE MAKEFILES ${DEBUG_DIR}/*Makefile* ${RELEASE_DIR}/*Makefile*)
|
||||
|
||||
#Set the correct install directory to packages
|
||||
foreach(MAKEFILE ${RELEASE_MAKEFILES} ${DEBUG_MAKEFILES})
|
||||
foreach(MAKEFILE ${MAKEFILES})
|
||||
vcpkg_replace_string(${MAKEFILE} "(INSTALL_ROOT)${INSTALLED_DIR_WITHOUT_DRIVE}" "(INSTALL_ROOT)${PACKAGES_DIR_WITHOUT_DRIVE}")
|
||||
endforeach()
|
||||
|
||||
#Install the module files
|
||||
vcpkg_build_qmake_debug(TARGETS install)
|
||||
vcpkg_build_qmake_release(TARGETS install)
|
||||
vcpkg_build_qmake(TARGETS install SKIP_MAKEFILES BUILD_LOGNAME install)
|
||||
|
||||
#Remove extra cmake files
|
||||
if(EXISTS ${CURRENT_PACKAGES_DIR}/lib/cmake)
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
Source: qwt
|
||||
Version: 6.1.3-3
|
||||
Version: 6.1.3-4
|
||||
Description: Qt widgets library for technical applications
|
||||
Build-Depends: qt5-base, qt5-svg
|
||||
|
|
|
|||
|
|
@ -21,57 +21,16 @@ else()
|
|||
)
|
||||
endif()
|
||||
|
||||
# The qwt build requires zlib1.dll
|
||||
SET(ENV{PATH} "$ENV{PATH};${CURRENT_INSTALLED_DIR}/bin;${CURRENT_INSTALLED_DIR}/debug/bin")
|
||||
|
||||
#Store build paths
|
||||
set(DEBUG_DIR "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg")
|
||||
set(RELEASE_DIR "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel")
|
||||
|
||||
file(REMOVE_RECURSE "${DEBUG_DIR}" "${RELEASE_DIR}")
|
||||
vcpkg_configure_qmake(SOURCE_PATH ${SOURCE_PATH})
|
||||
|
||||
#Configure debug
|
||||
vcpkg_configure_qmake_debug(
|
||||
SOURCE_PATH ${SOURCE_PATH}
|
||||
vcpkg_build_qmake(
|
||||
RELEASE_TARGETS sub-src-release_ordered
|
||||
DEBUG_TARGETS sub-src-debug_ordered
|
||||
)
|
||||
|
||||
#First generate the makefiles so we can modify them
|
||||
vcpkg_build_qmake_debug(TARGETS qmake_all)
|
||||
|
||||
#Store debug makefiles path
|
||||
file(GLOB_RECURSE DEBUG_MAKEFILES ${DEBUG_DIR}/*Makefile*)
|
||||
|
||||
foreach(DEBUG_MAKEFILE ${DEBUG_MAKEFILES})
|
||||
file(READ "${DEBUG_MAKEFILE}" _contents)
|
||||
string(REPLACE "zlib.lib" "zlibd.lib" _contents "${_contents}")
|
||||
string(REPLACE "installed\\${TARGET_TRIPLET}\\lib" "installed\\${TARGET_TRIPLET}\\debug\\lib" _contents "${_contents}")
|
||||
string(REPLACE "/LIBPATH:${NATIVE_INSTALLED_DIR}\\debug\\lib qtmaind.lib" "shell32.lib /LIBPATH:${NATIVE_INSTALLED_DIR}\\debug\\lib\\manual-link qtmaind.lib /LIBPATH:${NATIVE_INSTALLED_DIR}\\debug\\lib" _contents "${_contents}")
|
||||
file(WRITE "${DEBUG_MAKEFILE}" "${_contents}")
|
||||
endforeach()
|
||||
|
||||
#Build debug
|
||||
vcpkg_build_qmake_debug(TARGETS sub-src-debug_ordered)
|
||||
|
||||
#Configure release
|
||||
vcpkg_configure_qmake_release(
|
||||
SOURCE_PATH ${SOURCE_PATH}
|
||||
)
|
||||
|
||||
#First generate the makefiles so we can modify them
|
||||
vcpkg_build_qmake_release(TARGETS qmake_all)
|
||||
|
||||
#Store release makefile path
|
||||
file(GLOB_RECURSE RELEASE_MAKEFILES ${RELEASE_DIR}/*Makefile*)
|
||||
|
||||
foreach(RELEASE_MAKEFILE ${RELEASE_MAKEFILES})
|
||||
file(READ "${RELEASE_MAKEFILE}" _contents)
|
||||
string(REPLACE "/LIBPATH:${NATIVE_INSTALLED_DIR}\\lib qtmain.lib" "shell32.lib /LIBPATH:${NATIVE_INSTALLED_DIR}\\lib\\manual-link qtmain.lib /LIBPATH:${NATIVE_INSTALLED_DIR}\\lib" _contents "${_contents}")
|
||||
file(WRITE "${RELEASE_MAKEFILE}" "${_contents}")
|
||||
endforeach()
|
||||
|
||||
#Build release
|
||||
vcpkg_build_qmake_release(TARGETS sub-src-release_ordered)
|
||||
|
||||
#Set the correct install directory to packages
|
||||
foreach(MAKEFILE ${RELEASE_MAKEFILES} ${DEBUG_MAKEFILES})
|
||||
vcpkg_replace_string(${MAKEFILE} "(INSTALL_ROOT)${INSTALLED_DIR_WITHOUT_DRIVE}" "(INSTALL_ROOT)${PACKAGES_DIR_WITHOUT_DRIVE}")
|
||||
|
|
@ -92,7 +51,7 @@ file(INSTALL
|
|||
DESTINATION ${CURRENT_PACKAGES_DIR}/debug/lib
|
||||
)
|
||||
|
||||
if(VCPKG_LIBRARY_LINKAGE STREQUAL dynamic)
|
||||
if(VCPKG_LIBRARY_LINKAGE STREQUAL "dynamic")
|
||||
file(INSTALL
|
||||
${RELEASE_DIR}/lib/qwt.dll
|
||||
DESTINATION ${CURRENT_PACKAGES_DIR}/bin
|
||||
|
|
@ -100,11 +59,12 @@ if(VCPKG_LIBRARY_LINKAGE STREQUAL dynamic)
|
|||
|
||||
file(INSTALL
|
||||
${DEBUG_DIR}/lib/qwtd.dll
|
||||
${DEBUG_DIR}/lib/qwtd.pdb
|
||||
DESTINATION ${CURRENT_PACKAGES_DIR}/debug/bin
|
||||
)
|
||||
endif()
|
||||
|
||||
vcpkg_copy_pdbs()
|
||||
|
||||
# Handle copyright
|
||||
file(COPY ${SOURCE_PATH}/COPYING DESTINATION ${CURRENT_PACKAGES_DIR}/share/qwt)
|
||||
file(RENAME ${CURRENT_PACKAGES_DIR}/share/qwt/COPYING ${CURRENT_PACKAGES_DIR}/share/qwt/copyright)
|
||||
|
|
|
|||
|
|
@ -1,31 +1,81 @@
|
|||
#.rst:
|
||||
# .. command:: vcpkg_build_qmake
|
||||
#
|
||||
# Build a qmake-based project, previously configured using vcpkg_configure_qmake .
|
||||
# As the CONFIG qmake option is assumed to be "debug_and_release" (the default value on Windows, see [1]),
|
||||
# both the debug and release libraries are build in the same build tree.
|
||||
# Build a qmake-based project, previously configured using vcpkg_configure_qmake.
|
||||
#
|
||||
# ::
|
||||
# vcpkg_build_qmake()
|
||||
#
|
||||
#
|
||||
# [1] : http://doc.qt.io/qt-5/qmake-variable-reference.html
|
||||
|
||||
function(vcpkg_build_qmake)
|
||||
cmake_parse_arguments(_csc "SKIP_MAKEFILES" "BUILD_LOGNAME" "TARGETS;RELEASE_TARGETS;DEBUG_TARGETS" ${ARGN})
|
||||
vcpkg_find_acquire_program(JOM)
|
||||
|
||||
# Make sure that the linker finds the libraries used
|
||||
set(ENV_PATH_BACKUP "$ENV{PATH}")
|
||||
set(ENV{PATH} "${CURRENT_INSTALLED_DIR}/lib;${CURRENT_INSTALLED_DIR}/debug/lib;${CURRENT_INSTALLED_DIR}/bin;${CURRENT_INSTALLED_DIR}/debug/bin;${CURRENT_INSTALLED_DIR}/tools/qt5;$ENV{PATH}")
|
||||
|
||||
message(STATUS "Package ${TARGET_TRIPLET}")
|
||||
vcpkg_execute_required_process(
|
||||
COMMAND ${JOM}
|
||||
WORKING_DIRECTORY ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}
|
||||
LOGNAME package-${TARGET_TRIPLET}
|
||||
)
|
||||
message(STATUS "Package ${TARGET_TRIPLET} done")
|
||||
set(DEBUG_DIR ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg)
|
||||
set(RELEASE_DIR ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel)
|
||||
|
||||
file(TO_NATIVE_PATH "${CURRENT_INSTALLED_DIR}" NATIVE_INSTALLED_DIR)
|
||||
|
||||
list(APPEND _csc_RELEASE_TARGETS ${_csc_TARGETS})
|
||||
list(APPEND _csc_DEBUG_TARGETS ${_csc_TARGETS})
|
||||
|
||||
if(NOT _csc_BUILD_LOGNAME)
|
||||
set(_csc_BUILD_LOGNAME build)
|
||||
endif()
|
||||
|
||||
function(run_jom TARGETS LOG_PREFIX LOG_SUFFIX)
|
||||
message(STATUS "Package ${LOG_PREFIX}-${TARGET_TRIPLET}-${LOG_SUFFIX}")
|
||||
vcpkg_execute_required_process(
|
||||
COMMAND ${JOM} ${TARGETS}
|
||||
WORKING_DIRECTORY ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-${LOG_SUFFIX}
|
||||
LOGNAME package-${LOG_PREFIX}-${TARGET_TRIPLET}-${LOG_SUFFIX}
|
||||
)
|
||||
message(STATUS "Package ${LOG_PREFIX}-${TARGET_TRIPLET}-${LOG_SUFFIX} done")
|
||||
endfunction()
|
||||
|
||||
# This fixes issues on machines with default codepages that are not ASCII compatible, such as some CJK encodings
|
||||
set(ENV_CL_BACKUP "$ENV{_CL_}")
|
||||
set(ENV{_CL_} "/utf-8")
|
||||
|
||||
#First generate the makefiles so we can modify them
|
||||
set(ENV{PATH} "${CURRENT_INSTALLED_DIR}/debug/lib;${CURRENT_INSTALLED_DIR}/debug/bin;${CURRENT_INSTALLED_DIR}/tools/qt5;${ENV_PATH_BACKUP}")
|
||||
if(NOT _csc_SKIP_MAKEFILES)
|
||||
run_jom(qmake_all makefiles dbg)
|
||||
|
||||
#Store debug makefiles path
|
||||
file(GLOB_RECURSE DEBUG_MAKEFILES ${DEBUG_DIR}/*Makefile*)
|
||||
|
||||
foreach(DEBUG_MAKEFILE ${DEBUG_MAKEFILES})
|
||||
file(READ "${DEBUG_MAKEFILE}" _contents)
|
||||
string(REPLACE "zlib.lib" "zlibd.lib" _contents "${_contents}")
|
||||
string(REPLACE "installed\\${TARGET_TRIPLET}\\lib" "installed\\${TARGET_TRIPLET}\\debug\\lib" _contents "${_contents}")
|
||||
string(REPLACE "/LIBPATH:${NATIVE_INSTALLED_DIR}\\debug\\lib qtmaind.lib" "shell32.lib /LIBPATH:${NATIVE_INSTALLED_DIR}\\debug\\lib\\manual-link qtmaind.lib /LIBPATH:${NATIVE_INSTALLED_DIR}\\debug\\lib" _contents "${_contents}")
|
||||
file(WRITE "${DEBUG_MAKEFILE}" "${_contents}")
|
||||
endforeach()
|
||||
endif()
|
||||
|
||||
run_jom("${_csc_DEBUG_TARGETS}" ${_csc_BUILD_LOGNAME} dbg)
|
||||
|
||||
set(ENV{PATH} "${CURRENT_INSTALLED_DIR}/lib;${CURRENT_INSTALLED_DIR}/bin;${CURRENT_INSTALLED_DIR}/tools/qt5;${ENV_PATH_BACKUP}")
|
||||
if(NOT _csc_SKIP_MAKEFILES)
|
||||
run_jom(qmake_all makefiles rel)
|
||||
|
||||
#Store release makefile path
|
||||
file(GLOB_RECURSE RELEASE_MAKEFILES ${RELEASE_DIR}/*Makefile*)
|
||||
|
||||
foreach(RELEASE_MAKEFILE ${RELEASE_MAKEFILES})
|
||||
file(READ "${RELEASE_MAKEFILE}" _contents)
|
||||
string(REPLACE "/LIBPATH:${NATIVE_INSTALLED_DIR}\\lib qtmain.lib" "shell32.lib /LIBPATH:${NATIVE_INSTALLED_DIR}\\lib\\manual-link qtmain.lib /LIBPATH:${NATIVE_INSTALLED_DIR}\\lib" _contents "${_contents}")
|
||||
file(WRITE "${RELEASE_MAKEFILE}" "${_contents}")
|
||||
endforeach()
|
||||
endif()
|
||||
|
||||
run_jom("${_csc_RELEASE_TARGETS}" ${_csc_BUILD_LOGNAME} rel)
|
||||
|
||||
# Restore the original value of ENV{PATH}
|
||||
set(ENV{PATH} "${ENV_PATH_BACKUP}")
|
||||
set(ENV{_CL_} "${ENV_CL_BACKUP}")
|
||||
endfunction()
|
||||
|
|
|
|||
|
|
@ -1,30 +0,0 @@
|
|||
#.rst:
|
||||
# .. command:: vcpkg_build_qmake_debug
|
||||
#
|
||||
# Build a qmake-based project, previously configured using vcpkg_configure_qmake_debug.
|
||||
#
|
||||
# ::
|
||||
# vcpkg_build_qmake_debug()
|
||||
#
|
||||
#
|
||||
# [1] : http://doc.qt.io/qt-5/qmake-variable-reference.html
|
||||
|
||||
function(vcpkg_build_qmake_debug)
|
||||
cmake_parse_arguments(_csc "" "" "TARGETS" ${ARGN})
|
||||
vcpkg_find_acquire_program(JOM)
|
||||
|
||||
# Make sure that the linker finds the libraries used
|
||||
set(ENV_PATH_BACKUP "$ENV{PATH}")
|
||||
set(ENV{PATH} "${CURRENT_INSTALLED_DIR}/debug/lib;${CURRENT_INSTALLED_DIR}/debug/bin;${CURRENT_INSTALLED_DIR}/debug/tools/qt5;$ENV{PATH}")
|
||||
|
||||
message(STATUS "Package ${TARGET_TRIPLET}-dbg")
|
||||
vcpkg_execute_required_process(
|
||||
COMMAND ${JOM} ${_csc_TARGETS}
|
||||
WORKING_DIRECTORY ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg
|
||||
LOGNAME package-${TARGET_TRIPLET}-dbg
|
||||
)
|
||||
message(STATUS "Package ${TARGET_TRIPLET}-dbg done")
|
||||
|
||||
# Restore the original value of ENV{PATH}
|
||||
set(ENV{PATH} "${ENV_PATH_BACKUP}")
|
||||
endfunction()
|
||||
|
|
@ -1,30 +0,0 @@
|
|||
#.rst:
|
||||
# .. command:: vcpkg_build_qmake_release
|
||||
#
|
||||
# Build a qmake-based project, previously configured using vcpkg_configure_qmake_release.
|
||||
#
|
||||
# ::
|
||||
# vcpkg_build_qmake_release()
|
||||
#
|
||||
#
|
||||
# [1] : http://doc.qt.io/qt-5/qmake-variable-reference.html
|
||||
|
||||
function(vcpkg_build_qmake_release)
|
||||
cmake_parse_arguments(_csc "" "" "TARGETS" ${ARGN})
|
||||
vcpkg_find_acquire_program(JOM)
|
||||
|
||||
# Make sure that the linker finds the libraries used
|
||||
set(ENV_PATH_BACKUP "$ENV{PATH}")
|
||||
set(ENV{PATH} "${CURRENT_INSTALLED_DIR}/lib;${CURRENT_INSTALLED_DIR}/bin;${CURRENT_INSTALLED_DIR}/tools/qt5;$ENV{PATH}")
|
||||
|
||||
message(STATUS "Package ${TARGET_TRIPLET}-rel")
|
||||
vcpkg_execute_required_process(
|
||||
COMMAND ${JOM} ${_csc_TARGETS}
|
||||
WORKING_DIRECTORY ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel
|
||||
LOGNAME package-${TARGET_TRIPLET}-rel
|
||||
)
|
||||
message(STATUS "Package ${TARGET_TRIPLET}-rel done")
|
||||
|
||||
# Restore the original value of ENV{PATH}
|
||||
set(ENV{PATH} "${ENV_PATH_BACKUP}")
|
||||
endfunction()
|
||||
|
|
@ -10,15 +10,11 @@ include(vcpkg_from_bitbucket)
|
|||
include(vcpkg_build_cmake)
|
||||
include(vcpkg_build_msbuild)
|
||||
include(vcpkg_build_qmake)
|
||||
include(vcpkg_build_qmake_debug)
|
||||
include(vcpkg_build_qmake_release)
|
||||
include(vcpkg_install_cmake)
|
||||
include(vcpkg_install_meson)
|
||||
include(vcpkg_configure_cmake)
|
||||
include(vcpkg_configure_meson)
|
||||
include(vcpkg_configure_qmake)
|
||||
include(vcpkg_configure_qmake_debug)
|
||||
include(vcpkg_configure_qmake_release)
|
||||
include(vcpkg_apply_patches)
|
||||
include(vcpkg_copy_pdbs)
|
||||
include(vcpkg_copy_tool_dependencies)
|
||||
|
|
|
|||
|
|
@ -2,11 +2,6 @@
|
|||
# .. command:: vcpkg_configure_qmake
|
||||
#
|
||||
# Configure a qmake-based project.
|
||||
# It is assume that the qmake project CONFIG variable is
|
||||
# "debug_and_release" (the default value on Windows, see [1]).
|
||||
# Using this option, only one Makefile for building both Release and Debug
|
||||
# libraries is generated, that then can be run using the vcpkg_build_qmake
|
||||
# command.
|
||||
#
|
||||
# ::
|
||||
# vcpkg_configure_qmake(SOURCE_PATH <pro_file_path>
|
||||
|
|
@ -17,28 +12,44 @@
|
|||
# The path to the *.pro qmake project file.
|
||||
# ``OPTIONS``
|
||||
# The options passed to qmake.
|
||||
#
|
||||
# [1] : http://doc.qt.io/qt-5/qmake-variable-reference.html
|
||||
|
||||
function(vcpkg_configure_qmake)
|
||||
cmake_parse_arguments(_csc "" "SOURCE_PATH" "OPTIONS" ${ARGN})
|
||||
|
||||
# Find qmake exectuable
|
||||
# Find qmake executable
|
||||
find_program(QMAKE_COMMAND NAMES qmake.exe PATHS ${CURRENT_INSTALLED_DIR}/tools/qt5)
|
||||
|
||||
if(NOT QMAKE_COMMAND)
|
||||
message(FATAL_ERROR "vcpkg_configure_qmake: unable to find qmake.")
|
||||
endif()
|
||||
|
||||
# Cleanup build directories
|
||||
file(REMOVE_RECURSE ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET})
|
||||
if(VCPKG_LIBRARY_LINKAGE STREQUAL "static")
|
||||
list(APPEND _csc_OPTIONS CONFIG+=staticlib)
|
||||
endif()
|
||||
|
||||
message(STATUS "Configuring ${TARGET_TRIPLET}")
|
||||
file(MAKE_DIRECTORY ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET})
|
||||
# Cleanup build directories
|
||||
file(REMOVE_RECURSE ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg)
|
||||
|
||||
configure_file(${CURRENT_INSTALLED_DIR}/tools/qt5/qt_release.conf ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel/qt.conf)
|
||||
|
||||
message(STATUS "Configuring ${TARGET_TRIPLET}-rel")
|
||||
file(MAKE_DIRECTORY ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel)
|
||||
vcpkg_execute_required_process(
|
||||
COMMAND ${QMAKE_COMMAND} ${_csc_OPTIONS} -d ${_csc_SOURCE_PATH}
|
||||
WORKING_DIRECTORY ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}
|
||||
LOGNAME config-${TARGET_TRIPLET}
|
||||
COMMAND ${QMAKE_COMMAND} CONFIG-=debug CONFIG+=release ${_csc_OPTIONS} -d ${_csc_SOURCE_PATH} -qtconf "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel/qt.conf"
|
||||
WORKING_DIRECTORY ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel
|
||||
LOGNAME config-${TARGET_TRIPLET}-rel
|
||||
)
|
||||
message(STATUS "Configuring ${TARGET_TRIPLET} done")
|
||||
message(STATUS "Configuring ${TARGET_TRIPLET}-rel done")
|
||||
|
||||
configure_file(${CURRENT_INSTALLED_DIR}/tools/qt5/qt_debug.conf ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg/qt.conf)
|
||||
|
||||
message(STATUS "Configuring ${TARGET_TRIPLET}-dbg")
|
||||
file(MAKE_DIRECTORY ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg)
|
||||
vcpkg_execute_required_process(
|
||||
COMMAND ${QMAKE_COMMAND} CONFIG-=release CONFIG+=debug ${_csc_OPTIONS} -d ${_csc_SOURCE_PATH} -qtconf "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg/qt.conf"
|
||||
WORKING_DIRECTORY ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg
|
||||
LOGNAME config-${TARGET_TRIPLET}-dbg
|
||||
)
|
||||
message(STATUS "Configuring ${TARGET_TRIPLET}-dbg done")
|
||||
|
||||
endfunction()
|
||||
|
|
@ -1,46 +0,0 @@
|
|||
#.rst:
|
||||
# .. command:: vcpkg_configure_qmake_debug
|
||||
#
|
||||
# Configure a qmake-based project.
|
||||
# This sets the config variable to debug and outputs to
|
||||
# a debug triplet directory.
|
||||
#
|
||||
# ::
|
||||
# vcpkg_configure_qmake_debug(SOURCE_PATH <pro_file_path>
|
||||
# [OPTIONS arg1 [arg2 ...]]
|
||||
# )
|
||||
#
|
||||
# ``SOURCE_PATH``
|
||||
# The path to the *.pro qmake project file.
|
||||
# ``OPTIONS``
|
||||
# The options passed to qmake.
|
||||
#
|
||||
# [1] : http://doc.qt.io/qt-5/qmake-variable-reference.html
|
||||
|
||||
function(vcpkg_configure_qmake_debug)
|
||||
cmake_parse_arguments(_csc "" "SOURCE_PATH" "OPTIONS" ${ARGN})
|
||||
|
||||
# Find qmake exectuable
|
||||
find_program(QMAKE_COMMAND NAMES qmake.exe PATHS ${CURRENT_INSTALLED_DIR}/tools/qt5)
|
||||
|
||||
if(NOT QMAKE_COMMAND)
|
||||
message(FATAL_ERROR "vcpkg_configure_qmake: unable to find qmake.")
|
||||
endif()
|
||||
|
||||
# Cleanup build directories
|
||||
file(REMOVE_RECURSE ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg)
|
||||
|
||||
configure_file(${CURRENT_INSTALLED_DIR}/tools/qt5/qt_debug.conf ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel/qt.conf)
|
||||
|
||||
message(STATUS "Configuring ${TARGET_TRIPLET}-dbg")
|
||||
file(MAKE_DIRECTORY ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg)
|
||||
vcpkg_execute_required_process(
|
||||
COMMAND ${QMAKE_COMMAND} CONFIG-=release CONFIG+=debug ${_csc_OPTIONS} -d ${_csc_SOURCE_PATH} -qtconf "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel/qt.conf"
|
||||
WORKING_DIRECTORY ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg
|
||||
LOGNAME config-${TARGET_TRIPLET}-dbg
|
||||
)
|
||||
message(STATUS "Configuring ${TARGET_TRIPLET}-dbg done")
|
||||
unset(QMAKE_COMMAND)
|
||||
unset(QMAKE_COMMAND PARENT_SCOPE)
|
||||
unset(QMAKE_COMMAND CACHE)
|
||||
endfunction()
|
||||
|
|
@ -1,46 +0,0 @@
|
|||
#.rst:
|
||||
# .. command:: vcpkg_configure_qmake_release
|
||||
#
|
||||
# Configure a qmake-based project.
|
||||
# This sets the config variable to release and outputs to
|
||||
# a release triplet directory.
|
||||
#
|
||||
# ::
|
||||
# vcpkg_configure_qmake_release(SOURCE_PATH <pro_file_path>
|
||||
# [OPTIONS arg1 [arg2 ...]]
|
||||
# )
|
||||
#
|
||||
# ``SOURCE_PATH``
|
||||
# The path to the *.pro qmake project file.
|
||||
# ``OPTIONS``
|
||||
# The options passed to qmake.
|
||||
#
|
||||
# [1] : http://doc.qt.io/qt-5/qmake-variable-reference.html
|
||||
|
||||
function(vcpkg_configure_qmake_release)
|
||||
cmake_parse_arguments(_csc "" "SOURCE_PATH" "OPTIONS" ${ARGN})
|
||||
|
||||
# Find qmake exectuable
|
||||
find_program(QMAKE_COMMAND NAMES qmake.exe PATHS ${CURRENT_INSTALLED_DIR}/tools/qt5)
|
||||
|
||||
if(NOT QMAKE_COMMAND)
|
||||
message(FATAL_ERROR "vcpkg_configure_qmake: unable to find qmake.")
|
||||
endif()
|
||||
|
||||
# Cleanup build directories
|
||||
file(REMOVE_RECURSE ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel)
|
||||
|
||||
configure_file(${CURRENT_INSTALLED_DIR}/tools/qt5/qt_release.conf ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel/qt.conf)
|
||||
|
||||
message(STATUS "Configuring ${TARGET_TRIPLET}-rel")
|
||||
file(MAKE_DIRECTORY ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel)
|
||||
vcpkg_execute_required_process(
|
||||
COMMAND ${QMAKE_COMMAND} CONFIG-=debug CONFIG+=release ${_csc_OPTIONS} -d ${_csc_SOURCE_PATH} -qtconf "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel/qt.conf"
|
||||
WORKING_DIRECTORY ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel
|
||||
LOGNAME config-${TARGET_TRIPLET}-rel
|
||||
)
|
||||
message(STATUS "Configuring ${TARGET_TRIPLET}-rel done")
|
||||
unset(QMAKE_COMMAND)
|
||||
unset(QMAKE_COMMAND PARENT_SCOPE)
|
||||
unset(QMAKE_COMMAND CACHE)
|
||||
endfunction()
|
||||
Loading…
Reference in New Issue