scmno****@osdn*****
scmno****@osdn*****
2018年 7月 28日 (土) 02:05:19 JST
Revision: 7168 http://sourceforge.jp/projects/ttssh2/scm/svn/commits/7168 Author: zmatsuo Date: 2018-07-28 02:05:19 +0900 (Sat, 28 Jul 2018) Log Message: ----------- libs/ で必要なライブラリを cmake で生成する libs/buildall_cmake.bat を実行すると libs/ にツールチェーンごとのライブラリが生成される VS2017のみ (openssl.cmakeの35行目付近と、buildall.cmakeの先頭付近、要調整) Added Paths: ----------- branches/cmake/libs/VSToolchain.cmake branches/cmake/libs/buildall.cmake branches/cmake/libs/buildall_cmake.bat branches/cmake/libs/oniguruma.cmake branches/cmake/libs/openssl.cmake branches/cmake/libs/putty.cmake branches/cmake/libs/zlib.cmake -------------- next part -------------- Added: branches/cmake/libs/VSToolchain.cmake =================================================================== --- branches/cmake/libs/VSToolchain.cmake (rev 0) +++ branches/cmake/libs/VSToolchain.cmake 2018-07-27 17:05:19 UTC (rev 7168) @@ -0,0 +1,3 @@ +# write to CMakeCache.txt +set(CMAKE_C_FLAGS_DEBUG "/DWIN32 /D_WINDOWS /W3 /MDd /Zi /Ob0 /Od /RTC1" CACHE STRING "" FORCE) +set(CMAKE_C_FLAGS_RELEASE "/DWIN32 /D_WINDOWS /W3 /MD /O2 /Ob2 /DNDEBUG" CACHE STRING "" FORCE) Added: branches/cmake/libs/buildall.cmake =================================================================== --- branches/cmake/libs/buildall.cmake (rev 0) +++ branches/cmake/libs/buildall.cmake 2018-07-27 17:05:19 UTC (rev 7168) @@ -0,0 +1,22 @@ + +set(GENERATOR "Visual Studio 15 2017") +#set(GENERATOR "Visual Studio 14 2015") + +# utf-8 +execute_process( + COMMAND cmd.exe /c chcp 65001 + ) + +# build +execute_process( + COMMAND ${CMAKE_COMMAND} -DGENERATOR=${GENERATOR} -P oniguruma.cmake + ) +execute_process( + COMMAND ${CMAKE_COMMAND} -DGENERATOR=${GENERATOR} -P zlib.cmake + ) +execute_process( + COMMAND ${CMAKE_COMMAND} -P putty.cmake + ) +execute_process( + COMMAND ${CMAKE_COMMAND} -DGENERATOR=${GENERATOR} -P openssl.cmake + ) Added: branches/cmake/libs/buildall_cmake.bat =================================================================== --- branches/cmake/libs/buildall_cmake.bat (rev 0) +++ branches/cmake/libs/buildall_cmake.bat 2018-07-27 17:05:19 UTC (rev 7168) @@ -0,0 +1,4 @@ +setlocal +cmake -P buildall.cmake +endlocal +pause Added: branches/cmake/libs/oniguruma.cmake =================================================================== --- branches/cmake/libs/oniguruma.cmake (rev 0) +++ branches/cmake/libs/oniguruma.cmake 2018-07-27 17:05:19 UTC (rev 7168) @@ -0,0 +1,101 @@ + +#set(GENERATOR "Visual Studio 15 2017") +string(REPLACE " " "_" GENERATOR_ ${GENERATOR}) + +set(SRC_DIR_BASE "onig-6.8.2") +set(SRC_ARC "onig-6.8.2.tar.gz") +set(SRC_URL "https://github.com/kkos/oniguruma/releases/download/v6.8.2/onig-6.8.2.tar.gz") +set(SRC_ARC_HASH_SHA1 4bd58a64fcff233118dcdf6d1ad9607c67bdb878) + +set(DOWN_DIR "${CMAKE_SOURCE_DIR}/donwload/oniguruma") +set(EXTRACT_DIR "${CMAKE_SOURCE_DIR}/build/oniguruma/src") +set(SRC_DIR "${CMAKE_SOURCE_DIR}/build/oniguruma/src/${SRC_DIR_BASE}") +set(BUILD_DIR "${CMAKE_SOURCE_DIR}/build/oniguruma/build_${GENERATOR_}") +set(INSTALL_DIR "${CMAKE_SOURCE_DIR}/oniguruma_${GENERATOR_}") + +if(NOT EXISTS ${SRC_DIR}/README.md) + + file(DOWNLOAD + ${SRC_URL} + ${DOWN_DIR}/${SRC_ARC} + EXPECTED_HASH SHA1=${SRC_ARC_HASH_SHA1} + SHOW_PROGRESS + ) + + execute_process( + COMMAND ${CMAKE_COMMAND} -E make_directory ${EXTRACT_DIR} + ) + execute_process( + COMMAND ${CMAKE_COMMAND} -E tar "xvf" ${DOWN_DIR}/${SRC_ARC} + WORKING_DIRECTORY ${EXTRACT_DIR} + ) + +endif() + +######################################## + +file(MAKE_DIRECTORY "${BUILD_DIR}") + +execute_process( + COMMAND ${CMAKE_COMMAND} ${SRC_DIR} -G ${GENERATOR} + -DCMAKE_TOOLCHAIN_FILE=${CMAKE_SOURCE_DIR}/VSToolchain.cmake + -DCMAKE_INSTALL_PREFIX=${INSTALL_DIR} + -DBUILD_SHARED_LIBS=OFF + WORKING_DIRECTORY ${BUILD_DIR} + RESULT_VARIABLE rv + ) +if(NOT rv STREQUAL "0") + message(FATAL_ERROR "cmake generate fail ${rv}") +endif() + +execute_process( + COMMAND ${CMAKE_COMMAND} --build . --config release + WORKING_DIRECTORY ${BUILD_DIR} + RESULT_VARIABLE rv + ) +if(NOT rv STREQUAL "0") + message(FATAL_ERROR "cmake build fail ${rv}") +endif() + +execute_process( + COMMAND ${CMAKE_COMMAND} --build . --config release --target install + WORKING_DIRECTORY ${BUILD_DIR} + RESULT_VARIABLE rv + ) +if(NOT rv STREQUAL "0") + message(FATAL_ERROR "cmake install fail ${rv}") +endif() + +######################################## + +file(MAKE_DIRECTORY "${BUILD_DIR}_debug") + +execute_process( + COMMAND ${CMAKE_COMMAND} ${SRC_DIR} -G ${GENERATOR} + -DCMAKE_TOOLCHAIN_FILE=${CMAKE_SOURCE_DIR}/VSToolchain.cmake + -DCMAKE_INSTALL_PREFIX=${INSTALL_DIR}_debug + -DBUILD_SHARED_LIBS=OFF + WORKING_DIRECTORY ${BUILD_DIR}_debug + RESULT_VARIABLE rv + ) +if(NOT rv STREQUAL "0") + message(FATAL_ERROR "cmake generate fail ${rv}") +endif() + +execute_process( + COMMAND ${CMAKE_COMMAND} --build . --config debug + WORKING_DIRECTORY ${BUILD_DIR}_debug + RESULT_VARIABLE rv + ) +if(NOT rv STREQUAL "0") + message(FATAL_ERROR "cmake build fail ${rv}") +endif() + +execute_process( + COMMAND ${CMAKE_COMMAND} --build . --config debug --target install + WORKING_DIRECTORY ${BUILD_DIR}_debug + RESULT_VARIABLE rv + ) +if(NOT rv STREQUAL "0") + message(FATAL_ERROR "cmake install fail ${rv}") +endif() Added: branches/cmake/libs/openssl.cmake =================================================================== --- branches/cmake/libs/openssl.cmake (rev 0) +++ branches/cmake/libs/openssl.cmake 2018-07-27 17:05:19 UTC (rev 7168) @@ -0,0 +1,128 @@ + +#set(GENERATOR "Visual Studio 15 2017") +string(REPLACE " " "_" GENERATOR_ ${GENERATOR}) + +set(SRC_DIR_BASE "openssl-1.0.2o") +set(SRC_ARC "openssl-1.0.2o.tar.xz") +set(SRC_URL "https://www.openssl.org/source/openssl-1.0.2o.tar.gz") +set(SRC_ARC_HASH_SHA256 ec3f5c9714ba0fd45cb4e087301eb1336c317e0d20b575a125050470e8089e4d) + +set(DOWN_DIR "${CMAKE_SOURCE_DIR}/donwload/openssl") + +set(EXTRACT_DIR "${CMAKE_SOURCE_DIR}/build/openssl/src_${GENERATOR_}") +set(SRC_DIR "${EXTRACT_DIR}/${SRC_DIR_BASE}") +set(INSTALL_DIR "${CMAKE_SOURCE_DIR}/openssl_${GENERATOR_}") + +######################################## + +file(DOWNLOAD + ${SRC_URL} + ${DOWN_DIR}/${SRC_ARC} + EXPECTED_HASH SHA256=${SRC_ARC_HASH_SHA256} + SHOW_PROGRESS + ) + +######################################## + +find_program( + PERL perl.exe + HINTS c:/cygwin/usr/bin + HINTS c:/cygwin64/usr/bin + ) +if(PERL-NOTFOUND) + message(FATAL_ERROR "perl not found") +endif() +if(GENERATOR MATCHES "Visual Studio 15 2017") + find_program( + VCVARS32 vcvars32.bat + HINTS "C:/Program Files (x86)/Microsoft Visual Studio/2017/Community/VC/Auxiliary/Build" + HINTS "C:/Program Files (x86)/Microsoft Visual Studio/2017/Professional/VC/Auxiliary/Build" + HINTS "C:/Program Files (x86)/Microsoft Visual Studio/2017/Enterprise/VC/Auxiliary/Build" + ) +else() + set(VCVARS32-NOTFOUND 1) +endif() +if(VCVARS32-NOTFOUND) + message(FATAL_ERROR "vcvars32.bat not found") +endif() + +######################################## + +if(NOT EXISTS ${SRC_DIR}/README) + + execute_process( + COMMAND ${CMAKE_COMMAND} -E make_directory ${EXTRACT_DIR} + ) + + execute_process( + COMMAND ${CMAKE_COMMAND} -E tar "xvf" ${DOWN_DIR}/${SRC_ARC} + WORKING_DIRECTORY ${EXTRACT_DIR} + ) + +endif() + +######################################## + +file(TO_NATIVE_PATH ${INSTALL_DIR} INSTALL_DIR_N) +file(WRITE "${SRC_DIR}/build_cmake.bat" + "call \"${VCVARS32}\"\n" + "cd %~dp0\n" + "${PERL} Configure no-asm VC-WIN32 --prefix=${INSTALL_DIR_N}\n" + "call ms\\do_ms.bat\n" + "nmake -f ms\\nt.mak install\n" + ) + +set(BUILD_CMAKE_BAT "${SRC_DIR}/build_cmake.bat") +file(TO_NATIVE_PATH ${BUILD_CMAKE_BAT} BUILD_CMAKE_BAT_N) +execute_process( + COMMAND cmd /c ${BUILD_CMAKE_BAT_N} + WORKING_DIRECTORY ${SRC_DIR} + RESULT_VARIABLE rv + ) +if(NOT rv STREQUAL "0") + message(FATAL_ERROR "cmake build fail ${rv}") +endif() + +######################################## + +set(EXTRACT_DIR "${EXTRACT_DIR}_debug") +set(SRC_DIR "${EXTRACT_DIR}/${SRC_DIR_BASE}") +set(INSTALL_DIR "${INSTALL_DIR}_debug") + +######################################## + +if(NOT EXISTS ${SRC_DIR}/README) + + execute_process( + COMMAND ${CMAKE_COMMAND} -E make_directory ${EXTRACT_DIR} + ) + + execute_process( + COMMAND ${CMAKE_COMMAND} -E tar "xvf" ${DOWN_DIR}/${SRC_ARC} + WORKING_DIRECTORY ${EXTRACT_DIR} + ) + +endif() + +######################################## + +file(TO_NATIVE_PATH ${INSTALL_DIR} INSTALL_DIR_N) +file(WRITE "${SRC_DIR}/build_cmake.bat" + "call \"${VCVARS32}\"\n" + "cd %~dp0\n" + "${PERL} Configure no-asm debug-VC-WIN32 --prefix=${INSTALL_DIR_N}\n" + "call ms\\do_ms.bat\n" + "nmake -f ms\\nt.mak install\n" + ) + +set(BUILD_CMAKE_BAT "${SRC_DIR}/build_cmake.bat") +file(TO_NATIVE_PATH ${BUILD_CMAKE_BAT} BUILD_CMAKE_BAT_N) +execute_process( + COMMAND cmd /c ${BUILD_CMAKE_BAT_N} + WORKING_DIRECTORY ${SRC_DIR} + RESULT_VARIABLE rv + ) +if(NOT rv STREQUAL "0") + message(FATAL_ERROR "cmake build fail ${rv}") +endif() + Added: branches/cmake/libs/putty.cmake =================================================================== --- branches/cmake/libs/putty.cmake (rev 0) +++ branches/cmake/libs/putty.cmake 2018-07-27 17:05:19 UTC (rev 7168) @@ -0,0 +1,32 @@ + +set(SRC_DIR_BASE "putty-0.70") +set(SRC_ARC "putty-0.70.tar.gz") +set(SRC_URL "https://the.earth.li/~sgtatham/putty/0.70/putty-0.70.tar.gz") +set(SRC_ARC_HASH_SHA256 bb8aa49d6e96c5a8e18a057f3150a1695ed99a24eef699e783651d1f24e7b0be) + +set(DOWN_DIR "${CMAKE_SOURCE_DIR}/donwload/putty") +set(EXTRACT_DIR "${CMAKE_SOURCE_DIR}/build/putty/src") +set(SRC_DIR "${CMAKE_SOURCE_DIR}/build/putty/src/${SRC_DIR_BASE}") +set(INSTALL_DIR "${CMAKE_SOURCE_DIR}/putty") + +if(NOT EXISTS ${INSTALL_DIR}/README) + + file(DOWNLOAD + ${SRC_URL} + ${DOWN_DIR}/${SRC_ARC} + EXPECTED_HASH SHA256=${SRC_ARC_HASH_SHA256} + SHOW_PROGRESS + ) + + file(MAKE_DIRECTORY ${EXTRACT_DIR}) + + execute_process( + COMMAND ${CMAKE_COMMAND} -E tar "xvf" ${DOWN_DIR}/${SRC_ARC} + WORKING_DIRECTORY ${EXTRACT_DIR} + ) + + file(REMOVE_RECURSE ${INSTALL_DIR}) + file(RENAME ${SRC_DIR} ${INSTALL_DIR}) + file(REMOVE_RECURSE ${EXTRACT_DIR}) + +endif() Added: branches/cmake/libs/zlib.cmake =================================================================== --- branches/cmake/libs/zlib.cmake (rev 0) +++ branches/cmake/libs/zlib.cmake 2018-07-27 17:05:19 UTC (rev 7168) @@ -0,0 +1,100 @@ + +#set(GENERATOR "Visual Studio 15 2017") +string(REPLACE " " "_" GENERATOR_ ${GENERATOR}) + +set(SRC_DIR_BASE "zlib-1.2.11") +set(SRC_ARC "zlib-1.2.11.tar.xz") +set(SRC_URL "https://zlib.net/zlib-1.2.11.tar.xz") +set(SRC_ARC_HASH_SHA256 4ff941449631ace0d4d203e3483be9dbc9da454084111f97ea0a2114e19bf066) + +set(DOWN_DIR "${CMAKE_SOURCE_DIR}/donwload/zlib") +set(EXTRACT_DIR "${CMAKE_SOURCE_DIR}/build/zlib/src") +set(SRC_DIR "${CMAKE_SOURCE_DIR}/build/zlib/src/${SRC_DIR_BASE}") +set(BUILD_DIR "${CMAKE_SOURCE_DIR}/build/zlib/build_${GENERATOR_}") +set(INSTALL_DIR "${CMAKE_SOURCE_DIR}/zlib_${GENERATOR_}") + +if(NOT EXISTS ${SRC_DIR}/README) + + file(DOWNLOAD + ${SRC_URL} + ${DOWN_DIR}/${SRC_ARC} + EXPECTED_HASH SHA256=${SRC_ARC_HASH_SHA256} + SHOW_PROGRESS + ) + + execute_process( + COMMAND ${CMAKE_COMMAND} -E make_directory ${EXTRACT_DIR} + ) + + execute_process( + COMMAND ${CMAKE_COMMAND} -E tar "xvf" ${DOWN_DIR}/${SRC_ARC} + WORKING_DIRECTORY ${EXTRACT_DIR} + ) + +endif() + +######################################## + +file(MAKE_DIRECTORY "${BUILD_DIR}") + +execute_process( + COMMAND ${CMAKE_COMMAND} ${SRC_DIR} -G ${GENERATOR} + -DCMAKE_TOOLCHAIN_FILE=${CMAKE_SOURCE_DIR}/VSToolchain.cmake + -DCMAKE_INSTALL_PREFIX=${INSTALL_DIR} + WORKING_DIRECTORY ${BUILD_DIR} + RESULT_VARIABLE rv + ) +if(NOT rv STREQUAL "0") + message(FATAL_ERROR "cmake generate fail ${rv}") +endif() + +execute_process( + COMMAND ${CMAKE_COMMAND} --build . --config release + WORKING_DIRECTORY ${BUILD_DIR} + RESULT_VARIABLE rv + ) +if(NOT rv STREQUAL "0") + message(FATAL_ERROR "cmake build fail ${rv}") +endif() + +execute_process( + COMMAND ${CMAKE_COMMAND} --build . --config release --target install + WORKING_DIRECTORY ${BUILD_DIR} + RESULT_VARIABLE rv + ) +if(NOT rv STREQUAL "0") + message(FATAL_ERROR "cmake install fail ${rv}") +endif() + +######################################## + +file(MAKE_DIRECTORY "${BUILD_DIR}_debug") + +execute_process( + COMMAND ${CMAKE_COMMAND} ${SRC_DIR} -G ${GENERATOR} + -DCMAKE_TOOLCHAIN_FILE=${CMAKE_SOURCE_DIR}/VSToolchain.cmake + -DCMAKE_INSTALL_PREFIX=${INSTALL_DIR}_debug + WORKING_DIRECTORY ${BUILD_DIR}_debug + RESULT_VARIABLE rv + ) +if(NOT rv STREQUAL "0") + message(FATAL_ERROR "cmake generate fail ${rv}") +endif() + +execute_process( + COMMAND ${CMAKE_COMMAND} --build . --config debug + WORKING_DIRECTORY ${BUILD_DIR}_debug + RESULT_VARIABLE rv + ) +if(NOT rv STREQUAL "0") + message(FATAL_ERROR "cmake build fail ${rv}") +endif() + +execute_process( + COMMAND ${CMAKE_COMMAND} --build . --config debug --target install + WORKING_DIRECTORY ${BUILD_DIR}_debug + RESULT_VARIABLE rv + ) +if(NOT rv STREQUAL "0") + message(FATAL_ERROR "cmake install fail ${rv}") +endif()