Merge topic 'add_support_for_windres'
971692c
Build enable_language command during bootstrap960ace1
Add testing for windows resources for mingw/msys/cygwin and remove for watcom.060d6e8
Add support for windres to cygwin.b2f308c
Add support for windows resources with mingw/msys.
This commit is contained in:
commit
3556ab9f72
|
@ -54,6 +54,12 @@ ENDIF(NOT CMAKE_RC_COMPILER)
|
|||
|
||||
MARK_AS_ADVANCED(CMAKE_RC_COMPILER)
|
||||
|
||||
GET_FILENAME_COMPONENT(_CMAKE_RC_COMPILER_NAME_WE ${CMAKE_RC_COMPILER} NAME_WE)
|
||||
IF(_CMAKE_RC_COMPILER_NAME_WE STREQUAL "windres")
|
||||
SET(CMAKE_RC_OUTPUT_EXTENSION .obj)
|
||||
ELSE()
|
||||
SET(CMAKE_RC_OUTPUT_EXTENSION .res)
|
||||
ENDIF()
|
||||
|
||||
# configure variables set in this file for fast reload later on
|
||||
CONFIGURE_FILE(${CMAKE_ROOT}/Modules/CMakeRCCompiler.cmake.in
|
||||
|
|
|
@ -2,5 +2,5 @@ SET(CMAKE_RC_COMPILER "@CMAKE_RC_COMPILER@")
|
|||
SET(CMAKE_RC_COMPILER_ARG1 "@CMAKE_RC_COMPILER_ARG1@")
|
||||
SET(CMAKE_RC_COMPILER_LOADED 1)
|
||||
SET(CMAKE_RC_SOURCE_FILE_EXTENSIONS rc)
|
||||
SET(CMAKE_RC_OUTPUT_EXTENSION .res)
|
||||
SET(CMAKE_RC_OUTPUT_EXTENSION @CMAKE_RC_OUTPUT_EXTENSION@)
|
||||
SET(CMAKE_RC_COMPILER_ENV_VAR "RC")
|
||||
|
|
|
@ -24,7 +24,8 @@ set(CMAKE_CREATE_WIN32_EXE "-mwindows")
|
|||
|
||||
set(CMAKE_GNULD_IMAGE_VERSION
|
||||
"-Wl,--major-image-version,<TARGET_VERSION_MAJOR>,--minor-image-version,<TARGET_VERSION_MINOR>")
|
||||
|
||||
set(CMAKE_GENERATOR_RC windres)
|
||||
enable_language(RC)
|
||||
macro(__cygwin_compiler_gnu lang)
|
||||
# Binary link rules.
|
||||
set(CMAKE_${lang}_CREATE_SHARED_MODULE
|
||||
|
|
|
@ -0,0 +1 @@
|
|||
SET(CMAKE_RC_COMPILE_OBJECT "<CMAKE_RC_COMPILER> -O coff <FLAGS> <DEFINES> <SOURCE> <OBJECT>")
|
|
@ -56,6 +56,8 @@ if("${_help}" MATCHES "GNU ld .* 2\\.1[1-6]")
|
|||
set(__WINDOWS_GNU_LD_RESPONSE 0)
|
||||
endif()
|
||||
|
||||
enable_language(RC)
|
||||
|
||||
macro(__windows_compiler_gnu lang)
|
||||
|
||||
if(MSYS OR MINGW)
|
||||
|
|
|
@ -0,0 +1 @@
|
|||
SET(CMAKE_RC_COMPILE_OBJECT "<CMAKE_RC_COMPILER> -O coff <FLAGS> <DEFINES> <SOURCE> <OBJECT>")
|
|
@ -32,6 +32,7 @@
|
|||
#include "cmCreateTestSourceList.cxx"
|
||||
#include "cmDefinePropertyCommand.cxx"
|
||||
#include "cmElseCommand.cxx"
|
||||
#include "cmEnableLanguageCommand.cxx"
|
||||
#include "cmEnableTestingCommand.cxx"
|
||||
#include "cmEndForEachCommand.cxx"
|
||||
#include "cmEndFunctionCommand.cxx"
|
||||
|
@ -109,6 +110,7 @@ void GetBootstrapCommands(std::list<cmCommand*>& commands)
|
|||
commands.push_back(new cmCreateTestSourceList);
|
||||
commands.push_back(new cmDefinePropertyCommand);
|
||||
commands.push_back(new cmElseCommand);
|
||||
commands.push_back(new cmEnableLanguageCommand);
|
||||
commands.push_back(new cmEnableTestingCommand);
|
||||
commands.push_back(new cmEndForEachCommand);
|
||||
commands.push_back(new cmEndFunctionCommand);
|
||||
|
|
|
@ -14,7 +14,6 @@
|
|||
#include "cmAuxSourceDirectoryCommand.cxx"
|
||||
#include "cmBuildNameCommand.cxx"
|
||||
#include "cmElseIfCommand.cxx"
|
||||
#include "cmEnableLanguageCommand.cxx"
|
||||
#include "cmEndWhileCommand.cxx"
|
||||
#include "cmExportCommand.cxx"
|
||||
#include "cmExportLibraryDependencies.cxx"
|
||||
|
@ -54,7 +53,6 @@ void GetPredefinedCommands(std::list<cmCommand*>&
|
|||
commands.push_back(new cmAuxSourceDirectoryCommand);
|
||||
commands.push_back(new cmBuildNameCommand);
|
||||
commands.push_back(new cmElseIfCommand);
|
||||
commands.push_back(new cmEnableLanguageCommand);
|
||||
commands.push_back(new cmEndWhileCommand);
|
||||
commands.push_back(new cmExportCommand);
|
||||
commands.push_back(new cmExportLibraryDependenciesCommand);
|
||||
|
|
|
@ -69,9 +69,16 @@ void cmGlobalMSYSMakefileGenerator
|
|||
{
|
||||
gxx = tgxx;
|
||||
}
|
||||
std::string trc = cmSystemTools::FindProgram("windres", locations);
|
||||
std::string rc = "windres.exe";
|
||||
if(trc.size())
|
||||
{
|
||||
rc = trc;
|
||||
}
|
||||
mf->AddDefinition("MSYS", "1");
|
||||
mf->AddDefinition("CMAKE_GENERATOR_CC", gcc.c_str());
|
||||
mf->AddDefinition("CMAKE_GENERATOR_CXX", gxx.c_str());
|
||||
mf->AddDefinition("CMAKE_GENERATOR_RC", rc.c_str());
|
||||
this->cmGlobalUnixMakefileGenerator3::EnableLanguage(l, mf, optional);
|
||||
|
||||
if(!mf->IsSet("CMAKE_AR") &&
|
||||
|
|
|
@ -44,8 +44,15 @@ void cmGlobalMinGWMakefileGenerator
|
|||
{
|
||||
gxx = tgxx;
|
||||
}
|
||||
std::string trc = cmSystemTools::FindProgram("windres", locations);
|
||||
std::string rc = "windres.exe";
|
||||
if(trc.size())
|
||||
{
|
||||
rc = trc;
|
||||
}
|
||||
mf->AddDefinition("CMAKE_GENERATOR_CC", gcc.c_str());
|
||||
mf->AddDefinition("CMAKE_GENERATOR_CXX", gxx.c_str());
|
||||
mf->AddDefinition("CMAKE_GENERATOR_RC", rc.c_str());
|
||||
this->cmGlobalUnixMakefileGenerator3::EnableLanguage(l, mf, optional);
|
||||
}
|
||||
|
||||
|
|
|
@ -131,7 +131,18 @@ IF(BUILD_TESTING)
|
|||
ADD_TEST_MACRO(TarTest TarTest)
|
||||
ADD_TEST_MACRO(SystemInformation SystemInformation)
|
||||
ADD_TEST_MACRO(MathTest MathTest)
|
||||
IF(MSVC)
|
||||
# assume no resources building to test
|
||||
SET(TEST_RESOURCES FALSE)
|
||||
# for windows and cygwin assume we have resources
|
||||
IF(WIN32 OR CYGWIN)
|
||||
SET(TEST_RESOURCES TRUE)
|
||||
ENDIF()
|
||||
# for borland and watcom there is no resource support
|
||||
IF(("${CMAKE_TEST_GENERATOR}" MATCHES "WMake") OR
|
||||
("${CMAKE_TEST_GENERATOR}" MATCHES "Borland"))
|
||||
SET(TEST_RESOURCES FALSE)
|
||||
ENDIF()
|
||||
IF(TEST_RESOURCES)
|
||||
ADD_TEST_MACRO(VSResource VSResource)
|
||||
ENDIF()
|
||||
ADD_TEST_MACRO(Simple Simple)
|
||||
|
|
Loading…
Reference in New Issue