| 19 |
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}) |
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}) |
| 20 |
set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}) |
set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}) |
| 21 |
|
|
| 22 |
# _WIN32_WINNT_WIN10 0x0a00 |
#set(_WIN32_WINNT "0x0a00") # 0x0a00=_WIN32_WINNT_WIN10 |
| 23 |
set(_WIN32_WINNT "0x0a00") |
#set(_WIN32_WINNT "0x0501") # Tera Term がビルドできる最小値 |
| 24 |
|
if(${CMAKE_GENERATOR} MATCHES "Visual Studio 8 2005" OR ${CMAKE_GENERATOR} MATCHES "Visual Studio 9 2008") |
| 25 |
|
set(_WIN32_WINNT "0x0501") |
| 26 |
|
endif() |
| 27 |
|
|
| 28 |
if(MSVC) |
if(MSVC) |
| 29 |
# https://www.leeholmes.com/blog/2017/02/27/differences-between-visual-studio-2012-2013-and-2015/ |
# https://www.leeholmes.com/blog/2017/02/27/differences-between-visual-studio-2012-2013-and-2015/ |
| 30 |
if(${CMAKE_GENERATOR} MATCHES "Visual Studio 8 2005" OR ${CMAKE_GENERATOR} MATCHES "Visual Studio 9 2008") |
if(_WIN32_WINNT) |
| 31 |
set(_WIN32_WINNT "0x0501") |
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} /D_WIN32_WINNT=${_WIN32_WINNT}") |
| 32 |
|
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /D_WIN32_WINNT=${_WIN32_WINNT}") |
| 33 |
endif() |
endif() |
|
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /D_WIN32_WINNT=${_WIN32_WINNT}") |
|
|
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} /D_WIN32_WINNT=${_WIN32_WINNT}") |
|
| 34 |
string(REPLACE "/MD" "/MT" CMAKE_C_FLAGS_DEBUG ${CMAKE_C_FLAGS_DEBUG}) |
string(REPLACE "/MD" "/MT" CMAKE_C_FLAGS_DEBUG ${CMAKE_C_FLAGS_DEBUG}) |
| 35 |
string(REPLACE "/MD" "/MT" CMAKE_C_FLAGS_RELEASE ${CMAKE_C_FLAGS_RELEASE}) |
string(REPLACE "/MD" "/MT" CMAKE_C_FLAGS_RELEASE ${CMAKE_C_FLAGS_RELEASE}) |
| 36 |
string(REPLACE "/MD" "/MT" CMAKE_CXX_FLAGS_DEBUG ${CMAKE_CXX_FLAGS_DEBUG}) |
string(REPLACE "/MD" "/MT" CMAKE_CXX_FLAGS_DEBUG ${CMAKE_CXX_FLAGS_DEBUG}) |
| 37 |
string(REPLACE "/MD" "/MT" CMAKE_CXX_FLAGS_RELEASE ${CMAKE_CXX_FLAGS_RELEASE}) |
string(REPLACE "/MD" "/MT" CMAKE_CXX_FLAGS_RELEASE ${CMAKE_CXX_FLAGS_RELEASE}) |
| 38 |
if (MORE_WARNING) |
if (MORE_WARNING) |
|
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /W4") |
|
| 39 |
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} /W4") |
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} /W4") |
| 40 |
|
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /W4") |
| 41 |
if(${MSVC_VERSION} GREATER_EQUAL 1910) # Visual Studio 2017以上の時 |
if(${MSVC_VERSION} GREATER_EQUAL 1910) # Visual Studio 2017以上の時 |
|
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /analyze") |
|
| 42 |
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} /analyze") |
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} /analyze") |
| 43 |
|
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /analyze") |
| 44 |
endif() |
endif() |
| 45 |
else() |
else() |
|
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /D_CRT_SECURE_NO_DEPRECATE") |
|
| 46 |
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} /D_CRT_SECURE_NO_DEPRECATE") |
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} /D_CRT_SECURE_NO_DEPRECATE") |
| 47 |
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /W3") |
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /D_CRT_SECURE_NO_DEPRECATE") |
| 48 |
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} /W3") |
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} /W3") |
| 49 |
|
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /W3") |
| 50 |
endif() |
endif() |
|
set(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} /GF /Gy") |
|
| 51 |
set(CMAKE_C_FLAGS_RELEASE "${CMAKE_C_FLAGS_RELEASE} /GF /Gy") |
set(CMAKE_C_FLAGS_RELEASE "${CMAKE_C_FLAGS_RELEASE} /GF /Gy") |
| 52 |
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /MP") |
set(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} /GF /Gy") |
| 53 |
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} /MP") |
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} /MP") |
| 54 |
|
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /MP") |
| 55 |
if(${MSVC_VERSION} GREATER_EQUAL 1910) |
if(${MSVC_VERSION} GREATER_EQUAL 1910) |
| 56 |
# Visual Studio 2017以上の時 |
# Visual Studio 2017以上の時 |
|
set(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} /ZI") |
|
| 57 |
set(CMAKE_C_FLAGS_DEBUG "${CMAKE_C_FLAGS_DEBUG} /ZI") |
set(CMAKE_C_FLAGS_DEBUG "${CMAKE_C_FLAGS_DEBUG} /ZI") |
| 58 |
|
set(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} /ZI") |
| 59 |
set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} /SAFESEH:NO") |
set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} /SAFESEH:NO") |
| 60 |
set(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} /SAFESEH:NO") |
set(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} /SAFESEH:NO") |
| 61 |
endif() |
endif() |
| 62 |
elseif(MINGW) |
elseif(MINGW) |
| 63 |
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -D_WIN32_WINNT=${_WIN32_WINNT}") |
if(_WIN32_WINNT) |
| 64 |
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -D_WIN32_WINNT=${_WIN32_WINNT}") |
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -D_WIN32_WINNT=${_WIN32_WINNT}") |
| 65 |
|
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -D_WIN32_WINNT=${_WIN32_WINNT}") |
| 66 |
|
endif() |
| 67 |
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -D__USE_MINGW_ANSI_STDIO=0") |
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -D__USE_MINGW_ANSI_STDIO=0") |
| 68 |
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -D__USE_MINGW_ANSI_STDIO=0") |
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -D__USE_MINGW_ANSI_STDIO=0") |
| 69 |
set(CMAKE_C_CXX_WARNING_FLAGS "-Wall -Wextra -Wno-unused-parameter -Wno-sign-compare") |
set(CMAKE_C_CXX_WARNING_FLAGS "-Wall -Wextra -Wno-unused-parameter -Wno-sign-compare") |