diff options
| author | Robert Schumacher <roschuma@microsoft.com> | 2017-05-22 20:26:56 -0700 |
|---|---|---|
| committer | Robert Schumacher <roschuma@microsoft.com> | 2017-05-22 20:26:56 -0700 |
| commit | 54be2d5e91a3feb586e7edf9681cd146d342fad8 (patch) | |
| tree | b081704620391ef49c65c791037fe1772357b0fe | |
| parent | 082c827fd38eabf3a8f60407cbc19df715432143 (diff) | |
| download | vcpkg-54be2d5e91a3feb586e7edf9681cd146d342fad8.tar.gz vcpkg-54be2d5e91a3feb586e7edf9681cd146d342fad8.zip | |
[pdcurses] Fix x64/x86 builds.
| -rw-r--r-- | ports/pdcurses/CONTROL | 2 | ||||
| -rw-r--r-- | ports/pdcurses/portfile.cmake | 30 |
2 files changed, 23 insertions, 9 deletions
diff --git a/ports/pdcurses/CONTROL b/ports/pdcurses/CONTROL index 66f0f4535..befa5c2fc 100644 --- a/ports/pdcurses/CONTROL +++ b/ports/pdcurses/CONTROL @@ -1,3 +1,3 @@ Source: pdcurses -Version: 3.4 +Version: 3.4-1 Description: Public Domain Curses - a curses library for environments that don't fit the termcap/terminfo model. diff --git a/ports/pdcurses/portfile.cmake b/ports/pdcurses/portfile.cmake index 4c43e68d2..1d94466dc 100644 --- a/ports/pdcurses/portfile.cmake +++ b/ports/pdcurses/portfile.cmake @@ -1,6 +1,6 @@ include(vcpkg_common_functions) -set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src) +set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src-${TARGET_TRIPLET}) find_program(NMAKE nmake) vcpkg_download_distfile(ARCHIVE @@ -8,17 +8,31 @@ vcpkg_download_distfile(ARCHIVE FILENAME "pdcurs34.zip" SHA512 0b916bfe37517abb80df7313608cc4e1ed7659a41ce82763000dfdfa5b8311ffd439193c74fc84a591f343147212bf1caf89e7db71f1f7e4fa70f534834cb039 ) -vcpkg_extract_source_archive(${ARCHIVE}) -set(PDC_NMAKE_CMD ${NMAKE} /A -f vcpkg.mak WIDE=Y UTF8=Y) +if(EXISTS ${CURRENT_BUILDTREES_DIR}/src) + file(REMOVE_RECURSE ${CURRENT_BUILDTREES_DIR}/src) +endif() + +vcpkg_extract_source_archive(${ARCHIVE} ${SOURCE_PATH}) + +file(READ ${SOURCE_PATH}/win32/vcwin32.mak PDC_MAK_ORIG) +string(REPLACE " -pdb:none" "" PDC_MAK_ORIG ${PDC_MAK_ORIG}) + +if(VCPKG_TARGET_ARCHITECTURE STREQUAL "x64") + string(REPLACE "/MACHINE:IX86 " "/MACHINE:X64 " PDC_MAK_X64 ${PDC_MAK_ORIG}) + file(WRITE ${SOURCE_PATH}/win32/vcpkg_x64.mak ${PDC_MAK_X64}) + set(PDC_NMAKE_CMD ${NMAKE} /A -f vcpkg_x64.mak WIDE=Y UTF8=Y) +elseif(VCPKG_TARGET_ARCHITECTURE STREQUAL "x86") + string(REPLACE "/MACHINE:IX86 " "/MACHINE:X86 " PDC_MAK_X86 ${PDC_MAK_ORIG}) + file(WRITE ${SOURCE_PATH}/win32/vcpkg_x86.mak ${PDC_MAK_X86}) + set(PDC_NMAKE_CMD ${NMAKE} /A -f vcpkg_x86.mak WIDE=Y UTF8=Y) +else() + message(FATAL_ERROR "Unsupported target architecture: ${VCPKG_TARGET_ARCHITECTURE}") +endif() + set(PDC_NMAKE_CWD ${SOURCE_PATH}/win32) set(PDC_PDCLIB ${SOURCE_PATH}/win32/pdcurses) -file(READ ${SOURCE_PATH}/win32/vcwin32.mak PDC_MAK) -string(REPLACE " -pdb:none" "" PDC_MAK ${PDC_MAK}) -string(REPLACE "/MACHINE:IX86 " "" PDC_MAK ${PDC_MAK}) -file(WRITE ${SOURCE_PATH}/win32/vcpkg.mak ${PDC_MAK}) - if (VCPKG_LIBRARY_LINKAGE STREQUAL "dynamic") set(PDC_NMAKE_CMD ${PDC_NMAKE_CMD} DLL=Y) endif() |
