| cmake_minimum_required(VERSION 3.1) |
| project(SourceFileProperty C) |
| |
| if (EXISTS icasetest.c) |
| # If a file exists by this name, use it. |
| set_source_files_properties(icasetest.c |
| PROPERTIES |
| COMPILE_DEFINITIONS NEEDED_TO_WORK) |
| else () |
| # Work on case-sensitive file systems as well. |
| set_source_files_properties(main.c |
| PROPERTIES |
| COMPILE_DEFINITIONS NO_NEED_TO_CALL) |
| endif () |
| |
| add_executable(SourceFileProperty main.c) |
| target_sources(SourceFileProperty PRIVATE ICaseTest.c) |
| |
| get_source_file_property(LANG_MAIN main.c LANGUAGE) |
| if(NOT "${LANG_MAIN}" STREQUAL "C") |
| message(FATAL_ERROR "Bad language for file main.c") |
| endif() |
| |
| get_property(LANG_TEST SOURCE ICaseTest.c PROPERTY LANGUAGE) |
| if (NOT "${LANG_TEST}" STREQUAL "C") |
| message(FATAL_ERROR "Bad language for file ICaseTest.c") |
| endif () |