Project

General

Profile

Actions

Bug #940

closed

CANONICAL_HOST_TYPE on Windows has confusing value

Added by Marco Eichelberg about 5 years ago. Updated almost 4 years ago.

Status:
Closed
Priority:
Normal
Category:
-
Target version:
Start date:
2020-08-14
Due date:
% Done:

0%

Estimated time:
Module:
CMake
Operating System:
Compiler:

Description

When compiling 32-bit Binaries on Windows, the output for example of dcmdump --version shows:

$dcmtk: dcmdump v3.6.5 2019-10-28 $

dcmdump: Dump DICOM file and data set

Host type: AMD64-Windows
Character encoding: CP1252
Code page: 850 (OEM) / 1252 (ANSI)

Note that AMD64 is shown as host type despite the binary being a 32-bit binary. This is confusing.
Apparently the CMake variable SYSTEM_PROCESSOR has the value "AMD64" when compiling for Windows, even though 32-bit binaries are generated.

An alternative could be to use the CMake variable CMAKE_GENERATOR_PLATFORM instead of SYSTEM_PROCESSOR when available.
On Visual Studio, this would have the value "Win32" for 32-bit builds and "x64" for 64-bit builds.

Actions #1

Updated by Michael Onken almost 4 years ago

  • Assignee set to Nikolas Goldhammer
  • Target version set to 3.6.7
Actions #2

Updated by Jan Schlamelcher almost 4 years ago

  • Status changed from New to Closed

Closed by commit #2de650d51be604dcc7d. There remains a potential issue with regard to NMake Makefiles: the current fix would interpret an ARM target as Win32 or x64 depending on the size of void*. This is an edge case and probably not important. Nikolas will try to find a solution for it anyhow, the current implementation is still sufficient to close this issue though.

Actions

Also available in: Atom PDF