123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899 |
- include(${PROJECT_SOURCE_DIR}/cmake/common_build_flags.cmake)
- include_directories(${PROJECT_SOURCE_DIR}/include)
- include_directories(BEFORE SYSTEM ./workarounds/wrl)
- find_program(NUGET nuget)
- if (NOT NUGET)
- message(FATAL_ERROR "Unable to find the nuget CLI tool. Please install it from https://www.nuget.org/downloads and ensure it has been added to the PATH")
- endif()
- execute_process(COMMAND
- ${NUGET} install Microsoft.Windows.CppWinRT -Version ${CPPWINRT_VERSION} -OutputDirectory packages
- WORKING_DIRECTORY ${CMAKE_BINARY_DIR}
- RESULT_VARIABLE ret)
- if (NOT ret EQUAL 0)
- message(FATAL_ERROR "Failed to install nuget package Microsoft.Windows.CppWinRT.${CPPWINRT_VERSION}")
- endif()
- set(CPPWINRT ${CMAKE_BINARY_DIR}/packages/Microsoft.Windows.CppWinRT.${CPPWINRT_VERSION}/bin/cppwinrt.exe)
- execute_process(COMMAND
- ${CPPWINRT} -input sdk -output include
- WORKING_DIRECTORY ${CMAKE_BINARY_DIR}
- RESULT_VARIABLE ret)
- if (NOT ret EQUAL 0)
- message(FATAL_ERROR "Failed to run cppwinrt.exe")
- endif()
- include_directories(BEFORE SYSTEM ${CMAKE_BINARY_DIR}/include)
- if (${FAST_BUILD})
- replace_cxx_flag("/GR" "/GR-")
- add_definitions(-DCATCH_CONFIG_FAST_COMPILE -DWIL_FAST_BUILD)
- endif()
- if (${CMAKE_BUILD_TYPE} STREQUAL "RelWithDebInfo")
-
-
- endif()
- set(COMMON_SOURCES
- ${CMAKE_CURRENT_SOURCE_DIR}/main.cpp
- ${CMAKE_CURRENT_SOURCE_DIR}/CommonTests.cpp
- ${CMAKE_CURRENT_SOURCE_DIR}/ComTests.cpp
- ${CMAKE_CURRENT_SOURCE_DIR}/FileSystemTests.cpp
- ${CMAKE_CURRENT_SOURCE_DIR}/NTResultTests.cpp
- ${CMAKE_CURRENT_SOURCE_DIR}/ResourceTests.cpp
- ${CMAKE_CURRENT_SOURCE_DIR}/ResultTests.cpp
- ${CMAKE_CURRENT_SOURCE_DIR}/Rpc.cpp
- ${CMAKE_CURRENT_SOURCE_DIR}/SafeCastTests.cpp
- ${CMAKE_CURRENT_SOURCE_DIR}/TraceLoggingTests.cpp
- ${CMAKE_CURRENT_SOURCE_DIR}/WistdTests.cpp
- ${CMAKE_CURRENT_SOURCE_DIR}/wiTest.cpp
- ${CMAKE_CURRENT_SOURCE_DIR}/../natvis/wil.natvis
- )
- add_subdirectory(app)
- add_subdirectory(cpplatest)
- add_subdirectory(noexcept)
- add_subdirectory(normal)
- add_subdirectory(win7)
- set(DEBUG_BUILD FALSE)
- set(HAS_DEBUG_INFO FALSE)
- if (${CMAKE_BUILD_TYPE} STREQUAL "Debug")
- set(DEBUG_BUILD TRUE)
- set(HAS_DEBUG_INFO TRUE)
- elseif(${CMAKE_BUILD_TYPE} STREQUAL "RelWithDebInfo")
- set(HAS_DEBUG_INFO TRUE)
- endif()
- set(ASAN_AVAILABLE FALSE)
- set(UBSAN_AVAILABLE FALSE)
- if (CMAKE_CXX_COMPILER_ID MATCHES "MSVC")
-
- set(ASAN_AVAILABLE ${HAS_DEBUG_INFO})
- elseif (CMAKE_CXX_COMPILER_ID MATCHES "Clang")
-
- set(ASAN_AVAILABLE NOT ${DEBUG_BUILD})
- set(UBSAN_AVAILABLE NOT ${DEBUG_BUILD})
- endif()
- if (${ASAN_AVAILABLE})
- add_subdirectory(sanitize-address)
- endif()
- if (${UBSAN_AVAILABLE})
- add_subdirectory(sanitize-undefined-behavior)
- endif()
|