Skip to content
GitLab
Menu
Projects
Groups
Snippets
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Menu
Open sidebar
Olivier B.
pybind11
Commits
518cf721
Commit
518cf721
authored
Jan 21, 2016
by
Wenzel Jakob
Browse files
improve cmake windows debug configuration (fixes #77)
parent
fa92f679
Changes
2
Hide whitespace changes
Inline
Side-by-side
CMakeLists.txt
View file @
518cf721
...
@@ -129,12 +129,17 @@ endforeach()
...
@@ -129,12 +129,17 @@ endforeach()
if
(
WIN32
)
if
(
WIN32
)
if
(
MSVC
)
if
(
MSVC
)
# Enforce size-based optimization and link time code generation
# /bigobj is needed for bigger binding projects due to the limit to 64k
# on MSVC (~30% smaller binaries in experiments). /bigobj is needed
# addressable sections. /MP enables multithreaded builds (relevant when
# for bigger binding projects due to the limit to 64k addressable sections
# there are many files).
# /MP enables multithreaded builds (relevant when there are many files).
set_target_properties
(
example PROPERTIES COMPILE_FLAGS
"/MP /bigobj "
)
set_target_properties
(
example PROPERTIES COMPILE_FLAGS
"/Os /GL /MP /bigobj"
)
set_target_properties
(
example PROPERTIES LINK_FLAGS
"/LTCG"
)
if
(
NOT
${
U_CMAKE_BUILD_TYPE
}
MATCHES DEBUG
)
# Enforce size-based optimization and link time code generation on MSVC
# (~30% smaller binaries in experiments).
set_target_properties
(
example APPEND_STRING PROPERTY COMPILE_FLAGS
"/Os /GL "
)
set_target_properties
(
example APPEND_STRING PROPERTY LINK_FLAGS
"/LTCG "
)
endif
()
endif
()
endif
()
# .PYD file extension on Windows
# .PYD file extension on Windows
...
@@ -151,7 +156,7 @@ elseif (UNIX)
...
@@ -151,7 +156,7 @@ elseif (UNIX)
# conflicting Python instances are active at the same time (even when they
# conflicting Python instances are active at the same time (even when they
# are of the same version).
# are of the same version).
# Windows is not affected by this issue since it handles DLL imports
# Windows is not affected by this issue since it handles DLL imports
# differently. The solution for Linux and Mac OS is simple: we just don't
# differently. The solution for Linux and Mac OS is simple: we just don't
# link against the Python library. The resulting shared library will have
# link against the Python library. The resulting shared library will have
# missing symbols, but that's perfectly fine -- they will be resolved at
# missing symbols, but that's perfectly fine -- they will be resolved at
...
...
docs/cmake.rst
View file @
518cf721
...
@@ -84,12 +84,17 @@ and that the pybind11 repository is located in a subdirectory named :file:`pybin
...
@@ -84,12 +84,17 @@ and that the pybind11 repository is located in a subdirectory named :file:`pybin
if (WIN32)
if (WIN32)
if (MSVC)
if (MSVC)
# Enforce size-based optimization and link time code generation
# /bigobj is needed for bigger binding projects due to the limit to 64k
# on MSVC (~30% smaller binaries in experiments). /bigobj is needed
# addressable sections. /MP enables multithreaded builds (relevant when
# for bigger binding projects due to the limit to 64k addressable sections
# there are many files).
# /MP enables multithreaded builds (relevant when there are many files).
set_target_properties(example PROPERTIES COMPILE_FLAGS "/MP /bigobj ")
set_target_properties(example PROPERTIES COMPILE_FLAGS "/Os /GL /MP /bigobj")
set_target_properties(example PROPERTIES LINK_FLAGS "/LTCG")
if (NOT ${U_CMAKE_BUILD_TYPE} MATCHES DEBUG)
# Enforce size-based optimization and link time code generation on MSVC
# (~30% smaller binaries in experiments).
set_target_properties(example APPEND_STRING PROPERTY COMPILE_FLAGS "/Os /GL ")
set_target_properties(example APPEND_STRING PROPERTY LINK_FLAGS "/LTCG ")
endif()
endif()
endif()
# .PYD file extension on Windows
# .PYD file extension on Windows
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment