summaryrefslogtreecommitdiffstats
path: root/Modules/Platform/Windows-wcl386.cmake
Commit message (Collapse)AuthorAgeFilesLines
* Factor an <INCLUDES> placeholder out of <FLAGS> in rule variablesBrad King2015-07-131-4/+4
| | | | | | | | | | | Teach the Makefile and Ninja generators to substitute for an <INCLUDES> placeholder instead of putting -I in <FLAGS>. Update our values for CMAKE_<LANG>_COMPILE_OBJECT, CMAKE_<LANG>_CREATE_ASSEMBLY_SOURCE, and CMAKE_<LANG>_CREATE_PREPROCESSED_SOURCE to place <INCLUDES> just before <FLAGS>.
* Place <DEFINES> before <FLAGS> consistently across compilersBrad King2015-07-131-4/+4
| | | | | | | | | | | | Update our values for CMAKE_<LANG>_COMPILE_OBJECT, CMAKE_<LANG>_CREATE_ASSEMBLY_SOURCE, and CMAKE_<LANG>_CREATE_PREPROCESSED_SOURCE to place <DEFINES> before <FLAGS> consistently across supported compilers. We already do this for most compilers, so update the rest for consistency.
* Watcom: Drop symfile linker optionJ Decker2014-11-031-2/+2
| | | | | | | | | | | Cleanup of Windows-wcl386.cmake in commit v3.1.0-rc1~693^2 (Watcom: Cleanup Windows-wcl386 configuration, 2014-04-01) also introduced use of the 'symfile' link option but did not mention it in the commit message. There is no way to set the symbol file name of a target, so it is better to revert that change. It is easy to run 'wstrip *' if the symbols need to be stripped, but it is very difficult to get the right names for the .sym files to install with debug/rel_with_deb_info configurations.
* Watcom: Use single quote for all file/path items in wlink commandJiri Malak2014-04-081-2/+2
| | | | | | Watcom Linker use single quote if necessary for quoting target name, libraries names and libraries search path. Object names were already fixed.
* Watcom: Cleanup Windows-wcl386 configurationJiri Malak2014-04-021-23/+27
| | | | | | | | | | | * Remove Watcom linker caseexact options already defined in system definition. * Use win_dll system for SHARED_LIBRARY and SHARED_MODULE. * Use explicit target definition -bt=.. option for proper initialization of compiler Windows environment (predefined macros) * Reorganize compiler options to global options and configuration specific options * Use option to optimize out stack checking code for release version
* Makefile: Generate single-quoted object lists for WatcomJiri Malak2014-03-271-0/+5
| | | | | | | | | | | | | | | | Drop the CMAKE_NO_QUOTED_OBJECTS internal variable from the Makefile generators. The underlying problem is with the Watcom linker, not with WMake. The Watcom linker wants object files to be single-quoted. Add <LINK-RULE>_USE_WATCOM_QUOTE platform information variables to tell the generators to use Watcom-style single quotes for object files on link lines. On Windows, Watcom uses the GetCommandLine API to get the original command-line string and do custom parsing that expects single quotes. On POSIX systems, Watcom approximates the original command line by joining all argv[] entries separated by a single space. Therefore we need to double-quote the single-quoted arguments so that the shell does not consume them and they are available for the parser to see.
* Watcom: Introduce OpenWatcom compiler id and fix compiler versionJiri Malak2014-03-171-11/+13
| | | | | | Distinguish "Open Watcom" from old "Watcom" by introducing a new "OpenWatcom" compiler id. The __WATCOMC__ format is "VVRP" for Watcom and "VVRP + 1100" for Open Watcom.
* Merge topic 'watcom-wlib-quoting'Brad King2014-03-031-2/+2
|\ | | | | | | | | 5c5be193 Watcom: Fix static library name quoting for wlib
| * Watcom: Fix static library name quoting for wlibJiri Malak2014-02-281-2/+2
| | | | | | | | | | Use double-quotes instead of single-quotes around the static library target name in 'wlib' invocations.
* | Watcom: Fix creation of DLLs without any exported symbolsBrad King2014-02-271-4/+3
|/ | | | | | | | | | | | Create each DLL import library by passing "option implib=..." to the linker for its SHARED library. This works even when there are no symbols to be exported. Leave the option out for MODULE libraries because we do not need an import library for them. For executables, retain the separate invocation of wlib because we want an import library only when the ENABLE_EXPORTS property is set, and in that case the project should provide symbols. Suggested-by: J Decker <d3ck0r@gmail.com>
* Remove CMake-language block-end command argumentsKitware Robot2012-08-131-2/+2
| | | | | | | | | | | | | | | | | Ancient versions of CMake required else(), endif(), and similar block termination commands to have arguments matching the command starting the block. This is no longer the preferred style. Run the following shell code: for c in else endif endforeach endfunction endmacro endwhile; do echo 's/\b'"$c"'\(\s*\)(.\+)/'"$c"'\1()/' done >convert.sed && git ls-files -z -- bootstrap '*.cmake' '*.cmake.in' '*CMakeLists.txt' | egrep -z -v '^(Utilities/cm|Source/kwsys/)' | egrep -z -v 'Tests/CMakeTests/While-Endwhile-' | xargs -0 sed -i -f convert.sed && rm convert.sed
* Convert CMake-language commands to lower caseKitware Robot2012-08-131-48/+48
| | | | | | | | | | | | | | | | | Ancient CMake versions required upper-case commands. Later command names became case-insensitive. Now the preferred style is lower-case. Run the following shell code: cmake --help-command-list | grep -v "cmake version" | while read c; do echo 's/\b'"$(echo $c | tr '[:lower:]' '[:upper:]')"'\(\s*\)(/'"$c"'\1(/g' done >convert.sed && git ls-files -z -- bootstrap '*.cmake' '*.cmake.in' '*CMakeLists.txt' | egrep -z -v '^(Utilities/cm|Source/kwsys/)' | xargs -0 sed -i -f convert.sed && rm convert.sed
* Watcom: Simplify compiler version detection (#11866)Brad King2012-08-131-37/+24
| | | | | | | | Since commit c198730b (Detect Watcom compiler version with its id, 2011-12-07) the CMAKE_(C|CXX)_COMPILER_VERSION variables are set for the Watcom compiler. Use these in Windows-wcl386.cmake to set the old WATCOM1* version variables. This avoids using the old EXECUTE_PROCESS command which failed due to extra quotes anyway.
* Add platform variable for flags specific to shared librariesStephen Kelly2012-06-121-1/+2
| | | | | | Store in CMAKE_${lang}_COMPILE_OPTIONS_DLL flags from CMAKE_SHARED_LIBRARY_${lang}_FLAGS that are truly exclusive to shared libraries.
* Merge topic 'fix-11866-add-watcom-sys-libs'David Cole2011-08-021-0/+38
|\ | | | | | | | | | | ff59716 Watcom: Use correct args for execute_process call (#11866) 80769cd Add Watcom support to InstallRequiredSystemLibraries (#11866)
| * Watcom: Use correct args for execute_process call (#11866)David Cole2011-08-011-2/+2
| | | | | | | | | | I botched an exec_program to execute_process translation on Friday. RESULT_VARIABLE is the correct argument to execute_process.
| * Add Watcom support to InstallRequiredSystemLibraries (#11866)David Cole2011-07-291-0/+38
| | | | | | | | | | | | | | Also adds code to determine the version of the Watcom compiler in use. Thanks to J Decker for the patch.
* | Watcom: Add -c flag to wlib calls (#12245)David Cole2011-07-291-2/+2
|/ | | | | | | Allows wlib to generate proper exports if two routines have the same spelling, but different case (like Scale and scale). Thanks to J Decker for the patch.
* Fix for bug 10388, fix various default flags.Bill Hoffman2010-09-021-3/+16
|
* Watcom: Use LINK_FLAGS and STATIC_LIBRARY_FLAGSBrad King2010-06-011-3/+3
| | | | Add the <LINK_FLAGS> rule variable in Watcom command lines.
* Singly-quote target names for Watcom linkerBrad King2009-11-301-4/+4
| | | | | | | The Watcom tools do their own command-line parsing and do not accept double-quotes. Instead we single-quote the target output name when invoking wlink and other Watcom tools. This fixes support for spaces in the target output directory path when it is not under the build tree.
* BUG: Fix generation of Watcom link lines.Brad King2008-01-231-0/+1
| | | | | - Work-around bug in Watcom command line parsing for spaces in paths. - Add 'library' option before libraries specified by file path.
* ENH: Create COMPILE_DEFINITIONS property for targets and source files. ↵Brad King2008-01-141-4/+4
| | | | Create <config>_COMPILE_DEFINITIONS property as per-configuration version. Add Preprocess test to test the feature. Document limitations on Xcode and VS6 generators.
* ENH: Enabled preprocessor make rules for Watcom.Brad King2007-05-161-0/+8
|
* ENH: Added target property ENABLE_EXPORTS for executable targets. It ↵Brad King2007-03-221-3/+8
| | | | enables the executables for linking by loadable modules that import symbols from the executable. This finishes the executable import library support mentioned in bug #4210.
* BUG: Do not create import library for MODULEs. This is an incremental fix ↵Brad King2007-03-101-6/+6
| | | | for bug#4210.
* ENH: Split CMAKE_STANDARD_LIBRARIES into per-language variables ↵Brad King2006-04-111-2/+2
| | | | CMAKE_<lang>_STANDARD_LIBRARIES. This is needed to get programmable language support working with Visual Studio generators. It makes sense anyway.
* ENH: Generate import libraries for DLLs on Cygwin and MinGW.Brad King2006-02-181-1/+1
|
* ENH: add support for watcom wmake and wcl386Bill Hoffman2006-01-171-0/+56