Utilities/Release: Create a Windows 64-bit binary
Compile with `-D_WIN32_WINNT=0x502` to use a WinXP-compatible API. Compile with `-D_USING_V110_SDK71_` to tell the VS standard library headers that we are building with a WinXP-compatible Windows SDK. Link executables with `-subsystem:console,5.02` to make them runnable on Windows XP 64-bit. Ideally `cmake-gui` should instead be linked with `-subsystem:windows,5.02` but with the Ninja and Makefile generators CMake adds `-subsystem:windows` after our `-subsystem:console,5.02` flag and the linker seems to interpret this combination as we need.
This commit is contained in:
parent
dd63007544
commit
e903a9fc55
|
@ -686,12 +686,15 @@ ${CMake_BINARY_DIR}/bin/cmake -DDIR=dev -P ${CMake_SOURCE_DIR}/Utilities/Release
|
||||||
if(CMAKE_BUILD_NIGHTLY_RELEASES)
|
if(CMAKE_BUILD_NIGHTLY_RELEASES)
|
||||||
ADD_NIGHTLY_BUILD_TEST(CMakeNightlyWin32
|
ADD_NIGHTLY_BUILD_TEST(CMakeNightlyWin32
|
||||||
win32_release.cmake)
|
win32_release.cmake)
|
||||||
|
ADD_NIGHTLY_BUILD_TEST(CMakeNightlyWin64
|
||||||
|
win64_release.cmake)
|
||||||
ADD_NIGHTLY_BUILD_TEST(CMakeNightlyOSX
|
ADD_NIGHTLY_BUILD_TEST(CMakeNightlyOSX
|
||||||
osx_release.cmake)
|
osx_release.cmake)
|
||||||
ADD_NIGHTLY_BUILD_TEST(CMakeNightlyLinux32
|
ADD_NIGHTLY_BUILD_TEST(CMakeNightlyLinux32
|
||||||
linux32_release.cmake)
|
linux32_release.cmake)
|
||||||
ADD_NIGHTLY_BUILD_TEST(CMakeNightlyLinux64
|
ADD_NIGHTLY_BUILD_TEST(CMakeNightlyLinux64
|
||||||
linux64_release.cmake)
|
linux64_release.cmake)
|
||||||
|
set_property(TEST CMakeNightlyWin64 PROPERTY DEPENDS CMakeNightlyWin32)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
# add tests with more complex invocations
|
# add tests with more complex invocations
|
||||||
|
|
|
@ -14,6 +14,7 @@ set(RELEASE_SCRIPTS_BATCH_1
|
||||||
|
|
||||||
set(RELEASE_SCRIPTS_BATCH_2
|
set(RELEASE_SCRIPTS_BATCH_2
|
||||||
cygwin_release.cmake # Cygwin x86
|
cygwin_release.cmake # Cygwin x86
|
||||||
|
win64_release.cmake # Windows x64
|
||||||
)
|
)
|
||||||
|
|
||||||
function(write_batch_shell_script filename)
|
function(write_batch_shell_script filename)
|
||||||
|
|
|
@ -0,0 +1,29 @@
|
||||||
|
set(CMAKE_RELEASE_DIRECTORY "c:/msys64/home/dashboard/CMakeReleaseDirectory64")
|
||||||
|
set(CONFIGURE_WITH_CMAKE TRUE)
|
||||||
|
set(CMAKE_CONFIGURE_PATH "c:/Program\\ Files\\ \\(x86\\)/CMake/bin/cmake.exe")
|
||||||
|
set(PROCESSORS 8)
|
||||||
|
set(HOST dash3win7)
|
||||||
|
set(SCRIPT_NAME dash3win7x64)
|
||||||
|
set(RUN_LAUNCHER ~/rel/run)
|
||||||
|
set(CPACK_BINARY_GENERATORS "WIX ZIP")
|
||||||
|
set(CPACK_SOURCE_GENERATORS "")
|
||||||
|
set(MAKE_PROGRAM "ninja")
|
||||||
|
set(MAKE "${MAKE_PROGRAM} -j8")
|
||||||
|
set(INITIAL_CACHE "CMAKE_BUILD_TYPE:STRING=Release
|
||||||
|
CMAKE_DOC_DIR:STRING=doc/cmake
|
||||||
|
CMAKE_USE_OPENSSL:BOOL=OFF
|
||||||
|
CMAKE_SKIP_BOOTSTRAP_TEST:STRING=TRUE
|
||||||
|
CMAKE_Fortran_COMPILER:FILEPATH=FALSE
|
||||||
|
CMAKE_GENERATOR:INTERNAL=Ninja
|
||||||
|
BUILD_QtDialog:BOOL:=TRUE
|
||||||
|
CMake_GUI_DISTRIBUTE_WITH_Qt_LGPL:BOOL=TRUE
|
||||||
|
CMake_INSTALL_DEPENDENCIES:BOOL=ON
|
||||||
|
CMAKE_EXE_LINKER_FLAGS:STRING=-machine:x64 -subsystem:console,5.02
|
||||||
|
")
|
||||||
|
set(ppflags "-D_WIN32_WINNT=0x502 -D_USING_V110_SDK71_")
|
||||||
|
set(CFLAGS "${ppflags}")
|
||||||
|
set(CXXFLAGS "${ppflags}")
|
||||||
|
set(ENV ". ~/rel/env64")
|
||||||
|
get_filename_component(path "${CMAKE_CURRENT_LIST_FILE}" PATH)
|
||||||
|
set(GIT_EXTRA "git config core.autocrlf true")
|
||||||
|
include(${path}/release_cmake.cmake)
|
Loading…
Reference in New Issue