Moved the remaining Perl dependencies to xs/CMakeLists.txt
This commit is contained in:
parent
b28047af5e
commit
8e1b5157b4
@ -27,26 +27,6 @@ if (MSVC AND SLIC3R_MSVC_COMPILE_PARALLEL)
|
|||||||
add_compile_options(/MP)
|
add_compile_options(/MP)
|
||||||
endif ()
|
endif ()
|
||||||
|
|
||||||
# Find the Perl interpreter, add local-lib to PATH and PERL5LIB environment variables,
|
|
||||||
# so the locally installed modules (mainly the Alien::wxPerl) will be reached.
|
|
||||||
if (WIN32)
|
|
||||||
set(ENV_PATH_SEPARATOR ";")
|
|
||||||
else()
|
|
||||||
set(ENV_PATH_SEPARATOR ":")
|
|
||||||
endif()
|
|
||||||
set(ENV{PATH} "${PROJECT_SOURCE_DIR}/local-lib/bin${ENV_PATH_SEPARATOR}$ENV{PATH}")
|
|
||||||
set(PERL_INCLUDE "${PROJECT_SOURCE_DIR}/local-lib/lib/perl5${ENV_PATH_SEPARATOR}$ENV{PERL5LIB}")
|
|
||||||
message("PATH: $ENV{PATH}")
|
|
||||||
message("PERL_INCLUDE: ${PERL_INCLUDE}")
|
|
||||||
find_package(Perl REQUIRED)
|
|
||||||
if (WIN32)
|
|
||||||
# On Windows passing the PERL5LIB variable causes various problems (such as with MAX_PATH and others),
|
|
||||||
# basically I've found no good way to do it on Windows.
|
|
||||||
set(PERL5LIB_ENV_CMD "")
|
|
||||||
else()
|
|
||||||
set(PERL5LIB_ENV_CMD ${CMAKE_COMMAND} -E env PERL5LIB=${PERL_INCLUDE})
|
|
||||||
endif()
|
|
||||||
|
|
||||||
# CMAKE_PREFIX_PATH is used to point CMake to the remaining dependencies (Boost, TBB, ...)
|
# CMAKE_PREFIX_PATH is used to point CMake to the remaining dependencies (Boost, TBB, ...)
|
||||||
# We pick it from environment if it is not defined in another way
|
# We pick it from environment if it is not defined in another way
|
||||||
if(NOT DEFINED CMAKE_PREFIX_PATH)
|
if(NOT DEFINED CMAKE_PREFIX_PATH)
|
||||||
@ -110,7 +90,7 @@ include_directories(${LIBDIR}/libslic3r ${LIBDIR}/clipper ${LIBDIR}/polypartitio
|
|||||||
|
|
||||||
if(WIN32)
|
if(WIN32)
|
||||||
# BOOST_ALL_NO_LIB: Avoid the automatic linking of Boost libraries on Windows. Rather rely on explicit linking.
|
# BOOST_ALL_NO_LIB: Avoid the automatic linking of Boost libraries on Windows. Rather rely on explicit linking.
|
||||||
add_definitions(-D_USE_MATH_DEFINES -D_WIN32 -DBOOST_ALL_NO_LIB -DBOOST_USE_WINAPI_VERSION=0x601)
|
add_definitions(-D_USE_MATH_DEFINES -D_WIN32 -DBOOST_ALL_NO_LIB -DBOOST_USE_WINAPI_VERSION=0x601 -D_CRT_SECURE_NO_WARNINGS)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
add_definitions(-DwxUSE_UNICODE -D_UNICODE -DUNICODE -DWXINTL_NO_GETTEXT_MACRO)
|
add_definitions(-DwxUSE_UNICODE -D_UNICODE -DUNICODE -DWXINTL_NO_GETTEXT_MACRO)
|
||||||
@ -120,12 +100,9 @@ if (SLIC3R_PROFILE)
|
|||||||
add_definitions(-DSLIC3R_PROFILE)
|
add_definitions(-DSLIC3R_PROFILE)
|
||||||
endif ()
|
endif ()
|
||||||
|
|
||||||
# Perl specific stuff
|
|
||||||
find_package(PerlLibs REQUIRED)
|
|
||||||
set(PerlEmbed_DEBUG 1)
|
|
||||||
find_package(PerlEmbed REQUIRED)
|
|
||||||
# If the Perl is compiled with optimization off, disable optimization over the whole project.
|
# If the Perl is compiled with optimization off, disable optimization over the whole project.
|
||||||
if (WIN32 AND ";${PerlEmbed_CCFLAGS};" MATCHES ";[-/]Od;")
|
if (0)
|
||||||
|
#if (WIN32 AND ";${PerlEmbed_CCFLAGS};" MATCHES ";[-/]Od;")
|
||||||
message(STATUS "Perl compiled without optimization. Disabling optimization for the Slic3r build.")
|
message(STATUS "Perl compiled without optimization. Disabling optimization for the Slic3r build.")
|
||||||
message("Old CMAKE_CXX_FLAGS_RELEASE: ${CMAKE_CXX_FLAGS_RELEASE}")
|
message("Old CMAKE_CXX_FLAGS_RELEASE: ${CMAKE_CXX_FLAGS_RELEASE}")
|
||||||
message("Old CMAKE_CXX_FLAGS_RELWITHDEBINFO: ${CMAKE_CXX_FLAGS_RELEASE}")
|
message("Old CMAKE_CXX_FLAGS_RELWITHDEBINFO: ${CMAKE_CXX_FLAGS_RELEASE}")
|
||||||
@ -138,7 +115,7 @@ if (WIN32 AND ";${PerlEmbed_CCFLAGS};" MATCHES ";[-/]Od;")
|
|||||||
set(CMAKE_C_FLAGS "/MD /Od /Zi /DNDEBUG /DWIN32 /DTBB_USE_ASSERT")
|
set(CMAKE_C_FLAGS "/MD /Od /Zi /DNDEBUG /DWIN32 /DTBB_USE_ASSERT")
|
||||||
endif()
|
endif()
|
||||||
# The following line will add -fPIC on Linux to make the XS.so rellocable.
|
# The following line will add -fPIC on Linux to make the XS.so rellocable.
|
||||||
add_definitions(${PerlEmbed_CCCDLFLAGS})
|
#add_definitions(${PerlEmbed_CCCDLFLAGS})
|
||||||
|
|
||||||
# Find and configure boost
|
# Find and configure boost
|
||||||
if(SLIC3R_STATIC)
|
if(SLIC3R_STATIC)
|
||||||
|
@ -1,3 +1,17 @@
|
|||||||
|
#ifdef WIN32
|
||||||
|
// Why?
|
||||||
|
#define _WIN32_WINNT 0x0502
|
||||||
|
// The standard Windows includes.
|
||||||
|
#define WIN32_LEAN_AND_MEAN
|
||||||
|
#define NOMINMAX
|
||||||
|
#include <Windows.h>
|
||||||
|
#include <wchar.h>
|
||||||
|
// Let the NVIDIA and AMD know we want to use their graphics card
|
||||||
|
// on a dual graphics card system.
|
||||||
|
__declspec(dllexport) DWORD NvOptimusEnablement = 0x00000001;
|
||||||
|
__declspec(dllexport) int AmdPowerXpressRequestHighPerformance = 1;
|
||||||
|
#endif /* WIN32 */
|
||||||
|
|
||||||
#include "Config.hpp"
|
#include "Config.hpp"
|
||||||
#include "Geometry.hpp"
|
#include "Geometry.hpp"
|
||||||
#include "Model.hpp"
|
#include "Model.hpp"
|
||||||
|
37
src/slic3r.manifest
Normal file
37
src/slic3r.manifest
Normal file
@ -0,0 +1,37 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
|
||||||
|
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" xmlns:asmv3="urn:schemas-microsoft-com:asm.v3" manifestVersion="1.0">
|
||||||
|
<assemblyIdentity version="SLIC3R_RC_VERSION_DOTS" name="Slic3r" type="Win32" />
|
||||||
|
<description>Perl</description>
|
||||||
|
<trustInfo xmlns="urn:schemas-microsoft-com:asm.v3">
|
||||||
|
<security>
|
||||||
|
<requestedPrivileges>
|
||||||
|
<requestedExecutionLevel level="asInvoker" uiAccess="false" />
|
||||||
|
</requestedPrivileges>
|
||||||
|
</security>
|
||||||
|
</trustInfo>
|
||||||
|
<dependency>
|
||||||
|
<dependentAssembly>
|
||||||
|
<assemblyIdentity type="Win32" name="Microsoft.Windows.Common-Controls" version="6.0.0.0"
|
||||||
|
processorArchitecture="*" publicKeyToken="6595b64144ccf1df" language="*" />
|
||||||
|
</dependentAssembly>
|
||||||
|
</dependency>
|
||||||
|
<compatibility xmlns="urn:schemas-microsoft-com:compatibility.v1">
|
||||||
|
<application>
|
||||||
|
<!-- The ID below indicates application support for Windows Vista -->
|
||||||
|
<supportedOS Id="{e2011457-1546-43c5-a5fe-008deee3d3f0}"/>
|
||||||
|
<!-- The ID below indicates application support for Windows 7 -->
|
||||||
|
<supportedOS Id="{35138b9a-5d96-4fbd-8e2d-a2440225f93a}"/>
|
||||||
|
<!-- The ID below indicates application support for Windows 8 -->
|
||||||
|
<supportedOS Id="{4a2f28e3-53b9-4441-ba9c-d69d4a4a6e38}"/>
|
||||||
|
<!-- The ID below indicates application support for Windows 8.1 -->
|
||||||
|
<supportedOS Id="{1f676c76-80e1-4239-95bb-83d0f6d0da78}"/>
|
||||||
|
<!-- The ID below indicates application support for Windows 10 -->
|
||||||
|
<supportedOS Id="{8e0f7a12-bfb3-4fe8-b9a5-48fd50a15a9a}"/>
|
||||||
|
</application>
|
||||||
|
</compatibility>
|
||||||
|
<asmv3:application>
|
||||||
|
<asmv3:windowsSettings xmlns="http://schemas.microsoft.com/SMI/2017/WindowsSettings">
|
||||||
|
<!-- set gdiScaling to true? -->
|
||||||
|
</asmv3:windowsSettings>
|
||||||
|
</asmv3:application>
|
||||||
|
</assembly>
|
25
src/slic3r.rc
Normal file
25
src/slic3r.rc
Normal file
@ -0,0 +1,25 @@
|
|||||||
|
1 VERSIONINFO
|
||||||
|
FILEVERSION SLIC3R_RC_VERSION
|
||||||
|
PRODUCTVERSION SLIC3R_RC_VERSION
|
||||||
|
{
|
||||||
|
BLOCK "StringFileInfo"
|
||||||
|
{
|
||||||
|
BLOCK "040904E4"
|
||||||
|
{
|
||||||
|
VALUE "CompanyName", "Prusa Research"
|
||||||
|
VALUE "FileDescription", "Slic3r Prusa Edition"
|
||||||
|
VALUE "FileVersion", "SLIC3R_BUILD_ID"
|
||||||
|
VALUE "ProductName", "Slic3r Prusa Edition"
|
||||||
|
VALUE "ProductVersion", "SLIC3R_BUILD_ID"
|
||||||
|
VALUE "InternalName", "Slic3r Prusa Edition"
|
||||||
|
VALUE "LegalCopyright", "Copyright \251 2011-2017 Alessandro Ranelucci, \251 2016 Prusa Research"
|
||||||
|
VALUE "OriginalFilename", "slic3r.exe"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
BLOCK "VarFileInfo"
|
||||||
|
{
|
||||||
|
VALUE "Translation", 0x409, 1252
|
||||||
|
}
|
||||||
|
}
|
||||||
|
2 ICON "../resources/icons/Slic3r.ico"
|
||||||
|
1 24 "slic3r.manifest"
|
@ -1,5 +1,30 @@
|
|||||||
project(XS)
|
project(XS)
|
||||||
|
|
||||||
|
# Find the Perl interpreter, add local-lib to PATH and PERL5LIB environment variables,
|
||||||
|
# so the locally installed modules (mainly the Alien::wxPerl) will be reached.
|
||||||
|
if (WIN32)
|
||||||
|
set(ENV_PATH_SEPARATOR ";")
|
||||||
|
else()
|
||||||
|
set(ENV_PATH_SEPARATOR ":")
|
||||||
|
endif()
|
||||||
|
set(ENV{PATH} "${PROJECT_SOURCE_DIR}/local-lib/bin${ENV_PATH_SEPARATOR}$ENV{PATH}")
|
||||||
|
set(PERL_INCLUDE "${PROJECT_SOURCE_DIR}/local-lib/lib/perl5${ENV_PATH_SEPARATOR}$ENV{PERL5LIB}")
|
||||||
|
message("PATH: $ENV{PATH}")
|
||||||
|
message("PERL_INCLUDE: ${PERL_INCLUDE}")
|
||||||
|
find_package(Perl REQUIRED)
|
||||||
|
if (WIN32)
|
||||||
|
# On Windows passing the PERL5LIB variable causes various problems (such as with MAX_PATH and others),
|
||||||
|
# basically I've found no good way to do it on Windows.
|
||||||
|
set(PERL5LIB_ENV_CMD "")
|
||||||
|
else()
|
||||||
|
set(PERL5LIB_ENV_CMD ${CMAKE_COMMAND} -E env PERL5LIB=${PERL_INCLUDE})
|
||||||
|
endif()
|
||||||
|
|
||||||
|
# Perl specific stuff
|
||||||
|
find_package(PerlLibs REQUIRED)
|
||||||
|
set(PerlEmbed_DEBUG 1)
|
||||||
|
find_package(PerlEmbed REQUIRED)
|
||||||
|
|
||||||
# Generate the Slic3r Perl module (XS) typemap file.
|
# Generate the Slic3r Perl module (XS) typemap file.
|
||||||
set(MyTypemap ${CMAKE_CURRENT_BINARY_DIR}/typemap)
|
set(MyTypemap ${CMAKE_CURRENT_BINARY_DIR}/typemap)
|
||||||
add_custom_command(
|
add_custom_command(
|
||||||
|
Loading…
Reference in New Issue
Block a user