diff options
Diffstat (limited to 'Templates')
-rw-r--r-- | Templates/CMakeNMakeWindowsSystemConfig.cmake | 177 |
1 files changed, 104 insertions, 73 deletions
diff --git a/Templates/CMakeNMakeWindowsSystemConfig.cmake b/Templates/CMakeNMakeWindowsSystemConfig.cmake index db62b32..4311a0d 100644 --- a/Templates/CMakeNMakeWindowsSystemConfig.cmake +++ b/Templates/CMakeNMakeWindowsSystemConfig.cmake @@ -6,26 +6,85 @@ SET (HAVE_LIMITS_H 1) SET (HAVE_UNISTD_H 1) +# Suffixes + +SET (CMAKE_EXECUTABLE_SUFFIX ".exe" CACHE STRING + "Executable suffix.") + +SET (CMAKE_MODULE_SUFFIX ".dll" CACHE STRING + "Module library suffix.") + +SET (CMAKE_OBJECT_FILE_SUFFIX ".obj" CACHE STRING + "Object file suffix.") + +SET (CMAKE_SHLIB_SUFFIX ".dll" CACHE STRING + "Shared library suffix.") + +SET (CMAKE_STATICLIB_SUFFIX ".lib" CACHE STRING + "Static library suffix.") + +# ANSI + SET (CMAKE_ANSI_CFLAGS "" CACHE INTERNAL "What flags are required by the c++ compiler to make it ansi.") +# Build type + +SET (CMAKE_BUILD_TYPE Debug CACHE STRING + "Choose the type of build, options are: Debug Release RelWithDebInfo MinSizeRel.") + +# C++ + +SET (CMAKE_CXX_COMPILER cl CACHE FILEPATH + "Name of C++ compiler used.") + +SET (CMAKE_CXX_FLAGS "/W3 /Zm1000 /GX /GR" CACHE STRING + "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.") + +SET (CMAKE_CXX_FLAGS_DEBUG "/MDd /Zi /Od /GZ" CACHE STRING + "Flags used by the compiler during debug builds.") + +SET (CMAKE_CXX_FLAGS_MINSIZEREL "/MD /O1" CACHE STRING + "Flags used by the compiler during release minsize builds.") + +SET (CMAKE_CXX_FLAGS_RELEASE "/MD /O2" CACHE STRING + "Flags used by the compiler during release builds (/MD /Ob1 /Oi /Ot /Oy /Gs will produce slightly less optimized but smaller files).") + +SET (CMAKE_CXX_FLAGS_RELWITHDEBINFO "/MD /Zi /O2" CACHE STRING + "Flags used by the compiler during Release with Debug Info builds.") + +# C + SET (CMAKE_C_COMPILER cl CACHE FILEPATH "Name of C compiler used.") SET (CMAKE_C_FLAGS "/W3 /Zm1000" CACHE STRING "Flags for C compiler.") -SET (CMAKE_C_OUTPUT_OBJECT_FILE_FLAG "/Fo" CACHE STRING - "Flags used to specify output filename. No space will be appended.") +SET (CMAKE_C_LIBPATH_FLAG "-LIBPATH:" CACHE STRING + "Flags used to specify a link path. No space will be appended.") + +SET (CMAKE_C_LINK_EXECUTABLE_FLAG "/link" CACHE STRING + "Flags used to create an executable.") SET (CMAKE_C_OUTPUT_EXECUTABLE_FILE_FLAG "/Fe" CACHE STRING "Flags used to specify executable filename. No space will be appended.") -SET (CMAKE_C_LINK_EXECUTABLE_FLAG "/link" CACHE STRING - "Flags used to create an executable.") +SET (CMAKE_C_OUTPUT_OBJECT_FILE_FLAG "/Fo" CACHE STRING + "Flags used to specify output filename. No space will be appended.") -SET (CMAKE_C_LIBPATH_FLAG "-LIBPATH:" CACHE STRING - "Flags used to specify a link path. No space will be appended.") +# Library manager + +SET (CMAKE_LIBRARY_MANAGER lib CACHE FILEPATH + "Name of the library manager used (static lib).") + +SET (CMAKE_LIBRARY_MANAGER_FLAGS "/nologo" CACHE STRING + "Flags used by the library manager.") + +SET (CMAKE_LIBRARY_MANAGER_OUTPUT_FILE_FLAG "/out:" CACHE STRING + "Flags used to specify output filename by the library manager. No space will be appended.") + +# Linker (DLL/exe) SET (CMAKE_LINKER link CACHE FILEPATH "Name of linker used.") @@ -33,71 +92,39 @@ SET (CMAKE_LINKER link CACHE FILEPATH SET (CMAKE_LINKER_FLAGS "/nologo /STACK:10000000 /machine:I386" CACHE STRING "Flags used by the linker.") +SET (CMAKE_LINKER_FLAGS_DEBUG "/debug /pdbtype:sept" CACHE STRING + "Flags used by the linker during debug builds.") + +SET (CMAKE_LINKER_FLAGS_MINSIZEREL "/stack:0x989680" CACHE STRING + "Flags used by the linker during release minsize builds.") + SET (CMAKE_LINKER_FLAGS_RELEASE "" CACHE STRING "Flags used by the linker during release builds.") SET (CMAKE_LINKER_FLAGS_RELWITHDEBINFO "/debug /pdbtype:sept" CACHE STRING "Flags used by the linker during Release with Debug Info builds.") -SET (CMAKE_LINKER_FLAGS_MINSIZEREL "/stack:0x989680" CACHE STRING - "Flags used by the linker during release minsize builds.") - -SET (CMAKE_LINKER_FLAGS_DEBUG "/debug /pdbtype:sept" CACHE STRING - "Flags used by the linker during debug builds.") +SET (CMAKE_LINKER_OUTPUT_FILE_FLAG "/out:" CACHE STRING + "Flags used to specify output filename by the linker. No space will be appended.") SET (CMAKE_LINKER_SHARED_LIBRARY_FLAG "/dll" CACHE STRING "Flags used to create a shared library.") -SET (CMAKE_LINKER_STATIC_LIBRARY_FLAG "-lib" CACHE STRING - "Flags used to create a static library.") - -SET (CMAKE_LINKER_OUTPUT_FILE_FLAG "/out:" CACHE STRING - "Flags used to specify output filename. No space will be appended.") - -SET (CMAKE_BUILD_TYPE Debug CACHE STRING - "Choose the type of build, options are: Debug Release RelWithDebInfo MinSizeRel.") - -SET (CMAKE_CXX_COMPILER cl CACHE FILEPATH - "Name of C++ compiler used.") - -SET (CMAKE_CXX_FLAGS_RELEASE "/MD /O2" CACHE STRING - "Flags used by the compiler during release builds (/MD /Ob1 /Oi /Ot /Oy /Gs will produce slightly less optimized but smaller files).") - -SET (CMAKE_CXX_FLAGS_RELWITHDEBINFO "/MD /Zi /O2" CACHE STRING - "Flags used by the compiler during Release with Debug Info builds.") - -SET (CMAKE_CXX_FLAGS_MINSIZEREL "/MD /O1" CACHE STRING - "Flags used by the compiler during release minsize builds.") - -SET (CMAKE_CXX_FLAGS_DEBUG "/MDd /Zi /Od /GZ" CACHE STRING - "Flags used by the compiler during debug builds.") - -SET (CMAKE_CXX_FLAGS "/W3 /Zm1000 /GX /GR" CACHE STRING - "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.") - -SET (CMAKE_USE_WIN32_THREADS 1 CACHE BOOL - "Use the win32 thread library.") +# Standard lib 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 "Libraries linked by defalut with all applications.") -SET (CMAKE_OBJECT_FILE_SUFFIX ".obj" CACHE STRING - "Object file suffix.") +# Make -SET (CMAKE_EXECUTABLE_SUFFIX ".exe" CACHE STRING - "Executable suffix.") +SET (CMAKE_MAKE_PROGRAM "nmake" CACHE STRING + "Program used to build from makefiles.") -SET (CMAKE_STATICLIB_SUFFIX ".lib" CACHE STRING - "Static library suffix.") +# Threads -SET (CMAKE_SHLIB_SUFFIX ".dll" CACHE STRING - "Shared library suffix.") +SET (CMAKE_USE_WIN32_THREADS 1 CACHE BOOL + "Use the win32 thread library.") -SET (CMAKE_MODULE_SUFFIX ".dll" CACHE STRING - "Module library suffix.") - -SET (CMAKE_MAKE_PROGRAM "nmake" CACHE STRING - "Program used to build from makefiles.") # The following variables are advanced @@ -105,33 +132,37 @@ MARK_AS_ADVANCED( WORDS_BIGENDIAN HAVE_LIMITS_H HAVE_UNISTD_H +CMAKE_EXECUTABLE_SUFFIX +CMAKE_MODULE_SUFFIX +CMAKE_OBJECT_FILE_SUFFIX +CMAKE_SHLIB_SUFFIX +CMAKE_STATICLIB_SUFFIX +CMAKE_ANSI_CFLAGS +CMAKE_BUILD_TYPE +CMAKE_CXX_COMPILER +CMAKE_CXX_FLAGS +CMAKE_CXX_FLAGS_DEBUG +CMAKE_CXX_FLAGS_MINSIZEREL +CMAKE_CXX_FLAGS_RELEASE +CMAKE_CXX_FLAGS_RELWITHDEBINFO CMAKE_C_COMPILER CMAKE_C_FLAGS -CMAKE_C_OUTPUT_OBJECT_FILE_FLAG -CMAKE_C_OUTPUT_EXECUTABLE_FILE_FLAG -CMAKE_C_LINK_EXECUTABLE_FLAG CMAKE_C_LIBPATH_FLAG +CMAKE_C_LINK_EXECUTABLE_FLAG +CMAKE_C_OUTPUT_EXECUTABLE_FILE_FLAG +CMAKE_C_OUTPUT_OBJECT_FILE_FLAG +CMAKE_LIBRARY_MANAGER +CMAKE_LIBRARY_MANAGER_FLAGS +CMAKE_LIBRARY_MANAGER_OUTPUT_FILE_FLAG CMAKE_LINKER CMAKE_LINKER_FLAGS +CMAKE_LINKER_FLAGS_DEBUG +CMAKE_LINKER_FLAGS_MINSIZEREL CMAKE_LINKER_FLAGS_RELEASE CMAKE_LINKER_FLAGS_RELWITHDEBINFO -CMAKE_LINKER_FLAGS_MINSIZEREL -CMAKE_LINKER_FLAGS_DEBUG -CMAKE_LINKER_SHARED_LIBRARY_FLAG -CMAKE_LINKER_STATIC_LIBRARY_FLAG CMAKE_LINKER_OUTPUT_FILE_FLAG -CMAKE_BUILD_TYPE -CMAKE_CXX_COMPILER -CMAKE_CXX_FLAGS_RELEASE -CMAKE_CXX_FLAGS_RELWITHDEBINFO -CMAKE_CXX_FLAGS_MINSIZEREL -CMAKE_CXX_FLAGS_DEBUG -CMAKE_CXX_FLAGSCMAKE_USE_WIN32_THREADS -CMAKE_STANDARD_WINDOWS_LIBRARIES -CMAKE_OBJECT_FILE_SUFFIX -CMAKE_EXECUTABLE_SUFFIX -CMAKE_STATICLIB_SUFFIX -CMAKE_SHLIB_SUFFIX -CMAKE_MODULE_SUFFIX +CMAKE_LINKER_SHARED_LIBRARY_FLAG CMAKE_MAKE_PROGRAM +CMAKE_STANDARD_WINDOWS_LIBRARIES +CMAKE_USE_WIN32_THREADS ) |