modified to accept no arguments
[cmake.git] / Templates / CMakeNMakeWindowsSystemConfig.cmake
blobd92906dfff6943e3aee88264a92491ad4bfdab02
1 # Microsoft specific config file 
2 # NOTE: all entries in here MUST be CACHE values, regular SET will NOT WORK!
5 # Suffixes
7 SET (CMAKE_SYSTEM "Win32" CACHE INTERNAL 
8      "What system is this.  Result of uname.")
10 SET (CMAKE_BUILD_TOOL nmake CACHE INTERNAL 
11      "What is the target build tool cmake is generating for.")
13 SET (CMAKE_EXECUTABLE_SUFFIX ".exe" CACHE STRING 
14      "Executable suffix.")
16 SET (CMAKE_MODULE_SUFFIX ".dll" CACHE STRING 
17      "Module library suffix.")
19 SET (CMAKE_OBJECT_FILE_SUFFIX ".obj" CACHE STRING 
20      "Object file suffix.")
22 SET (CMAKE_SHLIB_SUFFIX ".dll" CACHE STRING 
23      "Shared library suffix.")
25 SET (CMAKE_STATICLIB_SUFFIX ".lib" CACHE STRING 
26      "Static library suffix.")
28 # ANSI
30 SET (CMAKE_ANSI_CFLAGS "" CACHE INTERNAL 
31      "What flags are required by the c++ compiler to make it ansi.")
33 # We will hardcode them for now. Make sure to fix that in the future
34 SET (CMAKE_SIZEOF_INT       4   CACHE INTERNAL "Size of int data type")
35 SET (CMAKE_SIZEOF_LONG      4   CACHE INTERNAL "Size of long data type")
36 SET (CMAKE_SIZEOF_VOID_P    4   CACHE INTERNAL "Size of void* data type")
37 SET (CMAKE_SIZEOF_CHAR      1   CACHE INTERNAL "Size of char data type")
38 SET (CMAKE_SIZEOF_SHORT     2   CACHE INTERNAL "Size of short data type")
39 SET (CMAKE_SIZEOF_FLOAT     4   CACHE INTERNAL "Size of float data type")
40 SET (CMAKE_SIZEOF_DOUBLE    8   CACHE INTERNAL "Size of double data type")
42 # Build type
44 SET (CMAKE_BUILD_TYPE Debug CACHE STRING 
45      "Choose the type of build, options are: Debug Release RelWithDebInfo MinSizeRel.")
47 # C++
49 SET (CMAKE_CXX_COMPILER cl CACHE FILEPATH
50      "Name of C++ compiler used.")
52 SET (CMAKE_CXX_FLAGS "/nologo /W3 /Zm1000 /GX /GR" CACHE STRING
53      "Flags used by the compiler during all build types, /GX /GR are for exceptions and rtti in VC++, /Zm1000 increases the compiler's memory allocation to support ANSI C++/stdlib.")
55 SET (CMAKE_CXX_FLAGS_DEBUG "/MDd /Zi /Od /GZ" CACHE STRING
56      "Flags used by the compiler during debug builds.")
58 SET (CMAKE_CXX_FLAGS_MINSIZEREL "/MD /O1" CACHE STRING
59      "Flags used by the compiler during release minsize builds.")
61 SET (CMAKE_CXX_FLAGS_RELEASE "/MD /O2" CACHE STRING
62      "Flags used by the compiler during release builds (/MD /Ob1 /Oi /Ot /Oy /Gs will produce slightly less optimized but smaller files).")
64 SET (CMAKE_CXX_FLAGS_RELWITHDEBINFO "/MD /Zi /O2" CACHE STRING
65      "Flags used by the compiler during Release with Debug Info builds.")
67 # C
69 SET (CMAKE_C_COMPILER cl CACHE FILEPATH
70      "Name of C compiler used.")
72 SET (CMAKE_C_FLAGS "/nologo /W3 /Zm1000" CACHE STRING
73      "Flags for C compiler.")
75 SET (CMAKE_C_LIBPATH_FLAG "-LIBPATH:" CACHE STRING
76      "Flags used to specify a link path. No space will be appended (use single quotes around value to insert trailing space).")
78 SET (CMAKE_C_LINK_EXECUTABLE_FLAG "/link" CACHE STRING
79      "Flags used to create an executable.")
81 SET (CMAKE_C_OUTPUT_EXECUTABLE_FILE_FLAG "/Fe" CACHE STRING
82      "Flags used to specify executable filename. No space will be appended (use single quotes around value to insert trailing space).")
84 SET (CMAKE_C_OUTPUT_OBJECT_FILE_FLAG "/Fo" CACHE STRING
85      "Flags used to specify output filename. No space will be appended (use single quotes around value to insert trailing space).")
87 # Library manager
89 SET (CMAKE_LIBRARY_MANAGER lib CACHE FILEPATH
90      "Name of the library manager used (static lib).")
92 SET (CMAKE_LIBRARY_MANAGER_FLAGS "/nologo" CACHE STRING
93      "Flags used by the library manager.")
95 SET (CMAKE_LIBRARY_MANAGER_OUTPUT_FILE_FLAG "/out:" CACHE STRING
96      "Flags used to specify output filename by the library manager. No space will be appended (use single quotes around value to insert trailing space).")
98 # Linker (DLL/exe)
100 SET (CMAKE_LINKER link CACHE FILEPATH
101      "Name of linker used.")
103 SET (CMAKE_LINKER_FLAGS "/nologo /STACK:10000000 /machine:I386" CACHE STRING
104      "Flags used by the linker.")
106 SET (CMAKE_LINKER_FLAGS_DEBUG "/debug /pdbtype:sept" CACHE STRING
107      "Flags used by the linker during debug builds.")
109 SET (CMAKE_LINKER_FLAGS_MINSIZEREL "" CACHE STRING
110      "Flags used by the linker during release minsize builds.")
112 SET (CMAKE_LINKER_FLAGS_RELEASE "" CACHE STRING
113      "Flags used by the linker during release builds.")
115 SET (CMAKE_LINKER_FLAGS_RELWITHDEBINFO "/debug /pdbtype:sept" CACHE STRING
116      "Flags used by the linker during Release with Debug Info builds.")
118 SET (CMAKE_LINKER_HIDE_PARAMETERS 1 CACHE BOOL 
119      "Hide linker parameters when it is run.")
121 SET (CMAKE_LINKER_OUTPUT_FILE_FLAG "/out:" CACHE STRING
122      "Flags used to specify output filename by the linker. No space will be appended (use single quotes around value to insert trailing space).")
124 SET (CMAKE_LINKER_SHARED_LIBRARY_FLAG "/dll" CACHE STRING
125      "Flags used to create a shared library.")
127 # Standard lib
129 SET (CMAKE_STANDARD_WINDOWS_LIBRARIES "kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib  kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib" CACHE STRING 
130      "Libraries linked by defalut with all applications.")
132 # Make
134 SET (CMAKE_MAKE_PROGRAM "nmake" CACHE STRING 
135      "Program used to build from makefiles.")
137 # Threads
139 SET (CMAKE_USE_WIN32_THREADS 1 CACHE BOOL 
140      "Use the win32 thread library.")
142 # this should not be advanced, but was so we have to 
143 # clear it in all the cache files
144 MARK_AS_ADVANCED( CLEAR CMAKE_BUILD_TYPE)
146 # The following variables are advanced 
149 MARK_AS_ADVANCED(
150 WORDS_BIGENDIAN
151 HAVE_LIMITS_H
152 HAVE_UNISTD_H
153 CMAKE_EXECUTABLE_SUFFIX
154 CMAKE_MODULE_SUFFIX
155 CMAKE_OBJECT_FILE_SUFFIX
156 CMAKE_SHLIB_SUFFIX
157 CMAKE_STATICLIB_SUFFIX
158 CMAKE_ANSI_CFLAGS
159 CMAKE_CXX_COMPILER
160 CMAKE_CXX_FLAGS
161 CMAKE_CXX_FLAGS_DEBUG
162 CMAKE_CXX_FLAGS_MINSIZEREL
163 CMAKE_CXX_FLAGS_RELEASE
164 CMAKE_CXX_FLAGS_RELWITHDEBINFO
165 CMAKE_C_COMPILER
166 CMAKE_C_FLAGS
167 CMAKE_C_LIBPATH_FLAG
168 CMAKE_C_LINK_EXECUTABLE_FLAG
169 CMAKE_C_OUTPUT_EXECUTABLE_FILE_FLAG
170 CMAKE_C_OUTPUT_OBJECT_FILE_FLAG
171 CMAKE_LIBRARY_MANAGER
172 CMAKE_LIBRARY_MANAGER_FLAGS
173 CMAKE_LIBRARY_MANAGER_OUTPUT_FILE_FLAG
174 CMAKE_LINKER
175 CMAKE_LINKER_FLAGS
176 CMAKE_LINKER_FLAGS_DEBUG
177 CMAKE_LINKER_FLAGS_MINSIZEREL
178 CMAKE_LINKER_FLAGS_RELEASE
179 CMAKE_LINKER_FLAGS_RELWITHDEBINFO
180 CMAKE_LINKER_HIDE_PARAMETERS
181 CMAKE_LINKER_OUTPUT_FILE_FLAG
182 CMAKE_LINKER_SHARED_LIBRARY_FLAG
183 CMAKE_MAKE_PROGRAM
184 CMAKE_STANDARD_WINDOWS_LIBRARIES
185 CMAKE_USE_WIN32_THREADS