Développer et télécharger des logiciels Open Source

Browse Subversion Repository

Contents of /trunk/libs/buildoniguruma.cmake

Parent Directory Parent Directory | Revision Log Revision Log


Revision 10723 - (show annotations) (download)
Mon May 29 14:29:06 2023 UTC (11 months, 3 weeks ago) by zmatsuo
File size: 4459 byte(s)
cmake ビルドを調整

- Linux上などでもMinGW64bit版をビルドできるよう修正
  - -DARCHITECHTER=64 or 32 でに変更
- install_cygwin.cmake が2箇所に存在したので buildtools/ のみとした
  - ci_scripts/install_cygwin.cmake は削除
- ci_scripts/build_local_appveyor_vs20*.bat を修正
- ci_scripts/find_cmake.bat
  - 誤りを修正
- cygwin\CMakeLists.txt
  - MinGWビルド時、cygwinに関するビルドを行わないようにした
- libs
  - cmake の2重呼び出しを行わないようにした
1 # for oniguruma
2 # cmake -DCMAKE_GENERATOR="Visual Studio 17 2022" -DARCHITECTURE=64 -P buildoniguruma.cmake
3 # cmake -DCMAKE_GENERATOR="Visual Studio 16 2019" -DARCHITECTURE=32 -P buildoniguruma.cmake
4 # cmake -DCMAKE_GENERATOR="Visual Studio 15 2017" -DARCHITECTURE=32 -P buildoniguruma.cmake
5 # cmake -DCMAKE_GENERATOR="Visual Studio 8 2005" -P buildoniguruma.cmake
6
7 include(script_support.cmake)
8
9 set(EXTRACT_DIR "${CMAKE_CURRENT_LIST_DIR}/build/oniguruma/src")
10 set(SRC_DIR "${EXTRACT_DIR}/oniguruma")
11 set(INSTALL_DIR "${CMAKE_CURRENT_LIST_DIR}/oniguruma_${TOOLSET}")
12 set(BUILD_DIR "${CMAKE_CURRENT_LIST_DIR}/build/oniguruma/build_${TOOLSET}")
13 if(${ARCHITECTURE} EQUAL 64)
14 set(INSTALL_DIR "${INSTALL_DIR}_x64")
15 set(BUILD_DIR "${BUILD_DIR}_x64")
16 endif()
17
18 #message("BUILD_DIR=${BUILD_DIR}")
19 #message("INSTALL_DIR=${INSTALL_DIR}")
20
21 ########################################
22
23 # Configure + Generate
24 function(cmake_generate GENERATOR SRC_DIR WORKING_DIR OPTIONS)
25 execute_process(
26 COMMAND ${CMAKE_COMMAND} ${SRC_DIR} -G "${GENERATOR}" ${OPTIONS}
27 WORKING_DIRECTORY "${BUILD_DIR}"
28 ENCODING AUTO
29 RESULT_VARIABLE rv
30 )
31 if(NOT rv STREQUAL "0")
32 message(FATAL_ERROR "cmake build fail ${rv}")
33 endif()
34 endfunction()
35
36 # build + install
37 function(cmake_build WORKING_DIR OPTIONS BUILD_TOOL_OPTIONS)
38 execute_process(
39 COMMAND ${CMAKE_COMMAND} --build . ${OPTIONS} --target install -- ${BUILD_TOOL_OPTIONS}
40 WORKING_DIRECTORY "${BUILD_DIR}"
41 ENCODING AUTO
42 RESULT_VARIABLE rv
43 )
44 if(NOT rv STREQUAL "0")
45 message(FATAL_ERROR "cmake build fail ${rv}")
46 endif()
47 endfunction()
48
49 ########################################
50
51 file(MAKE_DIRECTORY ${SRC_DIR})
52
53 execute_process(
54 COMMAND ${CMAKE_COMMAND} -DTARGET=oniguruma -DEXT_DIR=${EXTRACT_DIR} -P download.cmake
55 )
56
57 if(${SRC_DIR}/COPYING IS_NEWER_THAN ${CMAKE_CURRENT_LIST_DIR}/doc_help/Oniguruma-LICENSE.txt)
58 file(COPY
59 ${SRC_DIR}/COPYING
60 DESTINATION ${CMAKE_CURRENT_LIST_DIR}/doc_help)
61 file(RENAME
62 ${CMAKE_CURRENT_LIST_DIR}/doc_help/COPYING
63 ${CMAKE_CURRENT_LIST_DIR}/doc_help/Oniguruma-LICENSE.txt)
64 file(COPY
65 ${SRC_DIR}/doc/RE
66 DESTINATION ${CMAKE_CURRENT_LIST_DIR}/doc_help/en)
67 file(COPY
68 ${SRC_DIR}/doc/RE.ja
69 DESTINATION ${CMAKE_CURRENT_LIST_DIR}/doc_help/ja)
70 file(RENAME
71 ${CMAKE_CURRENT_LIST_DIR}/doc_help/ja/RE.ja
72 ${CMAKE_CURRENT_LIST_DIR}/doc_help/ja/RE)
73 endif()
74
75 ########################################
76
77 file(MAKE_DIRECTORY "${BUILD_DIR}")
78
79 if("${CMAKE_GENERATOR}" MATCHES "Visual Studio")
80 # multi-configuration
81 unset(GENERATE_OPTIONS)
82 if(${ARCHITECTURE} EQUAL 64)
83 list(APPEND GENERATE_OPTIONS "-A" "x64")
84 else()
85 list(APPEND GENERATE_OPTIONS "-A" "Win32")
86 endif()
87 list(APPEND GENERATE_OPTIONS "-DCMAKE_DEBUG_POSTFIX=d")
88 list(APPEND GENERATE_OPTIONS "-DCMAKE_INSTALL_PREFIX=${INSTALL_DIR}")
89 list(APPEND GENERATE_OPTIONS "-DBUILD_SHARED_LIBS=OFF")
90 list(APPEND GENERATE_OPTIONS "-DMSVC_STATIC_RUNTIME=ON")
91
92 cmake_generate("${CMAKE_GENERATOR}" "${SRC_DIR}" "${BUILD_DIR}" "${GENERATE_OPTIONS}")
93
94 unset(BUILD_OPTIONS)
95 list(APPEND BUILD_OPTIONS --config Debug)
96 cmake_build("${BUILD_DIR}" "${BUILD_OPTIONS}" "")
97
98 unset(BUILD_OPTIONS)
99 list(APPEND BUILD_OPTIONS --config Release)
100 cmake_build("${BUILD_DIR}" "${BUILD_OPTIONS}" "")
101 else()
102 # single-configuration
103 unset(GENERATE_OPTIONS)
104 if(${ARCHITECTURE} EQUAL 64)
105 list(APPEND GENERATE_OPTIONS "-DUSE_GCC_64=ON")
106 else()
107 list(APPEND GENERATE_OPTIONS "-DUSE_GCC_32=ON")
108 endif()
109 if(CMAKE_HOST_UNIX)
110 list(APPEND GENERATE_OPTIONS "-DCMAKE_TOOLCHAIN_FILE=${CMAKE_CURRENT_LIST_DIR}/../mingw.toolchain.cmake")
111 endif(CMAKE_HOST_UNIX)
112 if(("${CMAKE_GENERATOR}" MATCHES "Visual Studio") OR ("${CMAKE_GENERATOR}" MATCHES "NMake Makefiles"))
113 list(APPEND GENERATE_OPTIONS "-DMSVC_STATIC_RUNTIME=ON")
114 endif()
115 list(APPEND GENERATE_OPTIONS "-DCMAKE_INSTALL_PREFIX=${INSTALL_DIR}")
116 list(APPEND GENERATE_OPTIONS "-DCMAKE_BUILD_TYPE=Release")
117 list(APPEND GENERATE_OPTIONS "-DBUILD_SHARED_LIBS=OFF")
118
119 cmake_generate("${CMAKE_GENERATOR}" "${SRC_DIR}" "${BUILD_DIR}" "${GENERATE_OPTIONS}")
120
121 if(${CMAKE_GENERATOR} MATCHES "Unix Makefiles")
122 list(APPEND BUILD_TOOL_OPTIONS "-j")
123 endif()
124
125 unset(BUILD_OPTIONS)
126 cmake_build("${BUILD_DIR}" "${BUILD_OPTIONS}" "${BUILD_TOOL_OPTIONS}")
127
128 endif()

Back to OSDN">Back to OSDN
ViewVC Help
Powered by ViewVC 1.1.26