aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJohn Camp <jjcamp@gmail.com>2016-10-28 00:12:52 -0400
committerJohn Camp <jjcamp@gmail.com>2016-10-28 00:12:52 -0400
commit05bc52d39ac0f0c164e5cbe3b7bfb9a97b5fab49 (patch)
tree99697693c9994e2ed9e6d634470e9b81b47646a9
parentd226583ed168013d5bf9200a28978f1cbfa2800e (diff)
downloadvcpkg-05bc52d39ac0f0c164e5cbe3b7bfb9a97b5fab49.tar.gz
vcpkg-05bc52d39ac0f0c164e5cbe3b7bfb9a97b5fab49.zip
Re-wrote portfile to support dynamic libraries
-rw-r--r--ports/pdcurses/portfile.cmake51
1 files changed, 41 insertions, 10 deletions
diff --git a/ports/pdcurses/portfile.cmake b/ports/pdcurses/portfile.cmake
index be2f1fc4f..607a93b7d 100644
--- a/ports/pdcurses/portfile.cmake
+++ b/ports/pdcurses/portfile.cmake
@@ -10,17 +10,48 @@ vcpkg_download_distfile(ARCHIVE
)
vcpkg_extract_source_archive(${ARCHIVE})
-message(STATUS "Build ${TARGET_TRIPLET}")
+set(PDC_NMAKE_CMD ${NMAKE} -f vcwin32.mak WIDE=Y UTF8=Y)
+set(PDC_NMAKE_CWD ${SOURCE_PATH}/win32)
+set(PDC_PDCLIB ${SOURCE_PATH}/win32/pdcurses)
+set(PDC_PANELLIB ${SOURCE_PATH}/win32/panel)
+set(PDC_OUTPUT bin)
+
+if (VCPKG_LIBRARY_LINKAGE STREQUAL "static")
+ set(PDC_PDCLIB ${PDC_PDCLIB}.lib)
+ set(PDC_PANELLIB ${PDC_PANELLIB}.lib)
+ set(PDC_OUTPUT lib)
+else()
+ set(PDC_PDCLIB ${PDC_PDCLIB}.dll)
+ set(PDC_PANELLIB ${PDC_PANELLIB}.dll)
+ set(PDC_NMAKE_CMD ${PDC_NMAKE_CMD} DLL=Y)
+endif()
+
+message(STATUS "Build ${TARGET_TRIPLET}-rel")
+vcpkg_execute_required_process(
+ COMMAND ${PDC_NMAKE_CMD}
+ WORKING_DIRECTORY ${PDC_NMAKE_CWD}
+ LOGNAME build-${TARGET_TRIPLET}-rel
+)
+message(STATUS "Build ${TARGET_TRIPLET}-rel done")
+file (
+ COPY ${PDC_PDCLIB} ${PDC_PANELLIB}
+ DESTINATION ${CURRENT_PACKAGES_DIR}/${PDC_OUTPUT}
+)
+
+message(STATUS "Build ${TARGET_TRIPLET}-dbg")
vcpkg_execute_required_process(
- COMMAND ${NMAKE} -f vcwin32.mak WIDE=Y UTF8=Y
- WORKING_DIRECTORY ${SOURCE_PATH}/win32
- LOGNAME build-${TARGET_TRIPLET}
+ COMMAND ${PDC_NMAKE_CMD} DEBUG=Y
+ WORKING_DIRECTORY ${PDC_NMAKE_CWD}
+ LOGNAME build-${TARGET_TRIPLET}-dbg
+)
+message(STATUS "Build ${TARGET_TRIPLET}-dbg done")
+file (
+ COPY ${PDC_PDCLIB} ${PDC_PANELLIB}
+ DESTINATION ${CURRENT_PACKAGES_DIR}/debug/${PDC_OUTPUT}
)
-message(STATUS "Build ${TARGET_TRIPLET} done")
+file(
+ COPY ${SOURCE_PATH}/curses.h ${SOURCE_PATH}/panel.h ${SOURCE_PATH}/term.h
+ DESTINATION ${CURRENT_PACKAGES_DIR}/include
+)
file(INSTALL ${CMAKE_CURRENT_LIST_DIR}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/pdcurses RENAME copyright)
-file(COPY ${SOURCE_PATH}/win32/pdcurses.lib DESTINATION ${CURRENT_PACKAGES_DIR}/lib)
-file(COPY ${SOURCE_PATH}/win32/panel.lib DESTINATION ${CURRENT_PACKAGES_DIR}/lib)
-file(COPY ${SOURCE_PATH}/curses.h DESTINATION ${CURRENT_PACKAGES_DIR}/include)
-file(COPY ${SOURCE_PATH}/panel.h DESTINATION ${CURRENT_PACKAGES_DIR}/include)
-file(COPY ${SOURCE_PATH}/term.h DESTINATION ${CURRENT_PACKAGES_DIR}/include)