Develop and Download Open Source Software

Browse Subversion Repository

Contents of /trunk/libs/buildzlib.cmake

Parent Directory Parent Directory | Revision Log Revision Log


Revision 10723 - (show annotations) (download)
Mon May 29 14:29:06 2023 UTC (12 months ago) by zmatsuo
File size: 3938 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 zlib
2 # cmake -DCMAKE_GENERATOR="Visual Studio 17 2022" -DARCHITECTURE=64 -P buildzlib.cmake
3 # cmake -DCMAKE_GENERATOR="Visual Studio 16 2019" -DARCHITECTURE=32 -P buildzlib.cmake
4 # cmake -DCMAKE_GENERATOR="Visual Studio 15 2017" -DARCHITECTURE=32 -P buildzlib.cmake
5 # cmake -DCMAKE_GENERATOR="Unix Makefiles" -DARCHITECTURE=64 -P buildzlib.cmake
6
7 include(script_support.cmake)
8
9 set(EXTRACT_DIR "${CMAKE_CURRENT_LIST_DIR}/build/zlib/src")
10 set(SRC_DIR "${EXTRACT_DIR}/zlib")
11 set(BUILD_DIR "${CMAKE_CURRENT_LIST_DIR}/build/zlib/build_${TOOLSET}")
12 set(INSTALL_DIR "${CMAKE_CURRENT_LIST_DIR}/zlib_${TOOLSET}")
13 if(${ARCHITECTURE} EQUAL 64)
14 set(INSTALL_DIR "${INSTALL_DIR}_x64")
15 set(BUILD_DIR "${BUILD_DIR}_x64")
16 endif()
17
18 ########################################
19
20 # Configure + Generate
21 function(cmake_generate GENERATOR SRC_DIR WORKING_DIR OPTIONS)
22 execute_process(
23 COMMAND ${CMAKE_COMMAND} ${SRC_DIR} -G "${GENERATOR}" ${OPTIONS}
24 WORKING_DIRECTORY "${BUILD_DIR}"
25 ENCODING AUTO
26 RESULT_VARIABLE rv
27 )
28 if(NOT rv STREQUAL "0")
29 message(FATAL_ERROR "cmake build fail ${rv}")
30 endif()
31 endfunction()
32
33 # build + install
34 function(cmake_build WORKING_DIR OPTIONS BUILD_TOOL_OPTIONS)
35 execute_process(
36 COMMAND ${CMAKE_COMMAND} --build . ${OPTIONS} --target install -- ${BUILD_TOOL_OPTIONS}
37 WORKING_DIRECTORY "${BUILD_DIR}"
38 ENCODING AUTO
39 RESULT_VARIABLE rv
40 )
41 if(NOT rv STREQUAL "0")
42 message(FATAL_ERROR "cmake build fail ${rv}")
43 endif()
44 endfunction()
45
46 ########################################
47
48 file(MAKE_DIRECTORY ${SRC_DIR})
49
50 execute_process(
51 COMMAND ${CMAKE_COMMAND} -DTARGET=zlib -DEXT_DIR=${EXTRACT_DIR} -P download.cmake
52 )
53
54 if(${SRC_DIR}/COPYING IS_NEWER_THAN ${CMAKE_CURRENT_LIST_DIR}/doc_help/Zlib-LICENSE.txt)
55 file(COPY
56 ${SRC_DIR}/README
57 DESTINATION ${CMAKE_CURRENT_LIST_DIR}/doc_help)
58 file(RENAME
59 ${CMAKE_CURRENT_LIST_DIR}/doc_help/README
60 ${CMAKE_CURRENT_LIST_DIR}/doc_help/Zlib-LICENSE.txt)
61 endif()
62
63 ########################################
64
65 file(MAKE_DIRECTORY "${BUILD_DIR}")
66
67 if("${CMAKE_GENERATOR}" MATCHES "Visual Studio")
68 # multi-configuration
69 unset(GENERATE_OPTIONS)
70 if(${ARCHITECTURE} EQUAL 64)
71 list(APPEND GENERATE_OPTIONS "-A" "x64")
72 else()
73 list(APPEND GENERATE_OPTIONS "-A" "Win32")
74 endif()
75 list(APPEND GENERATE_OPTIONS "-DCMAKE_INSTALL_PREFIX=${INSTALL_DIR}")
76 list(APPEND GENERATE_OPTIONS "-DCMAKE_TOOLCHAIN_FILE=${CMAKE_CURRENT_LIST_DIR}/VSToolchain.cmake")
77 cmake_generate("${CMAKE_GENERATOR}" "${SRC_DIR}" "${BUILD_DIR}" "${GENERATE_OPTIONS}")
78
79 unset(BUILD_OPTIONS)
80 list(APPEND BUILD_OPTIONS --config Debug)
81 cmake_build("${BUILD_DIR}" "${BUILD_OPTIONS}" "")
82
83 unset(BUILD_OPTIONS)
84 list(APPEND BUILD_OPTIONS --config Release)
85 cmake_build("${BUILD_DIR}" "${BUILD_OPTIONS}" "")
86 else()
87 # single-configuration
88 unset(GENERATE_OPTIONS)
89 if(${ARCHITECTURE} EQUAL 64)
90 list(APPEND GENERATE_OPTIONS "-DUSE_GCC_64=ON")
91 else()
92 list(APPEND GENERATE_OPTIONS "-DUSE_GCC_32=ON")
93 endif()
94 if(CMAKE_HOST_UNIX)
95 list(APPEND GENERATE_OPTIONS "-DCMAKE_TOOLCHAIN_FILE=${CMAKE_CURRENT_LIST_DIR}/../mingw.toolchain.cmake")
96 endif(CMAKE_HOST_UNIX)
97 if(("${CMAKE_GENERATOR}" MATCHES "Visual Studio") OR ("${CMAKE_GENERATOR}" MATCHES "NMake Makefiles"))
98 list(APPEND GENERATE_OPTIONS "-DCMAKE_TOOLCHAIN_FILE=${CMAKE_CURRENT_LIST_DIR}/VSToolchain.cmake")
99 endif()
100 list(APPEND GENERATE_OPTIONS "-DCMAKE_INSTALL_PREFIX=${INSTALL_DIR}")
101 list(APPEND GENERATE_OPTIONS "-DCMAKE_BUILD_TYPE=Release")
102
103 cmake_generate("${CMAKE_GENERATOR}" "${SRC_DIR}" "${BUILD_DIR}" "${GENERATE_OPTIONS}")
104
105 if(${CMAKE_GENERATOR} MATCHES "Unix Makefiles")
106 list(APPEND BUILD_TOOL_OPTIONS "-j")
107 endif()
108
109 unset(BUILD_OPTIONS)
110 cmake_build("${BUILD_DIR}" "${BUILD_OPTIONS}" "${BUILD_TOOL_OPTIONS}")
111
112 endif()

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