deps: Fix arch resolution on Windows
This commit is contained in:
parent
0263769d8f
commit
97e7b6f18b
53
deps/CMakeLists.txt
vendored
53
deps/CMakeLists.txt
vendored
@ -1,3 +1,21 @@
|
||||
#
|
||||
# This CMake project downloads, configures and builds Slic3r PE dependencies on Unix and Windows.
|
||||
#
|
||||
# When using this script, it's recommended to perform an out-of-source build using CMake.
|
||||
#
|
||||
# All the dependencies are installed in a `destdir` directory in the root of the build directory,
|
||||
# in a traditional Unix-style prefix structure. The destdir can be used directly by CMake
|
||||
# when building Slic3r - to do this, set the CMAKE_PREFIX_PATH to the destdir's location.
|
||||
#
|
||||
# For better clarity of console output, it's recommended to _not_ use a parallelized build
|
||||
# for the top-level command, ie. use `make -j 1` or `ninja -j 1` to force single-threaded top-level
|
||||
# build. This doesn't degrade performance as individual dependencies are built in parallel fashion
|
||||
# as appropriate anyway (cf. the `NPROC` variable).
|
||||
#
|
||||
# On Windows, architecture (64 vs 32 bits) is judged based on the compiler variant.
|
||||
# To build dependencies for either 64 or 32 bit OS, use the respective compiler command line.
|
||||
#
|
||||
|
||||
project(Slic3r-deps)
|
||||
cmake_minimum_required(VERSION 3.2)
|
||||
|
||||
@ -9,28 +27,27 @@ if (NPROC EQUAL 0)
|
||||
set(NPROC 1)
|
||||
endif ()
|
||||
|
||||
set(DESTDIR "${CMAKE_CURRENT_BINARY_DIR}/destdir")
|
||||
|
||||
if (MSVC)
|
||||
set(DEPS_BITS 64)
|
||||
set(DESTDIR "${CMAKE_CURRENT_BINARY_DIR}/destdir-64")
|
||||
include("deps-windows.cmake")
|
||||
add_custom_target(deps_64
|
||||
DEPENDS dep_boost_64 dep_tbb_64 dep_libcurl_64 dep_wxwidgets_64
|
||||
)
|
||||
|
||||
set(DEPS_BITS 32)
|
||||
set(DESTDIR "${CMAKE_CURRENT_BINARY_DIR}/destdir-32")
|
||||
include("deps-windows.cmake")
|
||||
add_custom_target(deps_32
|
||||
DEPENDS dep_boost_32 dep_tbb_32 dep_libcurl_32 dep_wxwidgets_32
|
||||
)
|
||||
if ("${CMAKE_SIZEOF_VOID_P}" STREQUAL "8")
|
||||
message(STATUS "\nDetected 64-bit compiler => building 64-bit deps bundle\n")
|
||||
set(DEPS_BITS 64)
|
||||
include("deps-windows.cmake")
|
||||
elseif ("${CMAKE_SIZEOF_VOID_P}" STREQUAL "4")
|
||||
message(STATUS "\nDetected 32-bit compiler => building 32-bit deps bundle\n")
|
||||
set(DEPS_BITS 32)
|
||||
include("deps-windows.cmake")
|
||||
else ()
|
||||
message(FATAL_ERROR "Unable to detect architecture")
|
||||
endif ()
|
||||
else ()
|
||||
set(DESTDIR "${CMAKE_CURRENT_BINARY_DIR}/destdir")
|
||||
include("deps-unix-static.cmake")
|
||||
|
||||
add_custom_target(deps ALL
|
||||
DEPENDS dep_boost dep_tbb dep_libcurl dep_wxwidgets
|
||||
)
|
||||
endif()
|
||||
|
||||
add_custom_target(deps ALL
|
||||
DEPENDS dep_boost dep_tbb dep_libcurl dep_wxwidgets
|
||||
)
|
||||
|
||||
# Note: I'm not using any of the LOG_xxx options in ExternalProject_Add() commands
|
||||
# because they seem to generate bogus build files (possibly a bug in ExternalProject).
|
||||
|
14
deps/deps-windows.cmake
vendored
14
deps/deps-windows.cmake
vendored
@ -1,5 +1,5 @@
|
||||
|
||||
ExternalProject_Add("dep_boost_${DEPS_BITS}"
|
||||
ExternalProject_Add(dep_boost
|
||||
EXCLUDE_FROM_ALL 1
|
||||
URL "https://dl.bintray.com/boostorg/release/1.63.0/source/boost_1_63_0.tar.gz"
|
||||
URL_HASH SHA256=fe34a4e119798e10b8cc9e565b3b0284e9fd3977ec8a1b19586ad1dec397088b
|
||||
@ -25,13 +25,13 @@ ExternalProject_Add("dep_boost_${DEPS_BITS}"
|
||||
)
|
||||
|
||||
|
||||
if ($DEPS_BITS EQUAL 32)
|
||||
if (${DEPS_BITS} EQUAL 32)
|
||||
set(DEP_TBB_GEN "Visual Studio 12")
|
||||
else ()
|
||||
set(DEP_TBB_GEN "Visual Studio 12 Win64")
|
||||
endif ()
|
||||
|
||||
ExternalProject_Add("dep_tbb_${DEPS_BITS}"
|
||||
ExternalProject_Add(dep_tbb
|
||||
EXCLUDE_FROM_ALL 1
|
||||
URL "https://github.com/wjakob/tbb/archive/a0dc9bf76d0120f917b641ed095360448cabc85b.tar.gz"
|
||||
URL_HASH SHA256=0545cb6033bd1873fcae3ea304def720a380a88292726943ae3b9b207f322efe
|
||||
@ -46,13 +46,13 @@ ExternalProject_Add("dep_tbb_${DEPS_BITS}"
|
||||
)
|
||||
|
||||
|
||||
if ($DEPS_BITS EQUAL 32)
|
||||
if (${DEPS_BITS} EQUAL 32)
|
||||
set(DEP_LIBCURL_TARGET "x86")
|
||||
else ()
|
||||
set(DEP_LIBCURL_TARGET "x64")
|
||||
endif ()
|
||||
|
||||
ExternalProject_Add("dep_libcurl_${DEPS_BITS}"
|
||||
ExternalProject_Add(dep_libcurl
|
||||
EXCLUDE_FROM_ALL 1
|
||||
URL "https://curl.haxx.se/download/curl-7.58.0.tar.gz"
|
||||
URL_HASH SHA256=cc245bf9a1a42a45df491501d97d5593392a03f7b4f07b952793518d97666115
|
||||
@ -64,7 +64,7 @@ ExternalProject_Add("dep_libcurl_${DEPS_BITS}"
|
||||
&& "${CMAKE_COMMAND}" -E copy_directory lib "${DESTDIR}\\usr\\local\\lib"
|
||||
)
|
||||
|
||||
if ($DEPS_BITS EQUAL 32)
|
||||
if (${DEPS_BITS} EQUAL 32)
|
||||
set(DEP_WXWIDGETS_TARGET "")
|
||||
set(DEP_WXWIDGETS_LIBDIR "vc_lib")
|
||||
else ()
|
||||
@ -72,7 +72,7 @@ else ()
|
||||
set(DEP_WXWIDGETS_LIBDIR "vc_x64_lib")
|
||||
endif ()
|
||||
|
||||
ExternalProject_Add("dep_wxwidgets_${DEPS_BITS}"
|
||||
ExternalProject_Add(dep_wxwidgets
|
||||
EXCLUDE_FROM_ALL 1
|
||||
URL "https://github.com/wxWidgets/wxWidgets/releases/download/v3.1.1/wxWidgets-3.1.1.tar.bz2"
|
||||
URL_HASH SHA256=c925dfe17e8f8b09eb7ea9bfdcfcc13696a3e14e92750effd839f5e10726159e
|
||||
|
Loading…
Reference in New Issue
Block a user