From ea99a07799704967f84ee2d51a18148dd2ec428d Mon Sep 17 00:00:00 2001 From: Kalessin Date: Fri, 7 Jul 2017 23:21:40 +0200 Subject: fix static build --- ports/luajit/001-fixStaticBuild.patch | 20 +++++++++++++++ ports/luajit/portfile.cmake | 47 ++++++++++++++++++++++------------- 2 files changed, 50 insertions(+), 17 deletions(-) create mode 100644 ports/luajit/001-fixStaticBuild.patch diff --git a/ports/luajit/001-fixStaticBuild.patch b/ports/luajit/001-fixStaticBuild.patch new file mode 100644 index 000000000..11b6ea219 --- /dev/null +++ b/ports/luajit/001-fixStaticBuild.patch @@ -0,0 +1,20 @@ +diff --git a/src/msvcbuild.bat b/src/msvcbuild.bat +index bd0c4c5..1210fd2 100644 +--- a/src/msvcbuild.bat ++++ b/src/msvcbuild.bat +@@ -67,6 +67,7 @@ buildvm -m folddef -o lj_folddef.h lj_opt_fold.c + @shift + @set LJCOMPILE=%LJCOMPILE% /Zi + @set LJLINK=%LJLINK% /debug ++@set DEBUG=1 + :NODEBUG + @if "%1"=="amalg" goto :AMALGDLL + @if "%1"=="static" goto :STATIC +@@ -76,6 +77,7 @@ buildvm -m folddef -o lj_folddef.h lj_opt_fold.c + @if errorlevel 1 goto :BAD + @goto :MTDLL + :STATIC ++@if "%DEBUG%"=="1" set LJCOMPILE=%LJCOMPILE% /MTd + %LJCOMPILE% lj_*.c lib_*.c + @if errorlevel 1 goto :BAD + %LJLIB% /OUT:%LJLIBNAME% lj_*.obj lib_*.obj diff --git a/ports/luajit/portfile.cmake b/ports/luajit/portfile.cmake index d00aaf73b..42f26d7b4 100644 --- a/ports/luajit/portfile.cmake +++ b/ports/luajit/portfile.cmake @@ -21,46 +21,59 @@ else() set (LJIT_STATIC "static") endif() +vcpkg_apply_patches( + SOURCE_PATH ${SOURCE_PATH} + PATCHES + ${CMAKE_CURRENT_LIST_DIR}/001-fixStaticBuild.patch +) + message(STATUS "Building ${TARGET_TRIPLET}-dbg") -file(REMOVE "${SOURCE_PATH}/src/*.dll") -file(REMOVE "${SOURCE_PATH}/src/*.exe") +file(REMOVE "${SRC}/*.dll") +file(REMOVE "${SRC}/*.exe") +file(REMOVE "${SRC}/*.lib") + vcpkg_execute_required_process_repeat( COUNT 1 - COMMAND "${SOURCE_PATH}/src/msvcbuild.bat" "debug" ${LJIT_STATIC} + COMMAND "${SOURCE_PATH}/src/msvcbuild.bat" debug ${LJIT_STATIC} WORKING_DIRECTORY "${SOURCE_PATH}/src/" LOGNAME build-${TARGET_TRIPLET}-dbg ) - -file(INSTALL ${SRC}/lua51.lib DESTINATION ${CURRENT_PACKAGES_DIR}/debug/lib) file(INSTALL ${SRC}/luajit.exe DESTINATION ${CURRENT_PACKAGES_DIR}/debug/tools) +file(INSTALL ${SRC}/lua51.lib DESTINATION ${CURRENT_PACKAGES_DIR}/debug/lib) if (VCPKG_LIBRARY_LINKAGE STREQUAL dynamic) file(INSTALL ${SRC}/lua51.dll DESTINATION ${CURRENT_PACKAGES_DIR}/debug/bin) endif() +file(REMOVE "${SRC}/*.dll") +file(REMOVE "${SRC}/*.exe") +file(REMOVE "${SRC}/*.lib") + message(STATUS "Building ${TARGET_TRIPLET}-rel") -file(REMOVE "${SOURCE_PATH}/src/*.dll") -file(REMOVE "${SOURCE_PATH}/src/*.exe") -vcpkg_execute_required_process_repeat( +vcpkg_execute_required_process_repeat(d8un COUNT 1 COMMAND "${SOURCE_PATH}/src/msvcbuild.bat" ${LJIT_STATIC} WORKING_DIRECTORY "${SOURCE_PATH}/src/" LOGNAME build-${TARGET_TRIPLET}-rel ) -file(INSTALL ${SRC}/lua51.lib DESTINATION ${CURRENT_PACKAGES_DIR}/lib) -file(INSTALL ${SRC}/luajit.exe DESTINATION ${CURRENT_PACKAGES_DIR}/tools) +file(INSTALL ${SRC}/luajit.exe DESTINATION ${CURRENT_PACKAGES_DIR}/tools) +file(INSTALL ${SRC}/lua51.lib DESTINATION ${CURRENT_PACKAGES_DIR}/lib) if (VCPKG_LIBRARY_LINKAGE STREQUAL dynamic) - file(INSTALL ${SRC}/lua51.dll DESTINATION ${CURRENT_PACKAGES_DIR}/bin) + file(INSTALL ${SRC}/lua51.dll DESTINATION ${CURRENT_PACKAGES_DIR}/bin) endif() -file(INSTALL ${SRC}/lua.h DESTINATION ${CURRENT_PACKAGES_DIR}/include) -file(INSTALL ${SRC}/luajit.h DESTINATION ${CURRENT_PACKAGES_DIR}/include) -file(INSTALL ${SRC}/luaconf.h DESTINATION ${CURRENT_PACKAGES_DIR}/include) -file(INSTALL ${SRC}/lualib.h DESTINATION ${CURRENT_PACKAGES_DIR}/include) -file(INSTALL ${SRC}/lauxlib.h DESTINATION ${CURRENT_PACKAGES_DIR}/include) -file(INSTALL ${SRC}/lua.hpp DESTINATION ${CURRENT_PACKAGES_DIR}/include) +file(INSTALL ${SRC}/lua.h DESTINATION ${CURRENT_PACKAGES_DIR}/include) +file(INSTALL ${SRC}/luajit.h DESTINATION ${CURRENT_PACKAGES_DIR}/include) +file(INSTALL ${SRC}/luaconf.h DESTINATION ${CURRENT_PACKAGES_DIR}/include) +file(INSTALL ${SRC}/lualib.h DESTINATION ${CURRENT_PACKAGES_DIR}/include) +file(INSTALL ${SRC}/lauxlib.h DESTINATION ${CURRENT_PACKAGES_DIR}/include) +file(INSTALL ${SRC}/lua.hpp DESTINATION ${CURRENT_PACKAGES_DIR}/include) + +file(REMOVE "${SRC}/*.dll") +file(REMOVE "${SRC}/*.exe") +file(REMOVE "${SRC}/*.lib") -- cgit v1.2.3