diff --git a/cmake/GeodeFile.cmake b/cmake/GeodeFile.cmake index 143b8f93..a0ee0a0a 100644 --- a/cmake/GeodeFile.cmake +++ b/cmake/GeodeFile.cmake @@ -164,7 +164,27 @@ function(setup_geode_mod proname) set(HAS_HEADERS Off) endif() - if (HAS_HEADERS AND WIN32) + if (GEODE_BUNDLE_PDB AND WIN32 AND (CMAKE_BUILD_TYPE STREQUAL "Debug" OR CMAKE_BUILD_TYPE STREQUAL "RelWithDebInfo")) + if (HAS_HEADERS) + add_custom_target(${proname}_PACKAGE ALL + DEPENDS ${proname} ${CMAKE_CURRENT_SOURCE_DIR}/mod.json + COMMAND ${GEODE_CLI} package new ${CMAKE_CURRENT_SOURCE_DIR} + --binary $ $ $ + --output ${CMAKE_CURRENT_BINARY_DIR}/${MOD_ID}.geode + ${INSTALL_ARG} ${PDB_ARG} + VERBATIM USES_TERMINAL + ) + else() + add_custom_target(${proname}_PACKAGE ALL + DEPENDS ${proname} ${CMAKE_CURRENT_SOURCE_DIR}/mod.json + COMMAND ${GEODE_CLI} package new ${CMAKE_CURRENT_SOURCE_DIR} + --binary $ $ + --output ${CMAKE_CURRENT_BINARY_DIR}/${MOD_ID}.geode + ${INSTALL_ARG} ${PDB_ARG} + VERBATIM USES_TERMINAL + ) + endif() + elseif (HAS_HEADERS AND WIN32) # this adds the .lib file on windows, which is needed for linking with the headers add_custom_target(${proname}_PACKAGE ALL DEPENDS ${proname} ${CMAKE_CURRENT_SOURCE_DIR}/mod.json