On 02/15/2014 04:29 PM, Steve Wilson wrote:
> I just pushed the updated version of objective-c-support to stage.

Nice, thanks.  Here are some comments.

The "CMake<LANG>Compiler.cmake" files cannot have logic like

+if(CMAKE_OBJC_ENABLED AND NOT CMAKE_OBJCXX_ENABLED)

because the languages can be enabled in any order and the final
set is not known when these files are loaded.

I think it will take special C++-implemented logic to magically
use the best-matching language for .m and .mm sources.

> such as CheckOBJCCompilerFlag

I see new modules:

 CheckOBJCCompilerFlag.cmake
 CheckOBJCSourceCompiles.cmake
 CheckOBJCSourceRuns.cmake
 CheckOBJCXXCompilerFlag.cmake
 CheckOBJCXXSourceCompiles.cmake
 CheckOBJCXXSourceRuns.cmake

Rather than an explosion of modules I'd prefer to correct this
historical mistake and create a single API for each check that
takes the language as a parameter.  Modules CheckTypeSize and
CheckStructHasMember recently learned this, for example.  So,
we would need new modules:

 CheckCompilerFlag
 CheckSourceCompiles
 CheckSourceRuns

and then refactor the implementations of the existing modules
for C and CXX to be in terms of the general ones.

If you don't have time to work on that I think we can just leave
out the check modules for now.

Thanks,
-Brad

-- 

Powered by www.kitware.com

Visit other Kitware open-source projects at 
http://www.kitware.com/opensource/opensource.html

Please keep messages on-topic and check the CMake FAQ at: 
http://www.cmake.org/Wiki/CMake_FAQ

Follow this link to subscribe/unsubscribe:
http://public.kitware.com/cgi-bin/mailman/listinfo/cmake-developers

Reply via email to