summaryrefslogtreecommitdiffstats
path: root/Tests/RunCMake/target_compile_options/Order.cmake
diff options
context:
space:
mode:
authorBrad King <brad.king@kitware.com>2021-06-03 14:40:56 (GMT)
committerBrad King <brad.king@kitware.com>2021-06-07 17:39:21 (GMT)
commit8f68bcad8fafddc82b73b69f21e122ece8603a8f (patch)
tree6989359100a0b17e3e293f17c9327e86e0790e92 /Tests/RunCMake/target_compile_options/Order.cmake
parentccc83ce1623a90c9354a940370ed8c06d2fea30b (diff)
downloadCMake-8f68bcad8fafddc82b73b69f21e122ece8603a8f.zip
CMake-8f68bcad8fafddc82b73b69f21e122ece8603a8f.tar.gz
CMake-8f68bcad8fafddc82b73b69f21e122ece8603a8f.tar.bz2
Tests: Add cases verifying flag ordering rules
Diffstat (limited to 'Tests/RunCMake/target_compile_options/Order.cmake')
-rw-r--r--Tests/RunCMake/target_compile_options/Order.cmake19
1 files changed, 19 insertions, 0 deletions
diff --git a/Tests/RunCMake/target_compile_options/Order.cmake b/Tests/RunCMake/target_compile_options/Order.cmake
new file mode 100644
index 0000000..3d59b16
--- /dev/null
+++ b/Tests/RunCMake/target_compile_options/Order.cmake
@@ -0,0 +1,19 @@
+get_property (isMultiConfig GLOBAL PROPERTY GENERATOR_IS_MULTI_CONFIG)
+if(isMultiConfig)
+ set(CMAKE_CONFIGURATION_TYPES "Custom" CACHE STRING "" FORCE)
+else()
+ set(CMAKE_BUILD_TYPE "Custom" CACHE STRING "" FORCE)
+endif()
+enable_language(C)
+
+string(APPEND CMAKE_C_FLAGS " -w -O")
+set(CMAKE_C_FLAGS_CUSTOM "-O0")
+
+add_executable(order order.c)
+set_property(TARGET order APPEND PROPERTY COMPILE_OPTIONS -O1)
+
+add_library(iface INTERFACE)
+set_property(TARGET iface APPEND PROPERTY INTERFACE_COMPILE_OPTIONS -O2)
+target_link_libraries(order PRIVATE iface)
+
+set_property(SOURCE order.c PROPERTY COMPILE_OPTIONS -O3)