MantisBT - CMake |
View Issue Details |
|
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" |
Additional Information | |
Tags | No tags attached. |
Relationships | |
Attached Files | watcom-cmake.patch (3,649) 2011-02-15 18:23 https://public.kitware.com/Bug/file/3705/watcom-cmake.patch |
|
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 | bug_revision_view_page.php?bugnote_id=29897#r761 |
2012-08-09 20:59 | d3x0r | Note Edited: 0029897 | bug_revision_view_page.php?bugnote_id=29897#r762 |
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 |
Notes |
|
(0026547)
|
d3x0r
|
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
|
2011-07-29 15:01
|
|
|
|
(0028114)
|
David Cole
|
2012-01-02 15:56
|
|
Closing resolved issues that have not been updated in more than 4 months. |
|
|
(0029897)
|
d3x0r
|
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
|
2012-08-10 08:21
|
|
|
|
(0030208)
|
d3x0r
|
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
|
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
|
2012-08-10 16:04
|
|
|
|
(0030465)
|
Brad King
|
2012-08-13 08:22
|
|
|
|
(0032053)
|
Robert Maynard
|
2013-01-09 10:57
|
|
Closing resolved issues that have not been updated in more than 4 months. |
|