Tests: Run Tutorial steps 1-4 as tests for Windows CE
This commit is contained in:
parent
0f068c177c
commit
5bd29b8889
|
@ -1781,6 +1781,27 @@ ${CMake_BINARY_DIR}/bin/cmake -DDIR=dev -P ${CMake_SOURCE_DIR}/Utilities/Release
|
|||
endif()
|
||||
|
||||
if(WIN32)
|
||||
# Macro to search for available Windows CE SDKs in the windows Registry
|
||||
macro(select_wince_sdk selected_reg selected_sdk)
|
||||
if(CMAKE_HOST_WIN32)
|
||||
execute_process(COMMAND reg QUERY "HKEY_LOCAL_MACHINE\\SOFTWARE\\Wow6432Node\\Microsoft\\Windows CE Tools\\SDKs"
|
||||
OUTPUT_VARIABLE sdk_reg
|
||||
ERROR_VARIABLE my_err)
|
||||
string(REGEX REPLACE "HKEY_LOCAL_MACHINE\\\\SOFTWARE\\\\Wow6432Node\\\\Microsoft\\\\Windows CE Tools\\\\SDKs\\\\" ";" sdk_list "${sdk_reg}")
|
||||
list(LENGTH sdk_list sdk_list_len)
|
||||
if (${sdk_list_len} GREATER 1)
|
||||
list(GET sdk_list 1 _sdk) # The first entry is always empty due to the regex replace above
|
||||
string(STRIP ${_sdk} _sdk) # Make sure there is no newline in the SDK name
|
||||
endif()
|
||||
# Build a key to be used by get_filename_component that is pointing to the SDK directory
|
||||
set(_reg "[HKEY_LOCAL_MACHINE\\SOFTWARE\\Wow6432Node\\Microsoft\\Windows CE Tools\\SDKs\\${_sdk}]")
|
||||
|
||||
# Set return values
|
||||
set(${selected_reg} ${_reg})
|
||||
set(${selected_sdk} ${_sdk})
|
||||
endif(CMAKE_HOST_WIN32)
|
||||
endmacro(select_wince_sdk)
|
||||
|
||||
set(reg_vs10 "[HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\VisualStudio\\10.0;InstallDir]")
|
||||
set(reg_vs11 "[HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\VisualStudio\\11.0;InstallDir]")
|
||||
set(reg_vs12 "[HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\VisualStudio\\12.0;InstallDir]")
|
||||
|
@ -1788,8 +1809,9 @@ ${CMake_BINARY_DIR}/bin/cmake -DDIR=dev -P ${CMake_SOURCE_DIR}/Utilities/Release
|
|||
set(reg_ws81 "[HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Microsoft SDKs\\Windows\\v8.1;InstallationFolder]")
|
||||
set(reg_wp80 "[HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Microsoft SDKs\\WindowsPhone\\v8.0;InstallationFolder]")
|
||||
set(reg_wp81 "[HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Microsoft SDKs\\WindowsPhone\\v8.1;InstallationFolder]")
|
||||
select_wince_sdk(reg_wince wince_sdk)
|
||||
set(reg_tegra "[HKEY_LOCAL_MACHINE\\SOFTWARE\\NVIDIA Corporation\\Nsight Tegra;sdkRoot]")
|
||||
foreach(reg vs10 vs11 vs12 ws80 ws81 wp80 wp81 tegra)
|
||||
foreach(reg vs10 vs11 vs12 ws80 ws81 wp80 wp81 wince tegra)
|
||||
get_filename_component(r "${reg_${reg}}" ABSOLUTE)
|
||||
if(IS_DIRECTORY "${r}")
|
||||
set(${reg} 1)
|
||||
|
@ -1835,6 +1857,35 @@ ${CMake_BINARY_DIR}/bin/cmake -DDIR=dev -P ${CMake_SOURCE_DIR}/Utilities/Release
|
|||
endif()
|
||||
endif()
|
||||
|
||||
if(WIN32 AND wince)
|
||||
macro(add_test_VSWinCE name generator systemName systemVersion generatorPlatform)
|
||||
# TODO: Fix the tutorial to make it work in cross compile
|
||||
# currently the MakeTable is build for target and can not be used on the host
|
||||
# This happens in part 5 so we build only part 1-4 of the tutorial
|
||||
foreach(STP RANGE 1 4)
|
||||
add_test(NAME "TutorialStep${STP}.${name}" COMMAND ${CMAKE_CTEST_COMMAND}
|
||||
--build-and-test
|
||||
"${CMake_SOURCE_DIR}/Tests/Tutorial/Step${STP}"
|
||||
"${CMake_BINARY_DIR}/Tests/Tutorial/Step${STP}_${name}"
|
||||
--build-generator "${generator}"
|
||||
--build-project Tutorial
|
||||
--build-config $<CONFIGURATION>
|
||||
--build-options -DCMAKE_SYSTEM_NAME=${systemName}
|
||||
-DCMAKE_SYSTEM_VERSION=${systemVersion}
|
||||
-DCMAKE_GENERATOR_PLATFORM=${generatorPlatform})
|
||||
list(APPEND TEST_BUILD_DIRS "${CMake_BINARY_DIR}/Tests/Tutorial/Step${STP}_${name}")
|
||||
endforeach()
|
||||
endmacro()
|
||||
|
||||
if(vs11)
|
||||
add_test_VSWinCE(vs11-ce80-ARM "Visual Studio 11 2012" WindowsCE 8.0 ${wince_sdk})
|
||||
endif()
|
||||
|
||||
if(vs12)
|
||||
add_test_VSWinCE(vs12-ce80-ARM "Visual Studio 12 2013" WindowsCE 8.0 ${wince_sdk})
|
||||
endif()
|
||||
endif()
|
||||
|
||||
if(tegra AND NOT "${CMake_SOURCE_DIR};${CMake_BINARY_DIR}" MATCHES " ")
|
||||
macro(add_test_VSNsightTegra name generator)
|
||||
add_test(NAME VSNsightTegra.${name} COMMAND ${CMAKE_CTEST_COMMAND}
|
||||
|
|
Loading…
Reference in New Issue