diff options
author | Geoff Viola <geoffrey.viola@asirobots.com> | 2016-04-24 19:47:48 (GMT) |
---|---|---|
committer | Brad King <brad.king@kitware.com> | 2016-04-25 14:46:09 (GMT) |
commit | 1703a6d2c46cc7981dd80bd18d7c2e82ec5d9f82 (patch) | |
tree | 5b839beb4d5ca5aeaccccd4c42ea623a629e9470 /Tests | |
parent | 657a446175c1b61999a77958c5b7480f8be041a5 (diff) | |
download | CMake-1703a6d2c46cc7981dd80bd18d7c2e82ec5d9f82.zip CMake-1703a6d2c46cc7981dd80bd18d7c2e82ec5d9f82.tar.gz CMake-1703a6d2c46cc7981dd80bd18d7c2e82ec5d9f82.tar.bz2 |
GHS: Fix handling of duplicate source filenames (#16046)
Green Hills MULTI project files must specify explicitly distinct object
file names for source files with the same name.
Diffstat (limited to 'Tests')
-rw-r--r-- | Tests/CMakeLists.txt | 11 | ||||
-rw-r--r-- | Tests/GhsMultiDuplicateSourceFilenames/CMakeLists.txt | 10 | ||||
-rw-r--r-- | Tests/GhsMultiDuplicateSourceFilenames/main.c | 9 | ||||
-rw-r--r-- | Tests/GhsMultiDuplicateSourceFilenames/subfolder/test.c | 5 | ||||
-rw-r--r-- | Tests/GhsMultiDuplicateSourceFilenames/test.c | 5 |
5 files changed, 40 insertions, 0 deletions
diff --git a/Tests/CMakeLists.txt b/Tests/CMakeLists.txt index 8a256bf..2db5ded 100644 --- a/Tests/CMakeLists.txt +++ b/Tests/CMakeLists.txt @@ -2103,6 +2103,17 @@ ${CMake_BINARY_DIR}/bin/cmake -DDIR=dev -P ${CMake_SOURCE_DIR}/Utilities/Release endmacro () add_test_GhsMulti("arm_integrity_simarm" "arm_integrity.tgt" "simarm") add_test_GhsMulti("arm64_integrity_simarm" "arm64_integrity.tgt" "simarm") + add_test(NAME GhsMulti.duplicate_source_filenames + COMMAND ${CMAKE_CTEST_COMMAND} + --build-and-test + "${CMake_SOURCE_DIR}/Tests/GhsMultiDuplicateSourceFilenames" + "${CMake_BINARY_DIR}/Tests/GhsMultiDuplicateSourceFilenames" + --build-generator "Green Hills MULTI" + --build-project ReturnNum + --build-config $<CONFIGURATION> + --build-options -DGHS_PRIMARY_TARGET="arm_integrity.tgt" + -DGHS_BSP_NAME="simarm" + ) endif () if(tegra AND NOT "${CMake_SOURCE_DIR};${CMake_BINARY_DIR}" MATCHES " ") diff --git a/Tests/GhsMultiDuplicateSourceFilenames/CMakeLists.txt b/Tests/GhsMultiDuplicateSourceFilenames/CMakeLists.txt new file mode 100644 index 0000000..ffdb582 --- /dev/null +++ b/Tests/GhsMultiDuplicateSourceFilenames/CMakeLists.txt @@ -0,0 +1,10 @@ +cmake_minimum_required(VERSION 3.5) +project(demo C) + +add_library(libdemo test.c subfolder/test.c) + +add_executable(demo main.c) +target_link_libraries(demo libdemo) +if(GHSMULTI) + target_compile_options(demo PUBLIC "-non_shared") +endif() diff --git a/Tests/GhsMultiDuplicateSourceFilenames/main.c b/Tests/GhsMultiDuplicateSourceFilenames/main.c new file mode 100644 index 0000000..2779d68 --- /dev/null +++ b/Tests/GhsMultiDuplicateSourceFilenames/main.c @@ -0,0 +1,9 @@ +int test_a(void); +int test_b(void); + +int main(int argc, char *argv[]) +{ + test_a(); + test_b(); + return 0; +} diff --git a/Tests/GhsMultiDuplicateSourceFilenames/subfolder/test.c b/Tests/GhsMultiDuplicateSourceFilenames/subfolder/test.c new file mode 100644 index 0000000..e1372b9 --- /dev/null +++ b/Tests/GhsMultiDuplicateSourceFilenames/subfolder/test.c @@ -0,0 +1,5 @@ + +int test_b() +{ + return 2; +} diff --git a/Tests/GhsMultiDuplicateSourceFilenames/test.c b/Tests/GhsMultiDuplicateSourceFilenames/test.c new file mode 100644 index 0000000..60286dd --- /dev/null +++ b/Tests/GhsMultiDuplicateSourceFilenames/test.c @@ -0,0 +1,5 @@ + +int test_a() +{ + return 1; +} |