summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBrad King <brad.king@kitware.com>2024-02-09 21:09:26 (GMT)
committerBrad King <brad.king@kitware.com>2024-02-12 19:42:54 (GMT)
commita772c2c3845f0c5d3c46563bb746c05973cc4cec (patch)
treecadb348b64c4123fbe829e89a0273066324d5e8b
parent9f52953df5d51f2e81ac82d4b96a129d4f5dab07 (diff)
downloadCMake-a772c2c3845f0c5d3c46563bb746c05973cc4cec.zip
CMake-a772c2c3845f0c5d3c46563bb746c05973cc4cec.tar.gz
CMake-a772c2c3845f0c5d3c46563bb746c05973cc4cec.tar.bz2
Tests/RunCMake/IAR: Extend tests to actually build
Extend the tests from commit 37e44707bc (IAR: Add tests covering IAR toolchains, 2023-10-21) to actually drive the generated build system.
-rw-r--r--Tests/RunCMake/IAR/RunCMakeTest.cmake27
1 files changed, 15 insertions, 12 deletions
diff --git a/Tests/RunCMake/IAR/RunCMakeTest.cmake b/Tests/RunCMake/IAR/RunCMakeTest.cmake
index 12cf66d..2fefa6a 100644
--- a/Tests/RunCMake/IAR/RunCMakeTest.cmake
+++ b/Tests/RunCMake/IAR/RunCMakeTest.cmake
@@ -8,6 +8,13 @@ if(RunCMake_GENERATOR MATCHES "Makefile|Ninja")
endif()
endif()
+function(run_toolchain case)
+ set(RunCMake_TEST_BINARY_DIR ${RunCMake_BINARY_DIR}/${case}-build)
+ run_cmake_with_options(${case} ${ARGN})
+ set(RunCMake_TEST_NO_CLEAN 1)
+ run_cmake_command(${case}-build ${CMAKE_COMMAND} --build .)
+endfunction()
+
foreach(_iar_toolchain IN LISTS _iar_toolchains)
message(STATUS "Found IAR toolchain: ${_iar_toolchain}")
cmake_path(GET _iar_toolchain PARENT_PATH BIN_DIR)
@@ -17,8 +24,8 @@ foreach(_iar_toolchain IN LISTS _iar_toolchains)
# Sets the minimal requirements for linking each target architecture
if(ARCH STREQUAL "avr")
string(CONCAT LINK_OPTS
- "-I${TOOLKIT_DIR}/../lib "
- "-f ${TOOLKIT_DIR}/../src/template/lnk3s.xcl "
+ "-I${TOOLKIT_DIR}/lib "
+ "-f ${TOOLKIT_DIR}/src/template/lnk3s.xcl "
)
elseif(ARCH STREQUAL "rl78")
string(CONCAT LINK_OPTS
@@ -41,30 +48,26 @@ foreach(_iar_toolchain IN LISTS _iar_toolchains)
PATHS ${BIN_DIR}
REQUIRED )
- set(RunCMake_TEST_OPTIONS
+ run_toolchain(iar-c
-DCMAKE_SYSTEM_NAME=Generic
-DCMAKE_C_COMPILER=${_iar_toolchain}
-DCMAKE_EXE_LINKER_FLAGS=${LINK_OPTS}
)
- run_cmake(iar-c)
- set(RunCMake_TEST_OPTIONS
+ run_toolchain(iar-cxx
-DCMAKE_SYSTEM_NAME=Generic
-DCMAKE_CXX_COMPILER=${_iar_toolchain}
-DCMAKE_EXE_LINKER_FLAGS=${LINK_OPTS}
)
- run_cmake(iar-cxx)
- set(RunCMake_TEST_OPTIONS
+ run_toolchain(iar-asm
-DCMAKE_SYSTEM_NAME=Generic
-DCMAKE_ASM_COMPILER=${IAR_ASSEMBLER}
- )
- run_cmake(iar-asm)
+ )
- set(RunCMake_TEST_OPTIONS
+ run_toolchain(iar-lib
-DCMAKE_SYSTEM_NAME=Generic
-DCMAKE_C_COMPILER=${_iar_toolchain}
-DCMAKE_EXE_LINKER_FLAGS=${LINK_OPTS}
- )
- run_cmake(iar-lib)
+ )
endforeach()