On Mon, Feb 16, 2009 at 9:28 PM, Philip Lowman <phi...@yhbt.com> wrote: > On Mon, Feb 16, 2009 at 10:23 PM, Aaron Turner <synfina...@gmail.com> wrote: >> >> On Mon, Feb 16, 2009 at 5:53 PM, Michael Jackson >> <mike.jack...@bluequartz.net> wrote: >> > project(Test) >> > cmake_minimum_required(VERSION 2.7) >> > >> > INCLUDE(${CMAKE_ROOT}/Modules/CheckTypeSize.cmake) >> > >> > set(CMAKE_REQUIRED_DEFINITIONS_SAVE ${CMAKE_REQUIRED_DEFINITIONS}) >> > set(CMAKE_REQUIRED_DEFINITIONS >> > ${CMAKE_REQUIRED_DEFINITIONS};-D__need_wint_t=1) >> > >> > CHECK_TYPE_SIZE(wint_t WINT_T) >> > message(STATUS "Size of wint_t: ${WINT_T}") >> > message(STATUS "HAVE_WINT_T: ${HAVE_WINT_T}") >> > >> > set(CMAKE_REQUIRED_DEFINITIONS ${CMAKE_REQUIRED_DEFINITIONS_SAVE}) >> > >> > Although I am not sure under what circumstances you are supposed to >> > define >> > __need_wint_t? Or if there is some other encompassing macro to define. >> > Otherwise the above will find the size in bytes of wint_t. >> >> Not sure I follow what you're trying to accomplish with the above. >> Is this cmake 2.7 specific or some trick with the __need_wint_t (which >> isn't used in runetype.h)? > > Hmm, try it in CMake 2.6, there is a CheckTypeSize.cmake. Also, you > shouldn't have to specify the full path to it, just > > INCLUDE(CheckTypeSize.cmake)
As I said in my first post, CheckTypeSize doesn't include runetype.h, hence doesn't work in this case. >> For now, i'm just hacking around the issue with: >> >> check_include_file("runetype.h" HAVE_RUNETYPE_H) >> IF(APPLE AND HAVE_RUNETYPE_H) >> # OS X has wint_t, but check_type_size won't find it >> SET(HAVE_WINT_T 1) >> ELSE(APPLE AND HAVE_RUNETYPE_H) >> check_type_size("wint_t" HAVE_WINT_T) >> ENDIF(APPLE AND HAVE_RUNTYPE_H) >> >> Long term, I'm going to write my own version of check_symbol_exists >> which uses a different test which is define/typedef agnostic. > > Please consider submitting it via the bugtracker when you're done. Will do. Honestly, I'm a bit surprised this isn't already part of the basic Cmake library. Having to write try_compile() or try_run() tests for this sort of thing is just silly- especially since you can't inline the source code like in Autoconf. -- Aaron Turner http://synfin.net/ http://tcpreplay.synfin.net/ - Pcap editing and replay tools for Unix & Windows Those who would give up essential Liberty, to purchase a little temporary Safety, deserve neither Liberty nor Safety. -- Benjamin Franklin _______________________________________________ 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://www.cmake.org/mailman/listinfo/cmake