scmno****@osdn*****
scmno****@osdn*****
2018年 7月 29日 (日) 00:29:27 JST
Revision: 7169 http://sourceforge.jp/projects/ttssh2/scm/svn/commits/7169 Author: zmatsuo Date: 2018-07-29 00:29:27 +0900 (Sun, 29 Jul 2018) Log Message: ----------- SFMTもビルドできるようにした。 Modified Paths: -------------- branches/cmake/libs/buildall.cmake Added Paths: ----------- branches/cmake/libs/SFMT.cmake -------------- next part -------------- Added: branches/cmake/libs/SFMT.cmake =================================================================== --- branches/cmake/libs/SFMT.cmake (rev 0) +++ branches/cmake/libs/SFMT.cmake 2018-07-28 15:29:27 UTC (rev 7169) @@ -0,0 +1,122 @@ + +#set(GENERATOR "Visual Studio 15 2017") +string(REPLACE " " "_" GENERATOR_ ${GENERATOR}) + +set(SRC_DIR_BASE "SFMT-src-1.5.1") +set(SRC_ARC "SFMT-1.5.1.zip") +set(SRC_URL "http://www.math.sci.hiroshima-u.ac.jp/~m-mat/MT/SFMT/SFMT-src-1.5.1.zip") +set(SRC_ARC_HASH_SHA256 630d1dfa6b690c30472f75fa97ca90ba62f9c13c5add6c264fdac2c1d3a878f4) + +set(DOWN_DIR "${CMAKE_SOURCE_DIR}/donwload/SFMT") +set(EXTRACT_DIR "${CMAKE_SOURCE_DIR}/build/SFMT/src") +set(SRC_DIR "${CMAKE_SOURCE_DIR}/build/SFMT/src/${SRC_DIR_BASE}") +set(BUILD_DIR "${CMAKE_SOURCE_DIR}/build/SFMT/build_${GENERATOR_}") +set(INSTALL_DIR "${CMAKE_SOURCE_DIR}/SFMT_${GENERATOR_}") + +if(NOT EXISTS ${SRC_DIR}/README.txt) + + 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} + ) + +endif() + +######################################## + +file(WRITE "${SRC_DIR}/CMakeLists.txt" + "cmake_minimum_required(VERSION 2.4.4)\n" + "project(SFMT C)\n" + "\n" + "add_library(\n" + " sfmt STATIC\n" + " SFMT.c\n" + " )\n" + "\n" + "install(\n" + " TARGETS sfmt\n" + " ARCHIVE DESTINATION \${CMAKE_INSTALL_PREFIX}/lib\n" + " )\n" + "install(\n" + " FILES SFMT.h SFMT-params.h\n" + " DESTINATION \${CMAKE_INSTALL_PREFIX}/include\n" + " )\n" + ) + +######################################## + +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() + +######################################## + +set(BUILD_DIR "${BUILD_DIR}_debug") +set(INSTALL_DIR "${INSTALL_DIR}_debug") + +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 debug + 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 debug --target install + WORKING_DIRECTORY ${BUILD_DIR} + RESULT_VARIABLE rv + ) +if(NOT rv STREQUAL "0") + message(FATAL_ERROR "cmake install fail ${rv}") +endif() Modified: branches/cmake/libs/buildall.cmake =================================================================== --- branches/cmake/libs/buildall.cmake 2018-07-27 17:05:19 UTC (rev 7168) +++ branches/cmake/libs/buildall.cmake 2018-07-28 15:29:27 UTC (rev 7169) @@ -20,3 +20,6 @@ execute_process( COMMAND ${CMAKE_COMMAND} -DGENERATOR=${GENERATOR} -P openssl.cmake ) +execute_process( + COMMAND ${CMAKE_COMMAND} -DGENERATOR=${GENERATOR} -P SFMT.cmake + )