| 1 |
# for OpenSSL 1.1.1 |
| 2 |
# cmake -DCMAKE_GENERATOR="Visual Studio 16 2019" -DARCHITECTURE=Win32 -P openssl11.cmake |
| 3 |
# cmake -DCMAKE_GENERATOR="Visual Studio 15 2017" -P openssl11.cmake |
| 4 |
# cmake -DCMAKE_GENERATOR="Visual Studio 15 2017" -DCMAKE_CONFIGURATION_TYPE=Release -P openssl11.cmake |
| 5 |
|
| 6 |
option(APPLY_PATCH "patch for windows 95 support" ON) |
| 7 |
|
| 8 |
#### |
| 9 |
if(("${CMAKE_BUILD_TYPE}" STREQUAL "") AND ("${CMAKE_CONFIGURATION_TYPE}" STREQUAL "")) |
| 10 |
if("${CMAKE_GENERATOR}" MATCHES "Visual Studio") |
| 11 |
# multi-configuration |
| 12 |
execute_process( |
| 13 |
COMMAND ${CMAKE_COMMAND} |
| 14 |
-DCMAKE_GENERATOR=${CMAKE_GENERATOR} |
| 15 |
-DCMAKE_CONFIGURATION_TYPE=Release |
| 16 |
-DCMAKE_TOOLCHAIN_FILE=${CMAKE_SOURCE_DIR}/VSToolchain.cmake |
| 17 |
-DARCHITECTURE=${ARCHITECTURE} |
| 18 |
-P openssl11.cmake |
| 19 |
) |
| 20 |
execute_process( |
| 21 |
COMMAND ${CMAKE_COMMAND} |
| 22 |
-DCMAKE_GENERATOR=${CMAKE_GENERATOR} |
| 23 |
-DCMAKE_CONFIGURATION_TYPE=Debug |
| 24 |
-DCMAKE_TOOLCHAIN_FILE=${CMAKE_SOURCE_DIR}/VSToolchain.cmake |
| 25 |
-DARCHITECTURE=${ARCHITECTURE} |
| 26 |
-P openssl11.cmake |
| 27 |
) |
| 28 |
return() |
| 29 |
elseif("$ENV{MSYSTEM}" MATCHES "MINGW32") |
| 30 |
# mingw on msys2 |
| 31 |
# single-configuration |
| 32 |
if("${CMAKE_BUILD_TYPE}" STREQUAL "") |
| 33 |
set(CMAKE_BUILD_TYPE Release) |
| 34 |
endif() |
| 35 |
elseif("${CMAKE_GENERATOR}" MATCHES "Unix Makefiles") |
| 36 |
# mingw |
| 37 |
# single-configuration |
| 38 |
if("${CMAKE_TOOLCHAIN_FILE}" STREQUAL "") |
| 39 |
set(CMAKE_TOOLCHAIN_FILE "${CMAKE_SOURCE_DIR}/../mingw.toolchain.cmake") |
| 40 |
endif() |
| 41 |
if("${CMAKE_BUILD_TYPE}" STREQUAL "") |
| 42 |
set(CMAKE_BUILD_TYPE Release) |
| 43 |
endif() |
| 44 |
elseif("${CMAKE_GENERATOR}" MATCHES "NMake Makefiles") |
| 45 |
# VS nmake |
| 46 |
# single-configuration |
| 47 |
if("${CMAKE_TOOLCHAIN_FILE}" STREQUAL "") |
| 48 |
set(CMAKE_TOOLCHAIN_FILE "${CMAKE_SOURCE_DIR}/VSToolchain.cmake") |
| 49 |
endif() |
| 50 |
if("${CMAKE_BUILD_TYPE}" STREQUAL "") |
| 51 |
set(CMAKE_BUILD_TYPE Release) |
| 52 |
endif() |
| 53 |
else() |
| 54 |
# single-configuration |
| 55 |
if("${CMAKE_BUILD_TYPE}" STREQUAL "") |
| 56 |
set(CMAKE_BUILD_TYPE Release) |
| 57 |
endif() |
| 58 |
endif() |
| 59 |
endif() |
| 60 |
|
| 61 |
include(script_support.cmake) |
| 62 |
|
| 63 |
set(SRC_DIR_BASE "openssl-1.1.1k") |
| 64 |
set(SRC_ARC "openssl-1.1.1k.tar.gz") |
| 65 |
set(SRC_URL "https://www.openssl.org/source/openssl-1.1.1k.tar.gz") |
| 66 |
set(SRC_ARC_HASH_SHA256 892a0875b9872acd04a9fde79b1f943075d5ea162415de3047c327df33fbaee5) |
| 67 |
|
| 68 |
set(DOWN_DIR "${CMAKE_SOURCE_DIR}/download/openssl") |
| 69 |
|
| 70 |
set(EXTRACT_DIR "${CMAKE_SOURCE_DIR}/build/openssl11/src_${TOOLSET}") |
| 71 |
set(INSTALL_DIR "${CMAKE_SOURCE_DIR}/openssl11_${TOOLSET}") |
| 72 |
if(("${CMAKE_GENERATOR}" MATCHES "Win64") OR ("$ENV{MSYSTEM_CHOST}" STREQUAL "x86_64-w64-mingw32") OR ("${ARCHITECTURE}" MATCHES "x64") OR ("${CMAKE_COMMAND}" MATCHES "mingw64")) |
| 73 |
set(EXTRACT_DIR "${EXTRACT_DIR}_x64") |
| 74 |
set(INSTALL_DIR "${INSTALL_DIR}_x64") |
| 75 |
endif() |
| 76 |
if((${CMAKE_GENERATOR} MATCHES "Visual Studio") AND ("${CMAKE_CONFIGURATION_TYPE}" STREQUAL "Debug")) |
| 77 |
set(EXTRACT_DIR "${EXTRACT_DIR}_debug") |
| 78 |
set(INSTALL_DIR "${INSTALL_DIR}_debug") |
| 79 |
endif() |
| 80 |
set(SRC_DIR "${EXTRACT_DIR}/${SRC_DIR_BASE}") |
| 81 |
|
| 82 |
######################################## |
| 83 |
|
| 84 |
file(DOWNLOAD |
| 85 |
${SRC_URL} |
| 86 |
${DOWN_DIR}/${SRC_ARC} |
| 87 |
EXPECTED_HASH SHA256=${SRC_ARC_HASH_SHA256} |
| 88 |
SHOW_PROGRESS |
| 89 |
) |
| 90 |
|
| 91 |
######################################## |
| 92 |
|
| 93 |
if(CMAKE_HOST_SYSTEM_NAME MATCHES "Linux") |
| 94 |
find_program( |
| 95 |
PERL perl |
| 96 |
) |
| 97 |
elseif("${CMAKE_GENERATOR}" MATCHES "Visual Studio") |
| 98 |
# Active/Strawberry Perl |
| 99 |
find_program( |
| 100 |
PERL perl.exe |
| 101 |
HINTS ${CMAKE_CURRENT_LIST_DIR}/../buildtools/perl/perl/bin |
| 102 |
HINTS c:/Perl64/bin |
| 103 |
HINTS c:/Perl/bin |
| 104 |
HINTS c:/Strawberry/perl/bin |
| 105 |
) |
| 106 |
if("${PERL}" MATCHES "[Cc]ygwin") |
| 107 |
message(FATAL_ERROR "cygwin perl! ${PERL}") |
| 108 |
endif() |
| 109 |
else() |
| 110 |
# MinGW |
| 111 |
find_program( |
| 112 |
PERL perl |
| 113 |
HINTS C:/msys64/usr/bin |
| 114 |
) |
| 115 |
endif() |
| 116 |
|
| 117 |
if(${PERL} STREQUAL "PERL-NOTFOUND") |
| 118 |
message(FATAL_ERROR "perl not found") |
| 119 |
endif() |
| 120 |
|
| 121 |
######################################## |
| 122 |
|
| 123 |
if(NOT EXISTS ${SRC_DIR}/README) |
| 124 |
|
| 125 |
execute_process( |
| 126 |
COMMAND ${CMAKE_COMMAND} -E make_directory ${EXTRACT_DIR} |
| 127 |
) |
| 128 |
|
| 129 |
execute_process( |
| 130 |
COMMAND ${CMAKE_COMMAND} -E tar "xvf" ${DOWN_DIR}/${SRC_ARC} |
| 131 |
WORKING_DIRECTORY ${EXTRACT_DIR} |
| 132 |
) |
| 133 |
|
| 134 |
file(COPY |
| 135 |
${SRC_DIR}/LICENSE |
| 136 |
DESTINATION ${CMAKE_CURRENT_LIST_DIR}/doc_help |
| 137 |
) |
| 138 |
file(RENAME |
| 139 |
${CMAKE_CURRENT_LIST_DIR}/doc_help/LICENSE |
| 140 |
${CMAKE_CURRENT_LIST_DIR}/doc_help/OpenSSL-LICENSE.txt) |
| 141 |
|
| 142 |
if(APPLY_PATCH) |
| 143 |
find_program( |
| 144 |
PATCH patch |
| 145 |
HINTS "${CMAKE_CURRENT_LIST_DIR}/openssl_patch" |
| 146 |
HINTS "${CMAKE_CURRENT_LIST_DIR}/../buildtools/perl/c/bin" |
| 147 |
HINTS "C:/Program Files/Git/usr/bin" |
| 148 |
HINTS c:/cygwin64/usr/bin |
| 149 |
HINTS c:/cygwin/usr/bin |
| 150 |
HINTS c:/msys64/usr/bin |
| 151 |
) |
| 152 |
message(PATCH=${PATCH}) |
| 153 |
set(PATCH_OPT --binary --backup -p1) |
| 154 |
if(NOT PATCH) |
| 155 |
message(FATAL_ERROR "patch not found") |
| 156 |
endif() |
| 157 |
execute_process( |
| 158 |
COMMAND ${PATCH} ${PATCH_OPT} |
| 159 |
INPUT_FILE ${CMAKE_CURRENT_SOURCE_DIR}/openssl_patch/vs2005.patch |
| 160 |
WORKING_DIRECTORY ${EXTRACT_DIR}/${SRC_DIR_BASE} |
| 161 |
) |
| 162 |
execute_process( |
| 163 |
COMMAND ${PATCH} ${PATCH_OPT} |
| 164 |
INPUT_FILE ${CMAKE_CURRENT_SOURCE_DIR}/openssl_patch/ws2_32_dll_patch.txt |
| 165 |
WORKING_DIRECTORY ${EXTRACT_DIR}/${SRC_DIR_BASE} |
| 166 |
) |
| 167 |
execute_process( |
| 168 |
COMMAND ${PATCH} ${PATCH_OPT} |
| 169 |
INPUT_FILE ${CMAKE_CURRENT_SOURCE_DIR}/openssl_patch/atomic_api.txt |
| 170 |
WORKING_DIRECTORY ${EXTRACT_DIR}/${SRC_DIR_BASE} |
| 171 |
) |
| 172 |
execute_process( |
| 173 |
COMMAND ${PATCH} ${PATCH_OPT} |
| 174 |
INPUT_FILE ${CMAKE_CURRENT_SOURCE_DIR}/openssl_patch/CryptAcquireContextW2.txt |
| 175 |
WORKING_DIRECTORY ${EXTRACT_DIR}/${SRC_DIR_BASE} |
| 176 |
) |
| 177 |
execute_process( |
| 178 |
COMMAND ${PATCH} ${PATCH_OPT} |
| 179 |
INPUT_FILE ${CMAKE_CURRENT_SOURCE_DIR}/openssl_patch/atomic_api_win95.txt |
| 180 |
WORKING_DIRECTORY ${EXTRACT_DIR}/${SRC_DIR_BASE} |
| 181 |
) |
| 182 |
execute_process( |
| 183 |
COMMAND ${PATCH} ${PATCH_OPT} |
| 184 |
INPUT_FILE ${CMAKE_CURRENT_SOURCE_DIR}/openssl_patch/CryptAcquireContextW_win95.txt |
| 185 |
WORKING_DIRECTORY ${EXTRACT_DIR}/${SRC_DIR_BASE} |
| 186 |
) |
| 187 |
endif(APPLY_PATCH) |
| 188 |
|
| 189 |
endif() |
| 190 |
|
| 191 |
######################################## |
| 192 |
|
| 193 |
if((${CMAKE_GENERATOR} MATCHES "Visual Studio") OR |
| 194 |
(${CMAKE_GENERATOR} MATCHES "NMake Makefiles")) |
| 195 |
######################################## VS |
| 196 |
if(${CMAKE_GENERATOR} MATCHES "NMake Makefiles") |
| 197 |
elseif(${CMAKE_GENERATOR} MATCHES "Visual Studio 17 2022") |
| 198 |
find_program( |
| 199 |
VCVARS32 vcvarsall.bat |
| 200 |
HINTS "C:/Program Files/Microsoft Visual Studio/2022/Community/VC/Auxiliary/Build" |
| 201 |
HINTS "C:/Program Files/Microsoft Visual Studio/2022/Professional/VC/Auxiliary/Build" |
| 202 |
HINTS "C:/Program Files/Microsoft Visual Studio/2022/Enterprise/VC/Auxiliary/Build" |
| 203 |
) |
| 204 |
elseif(${CMAKE_GENERATOR} MATCHES "Visual Studio 16 2019") |
| 205 |
find_program( |
| 206 |
VCVARS32 vcvarsall.bat |
| 207 |
HINTS "C:/Program Files (x86)/Microsoft Visual Studio/2019/Community/VC/Auxiliary/Build" |
| 208 |
HINTS "C:/Program Files (x86)/Microsoft Visual Studio/2019/Professional/VC/Auxiliary/Build" |
| 209 |
HINTS "C:/Program Files (x86)/Microsoft Visual Studio/2019/Enterprise/VC/Auxiliary/Build" |
| 210 |
) |
| 211 |
elseif(${CMAKE_GENERATOR} MATCHES "Visual Studio 15 2017") |
| 212 |
find_program( |
| 213 |
VCVARS32 vcvarsall.bat |
| 214 |
HINTS "C:/Program Files (x86)/Microsoft Visual Studio/2017/Community/VC/Auxiliary/Build" |
| 215 |
HINTS "C:/Program Files (x86)/Microsoft Visual Studio/2017/Professional/VC/Auxiliary/Build" |
| 216 |
HINTS "C:/Program Files (x86)/Microsoft Visual Studio/2017/Enterprise/VC/Auxiliary/Build" |
| 217 |
) |
| 218 |
elseif(${CMAKE_GENERATOR} MATCHES "Visual Studio 14 2015") |
| 219 |
find_program( |
| 220 |
VCVARS32 vcvars32.bat |
| 221 |
HINTS "C:/Program Files (x86)/Microsoft Visual Studio 14.0/VC/bin" |
| 222 |
) |
| 223 |
elseif(${CMAKE_GENERATOR} MATCHES "Visual Studio 12 2013") |
| 224 |
find_program( |
| 225 |
VCVARS32 vcvars32.bat |
| 226 |
HINTS "C:/Program Files (x86)/Microsoft Visual Studio 12.0/VC/bin" |
| 227 |
) |
| 228 |
elseif(${CMAKE_GENERATOR} MATCHES "Visual Studio 11 2012") |
| 229 |
find_program( |
| 230 |
VCVARS32 vcvars32.bat |
| 231 |
HINTS "C:/Program Files (x86)/Microsoft Visual Studio 11.0/VC/bin" |
| 232 |
) |
| 233 |
elseif(${CMAKE_GENERATOR} MATCHES "Visual Studio 10 2010") |
| 234 |
find_program( |
| 235 |
VCVARS32 vcvars32.bat |
| 236 |
HINTS "C:/Program Files (x86)/Microsoft Visual Studio 10.0/VC/bin" |
| 237 |
) |
| 238 |
elseif(${CMAKE_GENERATOR} MATCHES "Visual Studio 9 2008") |
| 239 |
find_program( |
| 240 |
VCVARS32 vcvars32.bat |
| 241 |
HINTS "C:/Program Files (x86)/Microsoft Visual Studio 9.0/VC/bin" |
| 242 |
) |
| 243 |
elseif(${CMAKE_GENERATOR} MATCHES "Visual Studio 8 2005") |
| 244 |
find_program( |
| 245 |
VCVARS32 vcvars32.bat |
| 246 |
HINTS "C:/Program Files (x86)/Microsoft Visual Studio 8/VC/bin" |
| 247 |
) |
| 248 |
else() |
| 249 |
message(FATAL_ERROR "CMAKE_GENERATOR ${CMAKE_GENERATOR} not supported") |
| 250 |
endif() |
| 251 |
if(VCVARS32-NOTFOUND OR (${VCVARS32} STREQUAL "VCVARS32-NOTFOUND")) |
| 252 |
message(FATAL_ERROR "vcvars32.bat not found") |
| 253 |
endif() |
| 254 |
|
| 255 |
if((${CMAKE_GENERATOR} MATCHES "Win64") OR ("${ARCHITECTURE}" MATCHES "x64")) |
| 256 |
set(CONFIG_TARGET "VC-WIN64A") |
| 257 |
else() |
| 258 |
set(CONFIG_TARGET "VC-WIN32") |
| 259 |
endif() |
| 260 |
if(("${CMAKE_BUILD_TYPE}" STREQUAL "Release") OR ("${CMAKE_CONFIGURATION_TYPE}" STREQUAL "Release")) |
| 261 |
else() |
| 262 |
set(CONFIG_TARGET "debug-${CONFIG_TARGET}") |
| 263 |
endif() |
| 264 |
|
| 265 |
file(WRITE "${SRC_DIR}/build_cmake.bat" |
| 266 |
"cd /d %~dp0\n" |
| 267 |
"setlocal\n" |
| 268 |
) |
| 269 |
file(TO_NATIVE_PATH ${PERL} PERL_N) |
| 270 |
file(TO_NATIVE_PATH ${INSTALL_DIR} INSTALL_DIR_N) |
| 271 |
file(TO_NATIVE_PATH ${VCVARS32} VCVARS32_N) |
| 272 |
string(REGEX REPLACE [[^(.*)\\.*$]] [[\1]] PERL_N_PATH ${PERL_N}) |
| 273 |
file(APPEND "${SRC_DIR}/build_cmake.bat" |
| 274 |
"set PATH=${PERL_N_PATH};c:\\windows;c:\\windows\\system32\n" |
| 275 |
) |
| 276 |
if(${CMAKE_GENERATOR} MATCHES "Visual Studio 8 2005") |
| 277 |
## Visual Studio 2005 特別処理 |
| 278 |
# include,libパスの設定 |
| 279 |
file(APPEND "${SRC_DIR}/build_cmake.bat" |
| 280 |
"set SDK=C:\\Program Files\\Microsoft SDKs\\Windows\\v7.1\n" |
| 281 |
"set INCLUDE=%SDK%\\Include;%INCLUDE%\n" |
| 282 |
"set LIB=%SDK%\\lib;%LIB%\n" |
| 283 |
) |
| 284 |
endif() |
| 285 |
if((${CMAKE_GENERATOR} MATCHES "Visual Studio 16 2019") OR ${CMAKE_GENERATOR} MATCHES "Visual Studio 17 2022") |
| 286 |
if("${ARCHITECTURE}" MATCHES "x64") |
| 287 |
file(APPEND "${SRC_DIR}/build_cmake.bat" |
| 288 |
"call \"${VCVARS32_N}\" amd64\n" |
| 289 |
) |
| 290 |
else() |
| 291 |
file(APPEND "${SRC_DIR}/build_cmake.bat" |
| 292 |
"call \"${VCVARS32_N}\" x86\n" |
| 293 |
) |
| 294 |
endif() |
| 295 |
elseif(${CMAKE_GENERATOR} MATCHES "Visual Studio 15 2017 Win64") |
| 296 |
file(APPEND "${SRC_DIR}/build_cmake.bat" |
| 297 |
"call \"${VCVARS32_N}\" amd64\n" |
| 298 |
) |
| 299 |
elseif(${CMAKE_GENERATOR} MATCHES "Visual Studio 15 2017") |
| 300 |
file(APPEND "${SRC_DIR}/build_cmake.bat" |
| 301 |
"call \"${VCVARS32_N}\" x86\n" |
| 302 |
) |
| 303 |
elseif(${CMAKE_GENERATOR} MATCHES "Visual Studio") |
| 304 |
file(APPEND "${SRC_DIR}/build_cmake.bat" |
| 305 |
"call \"${VCVARS32_N}\"\n" |
| 306 |
) |
| 307 |
endif() |
| 308 |
file(APPEND "${SRC_DIR}/build_cmake.bat" |
| 309 |
"perl Configure no-asm no-async no-shared no-capieng no-dso no-engine ${CONFIG_TARGET} -D_WIN32_WINNT=0x0501 --prefix=${INSTALL_DIR_N} --openssldir=${INSTALL_DIR_N}\\SSL\n" |
| 310 |
"nmake -f makefile install\n" |
| 311 |
) |
| 312 |
set(BUILD_CMAKE_BAT "${SRC_DIR}/build_cmake.bat") |
| 313 |
file(TO_NATIVE_PATH ${BUILD_CMAKE_BAT} BUILD_CMAKE_BAT_N) |
| 314 |
execute_process( |
| 315 |
COMMAND cmd /c ${BUILD_CMAKE_BAT_N} |
| 316 |
WORKING_DIRECTORY ${SRC_DIR} |
| 317 |
RESULT_VARIABLE rv |
| 318 |
) |
| 319 |
if(NOT rv STREQUAL "0") |
| 320 |
message(FATAL_ERROR "cmake build fail ${rv}") |
| 321 |
endif() |
| 322 |
else() |
| 323 |
######################################## MinGW |
| 324 |
execute_process( |
| 325 |
COMMAND "uname" -s |
| 326 |
OUTPUT_VARIABLE ov) |
| 327 |
string(REGEX MATCH "[A-Za-z0-9]+" UNAME_S ${ov}) |
| 328 |
if("${UNAME_S}" STREQUAL "CYGWIN") |
| 329 |
find_program( |
| 330 |
MAKE make.exe |
| 331 |
HINTS c:/cygwin/usr/bin |
| 332 |
HINTS c:/cygwin64/usr/bin |
| 333 |
) |
| 334 |
elseif(("${UNAME_S}" STREQUAL "MINGW32") OR ("${UNAME_S}" STREQUAL "MINGW64") OR ("${CMAKE_COMMAND}" MATCHES "mingw")) |
| 335 |
find_program( |
| 336 |
MAKE make |
| 337 |
) |
| 338 |
elseif(CMAKE_HOST_SYSTEM_NAME MATCHES "Linux") |
| 339 |
find_program( |
| 340 |
MAKE make |
| 341 |
) |
| 342 |
else() |
| 343 |
message(FATAL_ERROR "unsported") |
| 344 |
endif() |
| 345 |
set(ENV{PATH} "/usr/bin;/bin") |
| 346 |
if(("${UNAME_S}" STREQUAL "MINGW32") OR ("${CMAKE_COMMAND}" MATCHES "mingw32")) |
| 347 |
set(CMAKE_C_COMPILER "cc") |
| 348 |
set(PATH "/mingw32/bin:/usr/local/bin:/usr/bin:/bin") |
| 349 |
set(CONFIG_NAME "mingw") |
| 350 |
elseif(("${UNAME_S}" STREQUAL "MINGW64") OR ("${CMAKE_COMMAND}" MATCHES "mingw64")) |
| 351 |
set(CMAKE_C_COMPILER "cc") |
| 352 |
set(PATH "/mingw64/bin:/usr/local/bin:/usr/bin:/bin") |
| 353 |
set(CONFIG_NAME "mingw64") |
| 354 |
else() |
| 355 |
include(${CMAKE_SOURCE_DIR}/../mingw.toolchain.cmake) |
| 356 |
set(ENV{CC} ${CMAKE_C_COMPILER}) |
| 357 |
set(ENV{AR} "i686-w64-mingw32-ar") |
| 358 |
set(ENV{RANLIB} "i686-w64-mingw32-ranlib") |
| 359 |
set(ENV{RC} "i686-w64-mingw32-windres") |
| 360 |
set(PATH "/usr/bin:/bin") |
| 361 |
set(CONFIG_NAME "mingw") |
| 362 |
endif() |
| 363 |
execute_process( |
| 364 |
COMMAND ${CMAKE_COMMAND} -E env "PATH=/usr/bin:/bin" ${PERL} ./Configure no-asm no-async no-shared no-capieng -no-dso -no-engine ${CONFIG_NAME} -D_WIN32_WINNT=0x0501 --prefix=${INSTALL_DIR} --openssldir=${INSTALL_DIR}/SSL |
| 365 |
WORKING_DIRECTORY ${SRC_DIR} |
| 366 |
RESULT_VARIABLE rv |
| 367 |
) |
| 368 |
if(NOT rv STREQUAL "0") |
| 369 |
message(FATAL_ERROR "cmake configure fail ${rv}") |
| 370 |
endif() |
| 371 |
execute_process( |
| 372 |
COMMAND ${CMAKE_COMMAND} -E env "PATH=${PATH}" ${MAKE} CC=${CMAKE_C_COMPILER} |
| 373 |
WORKING_DIRECTORY ${SRC_DIR} |
| 374 |
RESULT_VARIABLE rv |
| 375 |
) |
| 376 |
if(NOT rv STREQUAL "0") |
| 377 |
message(FATAL_ERROR "cmake build fail ${rv}") |
| 378 |
endif() |
| 379 |
execute_process( |
| 380 |
COMMAND ${CMAKE_COMMAND} -E env "PATH=${PATH}" ${MAKE} install |
| 381 |
WORKING_DIRECTORY ${SRC_DIR} |
| 382 |
RESULT_VARIABLE rv |
| 383 |
) |
| 384 |
if(NOT rv STREQUAL "0") |
| 385 |
message(FATAL_ERROR "cmake install fail ${rv}") |
| 386 |
endif() |
| 387 |
endif() |