From 621c3fddb289de948c3cf48c5e1625e0f5b11a9d Mon Sep 17 00:00:00 2001 From: iphydf Date: Sat, 24 Sep 2016 23:38:50 +0100 Subject: C++ the second round. Group chats were changed and now need to be updated. This change got lost in the merge. --- cmake/ModulePackage.cmake | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) (limited to 'cmake') diff --git a/cmake/ModulePackage.cmake b/cmake/ModulePackage.cmake index b963e0de..fa3779c3 100644 --- a/cmake/ModulePackage.cmake +++ b/cmake/ModulePackage.cmake @@ -4,11 +4,19 @@ option(COMPILE_AS_CXX "Compile all C code as C++ code" OFF) find_package(PkgConfig REQUIRED) -function(add_c_executable exec) +function(set_source_language) if(COMPILE_AS_CXX) - set_source_files_properties(${ARGN} PROPERTIES LANGUAGE CXX) + foreach(srcfile ${ARGN}) + get_filename_component(srcext ${srcfile} EXT) + if(${srcext} STREQUAL ".c") + set_source_files_properties(${srcfile} PROPERTIES LANGUAGE CXX) + endif() + endforeach() endif() +endfunction() +function(add_c_executable exec) + set_source_language(${ARGN}) add_executable(${exec} ${ARGN}) endfunction() @@ -22,9 +30,7 @@ function(pkg_use_module mod) endfunction() function(add_module lib) - if(COMPILE_AS_CXX) - set_source_files_properties(${ARGN} PROPERTIES LANGUAGE CXX) - endif() + set_source_language(${ARGN}) if(ENABLE_SHARED) add_library(${lib}_shared SHARED ${ARGN}) -- cgit v1.2.3