View Issue Details [ Jump to Notes ] | [ Print ] | ||||||||
ID | Project | Category | View Status | Date Submitted | Last Update | ||||
0011866 | CMake | CMake | public | 2011-02-15 18:23 | 2013-01-09 10:57 | ||||
Reporter | d3x0r | ||||||||
Assigned To | Brad King | ||||||||
Priority | normal | Severity | minor | Reproducibility | always | ||||
Status | closed | Resolution | fixed | ||||||
Platform | Windows | OS | Windows | OS Version | 7 | ||||
Product Version | CMake 2.8.3 | ||||||||
Target Version | CMake 2.8.10 | Fixed in Version | CMake 2.8.10 | ||||||
Summary | 0011866: InstallRequiredSystemLibraries Watcom Support Patch | ||||||||
Description | Attached diff from git vs today's head 6720f97d3b07f89af283024d29fad2194edd06f7 (I think) | ||||||||
Steps To Reproduce | use Include(installRequiredSystemLibraries) and use target generator "watcom wmake" | ||||||||
Tags | No tags attached. | ||||||||
Attached Files | watcom-cmake.patch [^] (3,649 bytes) 2011-02-15 18:23 [Show Content] | ||||||||
Relationships | |
Relationships |
Notes | |
(0026547) d3x0r (reporter) 2011-05-18 20:09 |
This patch should still work. Just copied said changes into the 2.4.8 distribution files and libraries work just dandy. |
(0027122) David Cole (manager) 2011-07-29 15:01 |
Fix pushed to CMake 'next' with this commit: http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=80769cdd1e568c1dbc66651557d98bba0f70ea00 [^] |
(0028114) David Cole (manager) 2012-01-02 15:56 |
Closing resolved issues that have not been updated in more than 4 months. |
(0029897) d3x0r (reporter) 2012-07-03 12:34 edited on: 2012-08-09 20:59 |
The EXECUTE_PROCESS for watcom version check has extra quotes now. so the file looks like "\"CMakeTestWatcomVersion.c\"" sort-of. in windows-wcl386.cmake line 97 needs the quotes removed 96: EXECUTE_PROCESS(COMMAND ${CMAKE_TEST_COMPILER} 97: -q -pc \"${testWatcomVersionFile}\" 98: OUTPUT_VARIABLE CMAKE_COMPILER_OUTPUT 99: RESULT_VARIABLE CMAKE_COMPILER_RETURN 100: ) should be.... (after removing the \" quotes) 96: EXECUTE_PROCESS(COMMAND ${CMAKE_TEST_COMPILER} 97: -q -pc ${testWatcomVersionFile} 98: OUTPUT_VARIABLE CMAKE_COMPILER_OUTPUT 99: RESULT_VARIABLE CMAKE_COMPILER_RETURN 100: ) |
(0030204) Brad King (manager) 2012-08-10 08:21 |
Since these commits: http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=c198730b [^] http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=fa7141f5 [^] the CMAKE_(C|CXX)_COMPILER_VERSION variables should have the version number in them. Can this be used instead of a dedicated execute_process? |
(0030208) d3x0r (reporter) 2012-08-10 14:08 |
In that case different mods need to be made. share/cmake-2.8/modules/platform/Windows-wcl386.cmake The last IF block is IF( NOT CMAKE_WATCOM_COMPILER_TESTS_RUN ) and needs to be replaced with the following IF block. (Removes the execute process and other setup code, and uses the version variable instead) IF(NOT CMAKE_WATCOM_COMPILER_TESTS_RUN) SET(CMAKE_WATCOM_COMPILER_TESTS_RUN 1) SET(WATCOM16) SET(WATCOM17) SET(WATCOM18) SET(WATCOM19) IF("${CMAKE_C_COMPILER_VERSION}" LESS 12.70) SET(WATCOM16 1) ENDIF() IF("${CMAKE_C_COMPILER_VERSION}" EQUAL 12.70) SET(WATCOM17 1) ENDIF() IF("${CMAKE_C_COMPILER_VERSION}" EQUAL 12.80) SET(WATCOM18 1) ENDIF() IF("${CMAKE_C_COMPILER_VERSION}" EQUAL 12.90) SET(WATCOM19 1) ENDIF() ENDIF() ############## This is what the above IF looked like before.... IF(NOT CMAKE_WATCOM_COMPILER_TESTS_RUN) SET(CMAKE_WATCOM_COMPILER_TESTS_RUN 1) SET(testWatcomVersionFile "${CMAKE_ROOT}/Modules/CMakeTestWatcomVersion.c") STRNG(REGEXREPLACE "/" "\\\\"testWatcomVersionFile "${testWatcomVersionFile}") MESSAGE(STATUS "Check for Watcom compiler version") SET(CMAKE_TEST_COMPILER ${CMAKE_C_COMPILER}) IF (NOT CMAKE_C_COMPILER) SET(CMAKE_TEST_COMPILER ${CMAKE_CXX_COMPILER}) ENDIF() EXECUTE_PROCESS(COMMAND ${CMAKE_TEST_COMPILER} -q -pc \"${testWatcomVersionFile}\" OUTPUT_VARIABLE CMAKE_COMPILER_OUTPUT RESULT_VARIABLE CMAKE_COMPILER_RETURN ) STRING(REGEX REPLACE "\n" " " compilerVersion "${CMAKE_COMPILER_OUTPUT}") STRING(REGEX REPLACE ".*VERSION=(.*)" "\\1" compilerVersion "${compilerVersion}") IF("${CMAKE_COMPILER_RETURN}" STREQUAL "0") SET(WATCOM16) SET(WATCOM17) SET(WATCOM18) SET(WATCOM19) IF("${compilerVersion}" LESS 1270) SET(WATCOM16 1) ENDIF() IF("${compilerVersion}" EQUAL 1270) SET(WATCOM17 1) ENDIF() IF("${compilerVersion}" EQUAL 1280) SET(WATCOM18 1) ENDIF() IF("${compilerVersion}" EQUAL 1290) SET(WATCOM19 1) ENDIF() ENDIF() ENDIF() ################ And a small mod to share/cmake-2.8/modules/CMakeDetermineCCompiler.cmake Insert at line 139 ELSEIF("${CMAKE_C_PLATFORM_ID}" MATCHES "Cygwin") SET(CMAKE_COMPILER_IS_CYGWIN 1) + ELSEIF("${CMAKE_C_PLATFORM_ID}" MATCHES "Watcom") + SET(CMAKE_COMPILER_IS_WATCOM 1) ENDIF("${CMAKE_C_PLATFORM_ID}" MATCHES "MinGW") |
(0030209) Brad King (manager) 2012-08-10 14:21 |
There is no need for a CMAKE_COMPILER_IS_WATCOM variable. The other CMAKE_COMPILER_IS_* variables predate CMAKE_C_COMPILER_ID and only exist for compatibility. How about this block? IF(NOT CMAKE_WATCOM_COMPILER_TESTS_RUN) SET(CMAKE_WATCOM_COMPILER_TESTS_RUN 1) IF(CMAKE_C_COMPILER_VERSION) SET(_compiler_version ${CMAKE_C_COMPILER_VERSION}) ELSE() SET(_compiler_version ${CMAKE_CXX_COMPILER_VERSION}) ENDIF() SET(WATCOM16) SET(WATCOM17) SET(WATCOM18) SET(WATCOM19) IF("${_compiler_version}" LESS 12.70) SET(WATCOM16 1) ENDIF() IF("${_compiler_version}" EQUAL 12.70) SET(WATCOM17 1) ENDIF() IF("${_compiler_version}" EQUAL 12.80) SET(WATCOM18 1) ENDIF() IF("${_compiler_version}" EQUAL 12.90) SET(WATCOM19 1) ENDIF() ENDIF() |
(0030212) d3x0r (reporter) 2012-08-10 16:04 |
Tests OK. |
(0030465) Brad King (manager) 2012-08-13 08:22 |
Applied change from 0011866:0030209: http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=af42ae4f [^] Thanks for testing. |
(0032053) Robert Maynard (manager) 2013-01-09 10:57 |
Closing resolved issues that have not been updated in more than 4 months. |
Notes |
Issue History | |||
Date Modified | Username | Field | Change |
2011-02-15 18:23 | d3x0r | New Issue | |
2011-02-15 18:23 | d3x0r | File Added: watcom-cmake.patch | |
2011-05-18 20:09 | d3x0r | Note Added: 0026547 | |
2011-07-29 08:51 | David Cole | Assigned To | => David Cole |
2011-07-29 08:51 | David Cole | Status | new => assigned |
2011-07-29 11:39 | David Cole | Target Version | => CMake 2.8.6 |
2011-07-29 15:01 | David Cole | Note Added: 0027122 | |
2011-07-29 15:01 | David Cole | Status | assigned => resolved |
2011-07-29 15:01 | David Cole | Fixed in Version | => CMake 2.8.6 |
2011-07-29 15:01 | David Cole | Resolution | open => fixed |
2012-01-02 15:56 | David Cole | Note Added: 0028114 | |
2012-01-02 15:56 | David Cole | Status | resolved => closed |
2012-07-03 12:34 | d3x0r | Note Added: 0029897 | |
2012-07-03 12:34 | d3x0r | Status | closed => feedback |
2012-07-03 12:34 | d3x0r | Resolution | fixed => reopened |
2012-08-09 20:59 | d3x0r | Note Edited: 0029897 | |
2012-08-09 20:59 | d3x0r | Note Edited: 0029897 | |
2012-08-10 08:21 | Brad King | Note Added: 0030204 | |
2012-08-10 14:08 | d3x0r | Note Added: 0030208 | |
2012-08-10 14:08 | d3x0r | Status | feedback => assigned |
2012-08-10 14:21 | Brad King | Note Added: 0030209 | |
2012-08-10 16:04 | d3x0r | Note Added: 0030212 | |
2012-08-10 16:48 | David Cole | Fixed in Version | CMake 2.8.6 => |
2012-08-10 16:48 | David Cole | Target Version | CMake 2.8.6 => CMake 2.8.10 |
2012-08-13 08:22 | Brad King | Note Added: 0030465 | |
2012-08-13 08:22 | Brad King | Status | assigned => resolved |
2012-08-13 08:22 | Brad King | Resolution | reopened => fixed |
2012-08-13 08:22 | Brad King | Fixed in Version | => CMake 2.8.10 |
2012-08-13 10:53 | David Cole | Assigned To | David Cole => Brad King |
2013-01-09 10:57 | Robert Maynard | Note Added: 0032053 | |
2013-01-09 10:57 | Robert Maynard | Status | resolved => closed |
Issue History |
Copyright © 2000 - 2018 MantisBT Team |