blob: 036f7cf6c21c053bdf5438c8e1f805d90f4c8cfb [file] [log] [blame]
Gyorgy Szing65012dc2025-07-28 17:49:02 +02001From fd7cafcc94598e7ea77e90fe4851a573e85e41d5 Mon Sep 17 00:00:00 2001
2From: Gyorgy Szing <gyorgy.szing@arm.com>
3Date: Mon, 28 Jul 2025 17:36:54 +0200
4Subject: [PATCH 1/2] Fix cmake problems
5
6- Only export the CppUTestExt target if it exists. This depends on build
7 configuration.
8- Change CPP_PLATFORM to be a cache variable to allow overriding the
9 value form the CMake command line.
10- Do not hardcode the extension of the winmm library on Windows.
11
12Signed-off-by: Gyorgy Szing <gyorgy.szing@arm.com>
13---
14 CMakeLists.txt | 7 ++++++-
15 cmake/Modules/CppUTestConfigurationOptions.cmake | 6 +++---
16 src/CppUTest/CMakeLists.txt | 2 +-
17 3 files changed, 10 insertions(+), 5 deletions(-)
18
Julian Hall3d844c22020-11-23 18:22:43 +010019diff --git a/CMakeLists.txt b/CMakeLists.txt
Gyorgy Szing65012dc2025-07-28 17:49:02 +020020index b1900bb3..d9ca865f 100644
Julian Hall3d844c22020-11-23 18:22:43 +010021--- a/CMakeLists.txt
22+++ b/CMakeLists.txt
23@@ -116,8 +116,13 @@ if(PkgHelpers_AVAILABLE)
24 ${CMAKE_CURRENT_BINARY_DIR}/CppUTestConfig.cmake
25 INSTALL_DESTINATION ${CMAKE_CURRENT_BINARY_DIR}
26 PATH_VARS INCLUDE_DIR CMAKE_CURRENT_BINARY_DIR)
27- export(TARGETS CppUTest CppUTestExt
28+ if(TARGET CppUTestExt)
29+ export(TARGETS CppUTest
30 FILE "${CMAKE_CURRENT_BINARY_DIR}/CppUTestTargets.cmake")
31+ else()
32+ export(TARGETS CppUTest
33+ FILE "${CMAKE_CURRENT_BINARY_DIR}/CppUTestTargets.cmake")
34+ endif()
35 write_basic_package_version_file(
36 ${CMAKE_CURRENT_BINARY_DIR}/CppUTestConfigVersion.cmake
37 VERSION ${CppUTest_version_major}.${CppUTest_version_minor}
38diff --git a/cmake/Modules/CppUTestConfigurationOptions.cmake b/cmake/Modules/CppUTestConfigurationOptions.cmake
Gyorgy Szing65012dc2025-07-28 17:49:02 +020039index 634482ce..a00b5eb0 100644
Julian Hall3d844c22020-11-23 18:22:43 +010040--- a/cmake/Modules/CppUTestConfigurationOptions.cmake
41+++ b/cmake/Modules/CppUTestConfigurationOptions.cmake
42@@ -1,19 +1,19 @@
43 if (MSVC)
44- set(CPP_PLATFORM VisualCpp)
45+ set(CPP_PLATFORM VisualCpp CACHE STRING "CppUTest platform.")
46 include_directories(${CppUTestRootDirectory}/include/Platforms/${CPP_PLATFORM})
47 option(STDC_WANT_SECURE_LIB "Use MSVC safe functions" ON)
48 if(STDC_WANT_SECURE_LIB)
49 ADD_DEFINITIONS(-DSTDC_WANT_SECURE_LIB)
50 endif(STDC_WANT_SECURE_LIB)
51 elseif (STD_C)
52- set(CPP_PLATFORM Gcc)
53+ set(CPP_PLATFORM Gcc CACHE STRING "CppUTest platform.")
54 else (MSVC)
55 set(STD_CPP False)
56 set(MEMORY_LEAK_DETECTION False)
57 set(CPPUTEST_CXX_FLAGS "${CPPUTEST_CXX_FLAGS} -nostdinc")
58 set(CPPUTEST_LD_FLAGS "${CPPUTEST_LD_FLAGS} -nostdinc")
59 set(CPPUTEST_STD_C_LIB_DISABLED 1)
60- set(CPP_PLATFORM GccNoStdC)
61+ set(CPP_PLATFORM GccNoStdC CACHE STRING "CppUTest platform.")
62 endif (MSVC)
63
64 include("${CppUTestRootDirectory}/cmake/Modules/CppUTestWarningFlags.cmake")
65diff --git a/src/CppUTest/CMakeLists.txt b/src/CppUTest/CMakeLists.txt
Gyorgy Szing65012dc2025-07-28 17:49:02 +020066index 736777f5..d9a592f2 100644
Julian Hall3d844c22020-11-23 18:22:43 +010067--- a/src/CppUTest/CMakeLists.txt
68+++ b/src/CppUTest/CMakeLists.txt
69@@ -50,7 +50,7 @@ set(CppUTest_headers
70
71 add_library(CppUTest STATIC ${CppUTest_src} ${CppUTest_headers})
72 if (WIN32)
73- target_link_libraries(CppUTest winmm.lib)
74+ target_link_libraries(CppUTest winmm)
75 endif (WIN32)
76 install(FILES ${CppUTest_headers} DESTINATION include/CppUTest)
77 install(TARGETS CppUTest
Gyorgy Szing65012dc2025-07-28 17:49:02 +020078--
792.34.1
80