From 1246ce5c9a4c9f6cd1acf9fa97dbddd0f6523037 Mon Sep 17 00:00:00 2001 From: Mimi Date: Sun, 13 Apr 2025 20:11:34 +0800 Subject: [PATCH 1/2] Build PDB for debugging on Windows --- CMakeLists.txt | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/CMakeLists.txt b/CMakeLists.txt index c06b7df57e..69b7dc8385 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -825,6 +825,12 @@ if(CAPSTONE_BUILD_SHARED_LIBS) $ ) target_compile_definitions(capstone PUBLIC CAPSTONE_SHARED) + # Build pdb file for dll on Windows + if(WIN32) + message("Enabling PDB for Windows") + set(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} /Zi") + set(CMAKE_SHARED_LINKER_FLAGS_RELEASE "${CMAKE_SHARED_LINKER_FLAGS_RELEASE} /DEBUG /OPT:REF /OPT:ICF") + endif() endif() # Fuzzer if this is moved to it's own CMakeLists.txt (as it should be) @@ -951,6 +957,14 @@ if(CAPSTONE_INSTALL) DESTINATION ${CAPSTONE_CMAKE_CONFIG_INSTALL_DIR} ) + if (WIN32 AND CAPSTONE_BUILD_SHARED_LIBS) + install(FILES + $ + DESTINATION ${CMAKE_INSTALL_BINDIR} + OPTIONAL + ) + endif() + # uninstall target if(NOT TARGET UNINSTALL) configure_file( From 2bb193aaf7660ebe76a84649a96526e2c34ba851 Mon Sep 17 00:00:00 2001 From: Mimi Date: Sun, 13 Apr 2025 21:46:09 +0800 Subject: [PATCH 2/2] Update CMakeLists.txt --- CMakeLists.txt | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 69b7dc8385..b45b788829 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -826,10 +826,10 @@ if(CAPSTONE_BUILD_SHARED_LIBS) ) target_compile_definitions(capstone PUBLIC CAPSTONE_SHARED) # Build pdb file for dll on Windows - if(WIN32) + if(MSVC) message("Enabling PDB for Windows") set(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} /Zi") - set(CMAKE_SHARED_LINKER_FLAGS_RELEASE "${CMAKE_SHARED_LINKER_FLAGS_RELEASE} /DEBUG /OPT:REF /OPT:ICF") + set(CMAKE_SHARED_LINKER_FLAGS_RELEASE "${CMAKE_SHARED_LINKER_FLAGS_RELEASE} /DEBUG") endif() endif() @@ -957,7 +957,7 @@ if(CAPSTONE_INSTALL) DESTINATION ${CAPSTONE_CMAKE_CONFIG_INSTALL_DIR} ) - if (WIN32 AND CAPSTONE_BUILD_SHARED_LIBS) + if (MSVC AND CAPSTONE_BUILD_SHARED_LIBS) install(FILES $ DESTINATION ${CMAKE_INSTALL_BINDIR}