Commit 4146e08a authored by Bill Hoffman's avatar Bill Hoffman
Browse files

ENH: merge in changes for 2.6.3 RC 1

parent b0cce474
......@@ -353,8 +353,8 @@ ENDMACRO (CMAKE_BUILD_UTILITIES)
# The CMake version number.
SET(CMake_VERSION_MAJOR 2)
SET(CMake_VERSION_MINOR 6)
SET(CMake_VERSION_PATCH 2)
#SET(CMake_VERSION_RC 6)
SET(CMake_VERSION_PATCH 3)
SET(CMake_VERSION_RC 1)
# CVS versions are odd, if this is an odd minor version
# then set the CMake_VERSION_DATE variable
IF("${CMake_VERSION_MINOR}" MATCHES "[13579]$")
......
Changes in CMake 2.6.3 RC 1
- Better reporting when nmake compiler environment is not correct
- Fix bug #5936 set locale when running cvs and svn
- Teach find_library to find OpenBSD-style libs (issue #3470).
- Fix lib/ to lib/64/ search path conversion
- Fix CPack DESTDIR issue
- Support longer command lines with windows nmake and make
- Fix bug with color check for dependency scanning
- Use new link info during dependency scanning
- Fix find_* search order with path suffixes
- Fix install with multiple configurations and makefiles.
- Improve find_package interface for recursive find modules.
- Fix build issues with older visual studio versions
- Fix Xcode release builds
- Put custom target sources in Xcode projects
- Fix return value from cmake -E time commands
- Fix documentation for cmake --debug-trycompile
- Add Haiku support
- Fix bug, allow enable_language to be called for C after CXX
- Add FindCoin3D.cmake
- Fix bug in FindGLUT.cmake
- Better find of perl in FindPerlLibs.cmake
- FindQt4 Fix #7784, Fix #7433
- FindQt4 refind qt when qmake changes
- Fix to find wxWidgets_LIB_DIR for windows platform more generally.
- Find ttkstup in FindTclStub.cmake
- Skip a command if its arguments fail to parse
- Fix convenience rule working directory
- Add support for source code control and visual stuido
- Add parenthetical expressions to if
- Fix Rc command with -D options and nmake
- Fix NSIS detection on windows 2000
- Display an error message in ccmake when there are errors
Changes in CMake 2.6.2 RC 6
- Fix bug#7669 cpack did not work when sym-linked after install
......
......@@ -7,7 +7,7 @@ ELSE(UNIX)
ENDIF(UNIX)
SET(CMAKE_INCLUDE_FLAG_ASM${ASM_DIALECT} "-I") # -I
SET(CMAKE_BASE_NAME)
GET_FILENAME_COMPONENT(CMAKE_BASE_NAME "${CMAKE_ASM${ASM_DIALECT}_COMPILER}" NAME_WE)
IF("${CMAKE_BASE_NAME}" STREQUAL "as")
......
......@@ -12,7 +12,7 @@ IF(UNIX)
ELSE(UNIX)
SET(CMAKE_C_OUTPUT_EXTENSION .obj)
ENDIF(UNIX)
SET(CMAKE_BASE_NAME)
GET_FILENAME_COMPONENT(CMAKE_BASE_NAME ${CMAKE_C_COMPILER} NAME_WE)
IF(CMAKE_COMPILER_IS_GNUCC)
SET(CMAKE_BASE_NAME gcc)
......@@ -32,10 +32,20 @@ ENDIF(CMAKE_SYSTEM_PROCESSOR)
# load the system- and compiler specific files
IF(CMAKE_C_COMPILER_ID)
INCLUDE(Platform/${CMAKE_SYSTEM_NAME}-${CMAKE_C_COMPILER_ID}-C OPTIONAL RESULT_VARIABLE _INCLUDED_FILE)
INCLUDE(Platform/${CMAKE_SYSTEM_NAME}-${CMAKE_C_COMPILER_ID}-C
OPTIONAL RESULT_VARIABLE _INCLUDED_FILE)
ENDIF(CMAKE_C_COMPILER_ID)
IF (NOT _INCLUDED_FILE)
INCLUDE(Platform/${CMAKE_SYSTEM_NAME}-${CMAKE_BASE_NAME} OPTIONAL)
INCLUDE(Platform/${CMAKE_SYSTEM_NAME}-${CMAKE_BASE_NAME}
OPTIONAL RESULT_VARIABLE _INCLUDED_FILE)
ENDIF (NOT _INCLUDED_FILE)
# some systems include the compiler information in the system file
# and if this is the enable_language command then it may not have been
# included at this point, or needs to be included again so that the
# language_INIT variables are set correctly
IF (NOT _INCLUDED_FILE)
INCLUDE(Platform/${CMAKE_SYSTEM_NAME}
OPTIONAL RESULT_VARIABLE _INCLUDED_FILE)
ENDIF (NOT _INCLUDED_FILE)
......
......@@ -13,7 +13,7 @@ ELSE(UNIX)
SET(CMAKE_CXX_OUTPUT_EXTENSION .obj)
ENDIF(UNIX)
SET(CMAKE_BASE_NAME)
GET_FILENAME_COMPONENT(CMAKE_BASE_NAME ${CMAKE_CXX_COMPILER} NAME_WE)
# since the gnu compiler has several names force g++
IF(CMAKE_COMPILER_IS_GNUCXX)
......
......@@ -50,6 +50,10 @@ PROGRAM CMakeFortranCompilerId
PRINT *, 'INFO:platform[IRIX]'
#elif defined(__hpux) || defined(__hpux__)
PRINT *, 'INFO:platform[HP-UX]'
#elif defined(__HAIKU) || defined(__HAIKU__) || defined(_HAIKU)
PRINT *, 'INFO:platform[Haiku]'
! Haiku also defines __BEOS__ so we must
! put it prior to the check for __BEOS__
#elif defined(__BeOS) || defined(__BEOS__) || defined(_BEOS)
PRINT *, 'INFO:platform[BeOS]'
#elif defined(__QNX__) || defined(__QNXNTO__)
......
......@@ -3,6 +3,7 @@
# It also loads the available platform file for the system-compiler
# if it exists.
SET(CMAKE_BASE_NAME)
GET_FILENAME_COMPONENT(CMAKE_BASE_NAME ${CMAKE_Fortran_COMPILER} NAME_WE)
# since the gnu compiler has several names force g++
IF(CMAKE_COMPILER_IS_GNUG77)
......
......@@ -35,6 +35,12 @@
#elif defined(__hpux) || defined(__hpux__)
# define PLATFORM_ID "HP-UX"
#elif defined(__HAIKU) || defined(__HAIKU__) || defined(_HAIKU)
# define PLATFORM_ID "Haiku"
/* Haiku also defines __BEOS__ so we must
put it prior to the check for __BEOS__
*/
#elif defined(__BeOS) || defined(__BEOS__) || defined(_BEOS)
# define PLATFORM_ID "BeOS"
......
......@@ -3,12 +3,15 @@
# It also loads the available platform file for the system-compiler
# if it exists.
# make sure we don't use CMAKE_BASE_NAME from somewhere else
SET(CMAKE_BASE_NAME)
GET_FILENAME_COMPONENT(CMAKE_BASE_NAME ${CMAKE_RC_COMPILER} NAME_WE)
SET(CMAKE_SYSTEM_AND_RC_COMPILER_INFO_FILE
${CMAKE_ROOT}/Modules/Platform/${CMAKE_SYSTEM_NAME}-${CMAKE_BASE_NAME}.cmake)
INCLUDE(Platform/${CMAKE_SYSTEM_NAME}-${CMAKE_BASE_NAME} OPTIONAL)
SET (CMAKE_RC_FLAGS "$ENV{RCFLAGS} ${CMAKE_RC_FLAGS_INIT}" CACHE STRING
"Flags for Fortran compiler.")
......@@ -23,7 +26,7 @@ SET(CMAKE_INCLUDE_FLAG_RC "-I")
# compile a Resource file into an object file
IF(NOT CMAKE_RC_COMPILE_OBJECT)
SET(CMAKE_RC_COMPILE_OBJECT
"<CMAKE_RC_COMPILER> <FLAGS> /fo<OBJECT> <SOURCE>")
"<CMAKE_RC_COMPILER> <FLAGS> <DEFINES> /fo<OBJECT> <SOURCE>")
ENDIF(NOT CMAKE_RC_COMPILE_OBJECT)
MARK_AS_ADVANCED(
......
......@@ -16,7 +16,7 @@ int main(int ac, char*av[]){
pthread_create(&tid[0], 0, runner, (void*)1);
pthread_create(&tid[1], 0, runner, (void*)2);
#if defined(__BEOS__) && !defined(__ZETA__) // (no usleep on BeOS 5.)
#if defined(__BEOS__) && !defined(__ZETA__) && !defined(__HAIKU__) // (no usleep on BeOS 5.)
usleep(1); // for strange behavior on single-processor sun
#endif
......
......@@ -94,20 +94,37 @@
OPTION(Boost_USE_MULTITHREADED
"Use the multithreaded versions of the Boost libraries" ON)
if (Boost_FIND_VERSION_EXACT)
if (Boost_FIND_VERSION_PATCH)
set( _boost_TEST_VERSIONS
"${Boost_FIND_VERSION_MAJOR}.${Boost_FIND_VERSION_MINOR}.${Boost_FIND_VERSION_PATCH}")
else (Boost_FIND_VERSION_PATCH)
set( _boost_TEST_VERSIONS
"${Boost_FIND_VERSION_MAJOR}.${Boost_FIND_VERSION_MINOR}.0"
"${Boost_FIND_VERSION_MAJOR}.${Boost_FIND_VERSION_MINOR}")
endif (Boost_FIND_VERSION_PATCH)
else (Boost_FIND_VERSION_EXACT)
set( _boost_TEST_VERSIONS ${Boost_ADDITIONAL_VERSIONS}
"1.36.1" "1.36.0" "1.36" "1.35.1" "1.35.0" "1.35" "1.34.1" "1.34.0"
"1.34" "1.33.1" "1.33.0" "1.33" )
endif (Boost_FIND_VERSION_EXACT)
if(Boost_FIND_VERSION_EXACT)
# The version may appear in a directory with or without the patch
# level, even when the patch level is non-zero.
set(_boost_TEST_VERSIONS
"${Boost_FIND_VERSION_MAJOR}.${Boost_FIND_VERSION_MINOR}.${Boost_FIND_VERSION_PATCH}"
"${Boost_FIND_VERSION_MAJOR}.${Boost_FIND_VERSION_MINOR}")
else(Boost_FIND_VERSION_EXACT)
# The user has not requested an exact version. Among known
# versions, find those that are acceptable to the user request.
set(_Boost_KNOWN_VERSIONS ${Boost_ADDITIONAL_VERSIONS}
"1.36.1" "1.36.0" "1.36" "1.35.1" "1.35.0" "1.35" "1.34.1" "1.34.0"
"1.34" "1.33.1" "1.33.0" "1.33")
set(_boost_TEST_VERSIONS)
if(Boost_FIND_VERSION)
set(_Boost_FIND_VERSION_SHORT "${Boost_FIND_VERSION_MAJOR}.${Boost_FIND_VERSION_MINOR}")
# Select acceptable versions.
foreach(version ${_Boost_KNOWN_VERSIONS})
if(NOT "${version}" VERSION_LESS "${Boost_FIND_VERSION}")
# This version is high enough.
list(APPEND _boost_TEST_VERSIONS "${version}")
elseif("${version}.99" VERSION_EQUAL "${_Boost_FIND_VERSION_SHORT}.99")
# This version is a short-form for the requested version with
# the patch level dropped.
list(APPEND _boost_TEST_VERSIONS "${version}")
endif()
endforeach(version)
else(Boost_FIND_VERSION)
# Any version is acceptable.
set(_boost_TEST_VERSIONS "${_Boost_KNOWN_VERSIONS}")
endif(Boost_FIND_VERSION)
endif(Boost_FIND_VERSION_EXACT)
# The reason that we failed to find Boost. This will be set to a
# user-friendly message when we fail to find some necessary piece of
......
# - Find Coin3D (Open Inventor)
# Coin3D is an implementation of the Open Inventor API.
# It provides data structures and algorithms for 3D visualization
# http://www.coin3d.org/
#
# This module defines the following variables
# COIN3D_FOUND - system has Coin3D - Open Inventor
# COIN3D_INCLUDE_DIRS - where the Inventor include directory can be found
# COIN3D_LIBRARIES - Link to this to use Coin3D
#
IF (WIN32)
IF (CYGWIN)
FIND_PATH(COIN3D_INCLUDE_DIRS Inventor/So.h)
FIND_LIBRARY(COIN3D_LIBRARIES Coin)
ELSE (CYGWIN)
FIND_PATH(COIN3D_INCLUDE_DIRS Inventor/So.h
"[HKEY_LOCAL_MACHINE\\SOFTWARE\\SIM\\Coin3D\\2;Installation Path]/include"
)
FIND_LIBRARY(COIN3D_LIBRARY_DEBUG coin2d
"[HKEY_LOCAL_MACHINE\\SOFTWARE\\SIM\\Coin3D\\2;Installation Path]/lib"
)
FIND_LIBRARY(COIN3D_LIBRARY_RELEASE coin2
"[HKEY_LOCAL_MACHINE\\SOFTWARE\\SIM\\Coin3D\\2;Installation Path]/lib"
)
IF (COIN3D_LIBRARY_DEBUG AND COIN3D_LIBRARY_RELEASE)
SET(COIN3D_LIBRARIES optimized ${COIN3D_LIBRARY_RELEASE}
debug ${COIN3D_LIBRARY_DEBUG})
ELSE (COIN3D_LIBRARY_DEBUG AND COIN3D_LIBRARY_RELEASE)
IF (COIN3D_LIBRARY_DEBUG)
SET (COIN3D_LIBRARIES ${COIN3D_LIBRARY_DEBUG})
ENDIF (COIN3D_LIBRARY_DEBUG)
IF (COIN3D_LIBRARY_RELEASE)
SET (COIN3D_LIBRARIES ${COIN3D_LIBRARY_RELEASE})
ENDIF (COIN3D_LIBRARY_RELEASE)
ENDIF (COIN3D_LIBRARY_DEBUG AND COIN3D_LIBRARY_RELEASE)
ENDIF (CYGWIN)
ELSE (WIN32)
IF(APPLE)
FIND_PATH(COIN3D_INCLUDE_DIRS Inventor/So.h
/Library/Frameworks/Inventor.framework/Headers
)
FIND_LIBRARY(COIN3D_LIBRARIES Coin
/Library/Frameworks/Inventor.framework/Libraries
)
SET(COIN3D_LIBRARIES "-framework Coin3d" CACHE STRING "Coin3D library for OSX")
ELSE(APPLE)
FIND_PATH(COIN3D_INCLUDE_DIRS Inventor/So.h)
FIND_LIBRARY(COIN3D_LIBRARIES Coin)
ENDIF(APPLE)
ENDIF (WIN32)
# handle the QUIETLY and REQUIRED arguments and set COIN3D_FOUND to TRUE if
# all listed variables are TRUE
INCLUDE(FindPackageHandleStandardArgs)
FIND_PACKAGE_HANDLE_STANDARD_ARGS(Coin3D DEFAULT_MSG COIN3D_LIBRARIES COIN3D_INCLUDE_DIRS)
MARK_AS_ADVANCED(COIN3D_INCLUDE_DIRS COIN3D_LIBRARIES )
......@@ -11,6 +11,7 @@ IF (WIN32)
FIND_PATH( GLUT_INCLUDE_DIR NAMES GL/glut.h
PATHS ${GLUT_ROOT_PATH}/include )
FIND_LIBRARY( GLUT_glut_LIBRARY NAMES glut glut32
PATHS
${OPENGL_LIBRARY_DIR}
${GLUT_ROOT_PATH}/Release
)
......
# - Find MFC on Windows
# Find the native MFC - i.e. decide if this is an MS VC box.
# Find the native MFC - i.e. decide if an application can link to the MFC
# libraries.
# MFC_FOUND - Was MFC support found
# You don't need to include anything or link anything to use it.
# Assume no MFC support
SET( MFC_FOUND "NO" )
# Add MFC support if win32 and not cygwin and not borland
IF( WIN32 )
IF( NOT CYGWIN )
IF( NOT BORLAND )
IF( NOT MINGW )
SET( MFC_FOUND "YES" )
ENDIF( NOT MINGW )
ENDIF( NOT BORLAND )
ENDIF( NOT CYGWIN )
ENDIF( WIN32 )
SET(MFC_FOUND "NO")
# Only attempt the try_compile call if it has a chance to succeed:
SET(MFC_ATTEMPT_TRY_COMPILE 0)
IF(WIN32 AND NOT UNIX AND NOT BORLAND AND NOT MINGW)
SET(MFC_ATTEMPT_TRY_COMPILE 1)
ENDIF(WIN32 AND NOT UNIX AND NOT BORLAND AND NOT MINGW)
IF(MFC_ATTEMPT_TRY_COMPILE)
IF("MFC_HAVE_MFC" MATCHES "^MFC_HAVE_MFC$")
SET(CHECK_INCLUDE_FILE_VAR "afxwin.h")
CONFIGURE_FILE(${CMAKE_ROOT}/Modules/CheckIncludeFile.cxx.in
${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeTmp/CheckIncludeFile.cxx)
MESSAGE(STATUS "Looking for MFC")
TRY_COMPILE(MFC_HAVE_MFC
${CMAKE_BINARY_DIR}
${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeTmp/CheckIncludeFile.cxx
CMAKE_FLAGS
-DCMAKE_MFC_FLAG:STRING=2
-DCOMPILE_DEFINITIONS:STRING=-D_AFXDLL
OUTPUT_VARIABLE OUTPUT)
IF(MFC_HAVE_MFC)
MESSAGE(STATUS "Looking for MFC - found")
SET(MFC_HAVE_MFC 1 CACHE INTERNAL "Have MFC?")
FILE(APPEND ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeOutput.log
"Determining if MFC exists passed with the following output:\n"
"${OUTPUT}\n\n")
ELSE(MFC_HAVE_MFC)
MESSAGE(STATUS "Looking for MFC - not found")
SET(MFC_HAVE_MFC 0 CACHE INTERNAL "Have MFC?")
FILE(APPEND ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeError.log
"Determining if MFC exists failed with the following output:\n"
"${OUTPUT}\n\n")
ENDIF(MFC_HAVE_MFC)
ENDIF("MFC_HAVE_MFC" MATCHES "^MFC_HAVE_MFC$")
IF(MFC_HAVE_MFC)
SET(MFC_FOUND "YES")
ENDIF(MFC_HAVE_MFC)
ENDIF(MFC_ATTEMPT_TRY_COMPILE)
......@@ -22,8 +22,9 @@ SET(PERL_POSSIBLE_LIB_PATHS
FIND_PATH(PERL_INCLUDE_PATH perl.h
${PERL_POSSIBLE_INCLUDE_PATHS})
# find the perl executable
INCLUDE(FindPerl)
FIND_PROGRAM(PERL_EXECUTABLE perl )
IF(PERL_EXECUTABLE)
EXEC_PROGRAM(${PERL_EXECUTABLE}
......
This diff is collapsed.
......@@ -8,6 +8,7 @@
# This code sets the following variables:
# TCL_STUB_LIBRARY = path to Tcl stub library
# TK_STUB_LIBRARY = path to Tk stub library
# TTK_STUB_LIBRARY = path to ttk stub library
#
# In an effort to remove some clutter and clear up some issues for people
# who are not necessarily Tcl/Tk gurus/developpers, some variables were
......@@ -101,6 +102,17 @@ FIND_LIBRARY(TK_STUB_LIBRARY
PATHS ${TCLTK_POSSIBLE_LIB_PATHS}
)
FIND_LIBRARY(TTK_STUB_LIBRARY
NAMES
ttkstub
ttkstub${TCL_LIBRARY_VERSION} ttkstub${TCL_TCLSH_VERSION} ttkstub${TK_WISH_VERSION}
ttkstub88 ttkstub8.8
ttkstub87 ttkstub8.7
ttkstub86 ttkstub8.6
ttkstub85 ttkstub8.5
PATHS ${TCLTK_POSSIBLE_LIB_PATHS}
)
MARK_AS_ADVANCED(
TCL_STUB_LIBRARY
TK_STUB_LIBRARY
......
......@@ -400,6 +400,7 @@ IF(wxWidgets_FIND_STYLE STREQUAL "win32")
wxWidgets-2.9.2
wxWidgets-2.9.1
wxWidgets-2.9.0
wxWidgets-2.8.9
wxWidgets-2.8.8
wxWidgets-2.8.7
wxWidgets-2.8.6
......@@ -446,7 +447,15 @@ IF(wxWidgets_FIND_STYLE STREQUAL "win32")
ENDIF(MINGW)
IF(BUILD_SHARED_LIBS)
FIND_PATH(wxWidgets_LIB_DIR
NAMES msw/build.cfg mswd/build.cfg
NAMES
msw/wx/setup.h
mswd/wx/setup.h
mswu/wx/setup.h
mswud/wx/setup.h
mswuniv/wx/setup.h
mswunivd/wx/setup.h
mswunivu/wx/setup.h
mswunivud/wx/setup.h
PATHS
${WX_ROOT_DIR}/lib/${WX_LIB_DIR_PREFIX}_dll # prefer shared
${WX_ROOT_DIR}/lib/${WX_LIB_DIR_PREFIX}_lib
......@@ -455,7 +464,15 @@ IF(wxWidgets_FIND_STYLE STREQUAL "win32")
)
ELSE(BUILD_SHARED_LIBS)
FIND_PATH(wxWidgets_LIB_DIR
NAMES msw/build.cfg mswd/build.cfg
NAMES
msw/wx/setup.h
mswd/wx/setup.h
mswu/wx/setup.h
mswud/wx/setup.h
mswuniv/wx/setup.h
mswunivd/wx/setup.h
mswunivu/wx/setup.h
mswunivud/wx/setup.h
PATHS
${WX_ROOT_DIR}/lib/${WX_LIB_DIR_PREFIX}_lib # prefer static
${WX_ROOT_DIR}/lib/${WX_LIB_DIR_PREFIX}_dll
......
SET(BEOS 1)
# GCC is the default compiler on Haiku.
INCLUDE(${CMAKE_ROOT}/Modules/Platform/gcc.cmake)
SET(CMAKE_DL_LIBS root be)
SET(CMAKE_SHARED_LIBRARY_C_FLAGS "-fPIC")
SET(CMAKE_SHARED_LIBRARY_CREATE_C_FLAGS "-nostart")
SET(CMAKE_SHARED_LIBRARY_RUNTIME_C_FLAG "-Wl,-rpath,")
SET(CMAKE_SHARED_LIBRARY_RUNTIME_C_FLAG_SEP ":")
SET(CMAKE_SHARED_LIBRARY_SONAME_C_FLAG "-Wl,-soname,")
SET(CMAKE_SHARED_LIBRARY_SONAME_CXX_FLAG "-Wl,-soname,")
INCLUDE(Platform/UnixPaths)
......@@ -59,3 +59,5 @@ INCLUDE(Platform/UnixPaths)
IF(EXISTS "/etc/debian_version")
SET_PROPERTY(GLOBAL PROPERTY FIND_LIBRARY_USE_LIB64_PATHS FALSE)
ENDIF(EXISTS "/etc/debian_version")
# always include the gcc compiler information
INCLUDE(Platform/gcc)
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment