mirror of
https://github.com/GerbilSoft/rvthtool.git
synced 2025-06-18 11:35:33 -04:00
[cmake] Backported a lot of CMake changes from rom-properties.
This commit is contained in:
parent
d68b84381b
commit
67de549aff
89
cmake/macros/CPUInstructionSetFlags.cmake
Normal file
89
cmake/macros/CPUInstructionSetFlags.cmake
Normal file
@ -0,0 +1,89 @@
|
||||
# x86 instruction set flags.
|
||||
|
||||
# Determine CPU architecture.
|
||||
IF(MSVC AND _MSVC_C_ARCHITECTURE_FAMILY)
|
||||
# Check the MSVC architecture.
|
||||
# Set CMAKE_SYSTEM_PROCESSOR to match, since it doesn't get
|
||||
# set to the target architecture correctly.
|
||||
# TODO: Verify 32-bit.
|
||||
IF(_MSVC_C_ARCHITECTURE_FAMILY MATCHES "^[iI]?[xX3]86$")
|
||||
SET(CPU_i386 1)
|
||||
SET(CMAKE_SYSTEM_PROCESSOR "x86")
|
||||
SET(WIN32_MANIFEST_PROCESSOR_ARCHITECTURE "x86")
|
||||
ELSEIF(_MSVC_C_ARCHITECTURE_FAMILY MATCHES "^[xX]64$")
|
||||
SET(CPU_amd64 1)
|
||||
SET(CMAKE_SYSTEM_PROCESSOR "AMD64")
|
||||
SET(WIN32_MANIFEST_PROCESSOR_ARCHITECTURE "amd64")
|
||||
ELSEIF(_MSVC_C_ARCHITECTURE_FAMILY MATCHES "[iI][aA]64")
|
||||
SET(CPU_ia64 1)
|
||||
SET(CMAKE_SYSTEM_PROCESSOR "IA64")
|
||||
SET(WIN32_MANIFEST_PROCESSOR_ARCHITECTURE "ia64")
|
||||
ELSEIF(_MSVC_C_ARCHITECTURE_FAMILY STREQUAL "ARM")
|
||||
SET(CPU_arm 1)
|
||||
SET(CMAKE_SYSTEM_PROCESSOR "ARM")
|
||||
SET(WIN32_MANIFEST_PROCESSOR_ARCHITECTURE "arm")
|
||||
ELSEIF(_MSVC_C_ARCHITECTURE_FAMILY STREQUAL "ARM64")
|
||||
SET(CPU_arm64 1)
|
||||
SET(CMAKE_SYSTEM_PROCESSOR "ARM64")
|
||||
SET(WIN32_MANIFEST_PROCESSOR_ARCHITECTURE "arm64")
|
||||
ELSE()
|
||||
MESSAGE(FATAL_ERROR "Unsupported value for _MSVC_C_ARCHITECTURE_FAMILY: ${_MSVC_C_ARCHITECTURE_FAMILY}")
|
||||
ENDIF()
|
||||
ELSE()
|
||||
# TODO: Verify cross-compile functionality.
|
||||
# TODO: ARM/ARM64 is untested.
|
||||
STRING(TOLOWER "${CMAKE_SYSTEM_PROCESSOR}" arch)
|
||||
IF(arch MATCHES "^(i.|x)86$|^x86_64$|^amd64$")
|
||||
IF(CMAKE_CL_64 OR ("${CMAKE_SIZEOF_VOID_P}" EQUAL 8))
|
||||
SET(CPU_amd64 1)
|
||||
SET(WIN32_MANIFEST_PROCESSOR_ARCHITECTURE "amd64")
|
||||
ELSE()
|
||||
SET(CPU_i386 1)
|
||||
SET(WIN32_MANIFEST_PROCESSOR_ARCHITECTURE "x86")
|
||||
ENDIF()
|
||||
ELSEIF(arch STREQUAL "ia64")
|
||||
SET(CPU_ia64 1)
|
||||
SET(WIN32_MANIFEST_PROCESSOR_ARCHITECTURE "ia64")
|
||||
ELSEIF(arch MATCHES "^arm(|v[1-7](.|h[fl]|hfe[lb]))?$" OR arch STREQUAL "aarch64")
|
||||
IF(CMAKE_CL_64 OR ("${CMAKE_SIZEOF_VOID_P}" EQUAL 8))
|
||||
SET(CPU_arm64 1)
|
||||
SET(WIN32_MANIFEST_PROCESSOR_ARCHITECTURE "arm64")
|
||||
ELSE()
|
||||
SET(CPU_arm 1)
|
||||
SET(WIN32_MANIFEST_PROCESSOR_ARCHITECTURE "arm")
|
||||
ENDIF()
|
||||
ELSEIF(arch MATCHES "^ppc")
|
||||
IF(CMAKE_CL_64 OR ("${CMAKE_SIZEOF_VOID_P}" EQUAL 8))
|
||||
SET(CPU_arm64 1)
|
||||
SET(WIN32_MANIFEST_PROCESSOR_ARCHITECTURE "ppc64")
|
||||
ELSE()
|
||||
SET(CPU_arm 1)
|
||||
SET(WIN32_MANIFEST_PROCESSOR_ARCHITECTURE "ppc")
|
||||
ENDIF()
|
||||
ENDIF()
|
||||
UNSET(arch)
|
||||
ENDIF()
|
||||
|
||||
# i386/amd64: Flags for extended instruction sets.
|
||||
IF(CPU_i386 OR CPU_amd64)
|
||||
# MSVC does not require anything past /arch:SSE2 for SSSE3.
|
||||
# ClangCL does require -mssse3, even on 64-bit.
|
||||
IF(MSVC)
|
||||
IF(CPU_i386)
|
||||
SET(SSE2_FLAG "/arch:SSE2")
|
||||
SET(SSSE3_FLAG "/arch:SSE2")
|
||||
SET(SSE41_FLAG "/arch:SSE2")
|
||||
ENDIF(CPU_i386)
|
||||
IF(CMAKE_CXX_COMPILER_ID STREQUAL Clang)
|
||||
SET(SSSE3_FLAG "-mssse3")
|
||||
SET(SSE41_FLAG "-msse4.1")
|
||||
ENDIF(CMAKE_CXX_COMPILER_ID STREQUAL Clang)
|
||||
ELSE()
|
||||
IF(CPU_i386)
|
||||
SET(MMX_FLAG "-mmmx")
|
||||
SET(SSE2_FLAG "-msse2")
|
||||
ENDIF(CPU_i386)
|
||||
SET(SSSE3_FLAG "-mssse3")
|
||||
SET(SSE41_FLAG "-msse4.1")
|
||||
ENDIF()
|
||||
ENDIF(CPU_i386 OR CPU_amd64)
|
@ -56,14 +56,26 @@ FUNCTION(CHECK_64BIT_TIME_SUPPORT)
|
||||
ELSE()
|
||||
# Try adding 64-bit time_t macros.
|
||||
# Reference: https://sourceware.org/glibc/wiki/Y2038ProofnessDesign?rev=115
|
||||
# NOTE: Requires LFS.
|
||||
INCLUDE(CheckLargeFileSupport)
|
||||
CHECK_LARGE_FILE_SUPPORT()
|
||||
SET(TMP_TIME64_DEFINITIONS -D_TIME_BITS=64)
|
||||
TRY_COMPILE(TMP_TIME64_FOUND "${CMAKE_BINARY_DIR}"
|
||||
"${TIME64_SOURCE_PATH}/64BitTimeSupport.c"
|
||||
COMPILE_DEFINITIONS ${TMP_TIME64_DEFINITIONS})
|
||||
COMPILE_DEFINITIONS ${LFS_DEFINITIONS} ${TMP_TIME64_DEFINITIONS})
|
||||
IF(TMP_TIME64_FOUND)
|
||||
# TIME64 macros work.
|
||||
MESSAGE(STATUS "Checking if time_t is 64-bit - yes, using -D_TIME_BITS=64")
|
||||
SET(TMP_TIME64_FOUND_TIME_BITS 1)
|
||||
# FIXME: glibc-2.34's fcntl()/ioctl() redirection is broken in C++ mode.
|
||||
TRY_COMPILE(TMP_TIME64_FCNTL_OK "${CMAKE_BINARY_DIR}"
|
||||
"${TIME64_SOURCE_PATH}/64BitTimeSupportFcntl.cpp"
|
||||
COMPILE_DEFINITIONS ${LFS_DEFINITIONS} ${TMP_TIME64_DEFINITIONS})
|
||||
IF(TMP_TIME64_FCNTL_OK)
|
||||
MESSAGE(STATUS "Checking if time_t is 64-bit - yes, using -D_TIME_BITS=64")
|
||||
SET(TMP_TIME64_FOUND_TIME_BITS 1)
|
||||
ELSE()
|
||||
MESSAGE(STATUS "Checking if time_t is 64-bit - no, redirection is broken in C++")
|
||||
SET(TMP_TIME64_FOUND_TIME_BITS 1)
|
||||
ENDIF()
|
||||
ELSE()
|
||||
# TIME64 macros failed.
|
||||
MESSAGE(STATUS "Checking if time_t is 64-bit - no")
|
||||
|
@ -6,7 +6,7 @@
|
||||
|
||||
MACRO(CHECK_HIDDEN_VISIBILITY)
|
||||
# Check for visibility symbols.
|
||||
IF(NOT CMAKE_VERSION VERSION_LESS 3.3.0)
|
||||
IF(POLICY CMP0063)
|
||||
# CMake 3.3: Use CMake predefined variables.
|
||||
# NOTE: CMake 3.0-3.2 do not apply these settings
|
||||
# to static libraries, so we have to fall back to the
|
||||
|
@ -45,13 +45,13 @@ FUNCTION(CHECK_STACK_PROTECTOR_COMPILER_FLAG _result)
|
||||
# CMake doesn't like "+" characters in variable names.
|
||||
STRING(REPLACE "+" "_" CHECK_STACK_CFLAG_VARNAME "CHECK_CFLAG_${CHECK_STACK_CFLAG}")
|
||||
|
||||
SET(SAFE_CMAKE_REQUIRED_DEFINITIONS "${CMAKE_REQUIRED_DEFINITIONS}")
|
||||
SET(SAFE_CMAKE_REQUIRED_LIBRARIES "${CMAKE_REQUIRED_LIBRARIES}")
|
||||
SET(CMAKE_REQUIRED_DEFINITIONS "${CHECK_STACK_CFLAG}")
|
||||
SET(OLD_CMAKE_REQUIRED_DEFINITIONS ${CMAKE_REQUIRED_DEFINITIONS})
|
||||
SET(OLD_CMAKE_REQUIRED_LIBRARIES ${CMAKE_REQUIRED_LIBRARIES})
|
||||
SET(CMAKE_REQUIRED_DEFINITIONS ${CHECK_STACK_CFLAG})
|
||||
IF(WIN32)
|
||||
SET(CMAKE_REQUIRED_LIBRARIES "-lkernel32")
|
||||
SET(CMAKE_REQUIRED_LIBRARIES kernel32)
|
||||
ELSE(WIN32)
|
||||
SET(CMAKE_REQUIRED_LIBRARIES "-lc")
|
||||
SET(CMAKE_REQUIRED_LIBRARIES c)
|
||||
ENDIF(WIN32)
|
||||
# NOTE: We need a function that triggers stack smashing protection
|
||||
# in order to determine if libssp is needed on MinGW-w64.
|
||||
@ -95,8 +95,10 @@ int main(int argc, char *argv[])
|
||||
puts(buf);
|
||||
return 0;
|
||||
}" ${CHECK_STACK_CFLAG_VARNAME})
|
||||
SET(CMAKE_REQUIRED_DEFINITIONS "${SAFE_CMAKE_REQUIRED_DEFINITIONS}")
|
||||
SET(CMAKE_REQUIRED_LIBRARIES "${SAFE_CMAKE_REQUIRED_LIBRARIES}")
|
||||
SET(CMAKE_REQUIRED_DEFINITIONS ${OLD_CMAKE_REQUIRED_DEFINITIONS})
|
||||
SET(CMAKE_REQUIRED_LIBRARIES ${OLD_CMAKE_REQUIRED_LIBRARIES})
|
||||
UNSET(OLD_CMAKE_REQUIRED_INCLUDES)
|
||||
UNSET(OLD_CMAKE_REQUIRED_LIBRARIES)
|
||||
|
||||
IF(${${CHECK_STACK_CFLAG_VARNAME}})
|
||||
SET(_SYS_STACK_PROTECTOR_COMPILER_FLAG "${CHECK_STACK_CFLAG}" CACHE INTERNAL "CFLAG required for stack smashing protection.")
|
||||
|
@ -12,6 +12,7 @@ IF(NOT PACKAGE_NAME)
|
||||
ENDIF(NOT PACKAGE_NAME)
|
||||
|
||||
# Architecture name for arch-specific paths.
|
||||
INCLUDE(CPUInstructionSetFlags)
|
||||
IF(CPU_amd64)
|
||||
SET(arch "amd64")
|
||||
ELSEIF(CPU_i386)
|
||||
@ -22,21 +23,30 @@ ELSEIF(CPU_arm)
|
||||
SET(arch "arm")
|
||||
ELSEIF(CPU_arm64)
|
||||
SET(arch "arm64")
|
||||
ELSEIF(CPU_ppc)
|
||||
SET(arch "ppc")
|
||||
ELSEIF(CPU_ppc64)
|
||||
SET(arch "ppc64")
|
||||
ELSE()
|
||||
MESSAGE(FATAL_ERROR "Unsupported CPU architecture, please fix!")
|
||||
ENDIF()
|
||||
|
||||
INCLUDE(GNUInstallDirs)
|
||||
IF(UNIX AND NOT APPLE)
|
||||
# Unix-style install paths.
|
||||
SET(DIR_INSTALL_EXE "${CMAKE_INSTALL_BINDIR}")
|
||||
SET(DIR_INSTALL_DLL "${CMAKE_INSTALL_LIBDIR}")
|
||||
SET(DIR_INSTALL_LIB "${CMAKE_INSTALL_LIBDIR}")
|
||||
SET(DIR_INSTALL_TRANSLATIONS "share/${PACKAGE_NAME}/translations")
|
||||
SET(DIR_INSTALL_DOC "share/doc/${PACKAGE_NAME}")
|
||||
SET(DIR_INSTALL_DOC_ROOT "${DIR_INSTALL_DOC}")
|
||||
SET(DIR_INSTALL_XDG_DESKTOP "share/applications")
|
||||
SET(DIR_INSTALL_EXE_DEBUG "lib/debug/${CMAKE_INSTALL_PREFIX}/${DIR_INSTALL_EXE}")
|
||||
SET(DIR_INSTALL_DLL_DEBUG "lib/debug/${CMAKE_INSTALL_PREFIX}/${DIR_INSTALL_DLL}")
|
||||
SET(DIR_INSTALL_LIB_DEBUG "lib/debug/${CMAKE_INSTALL_PREFIX}/${DIR_INSTALL_LIB}")
|
||||
|
||||
# AppArmor profile directory
|
||||
SET(DIR_INSTALL_APPARMOR "/etc/apparmor.d")
|
||||
ELSEIF(APPLE)
|
||||
# Mac OS X-style install paths.
|
||||
# Install should be relative to the application bundle.
|
||||
@ -47,6 +57,7 @@ ELSEIF(APPLE)
|
||||
SET(DIR_INSTALL_TRANSLATIONS "share/${PACKAGE_NAME}/translations")
|
||||
SET(DIR_INSTALL_DOC "share/doc/${PACKAGE_NAME}")
|
||||
SET(DIR_INSTALL_DOC_ROOT "${DIR_INSTALL_DOC}")
|
||||
UNSET(DIR_INSTALL_XDG_DESKTOP)
|
||||
SET(DIR_INSTALL_EXE_DEBUG "lib/debug/${CMAKE_INSTALL_PREFIX}/${DIR_INSTALL_EXE}")
|
||||
SET(DIR_INSTALL_DLL_DEBUG "lib/debug/${CMAKE_INSTALL_PREFIX}/${DIR_INSTALL_DLL}")
|
||||
SET(DIR_INSTALL_LIB_DEBUG "lib/debug/${CMAKE_INSTALL_PREFIX}/${DIR_INSTALL_LIB}")
|
||||
@ -54,12 +65,14 @@ ELSEIF(WIN32)
|
||||
# Win32-style install paths.
|
||||
# Files are installed relative to root, since the
|
||||
# program is run out of its own directory.
|
||||
SET(DIR_INSTALL_EXE ".")
|
||||
SET(DIR_INSTALL_DLL ".")
|
||||
SET(DIR_INSTALL_LIB ".")
|
||||
SET(DIR_INSTALL_EXE "${arch}")
|
||||
SET(DIR_INSTALL_DLL "${arch}")
|
||||
SET(DIR_INSTALL_LIB "${arch}")
|
||||
SET(DIR_INSTALL_TRANSLATIONS "translations")
|
||||
SET(DIR_INSTALL_DOC "doc")
|
||||
SET(DIR_INSTALL_DOC_ROOT ".")
|
||||
UNSET(DIR_INSTALL_XDG_DESKTOP)
|
||||
SET(DIR_INSTALL_EXE_DEBUG "debug")
|
||||
# Installing debug symbols for DLLs in the
|
||||
# same directory as the DLL.
|
||||
SET(DIR_INSTALL_EXE_DEBUG "${DIR_INSTALL_EXE}")
|
||||
|
@ -37,18 +37,24 @@ IF(MSVC)
|
||||
SET(OUTPUT_NAME_EXPR "${OUTPUT_NAME_EXPR_1}${OUTPUT_NAME_EXPR_2}")
|
||||
SET(OUTPUT_NAME_FULL "${PREFIX_EXPR_FULL}${OUTPUT_NAME_EXPR}$<TARGET_PROPERTY:${_target},POSTFIX>")
|
||||
|
||||
SET(SPLITDEBUG_SOURCE "$<TARGET_FILE:${_target}>")
|
||||
SET(SPLITDEBUG_TARGET "$<TARGET_FILE_DIR:${_target}>/${OUTPUT_NAME_FULL}.debug")
|
||||
|
||||
SET(OUTPUT_NAME_EXPR_1 "$<TARGET_PROPERTY:${_target},PREFIX>$<TARGET_PROPERTY:${_target},OUTPUT_NAME>$<TARGET_PROPERTY:${_target},POSTFIX>")
|
||||
SET(OUTPUT_NAME_EXPR_2 "$<$<STREQUAL:$<TARGET_PROPERTY:${_target},OUTPUT_NAME>,>:$<TARGET_PROPERTY:${_target},PREFIX>${_target}$<TARGET_PROPERTY:${_target},POSTFIX>>")
|
||||
|
||||
# FIXME: "-dll" suffix seems to be missing here.
|
||||
# If it's present in the target name, add it here.
|
||||
IF(${_target} MATCHES "-dll$")
|
||||
SET(_target_suffix "-dll")
|
||||
ELSE()
|
||||
UNSET(_target_suffix)
|
||||
ENDIF()
|
||||
|
||||
# Set the target PDB filename.
|
||||
SET_TARGET_PROPERTIES(${_target}
|
||||
PROPERTIES PDB "$<TARGET_FILE_DIR:${_target}>/${OUTPUT_NAME_EXPR_1}${OUTPUT_NAME_EXPR_2}.pdb"
|
||||
PROPERTIES PDB "$<TARGET_FILE_DIR:${_target}>/${OUTPUT_NAME_EXPR_1}${OUTPUT_NAME_EXPR_2}${_target_suffix}.pdb"
|
||||
)
|
||||
|
||||
UNSET(OUTPUT_NAME_EXPR_1)
|
||||
UNSET(OUTPUT_NAME_EXPR_2)
|
||||
UNSET(_target_suffix)
|
||||
ENDIF(MSVC)
|
||||
ENDMACRO(SET_MSVC_DEBUG_PATH)
|
||||
|
@ -17,52 +17,6 @@ IF(NOT HAVE_STDINT_H)
|
||||
MESSAGE(FATAL_ERROR "stdint.h is required.")
|
||||
ENDIF(NOT HAVE_STDINT_H)
|
||||
|
||||
# CPU architecture.
|
||||
IF(MSVC AND _MSVC_C_ARCHITECTURE_FAMILY)
|
||||
# Check the MSVC architecture.
|
||||
# Set CMAKE_SYSTEM_PROCESSOR to match, since it doesn't get
|
||||
# set to the target architecture correctly.
|
||||
# TODO: Verify 32-bit.
|
||||
IF(_MSVC_C_ARCHITECTURE_FAMILY MATCHES "^[iI]?[xX3]86$")
|
||||
SET(CPU_i386 1)
|
||||
SET(CMAKE_SYSTEM_PROCESSOR "x86")
|
||||
ELSEIF(_MSVC_C_ARCHITECTURE_FAMILY MATCHES "^[xX]64$")
|
||||
SET(CPU_amd64 1)
|
||||
SET(CMAKE_SYSTEM_PROCESSOR "AMD64")
|
||||
ELSEIF(_MSVC_C_ARCHITECTURE_FAMILY MATCHES "[iI][aA]64")
|
||||
SET(CPU_ia64 1)
|
||||
SET(CMAKE_SYSTEM_PROCESSOR "IA64")
|
||||
ELSEIF(_MSVC_C_ARCHITECTURE_FAMILY STREQUAL "ARM")
|
||||
SET(CPU_arm 1)
|
||||
SET(CMAKE_SYSTEM_PROCESSOR "ARM")
|
||||
ELSEIF(_MSVC_C_ARCHITECTURE_FAMILY STREQUAL "ARM64")
|
||||
SET(CPU_arm64 1)
|
||||
SET(CMAKE_SYSTEM_PROCESSOR "ARM64")
|
||||
ELSE()
|
||||
MESSAGE(FATAL_ERROR "Unsupported value for _MSVC_C_ARCHITECTURE_FAMILY: ${_MSVC_C_ARCHITECTURE_FAMILY}")
|
||||
ENDIF()
|
||||
ELSE()
|
||||
# TODO: Verify cross-compile functionality.
|
||||
# TODO: ARM/ARM64 is untested.
|
||||
STRING(TOLOWER "${CMAKE_SYSTEM_PROCESSOR}" arch)
|
||||
IF(arch MATCHES "^(i.|x)86$|^x86_64$|^amd64$")
|
||||
IF(CMAKE_CL_64 OR ("${CMAKE_SIZEOF_VOID_P}" EQUAL 8))
|
||||
SET(CPU_amd64 1)
|
||||
ELSE()
|
||||
SET(CPU_i386 1)
|
||||
ENDIF()
|
||||
ELSEIF(arch STREQUAL "ia64")
|
||||
SET(CPU_ia64 1)
|
||||
ELSEIF(arch MATCHES "^arm(|v[1-7](.|h[fl]|hfe[lb]))?$" OR arch STREQUAL "aarch64")
|
||||
IF(CMAKE_CL_64 OR ("${CMAKE_SIZEOF_VOID_P}" EQUAL 8))
|
||||
SET(CPU_arm64 1)
|
||||
ELSE()
|
||||
SET(CPU_arm 1)
|
||||
ENDIF()
|
||||
ENDIF()
|
||||
UNSET(arch)
|
||||
ENDIF()
|
||||
|
||||
# Common flag variables:
|
||||
# [common]
|
||||
# - RP_C_FLAGS_COMMON
|
||||
|
@ -81,7 +81,7 @@ IF(ENABLE_COVERAGE)
|
||||
SET(RP_CXX_FLAGS_COMMON "${RP_CXX_FLAGS_COMMON} ${RP_C_FLAGS_COVERAGE}")
|
||||
|
||||
# Link gcov to all targets.
|
||||
SET(GCOV_LIBRARY "-lgcov")
|
||||
SET(GCOV_LIBRARY "gcov")
|
||||
FOREACH(VAR "" C_ CXX_)
|
||||
IF(CMAKE_${VAR}STANDARD_LIBRARIES)
|
||||
SET(CMAKE_${VAR}STANDARD_LIBRARIES "${CMAKE_${VAR}STANDARD_LIBRARIES} ${GCOV_LIBRARY}")
|
||||
|
@ -70,12 +70,6 @@ ENDIF()
|
||||
SET(CMAKE_ASM_MASM_FLAGS "/W0 /safeseh" CACHE STRING
|
||||
"Flags used by the assembler during all build types.")
|
||||
|
||||
# CPU architecture.
|
||||
STRING(TOLOWER "${CMAKE_SYSTEM_PROCESSOR}" arch)
|
||||
|
||||
# CPU architecture.
|
||||
STRING(TOLOWER "${CMAKE_SYSTEM_PROCESSOR}" arch)
|
||||
|
||||
# Check if CMAKE_SIZEOF_VOID_P is set correctly.
|
||||
IF(NOT CMAKE_SIZEOF_VOID_P)
|
||||
# CMAKE_SIZEOF_VOID_P isn't set.
|
||||
|
@ -23,21 +23,6 @@ SET(RP_CXX_FLAGS_WIN32 "${RP_CXX_FLAGS_WIN32} -D_CRT_SECURE_CPP_OVERLOAD_STANDAR
|
||||
SET(RP_CXX_FLAGS_WIN32 "${RP_CXX_FLAGS_WIN32} -D_CRT_SECURE_CPP_OVERLOAD_STANDARD_NAMES_COUNT=1")
|
||||
SET(RP_CXX_FLAGS_WIN32 "${RP_CXX_FLAGS_WIN32} -D_CRT_SECURE_CPP_OVERLOAD_STANDARD_NAMES_MEMORY=1")
|
||||
|
||||
# Determine the processorArchitecture for the manifest files.
|
||||
IF(CPU_i386)
|
||||
SET(WIN32_MANIFEST_PROCESSOR_ARCHITECTURE "x86")
|
||||
ELSEIF(CPU_amd64)
|
||||
SET(WIN32_MANIFEST_PROCESSOR_ARCHITECTURE "amd64")
|
||||
ELSEIF(CPU_ia64)
|
||||
SET(WIN32_MANIFEST_PROCESSOR_ARCHITECTURE "ia64")
|
||||
ELSEIF(CPU_arm)
|
||||
SET(WIN32_MANIFEST_PROCESSOR_ARCHITECTURE "arm")
|
||||
ELSEIF(CPU_arm64)
|
||||
SET(WIN32_MANIFEST_PROCESSOR_ARCHITECTURE "arm64")
|
||||
ELSE()
|
||||
MESSAGE(FATAL_ERROR "Unsupported CPU architecture, please fix!")
|
||||
ENDIF()
|
||||
|
||||
# Compiler-specific Win32 flags.
|
||||
IF(MSVC)
|
||||
INCLUDE(cmake/platform/win32-msvc.cmake)
|
||||
|
Loading…
Reference in New Issue
Block a user