mirror of
https://github.com/GerbilSoft/rom-properties.git
synced 2025-06-18 19:45:41 -04:00

This reduces the size of pugixml.dll to within range of what tinyxml-10.dll was in previous versions. Size comparisons: (amd64 release build, with LTO, MSVC 2022 17.6.5) tinyxml-10.dll in rom-properties 2.4.1: 105,472 pugixml.dll: - With all enabled: 222,208 - Disable XPATH: 142,336 - + disable STL: 121,856 - + disable exceptions: 121,856 NOTE: Disabling exceptions doesn't seem to change the code size at all, even if STL is left enabled.
449 lines
12 KiB
CMake
Vendored
449 lines
12 KiB
CMake
Vendored
PROJECT(extlib)
|
|
|
|
# Set common properties for extlib targets.
|
|
INCLUDE(SetMSVCDebugPath)
|
|
FUNCTION(SET_EXTLIB_PROPERTIES)
|
|
FOREACH(_target ${ARGV})
|
|
IF(TARGET ${_target})
|
|
# Exclude from ALL builds.
|
|
# NOTE: Cannot remove targets from all builds
|
|
# if they're being installed.
|
|
IF(SKIP_INSTALL_LIBRARIES OR SKIP_INSTALL_ALL)
|
|
# Nothing to do here.
|
|
ELSE()
|
|
# Exclude this target from ALL builds.
|
|
SET_TARGET_PROPERTIES(${_target} PROPERTIES EXCLUDE_FROM_ALL TRUE)
|
|
ENDIF()
|
|
|
|
# Enable PIC.
|
|
SET_TARGET_PROPERTIES(${_target} PROPERTIES POSITION_INDEPENDENT_CODE TRUE)
|
|
ENDIF(TARGET ${_target})
|
|
ENDFOREACH(_target ${ARGV})
|
|
ENDFUNCTION(SET_EXTLIB_PROPERTIES)
|
|
|
|
FUNCTION(SET_EXTLIB_PROPERTIES_PIC_ONLY)
|
|
FOREACH(_target ${ARGV})
|
|
IF(TARGET ${_target})
|
|
# Exclude from ALL builds; enable PIC.
|
|
SET_TARGET_PROPERTIES(${_target} PROPERTIES
|
|
POSITION_INDEPENDENT_CODE TRUE
|
|
)
|
|
ENDIF(TARGET ${_target})
|
|
ENDFOREACH(_target ${ARGV})
|
|
ENDFUNCTION(SET_EXTLIB_PROPERTIES_PIC_ONLY)
|
|
|
|
# Don't install any of these libraries by default.
|
|
# zlib-ng and libpng will be installed if they're
|
|
# built as shared libraries.
|
|
SET(SKIP_INSTALL_BINARIES ON)
|
|
SET(SKIP_INSTALL_LIBRARIES ON)
|
|
SET(SKIP_INSTALL_HEADERS ON)
|
|
SET(SKIP_INSTALL_FILES ON)
|
|
SET(SKIP_INSTALL_CONFIG_FILE ON)
|
|
SET(SKIP_INSTALL_ALL ON)
|
|
SET(BUILD_SHARED_LIBS OFF)
|
|
|
|
INCLUDE(DirInstallPaths)
|
|
SET(INSTALL_BIN_DIR "${DIR_INSTALL_DLL}")
|
|
SET(INSTALL_LIB_DIR "${DIR_INSTALL_LIB}")
|
|
|
|
IF(USE_INTERNAL_ZLIB)
|
|
# Use the internal copy of zlib-ng.
|
|
# On Windows, this will build DLLs.
|
|
# On other systems, this will be statically-linked.
|
|
IF(WIN32)
|
|
SET(SKIP_INSTALL_LIBRARIES OFF)
|
|
SET(SKIP_INSTALL_ALL OFF)
|
|
SET(BUILD_SHARED_LIBS ON)
|
|
SET(BUILD_STATIC_LIBS OFF)
|
|
ELSE()
|
|
SET(SKIP_INSTALL_LIBRARIES ON)
|
|
SET(SKIP_INSTALL_ALL ON)
|
|
SET(BUILD_SHARED_LIBS OFF)
|
|
SET(BUILD_STATIC_LIBS ON)
|
|
ENDIF()
|
|
|
|
# zlib-ng options
|
|
SET(WITH_GZFILEOP ON)
|
|
SET(ZLIB_COMPAT ON)
|
|
SET(ZLIB_ENABLE_TESTS OFF)
|
|
SET(ZLIBNG_ENABLE_TESTS OFF)
|
|
SET(WITH_GTEST OFF)
|
|
SET(WITH_FUZZERS OFF)
|
|
SET(WITH_BENCHMARKS OFF)
|
|
SET(WITH_BENCHMARK_APPS OFF)
|
|
SET(WITH_OPTIM ON)
|
|
SET(WITH_REDUCED_MEM OFF)
|
|
SET(WITH_NEW_STRATEGIES ON)
|
|
SET(WITH_NATIVE_INSTRUCTIONS OFF)
|
|
SET(WITH_RUNTIME_CPU_DETECTION ON)
|
|
SET(WITH_MAINTAINER_WARNINGS OFF)
|
|
SET(WITH_CODE_COVERAGE OFF)
|
|
SET(WITH_INFLATE_STRICT OFF)
|
|
SET(WITH_INFLATE_ALLOW_INVALID_DIST OFF)
|
|
|
|
# CPU-specific optimizations
|
|
SET(WITH_ACLE ON)
|
|
SET(WITH_NEON ON)
|
|
SET(WITH_ALTIVEC ON)
|
|
SET(WITH_POWER8 ON)
|
|
SET(WITH_POWER9 ON)
|
|
SET(WITH_RVV ON)
|
|
SET(WITH_DFLTCC_DEFLATE OFF)
|
|
SET(WITH_DFLTCC_INFLATE OFF)
|
|
SET(WITH_CRC32_VX ON)
|
|
SET(WITH_SSE2 ON)
|
|
SET(WITH_SSSE3 ON)
|
|
SET(WITH_SSE42 ON)
|
|
SET(WITH_PCLMULQDQ ON)
|
|
SET(WITH_AVX2 ON)
|
|
SET(WITH_AVX512 ON)
|
|
SET(WITH_AVX512VNNI ON)
|
|
SET(WITH_VPCLMULQDQ ON)
|
|
|
|
SET(INSTALL_UTILS OFF)
|
|
|
|
ADD_SUBDIRECTORY(zlib-ng)
|
|
# NOTE: Cannot remove targets from all builds
|
|
# if they're being installed.
|
|
#SET_EXTLIB_PROPERTIES(zlib)
|
|
SET_EXTLIB_PROPERTIES_PIC_ONLY(zlib)
|
|
SET_EXTLIB_PROPERTIES(zlibstatic)
|
|
ENDIF(USE_INTERNAL_ZLIB)
|
|
|
|
IF(USE_INTERNAL_PNG)
|
|
IF(USE_INTERNAL_ZLIB)
|
|
# Using internal ZLIB.
|
|
# Don't search for ZLIB using FIND_PACKAGE().
|
|
SET(PNG_BUILD_ZLIB ON)
|
|
ENDIF(USE_INTERNAL_ZLIB)
|
|
|
|
# Use the internal copy of libpng.
|
|
# On Windows, this will build DLLs.
|
|
# On other systems, this will be statically-linked.
|
|
IF(WIN32)
|
|
SET(PNG_SHARED ON)
|
|
SET(PNG_STATIC OFF)
|
|
SET(SKIP_INSTALL_LIBRARIES OFF)
|
|
SET(SKIP_INSTALL_ALL OFF)
|
|
SET(BUILD_SHARED_LIBS ON)
|
|
SET(BUILD_STATIC_LIBS OFF)
|
|
ELSE()
|
|
SET(PNG_SHARED OFF)
|
|
SET(PNG_STATIC ON)
|
|
SET(SKIP_INSTALL_LIBRARIES ON)
|
|
SET(SKIP_INSTALL_ALL ON)
|
|
SET(BUILD_SHARED_LIBS OFF)
|
|
SET(BUILD_STATIC_LIBS ON)
|
|
ENDIF()
|
|
|
|
SET(PNG_TESTS OFF)
|
|
SET(PNG_TOOLS OFF)
|
|
SET(PNG_DEBUG OFF)
|
|
SET(PNG_HARDWARE_OPTIMIZATIONS ON)
|
|
|
|
ADD_SUBDIRECTORY(libpng)
|
|
# NOTE: Cannot remove targets from all builds
|
|
# if they're being installed.
|
|
#SET_EXTLIB_PROPERTIES(png_shared)
|
|
SET_EXTLIB_PROPERTIES_PIC_ONLY(png_shared)
|
|
SET_EXTLIB_PROPERTIES(png_static)
|
|
ENDIF(USE_INTERNAL_PNG)
|
|
|
|
IF(USE_INTERNAL_ZSTD)
|
|
# Use the internal copy of zstd.
|
|
# On Windows, this will build DLLs.
|
|
# On other systems, this will be statically-linked.
|
|
IF(WIN32)
|
|
SET(SKIP_INSTALL_LIBRARIES ON)
|
|
SET(SKIP_INSTALL_ALL OFF)
|
|
SET(BUILD_SHARED_LIBS ON)
|
|
SET(BUILD_STATIC_LIBS OFF)
|
|
SET(ZSTD_LIBRARY zstd)
|
|
ELSE()
|
|
SET(SKIP_INSTALL_LIBRARIES ON)
|
|
SET(SKIP_INSTALL_ALL ON)
|
|
SET(BUILD_SHARED_LIBS OFF)
|
|
SET(BUILD_STATIC_LIBS ON)
|
|
SET(ZSTD_LIBRARY zstdstatic)
|
|
ENDIF()
|
|
SET(ZSTD_LIBRARIES "${ZSTD_LIBRARY}")
|
|
|
|
ADD_SUBDIRECTORY(zstd)
|
|
# NOTE: Cannot remove targets from all builds
|
|
# if they're being installed.
|
|
#SET_EXTLIB_PROPERTIES(zstd)
|
|
SET_EXTLIB_PROPERTIES_PIC_ONLY(zstd)
|
|
SET_EXTLIB_PROPERTIES(zstdstatic)
|
|
ELSE(USE_INTERNAL_ZSTD)
|
|
SET(ZSTD_LIBRARY zstd)
|
|
ENDIF(USE_INTERNAL_ZSTD)
|
|
|
|
# minizip-ng
|
|
# On Windows, this will build DLLs.
|
|
# On other systems, this will be statically-linked.
|
|
# NOTE: We're always using the internal copy of MiniZip-NG.
|
|
# TODO: Support a system-wide version on Linux?
|
|
# NOTE: MiniZip-NG uses SKIP_INSTALL_HDR instead of SKIP_INSTALL_HEADERS.
|
|
SET(USE_INTERNAL_MINIZIP TRUE PARENT_SCOPE)
|
|
SET(SKIP_INSTALL_HDR ON)
|
|
IF(WIN32)
|
|
SET(USE_INTERNAL_MINIZIP_DLL TRUE PARENT_SCOPE)
|
|
SET(SKIP_INSTALL_LIBRARIES OFF)
|
|
SET(SKIP_INSTALL_ALL OFF)
|
|
SET(BUILD_SHARED_LIBS ON)
|
|
SET(BUILD_STATIC_LIBS OFF)
|
|
ELSE()
|
|
UNSET(USE_INTERNAL_MINIZIP_DLL PARENT_SCOPE)
|
|
SET(SKIP_INSTALL_LIBRARIES ON)
|
|
SET(SKIP_INSTALL_ALL ON)
|
|
SET(BUILD_SHARED_LIBS OFF)
|
|
SET(BUILD_STATIC_LIBS ON)
|
|
ENDIF()
|
|
SET(MZ_COMPAT ON)
|
|
SET(MZ_ZLIB ON)
|
|
SET(MZ_BZIP2 OFF)
|
|
SET(MZ_LZMA OFF)
|
|
SET(MZ_ZSTD OFF) # FIXME: Need to ensure zstd.dll is loaded before using MiniZip
|
|
SET(MZ_FETCH_LIBS OFF)
|
|
SET(MZ_FORCE_FETCH_LIBS OFF)
|
|
SET(MZ_PKCRYPT OFF)
|
|
SET(MZ_WZAES OFF)
|
|
SET(MZ_LIBCOMP OFF)
|
|
SET(MZ_LIBBSD OFF)
|
|
SET(MZ_OPENSSL OFF)
|
|
SET(MZ_BRG OFF)
|
|
SET(MZ_ICONV OFF)
|
|
SET(MZ_SIGNING OFF)
|
|
SET(MZ_COMPRESS_ONLY OFF)
|
|
SET(MZ_DECOMPRESS_ONLY OFF)
|
|
SET(MZ_BUILD_TESTS ON) # Allow manually building test executables.
|
|
SET(MZ_BUILD_UNIT_TESTS OFF)
|
|
SET(MZ_BUILD_FUZZ_TESTS OFF)
|
|
SET(MZ_CODE_COVERAGE OFF)
|
|
SET(MZ_FILE32_API OFF)
|
|
ADD_SUBDIRECTORY(minizip-ng)
|
|
SET_EXTLIB_PROPERTIES(minizip)
|
|
SET_EXTLIB_PROPERTIES(minigzip_cli)
|
|
SET_EXTLIB_PROPERTIES(minizip_cli)
|
|
IF(WIN32)
|
|
SET(ZEXPORT "-DZEXPORT=__declspec(dllexport)")
|
|
ENDIF(WIN32)
|
|
TARGET_COMPILE_DEFINITIONS(minizip PUBLIC -DMZ_COMPAT_VERSION=120 ${ZEXPORT} -DSTRICTZIPUNZIP=1 -DSTRICTZIP=1 -DSTRICTUNZIP=1)
|
|
UNSET(USE_COMPAT)
|
|
UNSET(COMPRESS_ONLY)
|
|
UNSET(DECOMPRESS_ONLY)
|
|
|
|
# inih
|
|
SET(SKIP_INSTALL_LIBRARIES ON)
|
|
SET(SKIP_INSTALL_ALL ON)
|
|
SET(BUILD_SHARED_LIBS OFF)
|
|
SET(BUILD_STATIC_LIBS ON)
|
|
ADD_SUBDIRECTORY(inih)
|
|
SET_EXTLIB_PROPERTIES(inih)
|
|
|
|
# PugiXML
|
|
IF(USE_INTERNAL_XML)
|
|
# Use the internal copy of PugiXML.
|
|
# On Windows, this will build DLLs.
|
|
# On other systems, this will be statically-linked.
|
|
# TODO: Build a dylib for Mac OS X.
|
|
IF(WIN32)
|
|
SET(SKIP_INSTALL_LIBRARIES OFF)
|
|
SET(SKIP_INSTALL_ALL OFF)
|
|
SET(BUILD_STATIC_LIBS OFF)
|
|
SET(BUILD_SHARED_LIBS ON)
|
|
ELSE()
|
|
SET(SKIP_INSTALL_LIBRARIES ON)
|
|
SET(SKIP_INSTALL_ALL ON)
|
|
SET(BUILD_STATIC_LIBS ON)
|
|
SET(BUILD_SHARED_LIBS OFF)
|
|
ENDIF()
|
|
|
|
SET(PUGIXML_USE_VERSIONED_LIBDIR OFF)
|
|
SET(PUGIXML_USE_POSTFIX ON)
|
|
SET(PUGIXML_STATIC_CRT OFF)
|
|
SET(PUGIXML_BUILD_TESTS OFF)
|
|
|
|
SET(PUGIXML_WCHAR_MODE OFF)
|
|
SET(PUGIXML_COMPACT OFF)
|
|
SET(PUGIXML_INSTALL ON)
|
|
|
|
# Disable functionality we don't need.
|
|
SET(PUGIXML_NO_XPATH ON)
|
|
SET(PUGIXML_NO_STL ON)
|
|
SET(PUGIXML_NO_EXCEPTIONS ON)
|
|
|
|
# Build PugiXML.
|
|
ADD_SUBDIRECTORY(pugixml)
|
|
SET_EXTLIB_PROPERTIES(pugixml-shared)
|
|
SET_EXTLIB_PROPERTIES(pugixml-static)
|
|
ENDIF(USE_INTERNAL_XML)
|
|
|
|
# UnICE68 for Atari ST SNDH files.
|
|
IF(ENABLE_UNICE68)
|
|
SET(BUILD_UNICE68_CLI ON) # only builds if unice68_exe is explicitly built
|
|
SET(BUILD_STATIC_LIBS ON)
|
|
SET(BUILD_SHARED_LIBS OFF)
|
|
ADD_SUBDIRECTORY(unice68)
|
|
SET_EXTLIB_PROPERTIES(unice68_lib)
|
|
SET_EXTLIB_PROPERTIES(unice68_exe)
|
|
ENDIF(ENABLE_UNICE68)
|
|
|
|
# libmspack-xenia for LZX-compressed Xbox 360 executables.
|
|
IF(ENABLE_LIBMSPACK)
|
|
SET(BUILD_STATIC_LIBS ON)
|
|
SET(BUILD_SHARED_LIBS OFF)
|
|
ADD_SUBDIRECTORY(libmspack-xenia)
|
|
SET_EXTLIB_PROPERTIES(mspack)
|
|
ENDIF(ENABLE_LIBMSPACK)
|
|
|
|
# PowerVR texture decompression.
|
|
IF(ENABLE_PVRTC)
|
|
SET(BUILD_STATIC_LIBS ON)
|
|
SET(BUILD_SHARED_LIBS OFF)
|
|
ADD_SUBDIRECTORY(PowerVR)
|
|
SET_EXTLIB_PROPERTIES(pvrtc)
|
|
ENDIF(ENABLE_PVRTC)
|
|
|
|
IF(USE_INTERNAL_LZ4)
|
|
# Use the internal copy of LZ4.
|
|
# On Windows, this will build DLLs.
|
|
# On other systems, this will be statically-linked.
|
|
IF(WIN32)
|
|
SET(SKIP_INSTALL_LIBRARIES OFF)
|
|
SET(SKIP_INSTALL_ALL ON)
|
|
SET(BUILD_SHARED_LIBS ON)
|
|
SET(BUILD_STATIC_LIBS OFF)
|
|
ELSE()
|
|
SET(SKIP_INSTALL_LIBRARIES ON)
|
|
SET(SKIP_INSTALL_ALL ON)
|
|
SET(BUILD_SHARED_LIBS OFF)
|
|
SET(BUILD_STATIC_LIBS ON)
|
|
ENDIF()
|
|
SET(LZ4_BUNDLED_MODE ON)
|
|
ADD_SUBDIRECTORY(lz4/build/cmake)
|
|
SET_EXTLIB_PROPERTIES(lz4_shared)
|
|
SET_EXTLIB_PROPERTIES(lz4_static)
|
|
# lz4 programs that we don't need.
|
|
SET_EXTLIB_PROPERTIES(lz4cli lz4c)
|
|
ENDIF(USE_INTERNAL_LZ4)
|
|
|
|
IF(USE_INTERNAL_LZO)
|
|
# Use the internal copy of LZO. (actually MiniLZO)
|
|
# On Windows, this will build DLLs.
|
|
# On other systems, this will be statically-linked.
|
|
IF(WIN32)
|
|
SET(SKIP_INSTALL_LIBRARIES OFF)
|
|
SET(SKIP_INSTALL_ALL ON)
|
|
SET(BUILD_SHARED_LIBS ON)
|
|
SET(BUILD_STATIC_LIBS OFF)
|
|
ELSE()
|
|
SET(SKIP_INSTALL_LIBRARIES ON)
|
|
SET(SKIP_INSTALL_ALL ON)
|
|
SET(BUILD_SHARED_LIBS OFF)
|
|
SET(BUILD_STATIC_LIBS ON)
|
|
ENDIF()
|
|
ADD_SUBDIRECTORY(minilzo)
|
|
SET_EXTLIB_PROPERTIES(minilzo)
|
|
ENDIF(USE_INTERNAL_LZO)
|
|
|
|
# rapidjson
|
|
SET(RAPIDJSON_BUILD_DOC OFF)
|
|
SET(RAPIDJSON_BUILD_EXAMPLES OFF)
|
|
SET(RAPIDJSON_BUILD_TESTS OFF)
|
|
SET(RAPIDJSON_BUILD_THIRDPARTY_GTEST OFF)
|
|
SET(RAPIDJSON_BUILD_CXX11 ON)
|
|
SET(RAPIDJSON_BUILD_ASAN OFF)
|
|
SET(RAPIDJSON_BUILD_UBSAN OFF)
|
|
SET(RAPIDJSON_HAS_STDSTRING ON)
|
|
ADD_SUBDIRECTORY(rapidjson)
|
|
SET(RAPIDJSON_INCLUDE_DIRS "${CMAKE_CURRENT_SOURCE_DIR}/rapidjson/include" PARENT_SCOPE)
|
|
|
|
# Google Test
|
|
IF(BUILD_TESTING)
|
|
# Reference: http://stackoverflow.com/questions/12540970/how-to-make-gtest-build-mdd-instead-of-mtd-by-default-using-cmake
|
|
SET(gtest_force_shared_crt ON CACHE BOOL "Always use msvcrt.dll")
|
|
SET(SKIP_INSTALL_LIBRARIES ON)
|
|
SET(SKIP_INSTALL_ALL ON)
|
|
|
|
# Use shared libraries on Windows.
|
|
IF(WIN32)
|
|
SET(BUILD_STATIC_LIBS OFF)
|
|
SET(BUILD_SHARED_LIBS ON)
|
|
ELSE(WIN32)
|
|
SET(BUILD_STATIC_LIBS ON)
|
|
SET(BUILD_SHARED_LIBS OFF)
|
|
ENDIF(WIN32)
|
|
|
|
ADD_SUBDIRECTORY(googletest)
|
|
INCLUDE(SetMSVCDebugPath)
|
|
SET_EXTLIB_PROPERTIES(
|
|
gtest gtest_main gtest_no_exception gtest_main_no_exception
|
|
gtest_main_no_rtti gtest_dll gtest_main_use_own_tuple
|
|
gmock gmock_main gmock_main_no_exception
|
|
gmock_main_no_rtti gmock_main_use_own_tuple
|
|
)
|
|
IF(WIN32)
|
|
# GTest is a DLL, so we need to set this.
|
|
TARGET_COMPILE_DEFINITIONS(gtest INTERFACE GTEST_LINKED_AS_SHARED_LIBRARY=1)
|
|
#TARGET_COMPILE_DEFINITIONS(gtest_main INTERFACE GTEST_LINKED_AS_SHARED_LIBRARY=1)
|
|
ENDIF(WIN32)
|
|
ENDIF(BUILD_TESTING)
|
|
|
|
# Basis Universal ASTC decoder
|
|
IF(ENABLE_ASTC)
|
|
ADD_SUBDIRECTORY(basisu_astc)
|
|
SET_EXTLIB_PROPERTIES(basisu_astc)
|
|
ENDIF(ENABLE_ASTC)
|
|
|
|
# uniwidth (subset of gnulib) (needed for wcwidth())
|
|
# wcwidth() requires _XOPEN_SOURCE.
|
|
SET(OLD_CMAKE_REQUIRED_DEFINITIONS ${CMAKE_REQUIRED_DEFINITIONS})
|
|
SET(CMAKE_REQUIRED_DEFINITIONS ${CMAKE_REQUIRED_DEFINITIONS} -D_XOPEN_SOURCE)
|
|
CHECK_SYMBOL_EXISTS(wcwidth "wchar.h" HAVE_WCWIDTH)
|
|
SET(CMAKE_REQUIRED_DEFINITIONS ${OLD_CMAKE_REQUIRED_DEFINITIONS})
|
|
UNSET(OLD_CMAKE_REQUIRED_DEFINITIONS)
|
|
IF(NOT HAVE_WCWIDTH)
|
|
ADD_SUBDIRECTORY(uniwidth)
|
|
SET_EXTLIB_PROPERTIES(uniwidth)
|
|
ENDIF(NOT HAVE_WCWIDTH)
|
|
|
|
# MicroTAR (for libromdata tests)
|
|
ADD_SUBDIRECTORY(microtar)
|
|
SET_EXTLIB_PROPERTIES(microtar)
|
|
|
|
IF(USE_INTERNAL_FMT)
|
|
# Use the internal copy of fmt.
|
|
# On Windows, this will build DLLs.
|
|
# On other systems, this will be statically-linked.
|
|
IF(WIN32)
|
|
SET(SKIP_INSTALL_LIBRARIES OFF)
|
|
SET(SKIP_INSTALL_ALL ON)
|
|
SET(BUILD_SHARED_LIBS ON)
|
|
SET(BUILD_STATIC_LIBS OFF)
|
|
SET(FMT_INSTALL ON)
|
|
ELSE()
|
|
SET(SKIP_INSTALL_LIBRARIES ON)
|
|
SET(SKIP_INSTALL_ALL ON)
|
|
SET(BUILD_SHARED_LIBS OFF)
|
|
SET(BUILD_STATIC_LIBS ON)
|
|
SET(FMT_INSTALL OFF)
|
|
ENDIF()
|
|
|
|
SET(FMT_PEDANTIC OFF)
|
|
SET(FMT_WERROR OFF)
|
|
|
|
SET(FMT_DOC OFF)
|
|
SET(FMT_TEST OFF)
|
|
SET(FMT_CUDA_TEST OFF)
|
|
SET(FMT_OS ON)
|
|
SET(FMT_MODULE OFF)
|
|
SET(FMT_SYSTEM_HEADERS OFF)
|
|
SET(FMT_UNICODE ON)
|
|
|
|
ADD_SUBDIRECTORY(fmt)
|
|
SET_EXTLIB_PROPERTIES(fmt)
|
|
#SET_EXTLIB_PROPERTIES(fmt-header-only)
|
|
ENDIF(USE_INTERNAL_FMT)
|