From 9c4bfe975a71337df6aa0046e86d0b8aba57ec62 Mon Sep 17 00:00:00 2001 From: Bill Hoffman Date: Wed, 7 Sep 2005 17:05:01 -0400 Subject: ENH: add a fix for VTK on the mac and a way to fix some projects with a single file in the cmake modules directory --- Modules/CMakeCInformation.cmake | 4 ---- Modules/CMakeCXXInformation.cmake | 5 ----- Modules/CMakeFortranInformation.cmake | 5 ----- Modules/VTKCompatibility.cmake | 7 +++++++ Source/cmGlobalGenerator.cxx | 14 ++++++++++++++ 5 files changed, 21 insertions(+), 14 deletions(-) create mode 100644 Modules/VTKCompatibility.cmake diff --git a/Modules/CMakeCInformation.cmake b/Modules/CMakeCInformation.cmake index cca45b7..a18fe4c 100644 --- a/Modules/CMakeCInformation.cmake +++ b/Modules/CMakeCInformation.cmake @@ -96,10 +96,6 @@ IF(NOT CMAKE_C_LINK_EXECUTABLE) " -o ") ENDIF(NOT CMAKE_C_LINK_EXECUTABLE) -IF(CMAKE_USER_MAKE_RULES_OVERRIDE) - INCLUDE(${CMAKE_USER_MAKE_RULES_OVERRIDE}) -ENDIF(CMAKE_USER_MAKE_RULES_OVERRIDE) - MARK_AS_ADVANCED( CMAKE_C_FLAGS CMAKE_C_FLAGS_DEBUG diff --git a/Modules/CMakeCXXInformation.cmake b/Modules/CMakeCXXInformation.cmake index 384e6be..499778e 100644 --- a/Modules/CMakeCXXInformation.cmake +++ b/Modules/CMakeCXXInformation.cmake @@ -154,11 +154,6 @@ IF(NOT CMAKE_CXX_LINK_EXECUTABLE) " -o ") ENDIF(NOT CMAKE_CXX_LINK_EXECUTABLE) -IF(CMAKE_USER_MAKE_RULES_OVERRIDE) - INCLUDE(${CMAKE_USER_MAKE_RULES_OVERRIDE}) -ENDIF(CMAKE_USER_MAKE_RULES_OVERRIDE) - - MARK_AS_ADVANCED( CMAKE_BUILD_TOOL CMAKE_VERBOSE_MAKEFILE diff --git a/Modules/CMakeFortranInformation.cmake b/Modules/CMakeFortranInformation.cmake index 2680db0..d711cf3 100644 --- a/Modules/CMakeFortranInformation.cmake +++ b/Modules/CMakeFortranInformation.cmake @@ -114,11 +114,6 @@ IF(NOT CMAKE_Fortran_LINK_EXECUTABLE) ENDIF(NOT CMAKE_Fortran_LINK_EXECUTABLE) -# Load the user define rules -IF(CMAKE_USER_MAKE_RULES_OVERRIDE) - INCLUDE(${CMAKE_USER_MAKE_RULES_OVERRIDE}) -ENDIF(CMAKE_USER_MAKE_RULES_OVERRIDE) - MARK_AS_ADVANCED( CMAKE_Fortran_FLAGS diff --git a/Modules/VTKCompatibility.cmake b/Modules/VTKCompatibility.cmake new file mode 100644 index 0000000..7494a21 --- /dev/null +++ b/Modules/VTKCompatibility.cmake @@ -0,0 +1,7 @@ +MESSAGE("VTK specific hacks go here in VTKCompatibility") +IF(APPLE) + SET(CMAKE_CXX_CREATE_SHARED_LIBRARY "${CMAKE_C_CREATE_SHARED_LIBRARY}") + SET(CMAKE_CXX_CREATE_SHARED_MODULE "${CMAKE_C_CREATE_SHARED_MODULE}") + STRING( REGEX REPLACE "CMAKE_C_COMPILER" CMAKE_CXX_COMPILER CMAKE_CXX_CREATE_SHARED_MODULE "${CMAKE_CXX_CREATE_SHARED_MODULE}") + STRING( REGEX REPLACE "CMAKE_C_COMPILER" CMAKE_CXX_COMPILER CMAKE_CXX_CREATE_SHARED_LIBRARY "${CMAKE_CXX_CREATE_SHARED_LIBRARY}") +ENDIF(APPLE) diff --git a/Source/cmGlobalGenerator.cxx b/Source/cmGlobalGenerator.cxx index 545309b..34b72cb 100644 --- a/Source/cmGlobalGenerator.cxx +++ b/Source/cmGlobalGenerator.cxx @@ -373,6 +373,20 @@ cmGlobalGenerator::EnableLanguage(std::vectorconst& languages, } } } + } // end for each language + std::string projectCompatibility = mf->GetDefinition("CMAKE_ROOT"); + projectCompatibility += "/Modules/"; + projectCompatibility += mf->GetDefinition("PROJECT_NAME"); + projectCompatibility += "Compatibility.cmake"; + if(cmSystemTools::FileExists(projectCompatibility.c_str())) + { + mf->ReadListFile(0,projectCompatibility.c_str()); + } + std::string userMakeRules = + mf->GetSafeDefinition("CMAKE_USER_MAKE_RULES_OVERRIDE"); + if(userMakeRules.size()) + { + mf->ReadListFile(0,userMakeRules.c_str()); } } -- cgit v0.12