From 59cb6d41003d5e6706dee12c63e3259b08a06cb7 Mon Sep 17 00:00:00 2001 From: Dylan Weber Date: Tue, 27 Oct 2026 14:42:40 -0500 Subject: [PATCH 1/3] Improved build compatibility with MSYS2 UCRT --- src/bin/keyconv/CMakeLists.txt | 2 +- src/bin/migrate/CMakeLists.txt | 2 +- src/bin/util/CMakeLists.txt | 2 +- src/lib/CMakeLists.txt | 2 +- src/lib/common/CMakeLists.txt | 2 +- src/lib/crypto/CMakeLists.txt | 2 +- src/lib/data_mgr/CMakeLists.txt | 2 +- src/lib/handle_mgr/CMakeLists.txt | 2 +- src/lib/object_store/CMakeLists.txt | 2 +- src/lib/session_mgr/CMakeLists.txt | 2 +- src/lib/slot_mgr/CMakeLists.txt | 2 +- src/lib/test/CMakeLists.txt | 2 +- 12 files changed, 12 insertions(+), 12 deletions(-) diff --git a/src/bin/keyconv/CMakeLists.txt b/src/bin/keyconv/CMakeLists.txt index 5895f2eef..538cfb14e 100644 --- a/src/bin/keyconv/CMakeLists.txt +++ b/src/bin/keyconv/CMakeLists.txt @@ -18,7 +18,7 @@ if(WITH_BOTAN) list(APPEND SOURCES softhsm2-keyconv-botan.cpp) endif(WITH_BOTAN) -if(CMAKE_CXX_COMPILER_ID STREQUAL "MSVC") +if(WIN32) list(APPEND INCLUDE_DIRS ${CMAKE_CURRENT_SOURCE_DIR}/../win32) list(APPEND SOURCES ${PROJECT_SOURCE_DIR}/../win32/getopt.cpp) list(APPEND CRYPTO_LIBS "Ws2_32.lib;Crypt32.lib") diff --git a/src/bin/migrate/CMakeLists.txt b/src/bin/migrate/CMakeLists.txt index 2f53bc3e1..f6c9e41af 100644 --- a/src/bin/migrate/CMakeLists.txt +++ b/src/bin/migrate/CMakeLists.txt @@ -12,7 +12,7 @@ if(BUILD_MIGRATE) ${PROJECT_SOURCE_DIR}/../common/library.cpp ) - if(CMAKE_CXX_COMPILER_ID STREQUAL "MSVC") + if(WIN32) list(APPEND INCLUDE_DIRS ${PROJECT_SOURCE_DIR}/../../lib/win32 ${CMAKE_CURRENT_SOURCE_DIR}/../win32) list(APPEND SOURCES ${CMAKE_CURRENT_SOURCE_DIR}/../win32/getopt.cpp) endif() diff --git a/src/bin/util/CMakeLists.txt b/src/bin/util/CMakeLists.txt index 2232831a0..952a45925 100644 --- a/src/bin/util/CMakeLists.txt +++ b/src/bin/util/CMakeLists.txt @@ -26,7 +26,7 @@ if(WITH_BOTAN) list(APPEND SOURCES softhsm2-util-botan.cpp) endif(WITH_BOTAN) -if(CMAKE_CXX_COMPILER_ID STREQUAL "MSVC") +if(WIN32) list(APPEND INCLUDE_DIRS ${PROJECT_SOURCE_DIR}/../../lib/win32 ${CMAKE_CURRENT_SOURCE_DIR}/../win32) list(APPEND SOURCES ${CMAKE_CURRENT_SOURCE_DIR}/../win32/getopt.cpp) endif() diff --git a/src/lib/CMakeLists.txt b/src/lib/CMakeLists.txt index 5ec9d1385..d4b9636c6 100644 --- a/src/lib/CMakeLists.txt +++ b/src/lib/CMakeLists.txt @@ -53,7 +53,7 @@ if(CMAKE_VERSION VERSION_LESS "3.12") endif() -if(CMAKE_CXX_COMPILER_ID STREQUAL "MSVC") +if(WIN32) list(APPEND INCLUDE_DIRS ${CMAKE_CURRENT_SOURCE_DIR}/win32) list(APPEND STATIC_FILES "Ws2_32.lib;Crypt32.lib") ENDIF() diff --git a/src/lib/common/CMakeLists.txt b/src/lib/common/CMakeLists.txt index cb4de1a8a..387e6e5a0 100644 --- a/src/lib/common/CMakeLists.txt +++ b/src/lib/common/CMakeLists.txt @@ -14,7 +14,7 @@ set(SOURCES Configuration.cpp SimpleConfigLoader.cpp ) -if(CMAKE_CXX_COMPILER_ID STREQUAL "MSVC") +if(WIN32) list(APPEND SOURCES ${PROJECT_SOURCE_DIR}/../win32/syslog.cpp) list(APPEND INCLUDE_DIRS ${PROJECT_SOURCE_DIR}/../win32) ENDIF() diff --git a/src/lib/crypto/CMakeLists.txt b/src/lib/crypto/CMakeLists.txt index 0579a08a3..56847642f 100644 --- a/src/lib/crypto/CMakeLists.txt +++ b/src/lib/crypto/CMakeLists.txt @@ -161,7 +161,7 @@ if(WITH_BOTAN) ) endif(WITH_BOTAN) -if(CMAKE_CXX_COMPILER_ID STREQUAL "MSVC") +if(WIN32) list(APPEND INCLUDE_DIRS ${PROJECT_SOURCE_DIR}/../win32) ENDIF() diff --git a/src/lib/data_mgr/CMakeLists.txt b/src/lib/data_mgr/CMakeLists.txt index a0e0c172e..6a201e22f 100644 --- a/src/lib/data_mgr/CMakeLists.txt +++ b/src/lib/data_mgr/CMakeLists.txt @@ -13,7 +13,7 @@ set(SOURCES ByteString.cpp SecureMemoryRegistry.cpp ) -if(CMAKE_CXX_COMPILER_ID STREQUAL "MSVC") +if(WIN32) list(APPEND INCLUDE_DIRS ${PROJECT_SOURCE_DIR}/../win32) ENDIF() diff --git a/src/lib/handle_mgr/CMakeLists.txt b/src/lib/handle_mgr/CMakeLists.txt index 770b0fd08..de188eed2 100644 --- a/src/lib/handle_mgr/CMakeLists.txt +++ b/src/lib/handle_mgr/CMakeLists.txt @@ -14,7 +14,7 @@ set(SOURCES HandleManager.cpp Handle.cpp ) -if(CMAKE_CXX_COMPILER_ID STREQUAL "MSVC") +if(WIN32) list(APPEND INCLUDE_DIRS ${PROJECT_SOURCE_DIR}/../win32) ENDIF() diff --git a/src/lib/object_store/CMakeLists.txt b/src/lib/object_store/CMakeLists.txt index d777a939f..ca1c435bd 100644 --- a/src/lib/object_store/CMakeLists.txt +++ b/src/lib/object_store/CMakeLists.txt @@ -29,7 +29,7 @@ if(WITH_OBJECTSTORE_BACKEND_DB) ) endif(WITH_OBJECTSTORE_BACKEND_DB) -if(CMAKE_CXX_COMPILER_ID STREQUAL "MSVC") +if(WIN32) list(APPEND INCLUDE_DIRS ${PROJECT_SOURCE_DIR}/../win32) endif() diff --git a/src/lib/session_mgr/CMakeLists.txt b/src/lib/session_mgr/CMakeLists.txt index d70d547f8..9b485ee88 100644 --- a/src/lib/session_mgr/CMakeLists.txt +++ b/src/lib/session_mgr/CMakeLists.txt @@ -13,7 +13,7 @@ set(SOURCES SessionManager.cpp Session.cpp ) -if(CMAKE_CXX_COMPILER_ID STREQUAL "MSVC") +if(WIN32) list(APPEND INCLUDE_DIRS ${PROJECT_SOURCE_DIR}/../win32) endif() diff --git a/src/lib/slot_mgr/CMakeLists.txt b/src/lib/slot_mgr/CMakeLists.txt index a8da06f79..b77252289 100644 --- a/src/lib/slot_mgr/CMakeLists.txt +++ b/src/lib/slot_mgr/CMakeLists.txt @@ -14,7 +14,7 @@ set(SOURCES SlotManager.cpp Token.cpp ) -if(CMAKE_CXX_COMPILER_ID STREQUAL "MSVC") +if(WIN32) list(APPEND INCLUDE_DIRS ${PROJECT_SOURCE_DIR}/../win32) ENDIF() diff --git a/src/lib/test/CMakeLists.txt b/src/lib/test/CMakeLists.txt index 9028e6128..506eff68f 100644 --- a/src/lib/test/CMakeLists.txt +++ b/src/lib/test/CMakeLists.txt @@ -32,7 +32,7 @@ set(SOURCES p11test.cpp ) add_executable(${PROJECT_NAME} ${SOURCES}) -if(CMAKE_CXX_COMPILER_ID STREQUAL "MSVC") +if(WIN32) target_sources(${PROJECT_NAME} PRIVATE ${PROJECT_SOURCE_DIR}/../win32/setenv.cpp ${PROJECT_SOURCE_DIR}/../win32/syslog.cpp) From 375994d6a7bb5e14d9c001d0df88ff9b375a437f Mon Sep 17 00:00:00 2001 From: Dylan Weber Date: Tue, 27 Oct 2026 15:02:52 -0500 Subject: [PATCH 2/3] Updated test compile definition --- src/lib/test/CMakeLists.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/lib/test/CMakeLists.txt b/src/lib/test/CMakeLists.txt index 506eff68f..8813ac659 100644 --- a/src/lib/test/CMakeLists.txt +++ b/src/lib/test/CMakeLists.txt @@ -36,7 +36,7 @@ if(WIN32) target_sources(${PROJECT_NAME} PRIVATE ${PROJECT_SOURCE_DIR}/../win32/setenv.cpp ${PROJECT_SOURCE_DIR}/../win32/syslog.cpp) - list(APPEND COMPILE_OPTIONS "/DCRYPTOKI_STATIC") + target_compile_definitions(${PROJECT_NAME} PRIVATE CRYPTOKI_STATIC) else() target_sources(${PROJECT_NAME} PRIVATE "ForkTests.cpp") set_target_properties(${PROJECT_NAME} PROPERTIES LINK_FLAGS -pthread) From 2d249cb98a71b1dcdf09094a193db11784dfae68 Mon Sep 17 00:00:00 2001 From: Dylan Weber Date: Tue, 27 Oct 2026 15:20:27 -0500 Subject: [PATCH 3/3] Added MSVC check for muting compiler warnings --- src/lib/crypto/CMakeLists.txt | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/lib/crypto/CMakeLists.txt b/src/lib/crypto/CMakeLists.txt index 56847642f..375d1e5be 100644 --- a/src/lib/crypto/CMakeLists.txt +++ b/src/lib/crypto/CMakeLists.txt @@ -165,10 +165,10 @@ if(WIN32) list(APPEND INCLUDE_DIRS ${PROJECT_SOURCE_DIR}/../win32) ENDIF() -if(WITH_BOTAN) +if(WITH_BOTAN AND CMAKE_CXX_COMPILER_ID STREQUAL "MSVC") # mute botan specific warnings # https://github.com/randombit/botan/issues/486 - list(APPEND COMPILE_OPTIONS "/wd4250;/wd4251;/wd4275;/wd4127;/wd4273") + list(APPEND COMPILE_OPTIONS "/wd4250;/wd4251;/wd4275;/wd4127;/wd4273") endif() include_directories(${INCLUDE_DIRS})