aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBarath Kannan <barathsotd@gmail.com>2016-10-25 12:39:50 +1100
committerBarath Kannan <barathsotd@gmail.com>2016-10-25 12:39:50 +1100
commit8dbeacd5ad5d9a1d5719f9e84c1f91ee93a2d37d (patch)
treee5b31048057bbfc3ee66d61fb604154c541fe518
parent0af6ca8123b280f082ce6286700ee1a6e5b9a0f2 (diff)
downloadvcpkg-8dbeacd5ad5d9a1d5719f9e84c1f91ee93a2d37d.tar.gz
vcpkg-8dbeacd5ad5d9a1d5719f9e84c1f91ee93a2d37d.zip
static linkage and jom fixes
-rw-r--r--ports/qt5/CONTROL2
-rw-r--r--ports/qt5/portfile.cmake25
-rw-r--r--scripts/cmake/vcpkg_find_acquire_program.cmake10
3 files changed, 29 insertions, 8 deletions
diff --git a/ports/qt5/CONTROL b/ports/qt5/CONTROL
index 6afd3e5c5..acdfd4ec8 100644
--- a/ports/qt5/CONTROL
+++ b/ports/qt5/CONTROL
@@ -1,4 +1,4 @@
Source: qt5
Version: 5.7
Build-Depends:
-Description: Qt5 base components.
+Description: Qt5 application framework base components. Webengine, examples and tests not included.
diff --git a/ports/qt5/portfile.cmake b/ports/qt5/portfile.cmake
index 53abe8e02..c7358dec6 100644
--- a/ports/qt5/portfile.cmake
+++ b/ports/qt5/portfile.cmake
@@ -1,7 +1,8 @@
+include(${CMAKE_TRIPLET_FILE})
include(vcpkg_common_functions)
set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/qt-5.7.0)
-set(ENV{QMAKESPEC} win32-msvc2015)
set(OUTPUT_PATH ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET})
+set(ENV{QMAKESPEC} win32-msvc2015)
set(ENV{QTDIR} ${OUTPUT_PATH}/qtbase)
set(ENV{PATH} "${OUTPUT_PATH}/qtbase/bin;$ENV{PATH}")
@@ -22,10 +23,16 @@ endif()
file(MAKE_DIRECTORY ${OUTPUT_PATH})
message(STATUS "Configuring ${TARGET_TRIPLET}")
+
+#if(DEFINED VCPKG_CRT_LINKAGE AND VCPKG_CRT_LINKAGE STREQUAL static)
+# list(APPEND QT_RUNTIME_LINKAGE "-static")
+# list(APPEND QT_RUNTIME_LINKAGE "-static-runtime")
+#endif()
+
vcpkg_execute_required_process(
COMMAND "${SOURCE_PATH}/configure.bat"
-confirm-license -opensource
- -debug-and-release -force-debug-info
+ -debug-and-release -force-debug-info ${QT_RUNTIME_LINKAGE}
-nomake examples -nomake tests -skip webengine
-prefix "${CURRENT_PACKAGES_DIR}"
WORKING_DIRECTORY ${OUTPUT_PATH}
@@ -92,6 +99,20 @@ file(RENAME ${CURRENT_PACKAGES_DIR}/debug/lib/Qt5Gamepad.lib ${CURRENT_PACKAGES_
file(RENAME ${CURRENT_PACKAGES_DIR}/debug/lib/Qt5Gamepad.prl ${CURRENT_PACKAGES_DIR}/lib/Qt5Gamepad.prl)
file(GLOB BINARY_TOOLS "${CURRENT_PACKAGES_DIR}/bin/*.exe")
file(MAKE_DIRECTORY ${CURRENT_PACKAGES_DIR}/tools)
+foreach(BINARY ${BINARY_TOOLS})
+ execute_process(COMMAND dumpbin /PDBPATH ${BINARY}
+ COMMAND findstr PDB
+ OUTPUT_VARIABLE PDB_LINE
+ ERROR_QUIET
+ RESULT_VARIABLE error_code
+ )
+ if(NOT error_code AND PDB_LINE MATCHES "PDB file found at")
+ string(REGEX MATCH '.*' PDB_PATH ${PDB_LINE}) # Extract the path which is in single quotes
+ string(REPLACE ' "" PDB_PATH ${PDB_PATH}) # Remove single quotes
+ file(INSTALL ${PDB_PATH} DESTINATION ${CURRENT_PACKAGES_DIR}/tools)
+ file(REMOVE ${PDB_PATH})
+ endif()
+endforeach()
file(INSTALL ${BINARY_TOOLS} DESTINATION ${CURRENT_PACKAGES_DIR}/tools)
FILE(REMOVE ${BINARY_TOOLS})
diff --git a/scripts/cmake/vcpkg_find_acquire_program.cmake b/scripts/cmake/vcpkg_find_acquire_program.cmake
index 230c4b1e7..0e993b78b 100644
--- a/scripts/cmake/vcpkg_find_acquire_program.cmake
+++ b/scripts/cmake/vcpkg_find_acquire_program.cmake
@@ -25,11 +25,11 @@ function(vcpkg_find_acquire_program VAR)
set(NOEXTRACT ON)
set(HASH 850b26be5bbbdaeaf45ac39dd27f69f1a85e600c35afbd16b9f621396b3c7a19863ea3ff316b025b578fce0a8280eef2203306a2b3e46ee1389abb65313fb720)
elseif(VAR MATCHES "JOM")
-set(PROGNAME jom)
-set(PATHS ${DOWNLOADS}/tools/jom/jom-1.1.1)
-set(URL "http://download.qt.io/official_releases/jom/jom_1_1_1.zip")
-set(ARCHIVE "jom_1_1_1.zip")
-set(HASH 850b26be5bbbdaeaf45ac39dd27f69f1a85e600c35afbd16b9f621396b3c7a19863ea3ff316b025b578fce0a8280eef2203306a2b3e46ee1389abb65313fb720)
+ set(PROGNAME jom)
+ set(PATHS ${DOWNLOADS}/tools/jom)
+ set(URL "http://download.qt.io/official_releases/jom/jom_1_1_1.zip")
+ set(ARCHIVE "jom_1_1_1.zip")
+ set(HASH 23a26dc7e29979bec5dcd3bfcabf76397b93ace64f5d46f2254d6420158bac5eff1c1a8454e3427e7a2fe2c233c5f2cffc87b376772399e12e40b51be2c065f4)
else()
message(FATAL "unknown tool ${VAR} -- unable to acquire.")
endif()