diff --git a/CMakeLists.txt b/CMakeLists.txt index 619cd0ce3..3551cb5b4 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -154,7 +154,7 @@ IF (WIN32) IF(MSVC) OPTION( ASSIMP_INSTALL_PDB - "Install MSVC debug files." + "Create MSVC debug symbol files and add to Install target." ON ) IF(NOT (MSVC_VERSION LESS 1900)) # Multibyte character set has been deprecated since at least MSVC2015 (possibly earlier) @@ -299,8 +299,13 @@ ELSEIF(MSVC) # supress warning for double to float conversion if Double precision is activated ADD_COMPILE_OPTIONS(/wd4244) SET(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} /D_DEBUG /Zi /Od") - SET(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE}") - SET(CMAKE_SHARED_LINKER_FLAGS_RELEASE "${CMAKE_SHARED_LINKER_FLAGS_RELEASE} /DEBUG:FULL /PDBALTPATH:%_PDB% /OPT:REF /OPT:ICF") + # Allow user to disable PDBs + if(ASSIMP_INSTALL_PDB) + SET(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} /Zi") + SET(CMAKE_SHARED_LINKER_FLAGS_RELEASE "${CMAKE_SHARED_LINKER_FLAGS_RELEASE} /DEBUG:FULL /PDBALTPATH:%_PDB% /OPT:REF /OPT:ICF") + elseif((GENERATOR_IS_MULTI_CONFIG) OR (CMAKE_BUILD_TYPE MATCHES Release)) + message("-- MSVC PDB generation disabled. Release binary will not be debuggable.") + endif() ELSEIF (CMAKE_CXX_COMPILER_ID MATCHES "Clang" ) IF(NOT ASSIMP_HUNTER_ENABLED) SET(CMAKE_POSITION_INDEPENDENT_CODE ON) @@ -643,7 +648,7 @@ ELSE() IF ( ASSIMP_BUILD_DRACO ) # Primarily for glTF v2 # Enable Draco glTF feature set - set(DRACO_GLTF ON CACHE BOOL "" FORCE) + set(DRACO_GLTF_BITSTREAM ON CACHE BOOL "" FORCE) # Disable unnecessary or omitted components set(DRACO_JS_GLUE OFF CACHE BOOL "" FORCE) set(DRACO_WASM OFF CACHE BOOL "" FORCE) diff --git a/code/CMakeLists.txt b/code/CMakeLists.txt index e4e67e682..30730f716 100644 --- a/code/CMakeLists.txt +++ b/code/CMakeLists.txt @@ -1334,7 +1334,7 @@ ADD_LIBRARY(assimp::assimp ALIAS assimp) IF (BUILD_SHARED_LIBS) TARGET_COMPILE_DEFINITIONS(assimp PRIVATE ASSIMP_BUILD_DLL_EXPORT) ELSE () - TARGET_COMPILE_DEFINITIONS(assimp PRIVATE OPENDDL_STATIC_LIBARY) + TARGET_COMPILE_DEFINITIONS(assimp PRIVATE OPENDDL_STATIC_LIBARY P2T_STATIC_EXPORTS) ENDIF () TARGET_USE_COMMON_OUTPUT_DIRECTORY(assimp) diff --git a/contrib/poly2tri/poly2tri/common/dll_symbol.h b/contrib/poly2tri/poly2tri/common/dll_symbol.h index 72ed5a75f..c18c2baec 100644 --- a/contrib/poly2tri/poly2tri/common/dll_symbol.h +++ b/contrib/poly2tri/poly2tri/common/dll_symbol.h @@ -53,7 +53,9 @@ # define P2T_DLL_SYMBOL # elif defined(P2T_SHARED_EXPORTS) # define P2T_DLL_SYMBOL P2T_COMPILER_DLLEXPORT -# else +# elif defined(BUILD_SHARED_LIBS) # define P2T_DLL_SYMBOL P2T_COMPILER_DLLIMPORT +# else +# define P2T_DLL_SYMBOL # endif #endif